diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..bc50ecd --- /dev/null +++ b/.bashrc @@ -0,0 +1,150 @@ +# Enable the subsequent settings only in interactive sessions +case $- in + *i*) ;; + *) return;; +esac + +# Path to your oh-my-bash installation. +export OSH='/home/antoine/.oh-my-bash' + +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-bash is loaded. +OSH_THEME="duru" + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. Case +# sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" + +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_OSH_DAYS=13 + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. One of the following values can +# be used to specify the timestamp format. +# * 'mm/dd/yyyy' # mm/dd/yyyy + time +# * 'dd.mm.yyyy' # dd.mm.yyyy + time +# * 'yyyy-mm-dd' # yyyy-mm-dd + time +# * '[mm/dd/yyyy]' # [mm/dd/yyyy] + [time] with colors +# * '[dd.mm.yyyy]' # [dd.mm.yyyy] + [time] with colors +# * '[yyyy-mm-dd]' # [yyyy-mm-dd] + [time] with colors +# If not set, the default value is 'yyyy-mm-dd'. +# HIST_STAMPS='yyyy-mm-dd' + +# Uncomment the following line if you do not want OMB to overwrite the existing +# aliases by the default OMB aliases defined in lib/*.sh +# OMB_DEFAULT_ALIASES="check" + +# Would you like to use another custom folder than $OSH/custom? +# OSH_CUSTOM=/path/to/new-custom-folder + +# To disable the uses of "sudo" by oh-my-bash, please set "false" to +# this variable. The default behavior for the empty value is "true". +OMB_USE_SUDO=false + +# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*) +# Custom completions may be added to ~/.oh-my-bash/custom/completions/ +# Example format: completions=(ssh git bundler gem pip pip3) +# Add wisely, as too many completions slow down shell startup. +#completions=( +# git +# composer +# ssh +#) + +# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*) +# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/ +# Example format: aliases=(vagrant composer git-avh) +# Add wisely, as too many aliases slow down shell startup. +aliases=( + general +) + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*) +# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=( + git + bashmarks +) + +# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*) +# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/ +# Example format: +# if [ "$DISPLAY" ] || [ "$SSH" ]; then +# plugins+=(tmux-autoattach) +# fi + +source "$OSH"/oh-my-bash.sh + +# User configuration +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='nvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# ssh +# export SSH_KEY_PATH="~/.ssh/rsa_id" + +# Set personal aliases, overriding those provided by oh-my-bash libs, +# plugins, and themes. Aliases can be placed here, though oh-my-bash +# users are encouraged to define aliases within the OSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias bashconfig="mate ~/.bashrc" +# alias ohmybash="mate ~/.oh-my-bash" +# alias dpm="cd /home/antoine/Partage/McGill/ECSE211/FinalProject" +# alias ecse210="cd ~/Partage/McGill/ECSE210" +# alias ecse223="cd ~/Partage/McGill/ECSE223" +# alias ecse251="cd ~/Partage/McGill/ECSE251" +# alias mime262="cd ~/Partage/McGill/MIME262" +export EDITOR='nvim' +alias v="nvim" +alias sure='cd ~/Partage/McGill/SURE' +alias project='cd ~/Partage/Projects/' +alias pingg='ping google.com -c 5' +alias motivate='motivate | cowsay' +export PATH=$PATH:/home/antoine/.spicetify +alias ieee='cd /home/antoine/Partage/McGill/ECSESS-IEEE/IEEE/IEEE-McGill-Student-Branch.github.io' +alias coding='cd /home/antoine/Partage/Coding' +alias gotop="gotop -l kitchensink -c monokai --nvidia" +alias arcli="arduino-cli" + +[ -f ~/.fzf.bash ] && source ~/.fzf.bash +alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' +alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' +alias mcgillvpn='/opt/cisco/anyconnect/bin/vpnui &' diff --git a/.config/autorandr/diagonal/config b/.config/autorandr/diagonal/config new file mode 100644 index 0000000..fd5bdf5 --- /dev/null +++ b/.config/autorandr/diagonal/config @@ -0,0 +1,24 @@ +output HDMI-1 +crtc 0 +filter bilinear +mode 1920x1080 +pos 0x0 +primary +rate 60.00 +transform 0.871567,0.490250,0.000000,-0.490250,0.871567,941.000000,0.000000,0.000000,1.000000 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +output eDP-1 +crtc 1 +mode 1920x1080 +pos 2203x816 +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect diff --git a/.config/autorandr/diagonal/setup b/.config/autorandr/diagonal/setup new file mode 100644 index 0000000..97d5ca3 --- /dev/null +++ b/.config/autorandr/diagonal/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff0010acc8a1423334311c20010380351e78ea5625ab534f9d25105054a54b00714f8180a9c0d1c081c081cf01010101023a801871382d40582c45000f282100001e000000ff003339334c4c51330a2020202020000000fc0044454c4c20503234323248450a000000fd00384c1e5311000a20202020202001cb020315b14a900504030201141f121365030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f2821000018000000000000000000000000000000000000000000000000000000000000000000005e +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/home_right_withbox/config b/.config/autorandr/home_right_withbox/config new file mode 100644 index 0000000..e4c5cde --- /dev/null +++ b/.config/autorandr/home_right_withbox/config @@ -0,0 +1,26 @@ +output eDP-1 +crtc 0 +filter bilinear +mode 1920x1080 +pos 1496x0 +primary +rate 60.01 +transform 0.998993,0.000000,0.000000,0.000000,0.998993,0.000000,0.000000,0.000000,1.000000 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect +output HDMI-1 +crtc 1 +filter bilinear +mode 1360x768 +pos 0x163 +rate 60.02 +transform 1.099991,0.000000,0.000000,0.000000,1.099991,0.000000,0.000000,0.000000,1.000000 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 diff --git a/.config/autorandr/home_right_withbox/postswitch b/.config/autorandr/home_right_withbox/postswitch new file mode 100644 index 0000000..73a34f4 --- /dev/null +++ b/.config/autorandr/home_right_withbox/postswitch @@ -0,0 +1 @@ +exec feh --bg-scale --randomize $HOME/.wallpaper diff --git a/.config/autorandr/home_right_withbox/setup b/.config/autorandr/home_right_withbox/setup new file mode 100644 index 0000000..ac14ab3 --- /dev/null +++ b/.config/autorandr/home_right_withbox/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff001e6d01000101010101130103807341780acf74a3574cb02309484ca1080081c00101010101010101010101010101662150b051001b30407036007e8a4200001e011d007251d01e206e2855007e8a4200001e000000fd00393f1f3c09000a202020202020000000fc004c472054560a20202020202020011d020318f147102220058403022309070767030c001000b82d023a801871382d40582c04057e8a4200001e011d8018711c1620582c25007e8a4200009e011d007251d01e206e2855007e8a4200001e8c0ad08a20e02d10103e96007e8a42000018263680a070381f40302025007e8a4200001a000000000000000000000000002c +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/home_setup/config b/.config/autorandr/home_setup/config new file mode 100644 index 0000000..f36e79c --- /dev/null +++ b/.config/autorandr/home_setup/config @@ -0,0 +1,22 @@ +output eDP-1 +crtc 1 +mode 1920x1080 +pos 0x0 +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect +output HDMI-1 +crtc 0 +mode 1920x1080 +pos 1920x0 +primary +rate 165.00 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 diff --git a/.config/autorandr/home_setup/setup b/.config/autorandr/home_setup/setup new file mode 100644 index 0000000..63d7f3e --- /dev/null +++ b/.config/autorandr/home_setup/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff001c541b270101010103210103803b2178eef1f5aa5147ac260a5054ffff80714f81c08100814081809500a9c0b300023a801871382d40582c450055502100001a000000fd0030aa36b928000a202020202020000000fc004732374620320a202020202020000000ff003233303330423030323736390a01f6020345f14b02031304298f1f10403f61230917078301000067030c001000383c67d85dc4017880036d1a0000020130aaec0000000000e30f0008e305e301e60605016161471e8380b470381e403020350055502100001a3d9680b470381e403020350055502100001acb9a80b470381e403020350055502100001e00000000a8 +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/mirror_1920x1080/config b/.config/autorandr/mirror_1920x1080/config new file mode 100644 index 0000000..2c5d4e3 --- /dev/null +++ b/.config/autorandr/mirror_1920x1080/config @@ -0,0 +1,22 @@ +output eDP-1 +crtc 0 +mode 1920x1080 +pos 0x0 +primary +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect +output HDMI-1 +crtc 1 +mode 1920x1080 +pos 0x0 +rate 60.00 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 diff --git a/.config/autorandr/mirror_1920x1080/setup b/.config/autorandr/mirror_1920x1080/setup new file mode 100644 index 0000000..ed584bb --- /dev/null +++ b/.config/autorandr/mirror_1920x1080/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff0010acc8a1425636321c20010380351e78ea5625ab534f9d25105054a54b00714f8180a9c0d1c081c081cf01010101023a801871382d40582c45000f282100001e000000ff003539364d4c51330a2020202020000000fc0044454c4c20503234323248450a000000fd00384c1e5311000a202020202020019f020315b14a900504030201141f121365030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f2821000018000000000000000000000000000000000000000000000000000000000000000000005e +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/mirror_common_room/config b/.config/autorandr/mirror_common_room/config new file mode 100644 index 0000000..2c5d4e3 --- /dev/null +++ b/.config/autorandr/mirror_common_room/config @@ -0,0 +1,22 @@ +output eDP-1 +crtc 0 +mode 1920x1080 +pos 0x0 +primary +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect +output HDMI-1 +crtc 1 +mode 1920x1080 +pos 0x0 +rate 60.00 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 diff --git a/.config/autorandr/mirror_common_room/setup b/.config/autorandr/mirror_common_room/setup new file mode 100644 index 0000000..b6068e6 --- /dev/null +++ b/.config/autorandr/mirror_common_room/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00200080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000079 +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/no-external/config b/.config/autorandr/no-external/config new file mode 100644 index 0000000..5b339db --- /dev/null +++ b/.config/autorandr/no-external/config @@ -0,0 +1,13 @@ +output HDMI-1 +off +output eDP-1 +crtc 0 +mode 1920x1080 +pos 0x0 +primary +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect diff --git a/.config/autorandr/no-external/postswitch b/.config/autorandr/no-external/postswitch new file mode 100644 index 0000000..73a34f4 --- /dev/null +++ b/.config/autorandr/no-external/postswitch @@ -0,0 +1 @@ +exec feh --bg-scale --randomize $HOME/.wallpaper diff --git a/.config/autorandr/no-external/setup b/.config/autorandr/no-external/setup new file mode 100644 index 0000000..8bbfe3b --- /dev/null +++ b/.config/autorandr/no-external/setup @@ -0,0 +1 @@ +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/postswitch b/.config/autorandr/postswitch new file mode 100644 index 0000000..d7a2c88 --- /dev/null +++ b/.config/autorandr/postswitch @@ -0,0 +1,5 @@ +#!/bin/bash + +feh --bg-fill --randomize $HOME/.wallpaper +notify-send "New monitor detected!" +# xset s off -dpms diff --git a/.config/autorandr/profile_1/config b/.config/autorandr/profile_1/config new file mode 100644 index 0000000..e904f42 --- /dev/null +++ b/.config/autorandr/profile_1/config @@ -0,0 +1,22 @@ +output HDMI-1 +crtc 1 +mode 1920x1080 +pos 0x0 +rate 60.00 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +output eDP-1 +crtc 0 +mode 1920x1080 +pos 1920x671 +primary +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect diff --git a/.config/autorandr/profile_1/postswitch b/.config/autorandr/profile_1/postswitch new file mode 100644 index 0000000..73a34f4 --- /dev/null +++ b/.config/autorandr/profile_1/postswitch @@ -0,0 +1 @@ +exec feh --bg-scale --randomize $HOME/.wallpaper diff --git a/.config/autorandr/profile_1/setup b/.config/autorandr/profile_1/setup new file mode 100644 index 0000000..f1d844f --- /dev/null +++ b/.config/autorandr/profile_1/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff0010acc8a1425a44311c20010380351e78ea5625ab534f9d25105054a54b00714f8180a9c0d1c081c081cf01010101023a801871382d40582c45000f282100001e000000ff0037444d4c4c51330a2020202020000000fc0044454c4c20503234323248450a000000fd00384c1e5311000a202020202020016b020315b14a900504030201141f121365030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f2821000018000000000000000000000000000000000000000000000000000000000000000000005e +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/autorandr/trottier_up/config b/.config/autorandr/trottier_up/config new file mode 100644 index 0000000..3e15844 --- /dev/null +++ b/.config/autorandr/trottier_up/config @@ -0,0 +1,22 @@ +output HDMI-1 +crtc 1 +mode 1920x1080 +pos 0x0 +rate 60.00 +x-prop-aspect_ratio Automatic +x-prop-audio auto +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +output eDP-1 +crtc 0 +mode 1920x1080 +pos 0x1080 +primary +rate 60.01 +x-prop-broadcast_rgb Automatic +x-prop-colorspace Default +x-prop-max_bpc 12 +x-prop-non_desktop 0 +x-prop-scaling_mode Full aspect diff --git a/.config/autorandr/trottier_up/setup b/.config/autorandr/trottier_up/setup new file mode 100644 index 0000000..0ebb2cf --- /dev/null +++ b/.config/autorandr/trottier_up/setup @@ -0,0 +1,2 @@ +HDMI-1 00ffffffffffff0010acc8a1424430311c20010380351e78ea5625ab534f9d25105054a54b00714f8180a9c0d1c081c081cf01010101023a801871382d40582c45000f282100001e000000ff004248574d4c51330a2020202020000000fc0044454c4c20503234323248450a000000fd00384c1e5311000a202020202020017b020315b14a900504030201141f121365030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f2821000018000000000000000000000000000000000000000000000000000000000000000000005e +eDP-1 00ffffffffffff000dae0d15000000002a1c0104952213780328659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001acd27804a713834405036680058c11000001a00000000000000000000000000000000000000000002000c3dff0d3c7d1212267d0000000057 diff --git a/.config/dconf/user b/.config/dconf/user new file mode 100644 index 0000000..77eac61 Binary files /dev/null and b/.config/dconf/user differ diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..3c132c2 --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,387 @@ +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 500 + + # The maximum height of a single notification, excluding the frame. + height = 240 + + # Position the notification in the top right corner + origin = top-center + + # Offset from the origin + offset = 0x12 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 0 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 12 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 90 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 2 + + # Defines color of the frame around the notification window. + frame_color = "#d7c7ebaa" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 0 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = foreground + + # Sort messages by urgency. + sort = no + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = Fira Code Nerd 12 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s%p" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = Adwaita + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 128 + + # Paths to default icons (only neccesary when not using recursive icon lookup) + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = no + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 12 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = true + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#222222" + foreground = "#888888" + timeout = 1 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#3b2e94ee" + foreground = "#ffffff" + timeout = 1 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + frame_color = "#ff0000" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..f359a70 --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..8e6925a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png new file mode 100644 index 0000000..e9df425 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..27c620d --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..9144bcd Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png new file mode 100644 index 0000000..c0baa3c Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..de3638d --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..3afcfd6 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png new file mode 100644 index 0000000..9cb5994 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png new file mode 100644 index 0000000..bb01fab Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..a9dd44d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..774644b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..b307ea4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..f6a9c36 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..bf88b80 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png new file mode 100644 index 0000000..451b5d9 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png new file mode 100644 index 0000000..8292a90 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png new file mode 100644 index 0000000..d6fe329 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..c570548 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..55e73d4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..68a8d1d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..c3cdf8f Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..57b5265 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png new file mode 100644 index 0000000..09a3a58 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png new file mode 100644 index 0000000..fd81609 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png new file mode 100644 index 0000000..02645ec Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..748f160 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..fc30eda Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..bc69354 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..2028ef7 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..daef066 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png new file mode 100644 index 0000000..f7d335a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png new file mode 100644 index 0000000..496101b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png new file mode 100644 index 0000000..dc07324 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..eba7322 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..312d33a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..a80fa89 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..bf546b1 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..743e044 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png new file mode 100644 index 0000000..0c19143 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png new file mode 100644 index 0000000..bb94b0d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png new file mode 100644 index 0000000..ef29a0d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png new file mode 100644 index 0000000..cbd5b7b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png new file mode 100644 index 0000000..58c01fd Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png new file mode 100644 index 0000000..188c227 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png new file mode 100644 index 0000000..534dbb3 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png new file mode 100644 index 0000000..43da0e4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png new file mode 100644 index 0000000..84e80de Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png new file mode 100644 index 0000000..2661b18 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png new file mode 100644 index 0000000..3097368 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png new file mode 100644 index 0000000..d1c1853 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png new file mode 100644 index 0000000..28634f0 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png new file mode 100644 index 0000000..306e954 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk-dark.css b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk-dark.css new file mode 100644 index 0000000..65300ea --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk-dark.css @@ -0,0 +1,3400 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected:focus, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } + +.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } + +.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.85),0.7); background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.703),0.7); background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +list row button.image-button:not(.flat) { border: 1px solid alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +list row button.image-button:not(.flat):hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +list row button.image-button:not(.flat):active:hover, list row button.image-button:not(.flat):checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: mix(white,@accent_bg_color,0.8); } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(white,@accent_bg_color,0.9); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.9),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,mix(white,@accent_bg_color,0.8),0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,mix(white,@accent_bg_color,0.8),0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: mix(white,@accent_bg_color,0.8); } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(mix(white,@accent_bg_color,0.8),0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-radius: 6px 6px 0 0; border-style: solid solid none solid; } + +spinbutton.vertical button.down { border-radius: 0 0 6px 6px; border-style: none solid solid solid; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:selected { color: mix(@accent_fg_color,@accent_bg_color,0.3); } + +treeview.view.expander:selected:hover { color: @accent_fg_color; } + +treeview.view.expander:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.3); } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: mix(currentColor,@view_bg_color,0.875); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.13); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.07); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.16); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(currentColor,0.1); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(currentColor,0.13); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(currentColor,0.19); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @window_bg_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.85); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.85); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @window_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: mix(white,@accent_bg_color,0.8); } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: @accent_bg_color; } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @accent_fg_color; } + +label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .titlebar entry selection:disabled, .view:disabled:selected, .nautilus-window notebook:disabled:selected, .nautilus-window notebook > stack:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, calendar:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.5); } + +label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .titlebar entry selection:backdrop, .view:backdrop:selected, .nautilus-window notebook:backdrop:selected, .nautilus-window notebook > stack:backdrop:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, calendar:backdrop:selected { color: @accent_fg_color; } + +label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .nautilus-window notebook:backdrop:disabled:selected, .nautilus-window notebook > stack:backdrop:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, calendar:backdrop:disabled:selected { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } + +button.emoji-section:checked { border-color: @accent_bg_color; } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; } + +popover.emoji-picker .emoji :hover { background: @accent_bg_color; border-radius: 6px; } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.07); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.85); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight rgba(0, 0, 0, 0); +@define-color wm_borders_edge alpha(@window_fg_color,0.07); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg shade(@view_bg_color,0.94); +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@accent_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@destructive_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.85),0.7); background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.703),0.7); background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +popover.background button { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.85),0.7); background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.703),0.7); background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.07); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.07); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903),0.7); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.07); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(currentColor,0.1); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.903),0.7); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(currentColor,0.1); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(currentColor,0.13); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.07); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 2px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } + +#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +sq_view { font-size: 1.5em; background-color: mix(@view_bg_color,@window_fg_color,0.9); box-shadow: inset 0 1px 0 0 mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.2); } + +sq_view.wide sq_button { margin: 3px; } + +sq_view.pin sq_button { border-radius: 0px; margin: 1px 1px 1px 1px; } + +sq_button { border-radius: 6px; margin: 2px; color: @window_fg_color; background: alpha(@window_fg_color,0.93); box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2); } + +sq_button:active { background: alpha(@window_fg_color,0.89); } + +sq_button.altline, sq_button.special { background: alpha(@window_fg_color,0.85); } + +sq_button.altline:active, sq_button.special:active { background: alpha(@window_fg_color,0.8); } + +sq_button.latched { font-weight: bold; background: alpha(@window_fg_color,0.8); color: alpha(@window_fg_color,0.2); } + +sq_button.locked { font-weight: bold; background: alpha(@window_fg_color,0.5); color: @view_bg_color; } + +sq_button.action { font-size: 0.75em; } + +sq_button.small { font-size: 0.5em; } + +#Return { background: @accent_bg_color; color: @accent_fg_color; } + +#Return:active { background: mix(black,@accent_bg_color,0.8); color: mix(black,@accent_fg_color,0.8); } + +@define-color phosh_fg_color white; +@define-color phosh_bg_color black; +@define-color phosh_activity_bg_color #1a1a1a; +@define-color phosh_notification_bg_color #282828; +@define-color phosh_splash_bg_color #f6f5f4; +@define-color phosh_splash_fg_color #282828; +@define-color phosh_button_bg_color #282828; +@define-color phosh_button_active_bg_color shade(@phosh_button_bg_color, 0.9); +@define-color phosh_button_hover_bg_color shade(@phosh_button_bg_color, 1.2); +phosh-top-panel { font: 15px Cantarell; } + +button.phosh-panel-btn { border-radius: 0; } + +button.phosh-panel-btn, button.phosh-panel-btn:hover, button.phosh-panel-btn:active, button.phosh-panel-btn:focus:active { background: @phosh_bg_color; } + +#top-bar { padding: 4px 9px 4px 9px; } + +.phosh-wwan-indicator, phosh-top-panel .indicators { font-size: 13px; font-weight: 800; font-feature-settings: "tnum"; } + +.phosh-topbar-clock { font-weight: bold; font-feature-settings: "tnum"; } + +phosh-top-panel .phosh-topbar-clock { font-size: 16px; } + +phosh-top-panel .phosh-topbar-date { font-size: 14px; } + +.phosh-clock-box { padding: 16px; } + +.phosh-topbar-button { padding: 0 12px; border-radius: 32px; border: 1px solid transparent; border: none; -gtk-icon-shadow: none; } + +.phosh-topbar-button:focus { box-shadow: inset 0 0 0 2px @accent_bg_color; outline: none; border-color: @accent_bg_color; } + +.phosh-osk-button { border-radius: 50%; min-width: 0; min-height: 0; padding: 6px; } + +.phosh-settings-menu { background-color: @phosh_bg_color; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; } + +.phosh-settings-menu button.circular:not(:hover):not(:active) { border: 2px solid @window_bg_color; } + +.phosh-quick-setting { font-size: 9px; padding: 9px; border-radius: 8px; border: 0; box-shadow: 0 0; background-color: transparent; } + +.phosh-quick-setting:not(:hover):not(:active) { background: none; } + +phosh-activity > widget > button { background: none; box-shadow: none; border: none; border-radius: 0; padding: 0; margin: 0; transition: none; } + +phosh-activity box button { background: white; border: none; border-radius: 0; } + +phosh-activity.phosh-maximized:not(.phosh-fullscreen) .phosh-drawingarea { background: @phosh_activity_bg_color; } + +phosh-home, phosh-top-panel { background: @phosh_bg_color; color: @phosh_fg_color; } + +.phosh-activity-close-button { border-radius: 50%; min-width: 48px; min-height: 48px; padding: 0; } + +.phosh-overview { background: @phosh_bg_color; } + +.phosh-favorite { background: none; border: none; box-shadow: none; padding: 0; } + +.phosh-favorite:hover { -gtk-icon-effect: none; } + +.phosh-favorite:active { -gtk-icon-effect: highlight; } + +.phosh-search-bar-box { margin: 6px 16px; } + +.phosh-search-bar { border-radius: 9999px; padding: 3px 18px 3px 14px; border: 1px solid transparent; } + +.phosh-search-bar:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; outline: none; border: 1px solid @accent_bg_color; } + +.phosh-menu-button { margin: 3px 0px 3px 10px; } + +phosh-app-grid { background: @phosh_bg_color; } + +phosh-app-grid separator { background: alpha(@phosh_fg_color,0.2); min-height: 2px; border-radius: 1px; margin: 0 12px; } + +phosh-app-grid-button { font-size: 0.8rem; } + +phosh-app-grid-button button, phosh-app-grid-button button:hover { background: none; padding: 0; margin: 0; border: 1px solid transparent; } + +phosh-app-grid-button button:hover, phosh-app-grid-button button:focus, .search-active phosh-app-grid-button:first-child button { background: rgba(46, 45, 45, 0.6); border-radius: 5px; } + +phosh-app-grid-button button:focus { border-color: @accent_bg_color; } + +#phosh-filter-adaptive-btn, #phosh-filter-adaptive-btn:hover, #phosh-filter-adaptive-btn.toggle { border-radius: 9999px; padding-top: 6px; padding-left: 24px; padding-right: 24px; margin-top: 24px; margin-bottom: 24px; background-image: none; background: @phosh_button_bg_color; outline-style: none; } + +phosh-lockscreen, .phosh-lockshield { background-color: @phosh_bg_color; color: @phosh_fg_color; } + +#phosh-lockscreen-clock { font-weight: 300; font-feature-settings: "tnum"; margin: 12px 0; } + +#phosh-lockscreen-date { margin: 6px 0; font-weight: 400; } + +.p-large #phosh-lockscreen-clock { font-size: 84px; transition: 200ms ease; } + +.p-large #phosh-lockscreen-date { font-size: 18px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-clock { font-size: 72px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-date { font-size: 16px; margin-top: 0; transition: 200ms ease; } + +.phosh-lockscreen-arrow { transition: 400ms linear; animation: pulsate 1.8s ease-out; animation-iteration-count: 15; } + +.phosh-lockscreen-status-icons { padding: 6px; } + +.phosh-lockscreen-pin { font-size: 20px; padding: 6px; border-radius: 12px; color: inherit; border: none; box-shadow: none; outline: none; } + +.phosh-lockscreen-pin:focus { border: none; box-shadow: none; outline: none; caret-color: transparent; } + +@keyframes pulsate { 0% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } + 35% { -gtk-icon-transform: translateY(-14px); + opacity: 1; } + 100% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } } + +phosh-keypad label.digit { font-size: 200%; font-weight: bold; } + +phosh-keypad button { border-radius: 9999px; -gtk-outline-radius: 9999px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; font-size: 16px; font-weight: bold; padding: 16px; border: 1px solid transparent; color: inherit; box-shadow: none; background: none; } + +phosh-keypad button:disabled { opacity: 0.5; } + +phosh-keypad button:hover, phosh-keypad button:focus:hover { background: alpha(@phosh_fg_color,0.2); } + +phosh-keypad button:active, phosh-keypad button:focus:active { background: alpha(@phosh_fg_color,0.15); } + +phosh-keypad button:focus { background: alpha(@phosh_fg_color,0.1); outline-style: none; } + +.text-only-button { font-size: 16px; font-weight: bold; padding: 16px 36px; border: 1px solid transparent; box-shadow: none; color: inherit; background: alpha(@phosh_fg_color,0.3); } + +.text-only-button:hover, .text-only-button:hover:focus { background: alpha(@phosh_fg_color,0.25); } + +.text-only-button:focus { background: alpha(@phosh_fg_color,0.3); box-shadow: inset 0 0 0 1px @accent_bg_color; outline-style: none; border: 1px solid @accent_bg_color; } + +.text-only-button:active, .text-only-button:focus:active { background: alpha(@phosh_fg_color,0.2); } + +phosh-lockscreen cui-call-display actionbar { background-color: @phosh_bg_color; } + +phosh-lockscreen .phosh-notification-tray { margin: 0 6px; transition: 200ms ease; } + +.phosh-system-modal { background-color: alpha(@phosh_bg_color,0.8); } + +.phosh-system-modal-dialog { background-color: @window_bg_color; border: 1px solid alpha(currentColor,0.15); border-radius: 12px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); padding: 0px; margin: 12px; } + +.phosh-system-modal-dialog-buttons label { margin: 12px; } + +.phosh-system-modal-dialog-buttons button { padding: 0; margin: 0; border-top: 1px solid alpha(currentColor,0.15); border-right: 1px solid alpha(currentColor,0.15); border-left-width: 0; border-bottom-width: 0; border-top-left-radius: 0; border-top-right-radius: 0; box-shadow: none; text-shadow: none; } + +.phosh-system-modal-dialog-buttons button:first-child { border-bottom-left-radius: 11px; border-bottom-right-radius: 0; } + +.phosh-system-modal-dialog-buttons button:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 11px; border-right: none; } + +.phosh-system-modal-dialog-content { padding-left: 18px; padding-right: 18px; } + +.phosh-system-modal-dialog-title { padding-top: 18px; font-weight: 800; font-size: 120%; } + +.phosh-end-session-dialog .phosh-end-session-subtitle { font-feature-settings: "tnum"; } + +.phosh-end-session-dialog .phosh-end-session-warning { color: #ba5645; font-weight: bold; } + +.phosh-end-session-dialog list { border-radius: 12px; } + +.phosh-end-session-dialog list row { margin-left: 6px; margin-right: 6px; } + +.phosh-end-session-dialog list row:first-child { margin-top: 6px; } + +.phosh-end-session-dialog list row:last-child { margin-bottom: 6px; } + +.phosh-end-session-dialog list row box box.vertical label:first-child { font-weight: bold; } + +.phosh-end-session-dialog list * { color: @view_fg_color; -gtk-icon-effect: none; } + +phosh-gtk-mount-prompt .phosh-system-modal-dialog-content > image { -gtk-icon-style: symbolic; } + +phosh-notification-content { background: transparent; color: @phosh_fg_color; padding: 0; margin: 0; } + +phosh-notification-content .message-area { padding: 12px 12px 9px 12px; } + +phosh-notification-content .message-area image { border-radius: 50%; } + +phosh-notification-content .actions-area { padding: 0; } + +phosh-notification-content .actions-area button { background-image: none; background-color: transparent; border-radius: 0; font-weight: bold; box-shadow: none; text-shadow: none; border-style: solid; border-color: alpha(currentColor,0.15); border-width: 0; border-top-width: 1px; border-right-width: 1px; padding: 8px 12px; -gtk-icon-shadow: none; } + +phosh-notification-content .actions-area button:focus, phosh-notification-content .actions-area button:hover { background-color: @phosh_button_hover_bg_color; outline-style: none; } + +phosh-notification-content .actions-area button:active { background-color: @phosh_button_active_bg_color; } + +phosh-notification-content .actions-area button:only-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-content .actions-area button:first-child { border-bottom-left-radius: 10px; } + +phosh-notification-content .actions-area button:last-child { border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-frame { margin: 0; padding: 0; } + +phosh-notification-frame list { background: transparent; } + +phosh-notification-frame .header-area { padding: 12px 12px 0 12px; color: @phosh_fg_color; } + +phosh-notification-frame .header-area image { -gtk-icon-style: symbolic; } + +phosh-notification-frame .notification-container { border-radius: 12px; border: none; background-color: @phosh_notification_bg_color; margin: 6px; margin-bottom: 0; } + +phosh-notification-banner { background: none; border: none; padding: 6px; } + +phosh-notification-banner > phosh-notification-frame { padding: 0; } + +phosh-notification-banner .notification-container { box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.33), 0px 2px 4px 2px rgba(0, 0, 0, 0.07); } + +.phosh-notification-tray, .phosh-notification-tray list { background: transparent; } + +.notification-container *:focus, .phosh-notification-tray list row:focus { outline-style: none; } + +.phosh-notification-tray list row .notification-container { border: 2px solid transparent; margin: 0; margin-bottom: 6px; } + +.phosh-notification-tray list row:focus .notification-container { border-color: @accent_bg_color; outline-style: none; } + +.phosh-notifications-header { padding: 0; } + +#phosh-notifications-clear-all-btn { border-radius: 99px; border: 1px solid transparent; background-color: @phosh_button_bg_color; } + +#phosh-notifications-clear-all-btn:hover { background-color: @phosh_button_hover_bg_color; } + +#phosh-notifications-clear-all-btn:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; border: 1px solid @accent_bg_color; outline: none; } + +@keyframes phosh-fader-default-keyframe { from { background: rgba(0, 0, 0, 0); } + to { background: black; } } + +.phosh-fader-default-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-proximity-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 200ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +@keyframes phosh-fader-flash-keyframe { from { background: white; } + to { background: rgba(255, 255, 255, 0); } } + +.phosh-fader-flash-fade { animation-name: phosh-fader-flash-keyframe; animation-duration: 500ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-screenshot-opaque { background: rgba(255, 255, 255, 0); } + +phosh-media-player { background: @phosh_notification_bg_color; color: @phosh_fg_color; border-radius: 12px; border: none; box-shadow: none; padding: 6px; padding-bottom: 0; } + +phosh-media-player button { background: @phosh_notification_bg_color; color: inherit; border: none; border-radius: 0; outline-style: none; text-shadow: none; -gtk-icon-shadow: none; } + +phosh-media-player button:hover { background-color: rgba(255, 255, 255, 0.1); opacity: 0.5; } + +phosh-media-player button:active { background-color: rgba(255, 255, 255, 0.2); } + +phosh-media-player .media-player-details { border-radius: 8px; padding-left: 4px; } + +phosh-media-player .media-player-details *:disabled { color: @window_fg_color; -gtk-icon-effect: none; } + +phosh-media-player .phosh-media-player-art { margin: 0; padding: 0; border-radius: 3px; } + +phosh-media-player > box > button { border-radius: 9999px; -gtk-icon-shadow: none; margin: 2px; padding: 8px; } + +phosh-lockscreen phosh-media-player { margin: 0 8px; } + +#osd-bubble { border-radius: 32px; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 3px 16px rgba(0, 0, 0, 0.1); background-color: shade(@phosh_notification_bg_color,1.5); } + +#osd-label { font-size: 9pt; } + +phosh-osd-window.phosh-system-modal { background: none; } + +phosh-osd-window levelbar block { min-height: 4px; box-shadow: none; border: none; border-radius: 2px; } + +phosh-osd-window levelbar block.low { background-color: white; } + +phosh-osd-window levelbar block.high { background-color: white; } + +phosh-osd-window levelbar block.full { background-color: white; } + +phosh-osd-window levelbar trough { border: none; padding: 0; box-shadow: none; background-color: alpha(white,0.2); border-radius: 2px; } + +phosh-splash.light { color: @phosh_splash_fg_color; background-color: @phosh_splash_bg_color; } + +.phosh-dropicon-shadow { -gtk-icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 8px rgba(0, 0, 0, 0.2); } diff --git a/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk.css b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk.css new file mode 100644 index 0000000..65300ea --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/gtk-3.0/gtk.css @@ -0,0 +1,3400 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected:focus, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } + +.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } + +.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.85),0.7); background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.703),0.7); background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +list row button.image-button:not(.flat) { border: 1px solid alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +list row button.image-button:not(.flat):hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +list row button.image-button:not(.flat):active:hover, list row button.image-button:not(.flat):checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: mix(white,@accent_bg_color,0.8); } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(white,@accent_bg_color,0.9); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.9),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,mix(white,@accent_bg_color,0.8),0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,mix(white,@accent_bg_color,0.8),0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: mix(white,@accent_bg_color,0.8); } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(mix(white,@accent_bg_color,0.8),0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-radius: 6px 6px 0 0; border-style: solid solid none solid; } + +spinbutton.vertical button.down { border-radius: 0 0 6px 6px; border-style: none solid solid solid; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:selected { color: mix(@accent_fg_color,@accent_bg_color,0.3); } + +treeview.view.expander:selected:hover { color: @accent_fg_color; } + +treeview.view.expander:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.3); } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: mix(currentColor,@view_bg_color,0.875); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.13); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.07); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.16); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(currentColor,0.1); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(currentColor,0.13); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(currentColor,0.19); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @window_bg_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.85); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.85); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @window_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: mix(white,@accent_bg_color,0.8); } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: @accent_bg_color; } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @accent_fg_color; } + +label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .titlebar entry selection:disabled, .view:disabled:selected, .nautilus-window notebook:disabled:selected, .nautilus-window notebook > stack:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, calendar:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.5); } + +label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .titlebar entry selection:backdrop, .view:backdrop:selected, .nautilus-window notebook:backdrop:selected, .nautilus-window notebook > stack:backdrop:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, calendar:backdrop:selected { color: @accent_fg_color; } + +label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .nautilus-window notebook:backdrop:disabled:selected, .nautilus-window notebook > stack:backdrop:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, calendar:backdrop:disabled:selected { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } + +button.emoji-section:checked { border-color: @accent_bg_color; } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; } + +popover.emoji-picker .emoji :hover { background: @accent_bg_color; border-radius: 6px; } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.07); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.85); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight rgba(0, 0, 0, 0); +@define-color wm_borders_edge alpha(@window_fg_color,0.07); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg shade(@view_bg_color,0.94); +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@accent_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@destructive_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.85),0.7); background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.703),0.7); background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +popover.background button { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.85),0.7); background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.703),0.7); background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.07); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.07); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903),0.7); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.07); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(currentColor,0.1); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.903),0.7); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(currentColor,0.1); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(currentColor,0.13); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.07); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 2px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } + +#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +sq_view { font-size: 1.5em; background-color: mix(@view_bg_color,@window_fg_color,0.9); box-shadow: inset 0 1px 0 0 mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.2); } + +sq_view.wide sq_button { margin: 3px; } + +sq_view.pin sq_button { border-radius: 0px; margin: 1px 1px 1px 1px; } + +sq_button { border-radius: 6px; margin: 2px; color: @window_fg_color; background: alpha(@window_fg_color,0.93); box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2); } + +sq_button:active { background: alpha(@window_fg_color,0.89); } + +sq_button.altline, sq_button.special { background: alpha(@window_fg_color,0.85); } + +sq_button.altline:active, sq_button.special:active { background: alpha(@window_fg_color,0.8); } + +sq_button.latched { font-weight: bold; background: alpha(@window_fg_color,0.8); color: alpha(@window_fg_color,0.2); } + +sq_button.locked { font-weight: bold; background: alpha(@window_fg_color,0.5); color: @view_bg_color; } + +sq_button.action { font-size: 0.75em; } + +sq_button.small { font-size: 0.5em; } + +#Return { background: @accent_bg_color; color: @accent_fg_color; } + +#Return:active { background: mix(black,@accent_bg_color,0.8); color: mix(black,@accent_fg_color,0.8); } + +@define-color phosh_fg_color white; +@define-color phosh_bg_color black; +@define-color phosh_activity_bg_color #1a1a1a; +@define-color phosh_notification_bg_color #282828; +@define-color phosh_splash_bg_color #f6f5f4; +@define-color phosh_splash_fg_color #282828; +@define-color phosh_button_bg_color #282828; +@define-color phosh_button_active_bg_color shade(@phosh_button_bg_color, 0.9); +@define-color phosh_button_hover_bg_color shade(@phosh_button_bg_color, 1.2); +phosh-top-panel { font: 15px Cantarell; } + +button.phosh-panel-btn { border-radius: 0; } + +button.phosh-panel-btn, button.phosh-panel-btn:hover, button.phosh-panel-btn:active, button.phosh-panel-btn:focus:active { background: @phosh_bg_color; } + +#top-bar { padding: 4px 9px 4px 9px; } + +.phosh-wwan-indicator, phosh-top-panel .indicators { font-size: 13px; font-weight: 800; font-feature-settings: "tnum"; } + +.phosh-topbar-clock { font-weight: bold; font-feature-settings: "tnum"; } + +phosh-top-panel .phosh-topbar-clock { font-size: 16px; } + +phosh-top-panel .phosh-topbar-date { font-size: 14px; } + +.phosh-clock-box { padding: 16px; } + +.phosh-topbar-button { padding: 0 12px; border-radius: 32px; border: 1px solid transparent; border: none; -gtk-icon-shadow: none; } + +.phosh-topbar-button:focus { box-shadow: inset 0 0 0 2px @accent_bg_color; outline: none; border-color: @accent_bg_color; } + +.phosh-osk-button { border-radius: 50%; min-width: 0; min-height: 0; padding: 6px; } + +.phosh-settings-menu { background-color: @phosh_bg_color; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; } + +.phosh-settings-menu button.circular:not(:hover):not(:active) { border: 2px solid @window_bg_color; } + +.phosh-quick-setting { font-size: 9px; padding: 9px; border-radius: 8px; border: 0; box-shadow: 0 0; background-color: transparent; } + +.phosh-quick-setting:not(:hover):not(:active) { background: none; } + +phosh-activity > widget > button { background: none; box-shadow: none; border: none; border-radius: 0; padding: 0; margin: 0; transition: none; } + +phosh-activity box button { background: white; border: none; border-radius: 0; } + +phosh-activity.phosh-maximized:not(.phosh-fullscreen) .phosh-drawingarea { background: @phosh_activity_bg_color; } + +phosh-home, phosh-top-panel { background: @phosh_bg_color; color: @phosh_fg_color; } + +.phosh-activity-close-button { border-radius: 50%; min-width: 48px; min-height: 48px; padding: 0; } + +.phosh-overview { background: @phosh_bg_color; } + +.phosh-favorite { background: none; border: none; box-shadow: none; padding: 0; } + +.phosh-favorite:hover { -gtk-icon-effect: none; } + +.phosh-favorite:active { -gtk-icon-effect: highlight; } + +.phosh-search-bar-box { margin: 6px 16px; } + +.phosh-search-bar { border-radius: 9999px; padding: 3px 18px 3px 14px; border: 1px solid transparent; } + +.phosh-search-bar:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; outline: none; border: 1px solid @accent_bg_color; } + +.phosh-menu-button { margin: 3px 0px 3px 10px; } + +phosh-app-grid { background: @phosh_bg_color; } + +phosh-app-grid separator { background: alpha(@phosh_fg_color,0.2); min-height: 2px; border-radius: 1px; margin: 0 12px; } + +phosh-app-grid-button { font-size: 0.8rem; } + +phosh-app-grid-button button, phosh-app-grid-button button:hover { background: none; padding: 0; margin: 0; border: 1px solid transparent; } + +phosh-app-grid-button button:hover, phosh-app-grid-button button:focus, .search-active phosh-app-grid-button:first-child button { background: rgba(46, 45, 45, 0.6); border-radius: 5px; } + +phosh-app-grid-button button:focus { border-color: @accent_bg_color; } + +#phosh-filter-adaptive-btn, #phosh-filter-adaptive-btn:hover, #phosh-filter-adaptive-btn.toggle { border-radius: 9999px; padding-top: 6px; padding-left: 24px; padding-right: 24px; margin-top: 24px; margin-bottom: 24px; background-image: none; background: @phosh_button_bg_color; outline-style: none; } + +phosh-lockscreen, .phosh-lockshield { background-color: @phosh_bg_color; color: @phosh_fg_color; } + +#phosh-lockscreen-clock { font-weight: 300; font-feature-settings: "tnum"; margin: 12px 0; } + +#phosh-lockscreen-date { margin: 6px 0; font-weight: 400; } + +.p-large #phosh-lockscreen-clock { font-size: 84px; transition: 200ms ease; } + +.p-large #phosh-lockscreen-date { font-size: 18px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-clock { font-size: 72px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-date { font-size: 16px; margin-top: 0; transition: 200ms ease; } + +.phosh-lockscreen-arrow { transition: 400ms linear; animation: pulsate 1.8s ease-out; animation-iteration-count: 15; } + +.phosh-lockscreen-status-icons { padding: 6px; } + +.phosh-lockscreen-pin { font-size: 20px; padding: 6px; border-radius: 12px; color: inherit; border: none; box-shadow: none; outline: none; } + +.phosh-lockscreen-pin:focus { border: none; box-shadow: none; outline: none; caret-color: transparent; } + +@keyframes pulsate { 0% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } + 35% { -gtk-icon-transform: translateY(-14px); + opacity: 1; } + 100% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } } + +phosh-keypad label.digit { font-size: 200%; font-weight: bold; } + +phosh-keypad button { border-radius: 9999px; -gtk-outline-radius: 9999px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; font-size: 16px; font-weight: bold; padding: 16px; border: 1px solid transparent; color: inherit; box-shadow: none; background: none; } + +phosh-keypad button:disabled { opacity: 0.5; } + +phosh-keypad button:hover, phosh-keypad button:focus:hover { background: alpha(@phosh_fg_color,0.2); } + +phosh-keypad button:active, phosh-keypad button:focus:active { background: alpha(@phosh_fg_color,0.15); } + +phosh-keypad button:focus { background: alpha(@phosh_fg_color,0.1); outline-style: none; } + +.text-only-button { font-size: 16px; font-weight: bold; padding: 16px 36px; border: 1px solid transparent; box-shadow: none; color: inherit; background: alpha(@phosh_fg_color,0.3); } + +.text-only-button:hover, .text-only-button:hover:focus { background: alpha(@phosh_fg_color,0.25); } + +.text-only-button:focus { background: alpha(@phosh_fg_color,0.3); box-shadow: inset 0 0 0 1px @accent_bg_color; outline-style: none; border: 1px solid @accent_bg_color; } + +.text-only-button:active, .text-only-button:focus:active { background: alpha(@phosh_fg_color,0.2); } + +phosh-lockscreen cui-call-display actionbar { background-color: @phosh_bg_color; } + +phosh-lockscreen .phosh-notification-tray { margin: 0 6px; transition: 200ms ease; } + +.phosh-system-modal { background-color: alpha(@phosh_bg_color,0.8); } + +.phosh-system-modal-dialog { background-color: @window_bg_color; border: 1px solid alpha(currentColor,0.15); border-radius: 12px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); padding: 0px; margin: 12px; } + +.phosh-system-modal-dialog-buttons label { margin: 12px; } + +.phosh-system-modal-dialog-buttons button { padding: 0; margin: 0; border-top: 1px solid alpha(currentColor,0.15); border-right: 1px solid alpha(currentColor,0.15); border-left-width: 0; border-bottom-width: 0; border-top-left-radius: 0; border-top-right-radius: 0; box-shadow: none; text-shadow: none; } + +.phosh-system-modal-dialog-buttons button:first-child { border-bottom-left-radius: 11px; border-bottom-right-radius: 0; } + +.phosh-system-modal-dialog-buttons button:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 11px; border-right: none; } + +.phosh-system-modal-dialog-content { padding-left: 18px; padding-right: 18px; } + +.phosh-system-modal-dialog-title { padding-top: 18px; font-weight: 800; font-size: 120%; } + +.phosh-end-session-dialog .phosh-end-session-subtitle { font-feature-settings: "tnum"; } + +.phosh-end-session-dialog .phosh-end-session-warning { color: #ba5645; font-weight: bold; } + +.phosh-end-session-dialog list { border-radius: 12px; } + +.phosh-end-session-dialog list row { margin-left: 6px; margin-right: 6px; } + +.phosh-end-session-dialog list row:first-child { margin-top: 6px; } + +.phosh-end-session-dialog list row:last-child { margin-bottom: 6px; } + +.phosh-end-session-dialog list row box box.vertical label:first-child { font-weight: bold; } + +.phosh-end-session-dialog list * { color: @view_fg_color; -gtk-icon-effect: none; } + +phosh-gtk-mount-prompt .phosh-system-modal-dialog-content > image { -gtk-icon-style: symbolic; } + +phosh-notification-content { background: transparent; color: @phosh_fg_color; padding: 0; margin: 0; } + +phosh-notification-content .message-area { padding: 12px 12px 9px 12px; } + +phosh-notification-content .message-area image { border-radius: 50%; } + +phosh-notification-content .actions-area { padding: 0; } + +phosh-notification-content .actions-area button { background-image: none; background-color: transparent; border-radius: 0; font-weight: bold; box-shadow: none; text-shadow: none; border-style: solid; border-color: alpha(currentColor,0.15); border-width: 0; border-top-width: 1px; border-right-width: 1px; padding: 8px 12px; -gtk-icon-shadow: none; } + +phosh-notification-content .actions-area button:focus, phosh-notification-content .actions-area button:hover { background-color: @phosh_button_hover_bg_color; outline-style: none; } + +phosh-notification-content .actions-area button:active { background-color: @phosh_button_active_bg_color; } + +phosh-notification-content .actions-area button:only-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-content .actions-area button:first-child { border-bottom-left-radius: 10px; } + +phosh-notification-content .actions-area button:last-child { border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-frame { margin: 0; padding: 0; } + +phosh-notification-frame list { background: transparent; } + +phosh-notification-frame .header-area { padding: 12px 12px 0 12px; color: @phosh_fg_color; } + +phosh-notification-frame .header-area image { -gtk-icon-style: symbolic; } + +phosh-notification-frame .notification-container { border-radius: 12px; border: none; background-color: @phosh_notification_bg_color; margin: 6px; margin-bottom: 0; } + +phosh-notification-banner { background: none; border: none; padding: 6px; } + +phosh-notification-banner > phosh-notification-frame { padding: 0; } + +phosh-notification-banner .notification-container { box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.33), 0px 2px 4px 2px rgba(0, 0, 0, 0.07); } + +.phosh-notification-tray, .phosh-notification-tray list { background: transparent; } + +.notification-container *:focus, .phosh-notification-tray list row:focus { outline-style: none; } + +.phosh-notification-tray list row .notification-container { border: 2px solid transparent; margin: 0; margin-bottom: 6px; } + +.phosh-notification-tray list row:focus .notification-container { border-color: @accent_bg_color; outline-style: none; } + +.phosh-notifications-header { padding: 0; } + +#phosh-notifications-clear-all-btn { border-radius: 99px; border: 1px solid transparent; background-color: @phosh_button_bg_color; } + +#phosh-notifications-clear-all-btn:hover { background-color: @phosh_button_hover_bg_color; } + +#phosh-notifications-clear-all-btn:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; border: 1px solid @accent_bg_color; outline: none; } + +@keyframes phosh-fader-default-keyframe { from { background: rgba(0, 0, 0, 0); } + to { background: black; } } + +.phosh-fader-default-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-proximity-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 200ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +@keyframes phosh-fader-flash-keyframe { from { background: white; } + to { background: rgba(255, 255, 255, 0); } } + +.phosh-fader-flash-fade { animation-name: phosh-fader-flash-keyframe; animation-duration: 500ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-screenshot-opaque { background: rgba(255, 255, 255, 0); } + +phosh-media-player { background: @phosh_notification_bg_color; color: @phosh_fg_color; border-radius: 12px; border: none; box-shadow: none; padding: 6px; padding-bottom: 0; } + +phosh-media-player button { background: @phosh_notification_bg_color; color: inherit; border: none; border-radius: 0; outline-style: none; text-shadow: none; -gtk-icon-shadow: none; } + +phosh-media-player button:hover { background-color: rgba(255, 255, 255, 0.1); opacity: 0.5; } + +phosh-media-player button:active { background-color: rgba(255, 255, 255, 0.2); } + +phosh-media-player .media-player-details { border-radius: 8px; padding-left: 4px; } + +phosh-media-player .media-player-details *:disabled { color: @window_fg_color; -gtk-icon-effect: none; } + +phosh-media-player .phosh-media-player-art { margin: 0; padding: 0; border-radius: 3px; } + +phosh-media-player > box > button { border-radius: 9999px; -gtk-icon-shadow: none; margin: 2px; padding: 8px; } + +phosh-lockscreen phosh-media-player { margin: 0 8px; } + +#osd-bubble { border-radius: 32px; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 3px 16px rgba(0, 0, 0, 0.1); background-color: shade(@phosh_notification_bg_color,1.5); } + +#osd-label { font-size: 9pt; } + +phosh-osd-window.phosh-system-modal { background: none; } + +phosh-osd-window levelbar block { min-height: 4px; box-shadow: none; border: none; border-radius: 2px; } + +phosh-osd-window levelbar block.low { background-color: white; } + +phosh-osd-window levelbar block.high { background-color: white; } + +phosh-osd-window levelbar block.full { background-color: white; } + +phosh-osd-window levelbar trough { border: none; padding: 0; box-shadow: none; background-color: alpha(white,0.2); border-radius: 2px; } + +phosh-splash.light { color: @phosh_splash_fg_color; background-color: @phosh_splash_bg_color; } + +.phosh-dropicon-shadow { -gtk-icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 8px rgba(0, 0, 0, 0.2); } diff --git a/.config/gtk-3.0/adw-gtk3-dark/index.theme b/.config/gtk-3.0/adw-gtk3-dark/index.theme new file mode 100644 index 0000000..2ca916c --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3-dark/index.theme @@ -0,0 +1,6 @@ +[X-GNOME-Metatheme] +Name=adw-gtk3-dark +Type=X-GNOME-Metatheme +Comment=adw-gtk3-dark theme +Encoding=UTF-8 +GtkTheme=adw-gtk3-dark diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..f359a70 --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..8e6925a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png new file mode 100644 index 0000000..e9df425 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/bullet@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.svg b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..27c620d --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..9144bcd Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png new file mode 100644 index 0000000..c0baa3c Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/check@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..de3638d --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..3afcfd6 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png new file mode 100644 index 0000000..9cb5994 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/dash@2-symbolic.symbolic.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png new file mode 100644 index 0000000..bb01fab Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..a9dd44d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..774644b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..b307ea4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..f6a9c36 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..bf88b80 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png new file mode 100644 index 0000000..451b5d9 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png new file mode 100644 index 0000000..8292a90 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png new file mode 100644 index 0000000..d6fe329 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..c570548 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..55e73d4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..68a8d1d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..c3cdf8f Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..57b5265 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png new file mode 100644 index 0000000..09a3a58 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png new file mode 100644 index 0000000..fd81609 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png new file mode 100644 index 0000000..02645ec Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..748f160 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..fc30eda Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..bc69354 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..2028ef7 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..daef066 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png new file mode 100644 index 0000000..f7d335a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png new file mode 100644 index 0000000..496101b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png new file mode 100644 index 0000000..dc07324 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..eba7322 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..312d33a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..a80fa89 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..bf546b1 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..743e044 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png new file mode 100644 index 0000000..0c19143 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png new file mode 100644 index 0000000..bb94b0d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark.png new file mode 100644 index 0000000..ef29a0d Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png new file mode 100644 index 0000000..cbd5b7b Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light.png new file mode 100644 index 0000000..58c01fd Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png new file mode 100644 index 0000000..188c227 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/tab-border-light@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png new file mode 100644 index 0000000..534dbb3 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png new file mode 100644 index 0000000..43da0e4 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end.png new file mode 100644 index 0000000..84e80de Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end@2.png new file mode 100644 index 0000000..2661b18 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-end@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png new file mode 100644 index 0000000..3097368 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png new file mode 100644 index 0000000..d1c1853 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start-dark@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start.png new file mode 100644 index 0000000..28634f0 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start@2.png b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start@2.png new file mode 100644 index 0000000..306e954 Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3/gtk-3.0/assets/text-select-start@2.png differ diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk-dark.css b/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk-dark.css new file mode 100644 index 0000000..65300ea --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk-dark.css @@ -0,0 +1,3400 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected:focus, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } + +.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } + +.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.85),0.7); background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.703),0.7); background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +list row button.image-button:not(.flat) { border: 1px solid alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +list row button.image-button:not(.flat):hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +list row button.image-button:not(.flat):active:hover, list row button.image-button:not(.flat):checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: mix(white,@accent_bg_color,0.8); } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(white,@accent_bg_color,0.9); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.9),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,mix(white,@accent_bg_color,0.8),0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,mix(white,@accent_bg_color,0.8),0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: mix(white,@accent_bg_color,0.8); } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(mix(white,@accent_bg_color,0.8),0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,mix(white,@accent_bg_color,0.8),0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-radius: 6px 6px 0 0; border-style: solid solid none solid; } + +spinbutton.vertical button.down { border-radius: 0 0 6px 6px; border-style: none solid solid solid; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.703),0.7); background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:selected { color: mix(@accent_fg_color,@accent_bg_color,0.3); } + +treeview.view.expander:selected:hover { color: @accent_fg_color; } + +treeview.view.expander:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.3); } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: mix(currentColor,@view_bg_color,0.875); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.13); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.07); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.16); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(currentColor,0.1); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(currentColor,0.13); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(currentColor,0.19); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @window_bg_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.85); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.85); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @window_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: mix(white,@accent_bg_color,0.8); } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.903),0.7); background-color: mix(currentColor,@window_bg_color,0.903); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: @accent_bg_color; } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @accent_fg_color; } + +label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .titlebar entry selection:disabled, .view:disabled:selected, .nautilus-window notebook:disabled:selected, .nautilus-window notebook > stack:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, calendar:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.5); } + +label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .titlebar entry selection:backdrop, .view:backdrop:selected, .nautilus-window notebook:backdrop:selected, .nautilus-window notebook > stack:backdrop:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, calendar:backdrop:selected { color: @accent_fg_color; } + +label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .nautilus-window notebook:backdrop:disabled:selected, .nautilus-window notebook > stack:backdrop:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, calendar:backdrop:disabled:selected { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } + +button.emoji-section:checked { border-color: @accent_bg_color; } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; } + +popover.emoji-picker .emoji :hover { background: @accent_bg_color; border-radius: 6px; } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.07); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.85); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight rgba(0, 0, 0, 0); +@define-color wm_borders_edge alpha(@window_fg_color,0.07); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg shade(@view_bg_color,0.94); +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.903),0.7); background-color: mix(currentColor,@accent_bg_color,0.903); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.85),0.7); background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@accent_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.903),0.7); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@destructive_bg_color,0.5),0.703),0.7); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.85),0.7); background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.703),0.7); background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +popover.background button { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.85),0.7); background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.703),0.7); background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.07); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.07); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.903),0.7); background-color: mix(currentColor,@card_bg_color,0.903); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.85),0.7); background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903),0.7); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.07); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(currentColor,0.1); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.703),0.7); background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.903),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.85),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.703),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.903),0.7); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(currentColor,0.1); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(currentColor,0.13); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.07); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 2px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.903),0.7); background-color: mix(currentColor,@popover_bg_color,0.903); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } + +#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +sq_view { font-size: 1.5em; background-color: mix(@view_bg_color,@window_fg_color,0.9); box-shadow: inset 0 1px 0 0 mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.2); } + +sq_view.wide sq_button { margin: 3px; } + +sq_view.pin sq_button { border-radius: 0px; margin: 1px 1px 1px 1px; } + +sq_button { border-radius: 6px; margin: 2px; color: @window_fg_color; background: alpha(@window_fg_color,0.93); box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2); } + +sq_button:active { background: alpha(@window_fg_color,0.89); } + +sq_button.altline, sq_button.special { background: alpha(@window_fg_color,0.85); } + +sq_button.altline:active, sq_button.special:active { background: alpha(@window_fg_color,0.8); } + +sq_button.latched { font-weight: bold; background: alpha(@window_fg_color,0.8); color: alpha(@window_fg_color,0.2); } + +sq_button.locked { font-weight: bold; background: alpha(@window_fg_color,0.5); color: @view_bg_color; } + +sq_button.action { font-size: 0.75em; } + +sq_button.small { font-size: 0.5em; } + +#Return { background: @accent_bg_color; color: @accent_fg_color; } + +#Return:active { background: mix(black,@accent_bg_color,0.8); color: mix(black,@accent_fg_color,0.8); } + +@define-color phosh_fg_color white; +@define-color phosh_bg_color black; +@define-color phosh_activity_bg_color #1a1a1a; +@define-color phosh_notification_bg_color #282828; +@define-color phosh_splash_bg_color #f6f5f4; +@define-color phosh_splash_fg_color #282828; +@define-color phosh_button_bg_color #282828; +@define-color phosh_button_active_bg_color shade(@phosh_button_bg_color, 0.9); +@define-color phosh_button_hover_bg_color shade(@phosh_button_bg_color, 1.2); +phosh-top-panel { font: 15px Cantarell; } + +button.phosh-panel-btn { border-radius: 0; } + +button.phosh-panel-btn, button.phosh-panel-btn:hover, button.phosh-panel-btn:active, button.phosh-panel-btn:focus:active { background: @phosh_bg_color; } + +#top-bar { padding: 4px 9px 4px 9px; } + +.phosh-wwan-indicator, phosh-top-panel .indicators { font-size: 13px; font-weight: 800; font-feature-settings: "tnum"; } + +.phosh-topbar-clock { font-weight: bold; font-feature-settings: "tnum"; } + +phosh-top-panel .phosh-topbar-clock { font-size: 16px; } + +phosh-top-panel .phosh-topbar-date { font-size: 14px; } + +.phosh-clock-box { padding: 16px; } + +.phosh-topbar-button { padding: 0 12px; border-radius: 32px; border: 1px solid transparent; border: none; -gtk-icon-shadow: none; } + +.phosh-topbar-button:focus { box-shadow: inset 0 0 0 2px @accent_bg_color; outline: none; border-color: @accent_bg_color; } + +.phosh-osk-button { border-radius: 50%; min-width: 0; min-height: 0; padding: 6px; } + +.phosh-settings-menu { background-color: @phosh_bg_color; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; } + +.phosh-settings-menu button.circular:not(:hover):not(:active) { border: 2px solid @window_bg_color; } + +.phosh-quick-setting { font-size: 9px; padding: 9px; border-radius: 8px; border: 0; box-shadow: 0 0; background-color: transparent; } + +.phosh-quick-setting:not(:hover):not(:active) { background: none; } + +phosh-activity > widget > button { background: none; box-shadow: none; border: none; border-radius: 0; padding: 0; margin: 0; transition: none; } + +phosh-activity box button { background: white; border: none; border-radius: 0; } + +phosh-activity.phosh-maximized:not(.phosh-fullscreen) .phosh-drawingarea { background: @phosh_activity_bg_color; } + +phosh-home, phosh-top-panel { background: @phosh_bg_color; color: @phosh_fg_color; } + +.phosh-activity-close-button { border-radius: 50%; min-width: 48px; min-height: 48px; padding: 0; } + +.phosh-overview { background: @phosh_bg_color; } + +.phosh-favorite { background: none; border: none; box-shadow: none; padding: 0; } + +.phosh-favorite:hover { -gtk-icon-effect: none; } + +.phosh-favorite:active { -gtk-icon-effect: highlight; } + +.phosh-search-bar-box { margin: 6px 16px; } + +.phosh-search-bar { border-radius: 9999px; padding: 3px 18px 3px 14px; border: 1px solid transparent; } + +.phosh-search-bar:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; outline: none; border: 1px solid @accent_bg_color; } + +.phosh-menu-button { margin: 3px 0px 3px 10px; } + +phosh-app-grid { background: @phosh_bg_color; } + +phosh-app-grid separator { background: alpha(@phosh_fg_color,0.2); min-height: 2px; border-radius: 1px; margin: 0 12px; } + +phosh-app-grid-button { font-size: 0.8rem; } + +phosh-app-grid-button button, phosh-app-grid-button button:hover { background: none; padding: 0; margin: 0; border: 1px solid transparent; } + +phosh-app-grid-button button:hover, phosh-app-grid-button button:focus, .search-active phosh-app-grid-button:first-child button { background: rgba(46, 45, 45, 0.6); border-radius: 5px; } + +phosh-app-grid-button button:focus { border-color: @accent_bg_color; } + +#phosh-filter-adaptive-btn, #phosh-filter-adaptive-btn:hover, #phosh-filter-adaptive-btn.toggle { border-radius: 9999px; padding-top: 6px; padding-left: 24px; padding-right: 24px; margin-top: 24px; margin-bottom: 24px; background-image: none; background: @phosh_button_bg_color; outline-style: none; } + +phosh-lockscreen, .phosh-lockshield { background-color: @phosh_bg_color; color: @phosh_fg_color; } + +#phosh-lockscreen-clock { font-weight: 300; font-feature-settings: "tnum"; margin: 12px 0; } + +#phosh-lockscreen-date { margin: 6px 0; font-weight: 400; } + +.p-large #phosh-lockscreen-clock { font-size: 84px; transition: 200ms ease; } + +.p-large #phosh-lockscreen-date { font-size: 18px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-clock { font-size: 72px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-date { font-size: 16px; margin-top: 0; transition: 200ms ease; } + +.phosh-lockscreen-arrow { transition: 400ms linear; animation: pulsate 1.8s ease-out; animation-iteration-count: 15; } + +.phosh-lockscreen-status-icons { padding: 6px; } + +.phosh-lockscreen-pin { font-size: 20px; padding: 6px; border-radius: 12px; color: inherit; border: none; box-shadow: none; outline: none; } + +.phosh-lockscreen-pin:focus { border: none; box-shadow: none; outline: none; caret-color: transparent; } + +@keyframes pulsate { 0% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } + 35% { -gtk-icon-transform: translateY(-14px); + opacity: 1; } + 100% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } } + +phosh-keypad label.digit { font-size: 200%; font-weight: bold; } + +phosh-keypad button { border-radius: 9999px; -gtk-outline-radius: 9999px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; font-size: 16px; font-weight: bold; padding: 16px; border: 1px solid transparent; color: inherit; box-shadow: none; background: none; } + +phosh-keypad button:disabled { opacity: 0.5; } + +phosh-keypad button:hover, phosh-keypad button:focus:hover { background: alpha(@phosh_fg_color,0.2); } + +phosh-keypad button:active, phosh-keypad button:focus:active { background: alpha(@phosh_fg_color,0.15); } + +phosh-keypad button:focus { background: alpha(@phosh_fg_color,0.1); outline-style: none; } + +.text-only-button { font-size: 16px; font-weight: bold; padding: 16px 36px; border: 1px solid transparent; box-shadow: none; color: inherit; background: alpha(@phosh_fg_color,0.3); } + +.text-only-button:hover, .text-only-button:hover:focus { background: alpha(@phosh_fg_color,0.25); } + +.text-only-button:focus { background: alpha(@phosh_fg_color,0.3); box-shadow: inset 0 0 0 1px @accent_bg_color; outline-style: none; border: 1px solid @accent_bg_color; } + +.text-only-button:active, .text-only-button:focus:active { background: alpha(@phosh_fg_color,0.2); } + +phosh-lockscreen cui-call-display actionbar { background-color: @phosh_bg_color; } + +phosh-lockscreen .phosh-notification-tray { margin: 0 6px; transition: 200ms ease; } + +.phosh-system-modal { background-color: alpha(@phosh_bg_color,0.8); } + +.phosh-system-modal-dialog { background-color: @window_bg_color; border: 1px solid alpha(currentColor,0.15); border-radius: 12px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); padding: 0px; margin: 12px; } + +.phosh-system-modal-dialog-buttons label { margin: 12px; } + +.phosh-system-modal-dialog-buttons button { padding: 0; margin: 0; border-top: 1px solid alpha(currentColor,0.15); border-right: 1px solid alpha(currentColor,0.15); border-left-width: 0; border-bottom-width: 0; border-top-left-radius: 0; border-top-right-radius: 0; box-shadow: none; text-shadow: none; } + +.phosh-system-modal-dialog-buttons button:first-child { border-bottom-left-radius: 11px; border-bottom-right-radius: 0; } + +.phosh-system-modal-dialog-buttons button:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 11px; border-right: none; } + +.phosh-system-modal-dialog-content { padding-left: 18px; padding-right: 18px; } + +.phosh-system-modal-dialog-title { padding-top: 18px; font-weight: 800; font-size: 120%; } + +.phosh-end-session-dialog .phosh-end-session-subtitle { font-feature-settings: "tnum"; } + +.phosh-end-session-dialog .phosh-end-session-warning { color: #ba5645; font-weight: bold; } + +.phosh-end-session-dialog list { border-radius: 12px; } + +.phosh-end-session-dialog list row { margin-left: 6px; margin-right: 6px; } + +.phosh-end-session-dialog list row:first-child { margin-top: 6px; } + +.phosh-end-session-dialog list row:last-child { margin-bottom: 6px; } + +.phosh-end-session-dialog list row box box.vertical label:first-child { font-weight: bold; } + +.phosh-end-session-dialog list * { color: @view_fg_color; -gtk-icon-effect: none; } + +phosh-gtk-mount-prompt .phosh-system-modal-dialog-content > image { -gtk-icon-style: symbolic; } + +phosh-notification-content { background: transparent; color: @phosh_fg_color; padding: 0; margin: 0; } + +phosh-notification-content .message-area { padding: 12px 12px 9px 12px; } + +phosh-notification-content .message-area image { border-radius: 50%; } + +phosh-notification-content .actions-area { padding: 0; } + +phosh-notification-content .actions-area button { background-image: none; background-color: transparent; border-radius: 0; font-weight: bold; box-shadow: none; text-shadow: none; border-style: solid; border-color: alpha(currentColor,0.15); border-width: 0; border-top-width: 1px; border-right-width: 1px; padding: 8px 12px; -gtk-icon-shadow: none; } + +phosh-notification-content .actions-area button:focus, phosh-notification-content .actions-area button:hover { background-color: @phosh_button_hover_bg_color; outline-style: none; } + +phosh-notification-content .actions-area button:active { background-color: @phosh_button_active_bg_color; } + +phosh-notification-content .actions-area button:only-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-content .actions-area button:first-child { border-bottom-left-radius: 10px; } + +phosh-notification-content .actions-area button:last-child { border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-frame { margin: 0; padding: 0; } + +phosh-notification-frame list { background: transparent; } + +phosh-notification-frame .header-area { padding: 12px 12px 0 12px; color: @phosh_fg_color; } + +phosh-notification-frame .header-area image { -gtk-icon-style: symbolic; } + +phosh-notification-frame .notification-container { border-radius: 12px; border: none; background-color: @phosh_notification_bg_color; margin: 6px; margin-bottom: 0; } + +phosh-notification-banner { background: none; border: none; padding: 6px; } + +phosh-notification-banner > phosh-notification-frame { padding: 0; } + +phosh-notification-banner .notification-container { box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.33), 0px 2px 4px 2px rgba(0, 0, 0, 0.07); } + +.phosh-notification-tray, .phosh-notification-tray list { background: transparent; } + +.notification-container *:focus, .phosh-notification-tray list row:focus { outline-style: none; } + +.phosh-notification-tray list row .notification-container { border: 2px solid transparent; margin: 0; margin-bottom: 6px; } + +.phosh-notification-tray list row:focus .notification-container { border-color: @accent_bg_color; outline-style: none; } + +.phosh-notifications-header { padding: 0; } + +#phosh-notifications-clear-all-btn { border-radius: 99px; border: 1px solid transparent; background-color: @phosh_button_bg_color; } + +#phosh-notifications-clear-all-btn:hover { background-color: @phosh_button_hover_bg_color; } + +#phosh-notifications-clear-all-btn:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; border: 1px solid @accent_bg_color; outline: none; } + +@keyframes phosh-fader-default-keyframe { from { background: rgba(0, 0, 0, 0); } + to { background: black; } } + +.phosh-fader-default-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-proximity-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 200ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +@keyframes phosh-fader-flash-keyframe { from { background: white; } + to { background: rgba(255, 255, 255, 0); } } + +.phosh-fader-flash-fade { animation-name: phosh-fader-flash-keyframe; animation-duration: 500ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-screenshot-opaque { background: rgba(255, 255, 255, 0); } + +phosh-media-player { background: @phosh_notification_bg_color; color: @phosh_fg_color; border-radius: 12px; border: none; box-shadow: none; padding: 6px; padding-bottom: 0; } + +phosh-media-player button { background: @phosh_notification_bg_color; color: inherit; border: none; border-radius: 0; outline-style: none; text-shadow: none; -gtk-icon-shadow: none; } + +phosh-media-player button:hover { background-color: rgba(255, 255, 255, 0.1); opacity: 0.5; } + +phosh-media-player button:active { background-color: rgba(255, 255, 255, 0.2); } + +phosh-media-player .media-player-details { border-radius: 8px; padding-left: 4px; } + +phosh-media-player .media-player-details *:disabled { color: @window_fg_color; -gtk-icon-effect: none; } + +phosh-media-player .phosh-media-player-art { margin: 0; padding: 0; border-radius: 3px; } + +phosh-media-player > box > button { border-radius: 9999px; -gtk-icon-shadow: none; margin: 2px; padding: 8px; } + +phosh-lockscreen phosh-media-player { margin: 0 8px; } + +#osd-bubble { border-radius: 32px; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 3px 16px rgba(0, 0, 0, 0.1); background-color: shade(@phosh_notification_bg_color,1.5); } + +#osd-label { font-size: 9pt; } + +phosh-osd-window.phosh-system-modal { background: none; } + +phosh-osd-window levelbar block { min-height: 4px; box-shadow: none; border: none; border-radius: 2px; } + +phosh-osd-window levelbar block.low { background-color: white; } + +phosh-osd-window levelbar block.high { background-color: white; } + +phosh-osd-window levelbar block.full { background-color: white; } + +phosh-osd-window levelbar trough { border: none; padding: 0; box-shadow: none; background-color: alpha(white,0.2); border-radius: 2px; } + +phosh-splash.light { color: @phosh_splash_fg_color; background-color: @phosh_splash_bg_color; } + +.phosh-dropicon-shadow { -gtk-icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 8px rgba(0, 0, 0, 0.2); } diff --git a/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk.css b/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk.css new file mode 100644 index 0000000..4badd20 --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/gtk-3.0/gtk.css @@ -0,0 +1,3374 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color @blue_4; +@define-color destructive_bg_color @red_3; +@define-color destructive_fg_color white; +@define-color destructive_color @red_4; +@define-color success_bg_color @green_4; +@define-color success_fg_color white; +@define-color success_color @green_5; +@define-color warning_bg_color @yellow_5; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color #ae7b03; +@define-color error_bg_color @red_3; +@define-color error_fg_color white; +@define-color error_color @red_4; +@define-color window_bg_color #fafafa; +@define-color window_fg_color #323232; +@define-color view_bg_color #ffffff; +@define-color view_fg_color #333333; +@define-color headerbar_bg_color #ebebeb; +@define-color headerbar_fg_color #2f2f2f; +@define-color headerbar_border_color rgba(0, 0, 0, 0.8); +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.07); +@define-color card_bg_color #ffffff; +@define-color card_fg_color #333333; +@define-color card_shade_color rgba(0, 0, 0, 0.07); +@define-color dialog_bg_color #fafafa; +@define-color dialog_fg_color #323232; +@define-color popover_bg_color #ffffff; +@define-color popover_fg_color #333333; +@define-color thumbnail_bg_color #ffffff; +@define-color thumbnail_fg_color rgba(0, 0, 0, 0.8); +@define-color shade_color rgba(0, 0, 0, 0.07); +@define-color scrollbar_outline_color white; +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected:focus, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: transparent; } + +.content-view .tile:active, .content-view .tile:selected { background-color: transparent; } + +.content-view .tile:disabled { background-color: transparent; } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.853); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.81); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.92); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.853),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.853),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @accent_fg_color; background-color: @accent_bg_color; } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,@accent_bg_color,0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: @accent_bg_color; } + +.entry-tag.button { background-color: transparent; color: alpha(@accent_fg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid @accent_bg_color; color: @accent_fg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: @accent_bg_color; color: alpha(@accent_fg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(@accent_bg_color), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.9),0.7); background-color: mix(currentColor,@window_bg_color,0.9); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button { border-color: mix(black,@accent_bg_color,0.85); } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.9),0.7); background-color: mix(currentColor,@accent_bg_color,0.9); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.853),0.7); background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.7),0.7); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.65); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.9),0.7); background-color: mix(currentColor,@destructive_bg_color,0.9); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.853),0.7); background-color: mix(currentColor,@destructive_bg_color,0.853); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.7),0.7); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.65); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.9),0.7); background-color: mix(currentColor,@window_bg_color,0.9); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.9),0.7); background-color: mix(currentColor,@window_bg_color,0.9); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +.osd button.color colorswatch:only-child { box-shadow: none; } + +.osd button.color:disabled colorswatch:only-child, .osd button.color:backdrop colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:backdrop colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; } + +list row button.image-button:not(.flat) { border: 1px solid alpha(mix(currentColor,@window_bg_color,0.853),0.5); } + +list row button.image-button:not(.flat):hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } + +list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +list row button.image-button:not(.flat):active:hover, list row button.image-button:not(.flat):checked:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: mix(black,@accent_bg_color,0.9); } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(black,@accent_bg_color,0.8); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(black,@accent_bg_color,0.8),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,mix(black,@accent_bg_color,0.9),0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,mix(black,@accent_bg_color,0.9),0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: mix(black,@accent_bg_color,0.9); } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,mix(black,@accent_bg_color,0.9),0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(mix(black,@accent_bg_color,0.9),0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,mix(black,@accent_bg_color,0.9),0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-radius: 6px 6px 0 0; border-style: solid solid none solid; } + +spinbutton.vertical button.down { border-radius: 0 0 6px 6px; border-style: none solid solid solid; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.853); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.853); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.85); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(white,0.5),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.9),0.7); background-color: mix(currentColor,@accent_bg_color,0.9); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.853),0.7); background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.7),0.7); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.65); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.92),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.9),0.7); background-color: mix(currentColor,@window_bg_color,0.9); border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.85); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.853); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.81); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.2)), linear-gradient(to top, mix(black,@headerbar_bg_color,0.97), @headerbar_bg_color 3px, mix(white,@headerbar_bg_color,0.94)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(@window_bg_color,@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.85); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:selected { color: mix(@accent_fg_color,@accent_bg_color,0.3); } + +treeview.view.expander:selected:hover { color: @accent_fg_color; } + +treeview.view.expander:selected:backdrop { color: mix(@window_bg_color,@accent_bg_color,0.3); } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { color: @view_bg_color; background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: @accent_bg_color; background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: @accent_bg_color; background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: alpha(@accent_fg_color,0.3); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: mix(currentColor,@view_bg_color,0.875); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.13); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.853); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.07); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.88); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,0.84); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.923); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.923),0.971); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid white; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid white; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.853); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +row:selected switch { box-shadow: none; border-color: mix(black,@accent_bg_color,0.8); } + +row:selected switch:backdrop { border-color: mix(black,@accent_bg_color,0.8); } + +row:selected switch > slider:checked, row:selected switch > slider { border-color: mix(black,@accent_bg_color,0.8); } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +row:selected check, row:selected radio { border-color: mix(black,@accent_bg_color,0.8); } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.6); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.85); } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.85); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.85); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.853); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.85); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-insensitive@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-insensitive@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.853)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: shade(@warning_bg_color,0.8); background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: shade(@accent_bg_color,0.8); background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: shade(@success_bg_color,0.8); background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.2); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.853); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.853); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.853),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.853),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.81)), to(alpha(mix(currentColor,@window_bg_color,0.81),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.853) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.853); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.07); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.16); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(currentColor,0.1); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(currentColor,0.13); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(currentColor,0.19); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.853); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @window_bg_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.853); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.853); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @window_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.853); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: @window_bg_color; } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.853)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.81)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.853)), image(mix(currentColor,@window_bg_color,0.853)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.81)), image(mix(currentColor,@window_bg_color,0.81)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: mix(black,@accent_bg_color,0.9); } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: rgba(0, 0, 0, 0.8); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: rgba(0, 0, 0, 0.5); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px shade(@accent_bg_color,0.93), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid rgba(0, 0, 0, 0.3); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.9),0.7); background-color: mix(currentColor,@window_bg_color,0.9); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.05); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(0, 0, 0, 0.02); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(rgba(0, 0, 0, 0.05),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(rgba(0, 0, 0, 0.05),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.853); border: solid 1px mix(currentColor,@window_bg_color,0.853); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.853), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.853); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: @accent_bg_color; } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view:selected:focus, .view:selected, .nautilus-window notebook:selected:focus, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @accent_fg_color; } + +label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .titlebar entry selection:disabled, .view:disabled:selected, .nautilus-window notebook:disabled:selected, .nautilus-window notebook > stack:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, calendar:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.5); } + +label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .titlebar entry selection:backdrop, .view:backdrop:selected, .nautilus-window notebook:backdrop:selected, .nautilus-window notebook > stack:backdrop:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, calendar:backdrop:selected { color: @accent_fg_color; } + +label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .nautilus-window notebook:backdrop:disabled:selected, .nautilus-window notebook > stack:backdrop:disabled:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, calendar:backdrop:disabled:selected { color: mix(@window_bg_color,@accent_bg_color,0.7); } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(mix(currentColor,@window_bg_color,0.853),@window_bg_color,0.5); border-radius: 5px; box-shadow: inset 0 -3px mix(@view_bg_color,@window_bg_color,0.8); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: mix(currentColor,@window_bg_color,0.853); } + +button.emoji-section:checked { border-color: @accent_bg_color; } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; } + +popover.emoji-picker .emoji :hover { background: @accent_bg_color; border-radius: 6px; } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.07); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.853); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.81); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight alpha(white,0.5); +@define-color wm_borders_edge alpha(white,0.5); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg @view_bg_color; +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.853) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.853) 75%, mix(currentColor,@window_bg_color,0.853) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.853) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.853) 75%, mix(currentColor,@window_bg_color,0.853) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.853),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.853); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.7),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,@headerbar_bg_color,0.65); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.7),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.65); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.9),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.9); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(currentColor,@headerbar_bg_color,0.97),0.9),0.7); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.97),0.9); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.9),0.7); background-color: mix(currentColor,@accent_bg_color,0.9); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,@accent_bg_color,0.853),0.7); background-color: mix(currentColor,@accent_bg_color,0.853); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@accent_bg_color,0.5),0.7),0.7); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.65); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.9),0.7); background-color: mix(currentColor,@destructive_bg_color,0.9); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,@destructive_bg_color,0.9),0.7); background-color: mix(currentColor,@destructive_bg_color,0.9); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; outline-color: mix(currentColor,mix(currentColor,alpha(@destructive_bg_color,0.5),0.7),0.7); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.65); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.81); background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { color: @window_bg_color; background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.81),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.9),0.7); background-color: mix(currentColor,@card_bg_color,0.9); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.853),0.7); background-color: mix(currentColor,@card_bg_color,0.853); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.7),0.7); background-color: mix(currentColor,@card_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.65); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.9),0.7); background-color: mix(currentColor,@card_bg_color,0.9); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.9),0.7); background-color: mix(currentColor,@card_bg_color,0.9); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.9),0.7); background-color: mix(currentColor,@card_bg_color,0.9); } + +popover.background button { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.9),0.7); background-color: mix(currentColor,@popover_bg_color,0.9); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.853),0.7); background-color: mix(currentColor,@popover_bg_color,0.853); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.7),0.7); background-color: mix(currentColor,@popover_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.65); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.9),0.7); background-color: mix(currentColor,@popover_bg_color,0.9); } + +popover.background entry { color: @popover_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.9),0.7); background-color: mix(currentColor,@popover_bg_color,0.9); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.9),0.7); background-color: mix(currentColor,@popover_bg_color,0.9); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.07); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.07); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.853), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: mix(currentColor,mix(currentColor,@card_bg_color,0.9),0.7); background-color: mix(currentColor,@card_bg_color,0.9); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.853),0.7); background-color: mix(currentColor,@window_bg_color,0.853); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,mix(white,@headerbar_bg_color,0.72),0.9),0.7); background-color: mix(currentColor,mix(white,@headerbar_bg_color,0.72),0.9); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(white,@headerbar_backdrop_color,0.3),0.2); background-color: mix(currentColor,mix(white,@headerbar_backdrop_color,0.3),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.76); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.81); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-light.png"), url("assets/tab-border-light@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.07); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(currentColor,0.1); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(currentColor,0.13); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.923); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.23), inset 0 1px alpha(white,0.5); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.12); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.05); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.2); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.853),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.853),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.853); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.853),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.853); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.7),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.65); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-light.png"), url("assets/tab-border-light@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@window_bg_color,0.7),0.7); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.65); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.92),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.9),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.9); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.853),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.853); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; outline-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.7),0.7); background-color: mix(currentColor,@headerbar_bg_color,0.7); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.65); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.9),0.7); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.853),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.853),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(currentColor,0.1); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(currentColor,0.13); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.07); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.853); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.81); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.853); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.853); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.853); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 2px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: mix(currentColor,mix(currentColor,@popover_bg_color,0.9),0.7); background-color: mix(currentColor,@popover_bg_color,0.9); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.853),0.5); } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.853); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: @window_bg_color; } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background scrollbar slider { background-color: alpha(currentColor,0.4); } + +#MozillaGtkWidget.background scrollbar slider:hover { background-color: alpha(currentColor,0.6); } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.853); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.81); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.853); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.853); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.853); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +sq_view { font-size: 1.5em; background-color: mix(@view_bg_color,@window_fg_color,0.9); box-shadow: inset 0 1px 0 0 mix(mix(currentColor,@window_bg_color,0.853),@view_bg_color,0.2); } + +sq_view.wide sq_button { margin: 3px; } + +sq_view.pin sq_button { border-radius: 0px; margin: 1px 1px 1px 1px; } + +sq_button { border-radius: 6px; margin: 2px; color: @window_fg_color; background: alpha(@window_fg_color,0.93); box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2); } + +sq_button:active { background: alpha(@window_fg_color,0.89); } + +sq_button.altline, sq_button.special { background: alpha(@window_fg_color,0.85); } + +sq_button.altline:active, sq_button.special:active { background: alpha(@window_fg_color,0.8); } + +sq_button.latched { font-weight: bold; background: alpha(@window_fg_color,0.8); color: alpha(@window_fg_color,0.2); } + +sq_button.locked { font-weight: bold; background: alpha(@window_fg_color,0.5); color: @view_bg_color; } + +sq_button.action { font-size: 0.75em; } + +sq_button.small { font-size: 0.5em; } + +#Return { background: @accent_bg_color; color: @accent_fg_color; } + +#Return:active { background: mix(black,@accent_bg_color,0.8); color: mix(black,@accent_fg_color,0.8); } + +@define-color phosh_fg_color white; +@define-color phosh_bg_color black; +@define-color phosh_activity_bg_color #1a1a1a; +@define-color phosh_notification_bg_color #282828; +@define-color phosh_splash_bg_color #f6f5f4; +@define-color phosh_splash_fg_color #282828; +@define-color phosh_button_bg_color #282828; +@define-color phosh_button_active_bg_color shade(@phosh_button_bg_color, 0.9); +@define-color phosh_button_hover_bg_color shade(@phosh_button_bg_color, 1.2); +phosh-top-panel { font: 15px Cantarell; } + +button.phosh-panel-btn { border-radius: 0; } + +button.phosh-panel-btn, button.phosh-panel-btn:hover, button.phosh-panel-btn:active, button.phosh-panel-btn:focus:active { background: @phosh_bg_color; } + +#top-bar { padding: 4px 9px 4px 9px; } + +.phosh-wwan-indicator, phosh-top-panel .indicators { font-size: 13px; font-weight: 800; font-feature-settings: "tnum"; } + +.phosh-topbar-clock { font-weight: bold; font-feature-settings: "tnum"; } + +phosh-top-panel .phosh-topbar-clock { font-size: 16px; } + +phosh-top-panel .phosh-topbar-date { font-size: 14px; } + +.phosh-clock-box { padding: 16px; } + +.phosh-topbar-button { padding: 0 12px; border-radius: 32px; border: 1px solid transparent; border: none; -gtk-icon-shadow: none; } + +.phosh-topbar-button:focus { box-shadow: inset 0 0 0 2px @accent_bg_color; outline: none; border-color: @accent_bg_color; } + +.phosh-osk-button { border-radius: 50%; min-width: 0; min-height: 0; padding: 6px; } + +.phosh-settings-menu { background-color: @phosh_bg_color; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; } + +.phosh-settings-menu button.circular:not(:hover):not(:active) { border: 2px solid @window_bg_color; } + +.phosh-quick-setting { font-size: 9px; padding: 9px; border-radius: 8px; border: 0; box-shadow: 0 0; background-color: transparent; } + +.phosh-quick-setting:not(:hover):not(:active) { background: none; } + +phosh-activity > widget > button { background: none; box-shadow: none; border: none; border-radius: 0; padding: 0; margin: 0; transition: none; } + +phosh-activity box button { background: white; border: none; border-radius: 0; } + +phosh-activity.phosh-maximized:not(.phosh-fullscreen) .phosh-drawingarea { background: @phosh_activity_bg_color; } + +phosh-home, phosh-top-panel { background: @phosh_bg_color; color: @phosh_fg_color; } + +.phosh-activity-close-button { border-radius: 50%; min-width: 48px; min-height: 48px; padding: 0; } + +.phosh-overview { background: @phosh_bg_color; } + +.phosh-favorite { background: none; border: none; box-shadow: none; padding: 0; } + +.phosh-favorite:hover { -gtk-icon-effect: none; } + +.phosh-favorite:active { -gtk-icon-effect: highlight; } + +.phosh-search-bar-box { margin: 6px 16px; } + +.phosh-search-bar { border-radius: 9999px; padding: 3px 18px 3px 14px; border: 1px solid transparent; } + +.phosh-search-bar:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; outline: none; border: 1px solid @accent_bg_color; } + +.phosh-menu-button { margin: 3px 0px 3px 10px; } + +phosh-app-grid { background: @phosh_bg_color; } + +phosh-app-grid separator { background: alpha(@phosh_fg_color,0.2); min-height: 2px; border-radius: 1px; margin: 0 12px; } + +phosh-app-grid-button { font-size: 0.8rem; } + +phosh-app-grid-button button, phosh-app-grid-button button:hover { background: none; padding: 0; margin: 0; border: 1px solid transparent; } + +phosh-app-grid-button button:hover, phosh-app-grid-button button:focus, .search-active phosh-app-grid-button:first-child button { background: rgba(46, 45, 45, 0.6); border-radius: 5px; } + +phosh-app-grid-button button:focus { border-color: @accent_bg_color; } + +#phosh-filter-adaptive-btn, #phosh-filter-adaptive-btn:hover, #phosh-filter-adaptive-btn.toggle { border-radius: 9999px; padding-top: 6px; padding-left: 24px; padding-right: 24px; margin-top: 24px; margin-bottom: 24px; background-image: none; background: @phosh_button_bg_color; outline-style: none; } + +phosh-lockscreen, .phosh-lockshield { background-color: @phosh_bg_color; color: @phosh_fg_color; } + +#phosh-lockscreen-clock { font-weight: 300; font-feature-settings: "tnum"; margin: 12px 0; } + +#phosh-lockscreen-date { margin: 6px 0; font-weight: 400; } + +.p-large #phosh-lockscreen-clock { font-size: 84px; transition: 200ms ease; } + +.p-large #phosh-lockscreen-date { font-size: 18px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-clock { font-size: 72px; transition: 200ms ease; } + +.p-small #phosh-lockscreen-date { font-size: 16px; margin-top: 0; transition: 200ms ease; } + +.phosh-lockscreen-arrow { transition: 400ms linear; animation: pulsate 1.8s ease-out; animation-iteration-count: 15; } + +.phosh-lockscreen-status-icons { padding: 6px; } + +.phosh-lockscreen-pin { font-size: 20px; padding: 6px; border-radius: 12px; color: inherit; border: none; box-shadow: none; outline: none; } + +.phosh-lockscreen-pin:focus { border: none; box-shadow: none; outline: none; caret-color: transparent; } + +@keyframes pulsate { 0% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } + 35% { -gtk-icon-transform: translateY(-14px); + opacity: 1; } + 100% { -gtk-icon-transform: translateY(0); + opacity: 0.7; } } + +phosh-keypad label.digit { font-size: 200%; font-weight: bold; } + +phosh-keypad button { border-radius: 9999px; -gtk-outline-radius: 9999px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; font-size: 16px; font-weight: bold; padding: 16px; border: 1px solid transparent; color: inherit; box-shadow: none; background: none; } + +phosh-keypad button:disabled { opacity: 0.5; } + +phosh-keypad button:hover, phosh-keypad button:focus:hover { background: alpha(@phosh_fg_color,0.2); } + +phosh-keypad button:active, phosh-keypad button:focus:active { background: alpha(@phosh_fg_color,0.15); } + +phosh-keypad button:focus { background: alpha(@phosh_fg_color,0.1); outline-style: none; } + +.text-only-button { font-size: 16px; font-weight: bold; padding: 16px 36px; border: 1px solid transparent; box-shadow: none; color: inherit; background: alpha(@phosh_fg_color,0.3); } + +.text-only-button:hover, .text-only-button:hover:focus { background: alpha(@phosh_fg_color,0.25); } + +.text-only-button:focus { background: alpha(@phosh_fg_color,0.3); box-shadow: inset 0 0 0 1px @accent_bg_color; outline-style: none; border: 1px solid @accent_bg_color; } + +.text-only-button:active, .text-only-button:focus:active { background: alpha(@phosh_fg_color,0.2); } + +phosh-lockscreen cui-call-display actionbar { background-color: @phosh_bg_color; } + +phosh-lockscreen .phosh-notification-tray { margin: 0 6px; transition: 200ms ease; } + +.phosh-system-modal { background-color: alpha(@phosh_bg_color,0.8); } + +.phosh-system-modal-dialog { background-color: @window_bg_color; border: 1px solid alpha(currentColor,0.15); border-radius: 12px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); padding: 0px; margin: 12px; } + +.phosh-system-modal-dialog-buttons label { margin: 12px; } + +.phosh-system-modal-dialog-buttons button { padding: 0; margin: 0; border-top: 1px solid alpha(currentColor,0.15); border-right: 1px solid alpha(currentColor,0.15); border-left-width: 0; border-bottom-width: 0; border-top-left-radius: 0; border-top-right-radius: 0; box-shadow: none; text-shadow: none; } + +.phosh-system-modal-dialog-buttons button:first-child { border-bottom-left-radius: 11px; border-bottom-right-radius: 0; } + +.phosh-system-modal-dialog-buttons button:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 11px; border-right: none; } + +.phosh-system-modal-dialog-content { padding-left: 18px; padding-right: 18px; } + +.phosh-system-modal-dialog-title { padding-top: 18px; font-weight: 800; font-size: 120%; } + +.phosh-end-session-dialog .phosh-end-session-subtitle { font-feature-settings: "tnum"; } + +.phosh-end-session-dialog .phosh-end-session-warning { color: #ba5645; font-weight: bold; } + +.phosh-end-session-dialog list { border-radius: 12px; } + +.phosh-end-session-dialog list row { margin-left: 6px; margin-right: 6px; } + +.phosh-end-session-dialog list row:first-child { margin-top: 6px; } + +.phosh-end-session-dialog list row:last-child { margin-bottom: 6px; } + +.phosh-end-session-dialog list row box box.vertical label:first-child { font-weight: bold; } + +.phosh-end-session-dialog list * { color: @view_fg_color; -gtk-icon-effect: none; } + +phosh-gtk-mount-prompt .phosh-system-modal-dialog-content > image { -gtk-icon-style: symbolic; } + +phosh-notification-content { background: transparent; color: @phosh_fg_color; padding: 0; margin: 0; } + +phosh-notification-content .message-area { padding: 12px 12px 9px 12px; } + +phosh-notification-content .message-area image { border-radius: 50%; } + +phosh-notification-content .actions-area { padding: 0; } + +phosh-notification-content .actions-area button { background-image: none; background-color: transparent; border-radius: 0; font-weight: bold; box-shadow: none; text-shadow: none; border-style: solid; border-color: alpha(currentColor,0.15); border-width: 0; border-top-width: 1px; border-right-width: 1px; padding: 8px 12px; -gtk-icon-shadow: none; } + +phosh-notification-content .actions-area button:focus, phosh-notification-content .actions-area button:hover { background-color: @phosh_button_hover_bg_color; outline-style: none; } + +phosh-notification-content .actions-area button:active { background-color: @phosh_button_active_bg_color; } + +phosh-notification-content .actions-area button:only-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-content .actions-area button:first-child { border-bottom-left-radius: 10px; } + +phosh-notification-content .actions-area button:last-child { border-bottom-right-radius: 10px; border-right-width: 0px; } + +phosh-notification-frame { margin: 0; padding: 0; } + +phosh-notification-frame list { background: transparent; } + +phosh-notification-frame .header-area { padding: 12px 12px 0 12px; color: @phosh_fg_color; } + +phosh-notification-frame .header-area image { -gtk-icon-style: symbolic; } + +phosh-notification-frame .notification-container { border-radius: 12px; border: none; background-color: @phosh_notification_bg_color; margin: 6px; margin-bottom: 0; } + +phosh-notification-banner { background: none; border: none; padding: 6px; } + +phosh-notification-banner > phosh-notification-frame { padding: 0; } + +phosh-notification-banner .notification-container { box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.33), 0px 2px 4px 2px rgba(0, 0, 0, 0.07); } + +.phosh-notification-tray, .phosh-notification-tray list { background: transparent; } + +.notification-container *:focus, .phosh-notification-tray list row:focus { outline-style: none; } + +.phosh-notification-tray list row .notification-container { border: 2px solid transparent; margin: 0; margin-bottom: 6px; } + +.phosh-notification-tray list row:focus .notification-container { border-color: @accent_bg_color; outline-style: none; } + +.phosh-notifications-header { padding: 0; } + +#phosh-notifications-clear-all-btn { border-radius: 99px; border: 1px solid transparent; background-color: @phosh_button_bg_color; } + +#phosh-notifications-clear-all-btn:hover { background-color: @phosh_button_hover_bg_color; } + +#phosh-notifications-clear-all-btn:focus { box-shadow: inset 0 0 0 1px @accent_bg_color; border: 1px solid @accent_bg_color; outline: none; } + +@keyframes phosh-fader-default-keyframe { from { background: rgba(0, 0, 0, 0); } + to { background: black; } } + +.phosh-fader-default-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-proximity-fade { animation-name: phosh-fader-default-keyframe; animation-duration: 200ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +@keyframes phosh-fader-flash-keyframe { from { background: white; } + to { background: rgba(255, 255, 255, 0); } } + +.phosh-fader-flash-fade { animation-name: phosh-fader-flash-keyframe; animation-duration: 500ms; animation-timing-function: linear; animation-iteration-count: 1; animation-fill-mode: forwards; } + +.phosh-fader-screenshot-opaque { background: rgba(255, 255, 255, 0); } + +phosh-media-player { background: @phosh_notification_bg_color; color: @phosh_fg_color; border-radius: 12px; border: none; box-shadow: none; padding: 6px; padding-bottom: 0; } + +phosh-media-player button { background: @phosh_notification_bg_color; color: inherit; border: none; border-radius: 0; outline-style: none; text-shadow: none; -gtk-icon-shadow: none; } + +phosh-media-player button:hover { background-color: rgba(255, 255, 255, 0.1); opacity: 0.5; } + +phosh-media-player button:active { background-color: rgba(255, 255, 255, 0.2); } + +phosh-media-player .media-player-details { border-radius: 8px; padding-left: 4px; } + +phosh-media-player .media-player-details *:disabled { color: @window_fg_color; -gtk-icon-effect: none; } + +phosh-media-player .phosh-media-player-art { margin: 0; padding: 0; border-radius: 3px; } + +phosh-media-player > box > button { border-radius: 9999px; -gtk-icon-shadow: none; margin: 2px; padding: 8px; } + +phosh-lockscreen phosh-media-player { margin: 0 8px; } + +#osd-bubble { border-radius: 32px; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 3px 16px rgba(0, 0, 0, 0.1); background-color: shade(@phosh_notification_bg_color,1.5); } + +#osd-label { font-size: 9pt; } + +phosh-osd-window.phosh-system-modal { background: none; } + +phosh-osd-window levelbar block { min-height: 4px; box-shadow: none; border: none; border-radius: 2px; } + +phosh-osd-window levelbar block.low { background-color: white; } + +phosh-osd-window levelbar block.high { background-color: white; } + +phosh-osd-window levelbar block.full { background-color: white; } + +phosh-osd-window levelbar trough { border: none; padding: 0; box-shadow: none; background-color: alpha(white,0.2); border-radius: 2px; } + +phosh-splash.light { color: @phosh_splash_fg_color; background-color: @phosh_splash_bg_color; } + +.phosh-dropicon-shadow { -gtk-icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 8px rgba(0, 0, 0, 0.2); } diff --git a/.config/gtk-3.0/adw-gtk3/index.theme b/.config/gtk-3.0/adw-gtk3/index.theme new file mode 100644 index 0000000..93db5e4 --- /dev/null +++ b/.config/gtk-3.0/adw-gtk3/index.theme @@ -0,0 +1,6 @@ +[X-GNOME-Metatheme] +Name=adw-gtk3 +Type=X-GNOME-Metatheme +Comment=adw-gtk3 theme +Encoding=UTF-8 +GtkTheme=adw-gtk3 diff --git a/.config/gtk-3.0/adw-gtk3v4-3.tar.xz b/.config/gtk-3.0/adw-gtk3v4-3.tar.xz new file mode 100644 index 0000000..1cf903a Binary files /dev/null and b/.config/gtk-3.0/adw-gtk3v4-3.tar.xz differ diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks new file mode 100644 index 0000000..2af95ed --- /dev/null +++ b/.config/gtk-3.0/bookmarks @@ -0,0 +1,11 @@ +file:///home/antoine/Partage/SchengenVisa +file:///home/antoine/.local/share/SuperCollider +file:///home/antoine/Partage/McGill/U2-W2024 +file:///home/antoine/Music +file:///home/antoine/Documents +file:///home/antoine/Partage/ECHOES +file:///home/antoine/Partage/McGill/Extracurricular/IEEE +file:///home/antoine/Partage +file:///home/antoine/Downloads +file:///home/antoine/Partage/Resumes +file:///home/antoine/Partage/Projects diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..502cf02 --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,18 @@ +[Settings] +gtk-icon-theme-name=Tela-green-dark +gtk-theme-name=adw-gtk-dark +gtk-application-prefer-dark-theme=0 +gtk-font-name=Cantarell 11 +gtk-cursor-theme-name=posy-white-tiny +gtk-cursor-theme-size=8 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintmedium +gtk-modules=gail:atk-bridge +gtk-xft-rgba=rgba diff --git a/.config/gtk-4.0/servers b/.config/gtk-4.0/servers new file mode 100644 index 0000000..48ebbf6 --- /dev/null +++ b/.config/gtk-4.0/servers @@ -0,0 +1,36 @@ + + + + / on unicorn.cim.mcgill.ca + + + + + + + + + + / on unicorn + + + + + + + + + + / on solareclipse + + + + + + + + + \ No newline at end of file diff --git a/.config/gtk-4.0/settings.ini b/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..7c6461a --- /dev/null +++ b/.config/gtk-4.0/settings.ini @@ -0,0 +1,2 @@ +[Settings] +gtk-application-prefer-dark-theme=0 diff --git a/.config/htop/htoprc b/.config/htop/htoprc new file mode 100644 index 0000000..07bf52d --- /dev/null +++ b/.config/htop/htoprc @@ -0,0 +1,63 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +htop_version=3.2.2 +config_reader_min_version=3 +fields=0 48 17 18 38 39 40 2 46 47 49 1 +hide_kernel_threads=1 +hide_userland_threads=0 +hide_running_in_container=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=0 +highlight_deleted_exe=1 +shadow_distribution_path_prefix=0 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +header_margin=1 +screen_tabs=1 +detailed_cpu_time=0 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=0 +show_cpu_temperature=0 +degree_fahrenheit=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=1 +delay=15 +hide_function_bar=0 +header_layout=two_50_50 +column_meters_0=LeftCPUs Memory Swap +column_meter_modes_0=1 1 1 +column_meters_1=RightCPUs Tasks LoadAverage Uptime +column_meter_modes_1=1 2 2 2 +tree_view=0 +sort_key=46 +tree_sort_key=0 +sort_direction=-1 +tree_sort_direction=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 +screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_CPU +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 +screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command +.sort_key=IO_RATE +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..8c82f87 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,249 @@ +# i3 config +# @author Antoine Phan @notkaramel + +# mod key +set $mod Mod4 + +# transparency +exec --no-startup-id picom -b +# --shadow --shadow-radius=60 --shadow-opacity=0.2 --fade-in-step=0.8 & +# --inactive-opacity=0.9 +# Font for window titles +font pango:Fira Code 10 + +# Keymap +exec setxkbmap -layout us -variant altgr-intl + +# Pipewire: set volume to sink and source +set $refresh_audio pkill -SIGRTMIN+1 i3blocks +bindsym XF86AudioRaiseVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 10%+ && $refresh_audio +bindsym XF86AudioLowerVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 10%- && $refresh_audio +bindsym XF86AudioMute exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_audio + +# bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# brightness +set $refresh_brightness pkill -SIGRTMIN+2 i3blocks +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ && $refresh_brightness +bindsym XF86MonBrightnessDown exec brightnessctl set 8%- && $refresh_brightness + +# media player controls +bindsym XF86AudioPlay exec playerctl play-pause +# bindsym XF86AudioPause exec playerctl pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +# personal media shortcut cuz it's closer to my left hands +bindsym $mod+z exec playerctl play-pause +bindsym $mod+x exec playerctl next + +# mouse+$mod -> drag windows +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, or left-clicking anywhere into the window while holding the floating modifier. +# tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+Return exec alacritty + +# kill focused window +bindsym $mod+Shift+q kill + +# Menu|Program launcher +# bindsym $mod+d exec --no-startup-id dmenu_run +bindsym $mod+d exec --no-startup-id rofi -show combi +bindsym $mod+period exec "rofi -show emoji" +bindsym $mod+Tab exec rofi -show window +bindsym $mod+c exec rofi -show calc + +# -- Lock screen -- +bindsym $mod+Shift+l exec notify-send 'Rendering new lockscreen!' && betterlockscreen -u ~/.wallpaper/ --fx dim && betterlockscreen -l dim +bindsym $mod+l exec betterlockscreen -l dim + +# -- Screenshot -- +bindsym $mod+Shift+s exec "maim -s | xclip -selection clipboard -t image/png && notify-send 'Screenshot Captured!'" +# interactive screenshot by pressing printscreen +#bindsym Print exec gnome-screenshot -i +#crop-area screenshot by pressing Mod + printscreen +bindsym $mod+Print exec gnome-screenshot -a + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +# bindsym $mod+h split h + +# split in vertical orientation +# bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+t layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +#bindsym $mod+Shift+space floating toggle +bindsym $mod+v floating toggle + +# change focus between tiling / floating windows +bindsym $mod+Shift+v focus mode_toggle + +# focus the parent container +# bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# --- Coloring --- +# class border backgr. text indicator child_border +client.focused #4c7899 #067A67 #ffffff #2e9ef4 #285577 +client.focused_inactive #333333 #161C1A #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + +client.background #ffffff + +# --- Gaps --- +# `inner` is like padding in CSS +# gaps inner [px] +gaps inner 10 + +# `outer` is like margin in CSS +# gaps outer|horizontal|vertical|top|left|bottom|right [px] + +# smart_gaps on|off|inverse_outer +smart_gaps inverse_outer + +# borders +default_border pixel 0 +default_floating_border pixel 0 +smart_borders on +# for_window [class="^.*"] border pixel 0 + +# --- ZOOM --- +# for_window [class="zoom"] floating enable +for_window [class="(.*join\?action\=join.*|.*zoom.*)"] floating enable +for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom - Licensed Account"] floating disable +for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom Meeting"] floating disable + +# --- Display settings --- +exec --no-startup-id autorandr --change +exec --no-startup-id feh --bg-fill --randomize $HOME/.wallpaper/* + +# Caps Lock & Num Lock modes +# Define names for default workspaces for which we configure key bindings later on. +bindsym --release Caps_Lock exec pkill -SIGRTMIN+10 i3blocks +bindsym --release Num_Lock exec pkill -SIGRTMIN+10 i3blocks + +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +for_window [title="Blueberry"] floating enable +for_window [title="Yoshimi"] floating enable +# assign [title="Spotify"] → $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit' -B 'SHUTDOWN' 'shutdown now' -B 'Reboot' 'reboot'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# toggle showing bar +bindsym $mod+b bar mode toggle +# colors for the bars +set $white #ffffff +set $black #242424 +set $red #FFADAD +set $orange #F7D9C4 +set $yellow #FAFF81 +set $blue #C6DEF1 +set $mint #A0C49A +set $none ##00000000 + +bar { + status_command i3blocks + i3bar_command i3bar --transparency + # output primary + position top + tray_output primary + font pango:FiraCode Nerd Font Semibold 11 + separator_symbol "│" + padding 6 6 0 0 + workspace_min_width 32 + + colors { + focused_background $blackbb + background $blackee + separator $blue33 + + # colorclass + focused_workspace $yellow $yellow $blackaa + active_workspace $blue $blue $black + inactive_workspace $mint $mintbb $black + urgent_workspace $orange $orange $black + binding_mode $orange $orange $black + } +} diff --git a/.config/i3blocks/CapsNumLock/capsnumlock.sh b/.config/i3blocks/CapsNumLock/capsnumlock.sh new file mode 100644 index 0000000..011f448 --- /dev/null +++ b/.config/i3blocks/CapsNumLock/capsnumlock.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +CMD=$(xset -q | grep Caps) +# echo $CMD +CAPS=$(echo $CMD | awk '{print $4}') +NUMS=$(echo $CMD | awk '{print $8}') + +if [ $CAPS = "on" ] +then + CAPS_ICON="⏏️" +else + CAPS_ICON="⬆️" +fi + +if [ $NUMS = "on" ] +then + NUMS_ICON="♾️" +else + NUMS_ICON="🔢" +fi + +echo "$CAPS_ICON""$NUMS_ICON" + diff --git a/.config/i3blocks/battery/battery.sh b/.config/i3blocks/battery/battery.sh new file mode 100644 index 0000000..c5d54fe --- /dev/null +++ b/.config/i3blocks/battery/battery.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +ACPI_RES=$(acpi -b) +ACPI_CODE=$? +if [ $ACPI_CODE -eq 0 ] +then + # Get essential information. Due to som bug with some versions of acpi it is + # worth filtering the ACPI result from all lines containing "unavailable". + BAT_LEVEL_ALL=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9][0-9]?[0-9]?%") + BAT_LEVEL=$(echo "$BAT_LEVEL_ALL" | awk -F"%" 'BEGIN{tot=0;i=0} {i++; tot+=$1} END{printf("%d%\n", tot/i)}') + TIME_LEFT=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9]{2}:[0-9]{2}:[0-9]{2}") + IS_CHARGING=$(echo "$ACPI_RES" | grep -v "unavailable" | awk '{ printf("%s\n", substr($3, 0, length($3)-1) ) }') + + # If there is no 'time left' information (when almost fully charged) we + # provide information ourselvs. + if [ -z "$TIME_LEFT" ] + then + TIME_LEFT="00:00:00" + fi + + # Print full text. The charging data. + TIME_LEFT=$(echo $TIME_LEFT | awk '{ printf("%s\n", substr($1, 0, 5)) }') + #echo "🔋$BAT_LEVEL ⏳$TIME_LEFT " + + # Print the short text. + #echo "BAT: $BAT_LEVEL" + + # Change the font color, depending on the situation. + if [ "$IS_CHARGING" = "Charging" ] + then + echo "$BAT_LEVEL ⚡" + echo "" + echo "#eac553" + else + if [ "${BAT_LEVEL%?}" -le 32 ] + then + echo "🪫 $BAT_LEVEL ⌛$TIME_LEFT" + echo + echo "#f0465c" + elif [ "${BAT_LEVEL%?}" -le 64 ] + then + echo "🔋 $BAT_LEVEL ⏳ $TIME_LEFT" + echo + echo "#f09e6e" + else + echo "🔋 $BAT_LEVEL" + echo + echo "#bbff66" + fi + fi +fi diff --git a/.config/i3blocks/brightness.sh b/.config/i3blocks/brightness.sh new file mode 100644 index 0000000..216b777 --- /dev/null +++ b/.config/i3blocks/brightness.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +current=$(brightnessctl g) +max=$(brightnessctl m) +percentage=$(printf "%3s" $((100 * current / max))) + +if [[ $percentage -eq 100 ]] +then + ICON="🎑" +elif (( $percentage >= 75 )) +then + ICON="🌕" +elif (( $percentage >= 50 )) +then + ICON="🌖" +elif (( $percentage >= 25 )) +then + ICON="🌗" +elif (( $percentage >= 10 )) +then + ICON="🌘" +elif (( $percentage >= 0 )) +then + ICON="🌑" +else + ICON="🌚" +fi + +echo "$ICON $percentage% " diff --git a/.config/i3blocks/config b/.config/i3blocks/config new file mode 100644 index 0000000..e6af4ac --- /dev/null +++ b/.config/i3blocks/config @@ -0,0 +1,40 @@ +[TIME_DATE] +command=date +"📆 %A %B %d ⏰ %I:%M %p %Z" +interval=1 +color=#4ce09b + +# [TIME_DATE_PORTUGAL] +# command=TZ=":Europe/Lisbon" date +"🇵🇹 %I:%M %p %Z" +# interval=1 +# color=#4de83caa + +[BATTERY] +command=~/.config/i3blocks/battery/battery.sh +interval=12 + +# [BATTERY-CAP] +# command=upower -i `upower -e | grep 'BAT'` | grep "energy-full-design:" | awk '{printf("%.2f Wh\n", $2)}' +# interval=once +# color=#ff9987 + +[MEM] +command=free -h | awk '/Mem:/ { printf(" 🐏 %5s/%s\n", $3, $2) }' +interval=12 +color=#73e0e6 + +[SOUND] +command=$HOME/.config/i3blocks/sound/sound.sh +interval=2 +signal=1 +color=#81a4fc + +[BRIGHTNESS] +command=$HOME/.config/i3blocks/brightness.sh +interval=once +signal=2 +color=#f8ffe8 + +[CAPSNUM-LOCK] +command=$HOME/.config/i3blocks/CapsNumLock/capsnumlock.sh +interval=once +signal=10 diff --git a/.config/i3blocks/cpu/cpu_info.sh b/.config/i3blocks/cpu/cpu_info.sh new file mode 100644 index 0000000..10c7739 --- /dev/null +++ b/.config/i3blocks/cpu/cpu_info.sh @@ -0,0 +1,4 @@ +#!/bin/sh +TEMP=$(sensors | grep 'Package id 0:\|Tdie' | grep ':[ ]*+[0-9]*.[0-9]*°C' -o | grep '+[0-9]*.[0-9]*°C' -o) +CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {printf("%s\n", $(NF-9))}') +echo "$CPU_USAGE $TEMP" | awk '{ printf(" CPU:%6s% @ %s \n"), $1, $2 }' diff --git a/.config/i3blocks/sound/sound.sh b/.config/i3blocks/sound/sound.sh new file mode 100644 index 0000000..52ee13d --- /dev/null +++ b/.config/i3blocks/sound/sound.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +VOLUME_MUTE="🔇" +VOLUME_LOW="🔈" +VOLUME_MID="🔉" +VOLUME_HIGH="🔊" +MICROPHONE="🎤" +SOUND_LEVEL=$(wpctl get-volume @DEFAULT_SINK@ | awk '{printf("%3s\n", $2 * 100)}') +MUTED=$(wpctl get-volume @DEFAULT_SINK@ | awk '{print $3 == "[MUTED]"}') + +MIC=$(wpctl get-volume @DEFAULT_SOURCE@ | awk '{printf("%3s\n", $2 * 100)}') + +SINK=$(wpctl inspect @DEFAULT_SINK@ | grep node.description | awk '{print $4}' | tr -d '"') +SOURCE=$(wpctl inspect @DEFAULT_SOURCE@ | grep node.description | awk '{print $4}' | tr -d '"') + +ICON=$VOLUME_MUTE +if [ "$MUTED" = "1" ] +then + ICON="$VOLUME_MUTE" +else + if [ $SOUND_LEVEL -lt 34 ] + then + ICON="$VOLUME_LOW" + elif [ $SOUND_LEVEL -lt 67 ] + then + ICON="$VOLUME_MID" + else + ICON="$VOLUME_HIGH" + fi +fi + +echo "$ICON $SOUND_LEVEL% $MICROPHONE $MIC% 🎧 $SINK 🎙️ $SOURCE" + diff --git a/.config/i3blocks/sound/sound_burst.sh b/.config/i3blocks/sound/sound_burst.sh new file mode 100644 index 0000000..330f395 --- /dev/null +++ b/.config/i3blocks/sound/sound_burst.sh @@ -0,0 +1,6 @@ +#!/bin/sh +for i in $(seq 1 5) +do + sleep 0.2 + pkill -RTMIN+1 i3blocks +done diff --git a/.config/i3blocks/weather/humidex.sh b/.config/i3blocks/weather/humidex.sh new file mode 100644 index 0000000..8b70b23 --- /dev/null +++ b/.config/i3blocks/weather/humidex.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +TEMP_C=$(inxi -wx --weather-unit m | grep -o "temperature.*" | awk '{ print $2 }') +RH=$(inxi -wx --weather-unit m | grep humidity | awk '{ print $8}'| tr -d '%') + +TDEW=$(awk "BEGIN { + print $TEMP_C - ((100 - $RH)/5) +}") +HUMIDEX=$(awk "BEGIN { + + print $TEMP_C * $RH +}") +echo "$TEMP_C C $RH % $TDEW $HUMIDEX" diff --git a/.config/mako/config b/.config/mako/config new file mode 100644 index 0000000..5b6a858 --- /dev/null +++ b/.config/mako/config @@ -0,0 +1,27 @@ +sort=-time +layer=overlay +background-color=#2e3440 +width=400 +height=120 +border-size=2 +border-color=#82c0d0 +border-radius=20 +icons=1 +max-icon-size=64 +default-timeout=5000 +ignore-timeout=1 +font=Fira Code 12 + +[urgency=low] +border-color=#cccccc + +[urgency=normal] +border-color=#d08770 + +[urgency=high] +border-color=#bf616a +default-timeout=0 + +[category=mpd] +default-timeout=2000 +group-by=category diff --git a/.config/neofetch/config.conf b/.config/neofetch/config.conf new file mode 100644 index 0000000..ef4a5b6 --- /dev/null +++ b/.config/neofetch/config.conf @@ -0,0 +1,864 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + info title + info underline + + info "OS" distro + info "Host" model + info "Kernel" kernel + # info "Uptime" uptime + info "Packages" packages + info "Shell" shell + info "Resolution" resolution + info "Desktop Env" de + info "Window Manager" wm + info "WM Theme" wm_theme + # info "Theme" theme + info "Icons" icons + info "Terminal" term + info "Terminal Font" term_font + info "CPU" cpu + info "GPU" gpu + info "RAM Usage" memory + + info "GPU Driver" gpu_driver # Linux/macOS only + info "CPU Usage" cpu_usage + info "Disk" disk + # info "Battery" battery + # info "Font" font + [[ "$player" ]] && prin "Music Player" "$player" + info "Song" song + info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info cols +} + +# Title + + +# Hide/Show Fully qualified domain name. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="off" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="on" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="on" + + +# Memory + + +# Show memory pecentage in output. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="off" + +# Change memory output unit. +# +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="gib" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="on" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="scaling_driver" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="on" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="C" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="on" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="off" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="on" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/' '/home/antoine/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="dir" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="auto" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %title% [%album%]" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=":" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="barinfo" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="arch" + +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 100644 index 0000000..9ddff52 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1,83 @@ +set number +filetype plugin indent on +set tabstop=2 +set shiftwidth=2 +set expandtab +set noshowmode + +" Normal mode remap +nnoremap gk +nnoremap gj + +" Visual mode remap +xnoremap gk +xnoremap gj + +" Insert mode remap +" https://vimdoc.sourceforge.net/htmldoc/insert.html#Insert +" Using CTRL-O for temporary move to Normal mode +inoremap gk +inoremap gj + +inoremap +" Line Break +set linebreak + +call plug#begin() +Plug 'tpope/vim-sensible' +Plug 'ap/vim-css-color' +" Plug 'itchyny/lightline.vim' +Plug 'nvim-lualine/lualine.nvim' +Plug 'nvim-tree/nvim-web-devicons' +Plug 'preservim/tagbar' +Plug 'preservim/nerdtree' +Plug 'tpope/vim-surround' +Plug 'airblade/vim-gitgutter' +Plug 'preservim/nerdtree' +Plug 'ryanoasis/vim-devicons' + +call plug#end() + +map :NERDTreeToggle +lua << END +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {} +} +END diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..9d66499 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,30 @@ +{ + "Comment.nvim": { "branch": "master", "commit": "a89339ffbee677ab0521a483b6dac7e2e67c907e" }, + "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, + "base46": { "branch": "v2.0", "commit": "82b2e48ca4a858ff08860f868be779812321ee76" }, + "better-escape.nvim": { "branch": "master", "commit": "426d29708064d5b1bfbb040424651c92af1f3f64" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "extensions": { "branch": "v2.0", "commit": "f76b8460d2f960c1c5c2af40845ead33c725bbf7" }, + "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, + "gitsigns.nvim": { "branch": "main", "commit": "7dfe4be94b4f84a9931098f0f0f618d055e50bd5" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "903f0fe542fc35b74f3c09494f9c175346dfa76d" }, + "mason.nvim": { "branch": "main", "commit": "579d4bd178f4aae76a4f4dc2ea34bf5e8fa6231b" }, + "null-ls.nvim": { "branch": "main", "commit": "25e3a4528179de903df85b4a8275f267b345b3b9" }, + "nvim-autopairs": { "branch": "master", "commit": "7566a86f44bb72ba2b1a609f528a27d93241502d" }, + "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, + "nvim-lspconfig": { "branch": "master", "commit": "cf95480e876ef7699bf08a1d02aa0ae3f4d5f353" }, + "nvim-tree.lua": { "branch": "master", "commit": "967865cdb7ac56046af01a0cd79f215bda5f59aa" }, + "nvim-treesitter": { "branch": "master", "commit": "57d1a5843742a180be9a3a1d1c652a7d22709691" }, + "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, + "nvterm": { "branch": "main", "commit": "29a70ef608a8cc5db3a5fc300d39a39d1a44a863" }, + "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, + "ui": { "branch": "v2.0", "commit": "84d793ec7446bc688d8336eebed5bdd640a8b032" }, + "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" } +} \ No newline at end of file diff --git a/.config/obs-studio/basic/profiles/Untitled/basic.ini b/.config/obs-studio/basic/profiles/Untitled/basic.ini new file mode 100644 index 0000000..a4a847e --- /dev/null +++ b/.config/obs-studio/basic/profiles/Untitled/basic.ini @@ -0,0 +1,112 @@ +[General] +Name=Untitled + +[Video] +BaseCX=1920 +BaseCY=1080 +OutputCX=1280 +OutputCY=720 +FPSType=0 +FPSCommon=60 +FPSInt=30 +FPSNum=30 +FPSDen=1 +ScaleType=bicubic +ColorFormat=NV12 +ColorSpace=709 +ColorRange=Partial +SdrWhiteLevel=300 +HdrNominalPeakLevel=1000 + +[Panels] +CookieId=845EB3D0C4A1C6A6 + +[SimpleOutput] +RecEncoder=x264 +RecQuality=Small +FilePath=/home/antoine +RecFormat2=mkv +VBitrate=2500 +ABitrate=160 +UseAdvanced=false +Preset=veryfast +NVENCPreset2=p5 +RecRB=false +RecRBTime=20 +RecRBSize=512 +RecRBPrefix=Replay +StreamAudioEncoder=aac +RecAudioEncoder=aac +RecTracks=1 +StreamEncoder=x264 + +[Output] +Mode=Advanced +FilenameFormatting=%CCYY-%MM-%DD %hh-%mm-%ss +DelayEnable=false +DelaySec=20 +DelayPreserve=true +Reconnect=true +RetryDelay=2 +MaxRetries=25 +BindIP=default +NewSocketLoopEnable=false +LowLatencyEnable=false +IPFamily=IPv4+IPv6 + +[Stream1] +IgnoreRecommended=false + +[AdvOut] +ApplyServiceSettings=true +UseRescale=false +TrackIndex=1 +VodTrackIndex=2 +Encoder=obs_x264 +RecType=Standard +RecFilePath=/home/antoine/OBSRecording +RecFormat2=mp4 +RecUseRescale=false +RecTracks=1 +RecEncoder=obs_x264 +FLVTrack=1 +FFOutputToFile=true +FFFilePath=/home/antoine +FFVBitrate=2500 +FFVGOPSize=250 +FFUseRescale=false +FFIgnoreCompat=false +FFABitrate=160 +FFAudioMixes=1 +Track1Bitrate=160 +Track2Bitrate=160 +Track3Bitrate=160 +Track4Bitrate=160 +Track5Bitrate=160 +Track6Bitrate=160 +RecSplitFileTime=15 +RecSplitFileSize=2048 +RecRB=false +RecRBTime=20 +RecRBSize=512 +AudioEncoder=ffmpeg_aac +RecAudioEncoder=ffmpeg_flac +RecFileNameWithoutSpace=true +RecRescale=true +RecSplitFile=false +RecSplitFileType=Time +FFFormat= +FFFormatMimeType= +FFVEncoderId=0 +FFVEncoder= +FFAEncoderId=0 +FFAEncoder= +FFExtension=mp4 + +[Audio] +MonitoringDeviceId=default +MonitoringDeviceName=Default +SampleRate=48000 +ChannelSetup=Stereo +MeterDecayRate=23.53 +PeakMeterType=0 diff --git a/.config/obs-studio/basic/profiles/Untitled/recordEncoder.json b/.config/obs-studio/basic/profiles/Untitled/recordEncoder.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.config/obs-studio/basic/profiles/Untitled/recordEncoder.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json b/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json new file mode 100644 index 0000000..7785028 --- /dev/null +++ b/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json @@ -0,0 +1 @@ +{"preset":"fast"} \ No newline at end of file diff --git a/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json.bak b/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json.bak new file mode 100644 index 0000000..04a0efd --- /dev/null +++ b/.config/obs-studio/basic/profiles/Untitled/streamEncoder.json.bak @@ -0,0 +1 @@ +{"preset":"medium"} \ No newline at end of file diff --git a/.config/obs-studio/basic/scenes/Untitled.json b/.config/obs-studio/basic/scenes/Untitled.json new file mode 100644 index 0000000..45d8211 --- /dev/null +++ b/.config/obs-studio/basic/scenes/Untitled.json @@ -0,0 +1 @@ +{"DesktopAudioDevice1":{"prev_ver":503316482,"name":"Desktop Audio","uuid":"0540e91c-4877-4fa4-a9f6-11bfe38042bb","id":"pulse_output_capture","versioned_id":"pulse_output_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":0.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"AuxAudioDevice1":{"prev_ver":503316482,"name":"Mic/Aux","uuid":"80beb999-5167-4a2c-a261-02b6d03da62f","id":"pulse_input_capture","versioned_id":"pulse_input_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":0.75321877002716064,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"current_scene":"Screen","current_program_scene":"Screen","scene_order":[{"name":"Screen"},{"name":"JustWebcam"},{"name":"Octocat Hello"}],"name":"Untitled","sources":[{"prev_ver":503316482,"name":"Screen","uuid":"e5ecbedc-6143-4e2d-ac0c-711cc2ad59bb","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":12,"items":[{"name":"Screen Capture (PipeWire)","source_uuid":"7f5f0e05-2aae-4ab1-9b7e-25a6c29e646b","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":11,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Webcam","source_uuid":"254b3105-9030-4865-a4d2-39ba88025344","visible":true,"locked":false,"rot":0.0,"pos":{"x":1395.0,"y":100.0},"scale":{"x":0.37187498807907104,"y":0.37222221493721008},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":12,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.11":[],"libobs.hide_scene_item.11":[],"libobs.show_scene_item.12":[],"libobs.hide_scene_item.12":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Webcam","uuid":"254b3105-9030-4865-a4d2-39ba88025344","id":"v4l2_input","versioned_id":"v4l2_input","settings":{"device_id":"/dev/video0","White Balance, Automatic":true,"White Balance Temperature":3742,"input":0,"pixelformat":1196444237,"buffering":false},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"JustWebcam","uuid":"ad17eb92-1c55-4a9c-a2ef-2a9620e99d9b","id":"scene","versioned_id":"scene","settings":{"id_counter":3,"custom_size":false,"items":[{"name":"Webcam","source_uuid":"254b3105-9030-4865-a4d2-39ba88025344","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":3.0,"y":3.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":1,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.1":[],"libobs.hide_scene_item.1":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Screen Capture (PipeWire)","uuid":"7f5f0e05-2aae-4ab1-9b7e-25a6c29e646b","id":"pipewire-desktop-capture-source","versioned_id":"pipewire-desktop-capture-source","settings":{"ShowCursor":true,"RestoreToken":""},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Image","uuid":"d7e4aeb6-dcf9-486c-a406-2e945ccc4ed8","id":"image_source","versioned_id":"image_source","settings":{"file":"/home/antoine/Downloads/octocat-1697762023340.png"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Text (FreeType 2)","uuid":"f8c2f808-a8d9-4a0a-8a15-746a652e42f7","id":"text_ft2_source","versioned_id":"text_ft2_source_v2","settings":{"text":"Hello :)","font":{"face":"Fira Code Medium","style":"Regular","size":256,"flags":0}},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Colour Source","uuid":"04ffb546-81f1-4a7e-9312-f6e60ced2fa7","id":"color_source","versioned_id":"color_source_v3","settings":{"color":1683775782},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Octocat Hello","uuid":"8d5b6734-67bd-4afc-b5a2-e0914ec20c8a","id":"scene","versioned_id":"scene","settings":{"id_counter":5,"custom_size":false,"items":[{"name":"Colour Source","source_uuid":"04ffb546-81f1-4a7e-9312-f6e60ced2fa7","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":5,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Image","source_uuid":"d7e4aeb6-dcf9-486c-a406-2e945ccc4ed8","visible":true,"locked":false,"rot":0.0,"pos":{"x":59.0,"y":611.0},"scale":{"x":0.20800000429153442,"y":0.20800000429153442},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":3,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Text (FreeType 2)","source_uuid":"f8c2f808-a8d9-4a0a-8a15-746a652e42f7","visible":true,"locked":false,"rot":0.0,"pos":{"x":129.0,"y":530.144287109375},"scale":{"x":0.2649880051612854,"y":0.26510065793991089},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":4,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.5":[],"libobs.hide_scene_item.5":[],"libobs.show_scene_item.3":[],"libobs.hide_scene_item.3":[],"libobs.show_scene_item.4":[],"libobs.hide_scene_item.4":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}}],"groups":[],"quick_transitions":[{"name":"Cut","duration":300,"hotkeys":[],"id":1,"fade_to_black":false},{"name":"Fade","duration":300,"hotkeys":[],"id":2,"fade_to_black":false},{"name":"Fade","duration":300,"hotkeys":[],"id":3,"fade_to_black":true}],"transitions":[{"name":"Swipe","id":"swipe_transition","settings":{"direction":"down","swipe_in":false}},{"name":"Luma Wipe","id":"wipe_transition","settings":{"luma_image":"linear-topleft.png","luma_softness":0.29999999999999999}}],"saved_projectors":[],"current_transition":"Luma Wipe","transition_duration":300,"preview_locked":false,"scaling_enabled":false,"scaling_level":0,"scaling_off_x":0.0,"scaling_off_y":0.0,"virtual-camera":{"type2":3},"modules":{"scripts-tool":[],"output-timer":{"streamTimerHours":0,"streamTimerMinutes":0,"streamTimerSeconds":30,"recordTimerHours":0,"recordTimerMinutes":0,"recordTimerSeconds":30,"autoStartStreamTimer":false,"autoStartRecordTimer":false,"pauseRecordTimer":true},"auto-scene-switcher":{"interval":300,"non_matching_scene":"","switch_if_not_matching":false,"active":false,"switches":[]}}} \ No newline at end of file diff --git a/.config/obs-studio/basic/scenes/Untitled.json.bak b/.config/obs-studio/basic/scenes/Untitled.json.bak new file mode 100644 index 0000000..45d8211 --- /dev/null +++ b/.config/obs-studio/basic/scenes/Untitled.json.bak @@ -0,0 +1 @@ +{"DesktopAudioDevice1":{"prev_ver":503316482,"name":"Desktop Audio","uuid":"0540e91c-4877-4fa4-a9f6-11bfe38042bb","id":"pulse_output_capture","versioned_id":"pulse_output_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":0.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"AuxAudioDevice1":{"prev_ver":503316482,"name":"Mic/Aux","uuid":"80beb999-5167-4a2c-a261-02b6d03da62f","id":"pulse_input_capture","versioned_id":"pulse_input_capture","settings":{"device_id":"default"},"mixers":255,"sync":0,"flags":0,"volume":0.75321877002716064,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"libobs.mute":[],"libobs.unmute":[],"libobs.push-to-mute":[],"libobs.push-to-talk":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},"current_scene":"Screen","current_program_scene":"Screen","scene_order":[{"name":"Screen"},{"name":"JustWebcam"},{"name":"Octocat Hello"}],"name":"Untitled","sources":[{"prev_ver":503316482,"name":"Screen","uuid":"e5ecbedc-6143-4e2d-ac0c-711cc2ad59bb","id":"scene","versioned_id":"scene","settings":{"custom_size":false,"id_counter":12,"items":[{"name":"Screen Capture (PipeWire)","source_uuid":"7f5f0e05-2aae-4ab1-9b7e-25a6c29e646b","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":11,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Webcam","source_uuid":"254b3105-9030-4865-a4d2-39ba88025344","visible":true,"locked":false,"rot":0.0,"pos":{"x":1395.0,"y":100.0},"scale":{"x":0.37187498807907104,"y":0.37222221493721008},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":12,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.11":[],"libobs.hide_scene_item.11":[],"libobs.show_scene_item.12":[],"libobs.hide_scene_item.12":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Webcam","uuid":"254b3105-9030-4865-a4d2-39ba88025344","id":"v4l2_input","versioned_id":"v4l2_input","settings":{"device_id":"/dev/video0","White Balance, Automatic":true,"White Balance Temperature":3742,"input":0,"pixelformat":1196444237,"buffering":false},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"JustWebcam","uuid":"ad17eb92-1c55-4a9c-a2ef-2a9620e99d9b","id":"scene","versioned_id":"scene","settings":{"id_counter":3,"custom_size":false,"items":[{"name":"Webcam","source_uuid":"254b3105-9030-4865-a4d2-39ba88025344","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":3.0,"y":3.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":1,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.1":[],"libobs.hide_scene_item.1":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Screen Capture (PipeWire)","uuid":"7f5f0e05-2aae-4ab1-9b7e-25a6c29e646b","id":"pipewire-desktop-capture-source","versioned_id":"pipewire-desktop-capture-source","settings":{"ShowCursor":true,"RestoreToken":""},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Image","uuid":"d7e4aeb6-dcf9-486c-a406-2e945ccc4ed8","id":"image_source","versioned_id":"image_source","settings":{"file":"/home/antoine/Downloads/octocat-1697762023340.png"},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Text (FreeType 2)","uuid":"f8c2f808-a8d9-4a0a-8a15-746a652e42f7","id":"text_ft2_source","versioned_id":"text_ft2_source_v2","settings":{"text":"Hello :)","font":{"face":"Fira Code Medium","style":"Regular","size":256,"flags":0}},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Colour Source","uuid":"04ffb546-81f1-4a7e-9312-f6e60ced2fa7","id":"color_source","versioned_id":"color_source_v3","settings":{"color":1683775782},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}},{"prev_ver":503316482,"name":"Octocat Hello","uuid":"8d5b6734-67bd-4afc-b5a2-e0914ec20c8a","id":"scene","versioned_id":"scene","settings":{"id_counter":5,"custom_size":false,"items":[{"name":"Colour Source","source_uuid":"04ffb546-81f1-4a7e-9312-f6e60ced2fa7","visible":true,"locked":false,"rot":0.0,"pos":{"x":0.0,"y":0.0},"scale":{"x":1.0,"y":1.0},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":5,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Image","source_uuid":"d7e4aeb6-dcf9-486c-a406-2e945ccc4ed8","visible":true,"locked":false,"rot":0.0,"pos":{"x":59.0,"y":611.0},"scale":{"x":0.20800000429153442,"y":0.20800000429153442},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":3,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}},{"name":"Text (FreeType 2)","source_uuid":"f8c2f808-a8d9-4a0a-8a15-746a652e42f7","visible":true,"locked":false,"rot":0.0,"pos":{"x":129.0,"y":530.144287109375},"scale":{"x":0.2649880051612854,"y":0.26510065793991089},"align":5,"bounds_type":0,"bounds_align":0,"bounds":{"x":0.0,"y":0.0},"crop_left":0,"crop_top":0,"crop_right":0,"crop_bottom":0,"id":4,"group_item_backup":false,"scale_filter":"disable","blend_method":"default","blend_type":"normal","show_transition":{"duration":0},"hide_transition":{"duration":0},"private_settings":{}}]},"mixers":0,"sync":0,"flags":0,"volume":1.0,"balance":0.5,"enabled":true,"muted":false,"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"hotkeys":{"OBSBasic.SelectScene":[],"libobs.show_scene_item.5":[],"libobs.hide_scene_item.5":[],"libobs.show_scene_item.3":[],"libobs.hide_scene_item.3":[],"libobs.show_scene_item.4":[],"libobs.hide_scene_item.4":[]},"deinterlace_mode":0,"deinterlace_field_order":0,"monitoring_type":0,"private_settings":{}}],"groups":[],"quick_transitions":[{"name":"Cut","duration":300,"hotkeys":[],"id":1,"fade_to_black":false},{"name":"Fade","duration":300,"hotkeys":[],"id":2,"fade_to_black":false},{"name":"Fade","duration":300,"hotkeys":[],"id":3,"fade_to_black":true}],"transitions":[{"name":"Swipe","id":"swipe_transition","settings":{"direction":"down","swipe_in":false}},{"name":"Luma Wipe","id":"wipe_transition","settings":{"luma_image":"linear-topleft.png","luma_softness":0.29999999999999999}}],"saved_projectors":[],"current_transition":"Luma Wipe","transition_duration":300,"preview_locked":false,"scaling_enabled":false,"scaling_level":0,"scaling_off_x":0.0,"scaling_off_y":0.0,"virtual-camera":{"type2":3},"modules":{"scripts-tool":[],"output-timer":{"streamTimerHours":0,"streamTimerMinutes":0,"streamTimerSeconds":30,"recordTimerHours":0,"recordTimerMinutes":0,"recordTimerSeconds":30,"autoStartStreamTimer":false,"autoStartRecordTimer":false,"pauseRecordTimer":true},"auto-scene-switcher":{"interval":300,"non_matching_scene":"","switch_if_not_matching":false,"active":false,"switches":[]}}} \ No newline at end of file diff --git a/.config/obs-studio/global.ini b/.config/obs-studio/global.ini new file mode 100644 index 0000000..e2230ad --- /dev/null +++ b/.config/obs-studio/global.ini @@ -0,0 +1,80 @@ +[General] +Pre19Defaults=false +Pre21Defaults=false +Pre23Defaults=false +Pre24.1Defaults=false +FirstRun=true +LastVersion=503316482 +MaxLogs=10 +InfoIncrement=-1 +ProcessPriority=Normal +EnableAutoUpdates=true +ConfirmOnExit=true +HotkeyFocusType=NeverDisableHotkeys +CurrentTheme3=Yami + +[Basic] +Profile=Untitled +ProfileDir=Untitled +SceneCollection=Untitled +SceneCollectionFile=Untitled +ConfigOnNewProfile=true + +[BasicWindow] +gridMode=false +geometry=AdnQywADAAAAAAAAAAAAAAAAA6IAAAHsAAAAAAAAAAAAAAOiAAAB7AAAAAACAAAAB4AAAAAAAAAAAAAAA6IAAAHs +DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAOjAAABAfwBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAKoAAACgAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAACuAAAAqgAAAKAA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAABXAAAAO0AAADeAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAAAk0AAACqAAAAoAD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAL7AAAAqAAAAJ4A////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAACYgAAAbgAAAK8AAAAyAAAA6MAAACvAAAABAAAAAQAAAAIAAAACPwAAAAA +PreviewEnabled=true +AlwaysOnTop=false +SceneDuplicationMode=true +SwapScenesMode=true +EditPropertiesMode=false +PreviewProgramMode=false +DocksLocked=false +SnappingEnabled=true +ScreenSnapping=true +SourceSnapping=true +CenterSnapping=false +SnapDistance=10 +SpacingHelpersEnabled=true +RecordWhenStreaming=false +KeepRecordingWhenStreamStops=false +SysTrayEnabled=true +SysTrayWhenStarted=false +SaveProjectors=false +ShowTransitions=true +ShowListboxToolbars=true +ShowStatusBar=true +ShowSourceIcons=true +ShowContextToolbars=true +StudioModeLabels=true +VerticalVolControl=false +MultiviewMouseSwitch=true +MultiviewDrawNames=true +MultiviewDrawAreas=true +MediaControlsCountdownTimer=true +WarnBeforeStartingStream=false +WarnBeforeStoppingStream=false +WarnBeforeStoppingRecord=false +SideDocks=false + +[PropertiesWindow] +cx=720 +cy=580 + +[ScriptLogWindow] +geometry=AdnQywADAAAAAAUnAAAAGQAAB34AAAGoAAAFJwAAABkAAAd+AAABqAAAAAAAAAAAB4AAAAUnAAAAGQAAB34AAAGo + +[Video] +Renderer=OpenGL + +[Accessibility] +SelectRed=255 +SelectGreen=65280 +SelectBlue=16744192 +MixerGreen=2522918 +MixerYellow=2523007 +MixerRed=2500223 +MixerGreenActive=5046092 +MixerYellowActive=5046271 +MixerRedActive=5000447 diff --git a/.config/obs-studio/logs/2024-01-24 09-09-05.txt b/.config/obs-studio/logs/2024-01-24 09-09-05.txt new file mode 100644 index 0000000..b95d381 --- /dev/null +++ b/.config/obs-studio/logs/2024-01-24 09-09-05.txt @@ -0,0 +1,281 @@ +09:09:05.539: Platform: Wayland +09:09:05.539: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +09:09:05.539: CPU Speed: 3579.636MHz +09:09:05.539: Physical Cores: 4, Logical Cores: 8 +09:09:05.539: Physical Memory: 7723MB Total, 6270MB Free +09:09:05.539: Kernel Version: Linux 6.7.0-arch3-1 +09:09:05.539: Distribution: "Arch Linux" Unknown +09:09:05.539: Desktop Environment: Hyprland +09:09:05.539: Session Type: wayland +09:09:05.542: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +09:09:05.542: Portable mode: false +09:09:05.626: OBS 30.0.2-1 (linux) +09:09:05.626: --------------------------------- +09:09:05.627: --------------------------------- +09:09:05.627: audio settings reset: +09:09:05.627: samples per sec: 48000 +09:09:05.627: speakers: 2 +09:09:05.627: max buffering: 960 milliseconds +09:09:05.627: buffering type: dynamically increasing +09:09:05.629: --------------------------------- +09:09:05.629: Initializing OpenGL... +09:09:05.629: Using EGL/Wayland +09:09:05.676: Initialized EGL 1.5 +09:09:05.692: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +09:09:05.693: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +09:09:05.725: --------------------------------- +09:09:05.725: video settings reset: +09:09:05.725: base resolution: 1920x1080 +09:09:05.725: output resolution: 1280x720 +09:09:05.725: downscale filter: Bicubic +09:09:05.725: fps: 60/1 +09:09:05.725: format: NV12 +09:09:05.725: YUV mode: Rec. 709/Partial +09:09:05.726: NV12 texture support not available +09:09:05.726: P010 texture support not available +09:09:05.734: Audio monitoring device: +09:09:05.734: name: Default +09:09:05.734: id: default +09:09:05.735: --------------------------------- +09:09:05.742: Failed to load 'en-US' text for module: 'decklink-captions.so' +09:09:05.749: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +09:09:05.756: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +09:09:05.756: Failed to initialize module 'decklink.so' +09:09:05.895: [pipewire] Available captures: +09:09:05.895: [pipewire] - Desktop capture +09:09:05.895: [pipewire] - Window capture +09:09:05.971: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:09:05.971: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:09:05.971: FFmpeg VAAPI H264 encoding not supported +09:09:05.971: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:09:05.971: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:09:05.971: FFmpeg VAAPI HEVC encoding not supported +09:09:06.048: --------------------------------- +09:09:06.048: Loaded Modules: +09:09:06.048: text-freetype2.so +09:09:06.048: rtmp-services.so +09:09:06.048: obs-x264.so +09:09:06.048: obs-vst.so +09:09:06.048: obs-transitions.so +09:09:06.048: obs-qsv11.so +09:09:06.048: obs-outputs.so +09:09:06.048: obs-libfdk.so +09:09:06.048: obs-filters.so +09:09:06.048: obs-ffmpeg.so +09:09:06.048: linux-v4l2.so +09:09:06.048: linux-pulseaudio.so +09:09:06.048: linux-pipewire.so +09:09:06.048: linux-jack.so +09:09:06.048: linux-capture.so +09:09:06.048: linux-alsa.so +09:09:06.048: image-source.so +09:09:06.048: frontend-tools.so +09:09:06.048: decklink-output-ui.so +09:09:06.048: decklink-captions.so +09:09:06.048: --------------------------------- +09:09:06.049: QWidget::setTabOrder: 'first' and 'second' must be in the same window +09:09:06.049: ==== Startup complete =============================================== +09:09:06.080: All scene data cleared +09:09:06.080: ------------------------------------------------ +09:09:06.084: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +09:09:06.084: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +09:09:06.084: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +09:09:06.084: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +09:09:06.084: [Loaded global audio device]: 'Desktop Audio' +09:09:06.085: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +09:09:06.086: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +09:09:06.086: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +09:09:06.086: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +09:09:06.086: [Loaded global audio device]: 'Mic/Aux' +09:09:06.086: v4l2-input: Start capture from /dev/video0 +09:09:06.087: v4l2-input: Input: 0 +09:09:06.112: v4l2-input: Resolution: 640x360 +09:09:06.112: v4l2-input: Pixelformat: MJPG +09:09:06.112: v4l2-input: Linesize: 0 Bytes +09:09:06.112: v4l2-input: Framerate: 30.00 fps +09:09:06.114: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods) +09:09:06.115: PipeWire initialized +09:09:06.284: v4l2-input: /dev/video0: select timed out +09:09:06.285: v4l2-input: /dev/video0: failed to log status +09:09:06.310: Switched to scene 'JustWebcam' +09:09:06.310: ------------------------------------------------ +09:09:06.310: Loaded scenes: +09:09:06.310: - scene 'Screen': +09:09:06.310: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +09:09:06.310: - scene 'JustWebcam': +09:09:06.310: - source: 'Webcam' (v4l2_input) +09:09:06.310: - scene 'Octocat Hello': +09:09:06.310: - source: 'Colour Source' (color_source_v3) +09:09:06.310: - source: 'Image' (image_source) +09:09:06.310: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +09:09:06.310: ------------------------------------------------ +09:09:06.373: [pipewire] Screencast session created +09:09:06.452: v4l2-input: /dev/video0: select timed out +09:09:06.452: v4l2-input: /dev/video0: failed to log status +09:09:06.631: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +09:09:06.631: +09:09:07.878: [pipewire] Asking for desktop +09:09:07.882: [pipewire] desktop selected, setting up screencast +09:09:07.891: [pipewire] Server version: 1.0.1 +09:09:07.891: [pipewire] Library version: 1.0.1 +09:09:07.891: [pipewire] Header version: 1.0.0 +09:09:07.891: [pipewire] Created stream 0x650ddf6e3a70 +09:09:07.891: [pipewire] Stream 0x650ddf6e3a70 state: "connecting" (error: none) +09:09:07.891: [pipewire] Playing stream 0x650ddf6e3a70 +09:09:07.891: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:09:07.894: [pipewire] Negotiated format: +09:09:07.894: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:09:07.894: [pipewire] Modifier: 0x0 +09:09:07.894: [pipewire] Size: 1920x1080 +09:09:07.894: [pipewire] Framerate: 0/1 +09:09:07.896: [pipewire] Negotiated format: +09:09:07.897: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:09:07.897: [pipewire] Modifier: 0x100000000000004 +09:09:07.897: [pipewire] Size: 1920x1080 +09:09:07.897: [pipewire] Framerate: 0/1 +09:09:07.937: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:09:07.941: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +09:09:07.941: [pipewire] Renegotiating stream +09:09:07.941: [pipewire] Negotiated format: +09:09:07.941: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:09:07.941: [pipewire] Modifier: 0x100000000000004 +09:09:07.941: [pipewire] Size: 1920x1080 +09:09:07.941: [pipewire] Framerate: 0/1 +09:09:07.945: [pipewire] Negotiated format: +09:09:07.945: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:09:07.945: [pipewire] Modifier: 0x100000000000002 +09:09:07.945: [pipewire] Size: 1920x1080 +09:09:07.945: [pipewire] Framerate: 0/1 +09:09:11.960: Virtual camera started +09:09:12.010: ==== Virtual Camera Start ========================================== +09:09:12.010: Starting Virtual Camera output to Program +09:09:12.012: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +09:09:12.581: Output 'virtualcam_output': stopping +09:09:12.582: Output 'virtualcam_output': Total frames output: 36 +09:09:12.582: Output 'virtualcam_output': Total drawn frames: 34 +09:09:12.583: ==== Virtual Camera Stop =========================================== +09:09:12.585: Virtual camera stopped +09:09:17.457: User switched to scene 'Screen' +09:09:36.817: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux) +09:09:36.817: +09:10:15.369: Virtual camera started +09:10:15.370: ==== Virtual Camera Start ========================================== +09:10:15.370: Starting Virtual Camera output to Program +09:10:15.376: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +09:10:29.165: User switched to scene 'JustWebcam' +09:10:29.484: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:10:42.269: User switched to scene 'Screen' +09:10:42.331: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:10:52.651: User switched to scene 'JustWebcam' +09:10:53.005: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:11:27.069: User switched to scene 'Screen' +09:11:27.108: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:13:47.748: User switched to scene 'JustWebcam' +09:13:48.129: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:37:46.860: User switched to scene 'Screen' +09:37:46.929: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:46:21.839: User switched to scene 'JustWebcam' +09:46:22.167: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:46:27.049: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:46:27.055: User switched to scene 'Screen' +09:50:34.613: User switched to scene 'JustWebcam' +09:50:34.961: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +09:50:35.680: User switched to scene 'Screen' +09:50:35.697: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +09:57:34.922: User switched to scene 'JustWebcam' +09:57:35.251: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +10:00:37.402: User switched to scene 'Screen' +10:00:37.448: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +10:01:02.229: User added source 'Webcam' (v4l2_input) to scene 'Screen' +10:48:03.206: User switched to scene 'JustWebcam' +10:48:03.534: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +10:51:56.086: User switched to scene 'Screen' +10:51:56.135: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +10:52:23.735: User switched to scene 'JustWebcam' +10:52:24.064: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +10:52:24.704: User switched to scene 'Screen' +10:52:24.718: [pipewire] Stream 0x650ddf6e3a70 state: "streaming" (error: none) +10:54:02.998: User switched to scene 'JustWebcam' +10:54:03.318: [pipewire] Stream 0x650ddf6e3a70 state: "paused" (error: none) +10:56:11.893: Output 'virtualcam_output': stopping +10:56:11.893: Output 'virtualcam_output': Total frames output: 381390 +10:56:11.893: Output 'virtualcam_output': Total drawn frames: 317659 (381391 attempted) +10:56:11.893: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 63732 (16.7%) +10:56:11.895: Video stopped, number of skipped frames due to encoding lag: 170/381390 (0.0%) +10:56:11.895: ==== Virtual Camera Stop =========================================== +10:56:11.898: Virtual camera stopped +10:56:12.430: ==== Shutting down ================================================== +10:56:12.439: [pipewire] Stream 0x650ddf6e3a70 state: "unconnected" (error: none) +10:56:12.442: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +10:56:12.442: pulse-input: Got 257052 packets with 308462400 frames +10:56:12.442: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +10:56:12.442: pulse-input: Got 257047 packets with 308456400 frames +10:56:12.475: v4l2-input: /dev/video0: Stopped capture after 192049 frames +10:56:12.481: All scene data cleared +10:56:12.481: ------------------------------------------------ +10:56:12.565: [Scripting] Total detached callbacks: 0 +10:56:12.567: Freeing OBS context data +10:56:12.608: == Profiler Results ============================= +10:56:12.608: run_program_init: 890.252 ms +10:56:12.608: ┣OBSApp::AppInit: 7.072 ms +10:56:12.608: ┃ ┗OBSApp::InitLocale: 2.397 ms +10:56:12.608: ┗OBSApp::OBSInit: 816.525 ms +10:56:12.608: ┣obs_startup: 3.687 ms +10:56:12.608: ┗OBSBasic::OBSInit: 728.679 ms +10:56:12.608: ┣OBSBasic::InitBasicConfig: 0.131 ms +10:56:12.608: ┣OBSBasic::ResetAudio: 0.618 ms +10:56:12.608: ┣OBSBasic::ResetVideo: 107.278 ms +10:56:12.608: ┃ ┗obs_init_graphics: 97.729 ms +10:56:12.608: ┃ ┗shader compilation: 32.074 ms +10:56:12.608: ┣OBSBasic::InitOBSCallbacks: 0.007 ms +10:56:12.608: ┣OBSBasic::InitHotkeys: 0.027 ms +10:56:12.608: ┣obs_load_all_modules2: 313.604 ms +10:56:12.608: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +10:56:12.608: ┃ ┣obs_init_module(decklink-output-ui.so): 0.004 ms +10:56:12.608: ┃ ┣obs_init_module(decklink.so): 0.126 ms +10:56:12.608: ┃ ┣obs_init_module(frontend-tools.so): 78.232 ms +10:56:12.608: ┃ ┣obs_init_module(image-source.so): 0.017 ms +10:56:12.608: ┃ ┣obs_init_module(linux-alsa.so): 0.003 ms +10:56:12.608: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms +10:56:12.608: ┃ ┣obs_init_module(linux-jack.so): 0.002 ms +10:56:12.608: ┃ ┣obs_init_module(linux-pipewire.so): 13.964 ms +10:56:12.608: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.004 ms +10:56:12.608: ┃ ┣obs_init_module(linux-v4l2.so): 0.035 ms +10:56:12.608: ┃ ┣obs_init_module(obs-ffmpeg.so): 1.364 ms +10:56:12.608: ┃ ┃ ┗nvenc_check: 0.413 ms +10:56:12.608: ┃ ┣obs_init_module(obs-filters.so): 0.039 ms +10:56:12.608: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +10:56:12.608: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms +10:56:12.608: ┃ ┣obs_init_module(obs-qsv11.so): 0.136 ms +10:56:12.608: ┃ ┣obs_init_module(obs-transitions.so): 0.008 ms +10:56:12.608: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms +10:56:12.608: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms +10:56:12.608: ┃ ┣obs_init_module(rtmp-services.so): 1.623 ms +10:56:12.608: ┃ ┗obs_init_module(text-freetype2.so): 0.021 ms +10:56:12.608: ┣OBSBasic::InitService: 1.225 ms +10:56:12.608: ┣OBSBasic::ResetOutputs: 0.175 ms +10:56:12.608: ┣OBSBasic::CreateHotkeys: 0.04 ms +10:56:12.608: ┣OBSBasic::InitPrimitives: 0.096 ms +10:56:12.608: ┗OBSBasic::Load: 259.683 ms +10:56:12.608: obs_hotkey_thread(25 ms): min=0 ms, median=0.003 ms, max=3.97 ms, 99th percentile=0.01 ms, 100% below 25 ms +10:56:12.608: audio_thread(Audio): min=0.009 ms, median=0.302 ms, max=129.2 ms, 99th percentile=27.262 ms +10:56:12.608: obs_graphics_thread(16.6667 ms): min=0.021 ms, median=3.458 ms, max=276.128 ms, 99th percentile=46.327 ms, 70.3977% below 16.667 ms +10:56:12.608: ┣tick_sources: min=0 ms, median=0.043 ms, max=251.363 ms, 99th percentile=0.194 ms +10:56:12.609: ┣output_frame: min=0.005 ms, median=2.059 ms, max=152.124 ms, 99th percentile=40.344 ms +10:56:12.609: ┃ ┣gs_context(video->graphics): min=0.005 ms, median=1.37 ms, max=151.145 ms, 99th percentile=39.172 ms +10:56:12.609: ┃ ┃ ┣render_video: min=0.003 ms, median=0.65 ms, max=132.789 ms, 99th percentile=32.831 ms +10:56:12.609: ┃ ┃ ┃ ┣render_main_texture: min=0.002 ms, median=0.424 ms, max=132.329 ms, 99th percentile=32.494 ms +10:56:12.609: ┃ ┃ ┃ ┣render_output_texture: min=0.01 ms, median=0.045 ms, max=24.2 ms, 99th percentile=0.583 ms +10:56:12.609: ┃ ┃ ┃ ┣render_convert_texture: min=0.013 ms, median=0.05 ms, max=24.666 ms, 99th percentile=0.426 ms +10:56:12.609: ┃ ┃ ┃ ┗stage_output_texture: min=0.007 ms, median=0.034 ms, max=25.452 ms, 99th percentile=0.246 ms +10:56:12.609: ┃ ┃ ┣gs_flush: min=0 ms, median=0.174 ms, max=126.111 ms, 99th percentile=1.11 ms +10:56:12.609: ┃ ┃ ┗download_frame: min=0 ms, median=0.167 ms, max=119.117 ms, 99th percentile=32.884 ms +10:56:12.609: ┃ ┗output_video_data: min=0.001 ms, median=0.547 ms, max=30.954 ms, 99th percentile=3.412 ms +10:56:12.609: ┗render_displays: min=0.001 ms, median=0.998 ms, max=120.643 ms, 99th percentile=15.624 ms +10:56:12.609: video_thread(video): min=1.449 ms, median=4.602 ms, max=244.041 ms, 99th percentile=28.607 ms +10:56:12.609: ================================================= +10:56:12.609: == Profiler Time Between Calls ================== +10:56:12.610: obs_hotkey_thread(25 ms): min=25.016 ms, median=25.126 ms, max=41.603 ms, 94.1411% within ±2% of 25 ms (0% lower, 5.85888% higher) +10:56:12.610: obs_graphics_thread(16.6667 ms): min=2.831 ms, median=16.681 ms, max=276.207 ms, 63.329% within ±2% of 16.667 ms (6.12933% lower, 30.5417% higher) +10:56:12.610: ================================================= +10:56:12.987: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-24 18-00-41.txt b/.config/obs-studio/logs/2024-01-24 18-00-41.txt new file mode 100644 index 0000000..757c77d --- /dev/null +++ b/.config/obs-studio/logs/2024-01-24 18-00-41.txt @@ -0,0 +1,188 @@ +18:00:41.520: Platform: Wayland +18:00:41.520: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +18:00:41.520: CPU Speed: 2110.050MHz +18:00:41.520: Physical Cores: 4, Logical Cores: 8 +18:00:41.520: Physical Memory: 7723MB Total, 2430MB Free +18:00:41.520: Kernel Version: Linux 6.7.1-arch1-1 +18:00:41.520: Distribution: "Arch Linux" Unknown +18:00:41.520: Desktop Environment: Hyprland +18:00:41.520: Session Type: wayland +18:00:41.526: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +18:00:41.526: Portable mode: false +18:00:41.663: OBS 30.0.2-1 (linux) +18:00:41.663: --------------------------------- +18:00:41.664: --------------------------------- +18:00:41.664: audio settings reset: +18:00:41.664: samples per sec: 48000 +18:00:41.664: speakers: 2 +18:00:41.664: max buffering: 960 milliseconds +18:00:41.664: buffering type: dynamically increasing +18:00:41.667: --------------------------------- +18:00:41.667: Initializing OpenGL... +18:00:41.667: Using EGL/Wayland +18:00:41.742: Initialized EGL 1.5 +18:00:41.764: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +18:00:41.764: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +18:00:41.812: --------------------------------- +18:00:41.812: video settings reset: +18:00:41.812: base resolution: 1920x1080 +18:00:41.812: output resolution: 1280x720 +18:00:41.812: downscale filter: Bicubic +18:00:41.812: fps: 60/1 +18:00:41.812: format: NV12 +18:00:41.812: YUV mode: Rec. 709/Partial +18:00:41.813: NV12 texture support not available +18:00:41.813: P010 texture support not available +18:00:41.832: Audio monitoring device: +18:00:41.832: name: Default +18:00:41.832: id: default +18:00:41.832: --------------------------------- +18:00:41.849: Failed to load 'en-US' text for module: 'decklink-captions.so' +18:00:41.870: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +18:00:41.895: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +18:00:41.895: Failed to initialize module 'decklink.so' +18:00:42.116: [pipewire] Available captures: +18:00:42.116: [pipewire] - Desktop capture +18:00:42.116: [pipewire] - Window capture +18:00:42.238: VAAPI: Failed to initialize display in vaapi_device_h264_supported +18:00:42.238: VAAPI: Failed to initialize display in vaapi_device_h264_supported +18:00:42.238: FFmpeg VAAPI H264 encoding not supported +18:00:42.238: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +18:00:42.239: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +18:00:42.239: FFmpeg VAAPI HEVC encoding not supported +18:00:42.369: --------------------------------- +18:00:42.369: Loaded Modules: +18:00:42.369: text-freetype2.so +18:00:42.369: rtmp-services.so +18:00:42.369: obs-x264.so +18:00:42.369: obs-vst.so +18:00:42.369: obs-transitions.so +18:00:42.369: obs-qsv11.so +18:00:42.369: obs-outputs.so +18:00:42.369: obs-libfdk.so +18:00:42.369: obs-filters.so +18:00:42.369: obs-ffmpeg.so +18:00:42.369: linux-v4l2.so +18:00:42.369: linux-pulseaudio.so +18:00:42.369: linux-pipewire.so +18:00:42.369: linux-jack.so +18:00:42.369: linux-capture.so +18:00:42.369: linux-alsa.so +18:00:42.369: image-source.so +18:00:42.369: frontend-tools.so +18:00:42.369: decklink-output-ui.so +18:00:42.369: decklink-captions.so +18:00:42.369: --------------------------------- +18:00:42.370: QWidget::setTabOrder: 'first' and 'second' must be in the same window +18:00:42.370: ==== Startup complete =============================================== +18:00:42.416: All scene data cleared +18:00:42.416: ------------------------------------------------ +18:00:42.421: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +18:00:42.421: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +18:00:42.421: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +18:00:42.421: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +18:00:42.421: [Loaded global audio device]: 'Desktop Audio' +18:00:42.422: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +18:00:42.422: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +18:00:42.422: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +18:00:42.422: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +18:00:42.422: [Loaded global audio device]: 'Mic/Aux' +18:00:42.423: v4l2-input: Start capture from /dev/video0 +18:00:42.424: v4l2-input: Input: 0 +18:00:42.449: v4l2-input: Resolution: 640x360 +18:00:42.449: v4l2-input: Pixelformat: MJPG +18:00:42.449: v4l2-input: Linesize: 0 Bytes +18:00:42.449: v4l2-input: Framerate: 30.00 fps +18:00:42.451: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods) +18:00:42.452: PipeWire initialized +18:00:42.501: [rtmp-services plugin] Successfully updated file 'services.json' (version 241) +18:00:42.501: [rtmp-services plugin] Successfully updated package (version 241) +18:00:42.621: v4l2-input: /dev/video0: select timed out +18:00:42.621: v4l2-input: /dev/video0: failed to log status +18:00:42.686: Switched to scene 'JustWebcam' +18:00:42.686: ------------------------------------------------ +18:00:42.686: Loaded scenes: +18:00:42.686: - scene 'Screen': +18:00:42.686: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +18:00:42.686: - source: 'Webcam' (v4l2_input) +18:00:42.686: - scene 'JustWebcam': +18:00:42.686: - source: 'Webcam' (v4l2_input) +18:00:42.686: - scene 'Octocat Hello': +18:00:42.686: - source: 'Colour Source' (color_source_v3) +18:00:42.686: - source: 'Image' (image_source) +18:00:42.686: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +18:00:42.686: ------------------------------------------------ +18:00:42.760: [pipewire] Screencast session created +18:00:42.789: v4l2-input: /dev/video0: select timed out +18:00:42.789: v4l2-input: /dev/video0: failed to log status +18:00:42.967: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +18:00:42.967: +18:00:45.621: [pipewire] Failed to select source, denied or cancelled by user +18:00:46.767: ==== Shutting down ================================================== +18:00:46.771: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +18:00:46.771: pulse-input: Got 173 packets with 207600 frames +18:00:46.771: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +18:00:46.771: pulse-input: Got 173 packets with 207600 frames +18:00:46.780: v4l2-input: /dev/video0: Stopped capture after 119 frames +18:00:46.790: All scene data cleared +18:00:46.790: ------------------------------------------------ +18:00:46.906: [Scripting] Total detached callbacks: 0 +18:00:46.907: Freeing OBS context data +18:00:47.000: == Profiler Results ============================= +18:00:47.001: run_program_init: 1316.37 ms +18:00:47.001: ┣OBSApp::AppInit: 10.765 ms +18:00:47.001: ┃ ┗OBSApp::InitLocale: 3.335 ms +18:00:47.001: ┗OBSApp::OBSInit: 1216.07 ms +18:00:47.001: ┣obs_startup: 5.837 ms +18:00:47.001: ┗OBSBasic::OBSInit: 1072.37 ms +18:00:47.001: ┣OBSBasic::InitBasicConfig: 0.175 ms +18:00:47.001: ┣OBSBasic::ResetAudio: 1.016 ms +18:00:47.001: ┣OBSBasic::ResetVideo: 167.535 ms +18:00:47.001: ┃ ┗obs_init_graphics: 147.595 ms +18:00:47.001: ┃ ┗shader compilation: 48.138 ms +18:00:47.001: ┣OBSBasic::InitOBSCallbacks: 0.033 ms +18:00:47.001: ┣OBSBasic::InitHotkeys: 0.036 ms +18:00:47.001: ┣obs_load_all_modules2: 536.637 ms +18:00:47.001: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +18:00:47.001: ┃ ┣obs_init_module(decklink-output-ui.so): 0.009 ms +18:00:47.001: ┃ ┣obs_init_module(decklink.so): 0.419 ms +18:00:47.001: ┃ ┣obs_init_module(frontend-tools.so): 126.192 ms +18:00:47.001: ┃ ┣obs_init_module(image-source.so): 0.007 ms +18:00:47.001: ┃ ┣obs_init_module(linux-alsa.so): 0.004 ms +18:00:47.001: ┃ ┣obs_init_module(linux-capture.so): 0 ms +18:00:47.001: ┃ ┣obs_init_module(linux-jack.so): 0.002 ms +18:00:47.001: ┃ ┣obs_init_module(linux-pipewire.so): 17.46 ms +18:00:47.001: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.005 ms +18:00:47.001: ┃ ┣obs_init_module(linux-v4l2.so): 7.52 ms +18:00:47.001: ┃ ┣obs_init_module(obs-ffmpeg.so): 2.049 ms +18:00:47.001: ┃ ┃ ┗nvenc_check: 0.845 ms +18:00:47.001: ┃ ┣obs_init_module(obs-filters.so): 0.046 ms +18:00:47.001: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +18:00:47.001: ┃ ┣obs_init_module(obs-outputs.so): 0.006 ms +18:00:47.001: ┃ ┣obs_init_module(obs-qsv11.so): 0.148 ms +18:00:47.001: ┃ ┣obs_init_module(obs-transitions.so): 0.013 ms +18:00:47.001: ┃ ┣obs_init_module(obs-vst.so): 0.006 ms +18:00:47.001: ┃ ┣obs_init_module(obs-x264.so): 0.009 ms +18:00:47.001: ┃ ┣obs_init_module(rtmp-services.so): 2.058 ms +18:00:47.002: ┃ ┗obs_init_module(text-freetype2.so): 0.021 ms +18:00:47.002: ┣OBSBasic::InitService: 1.164 ms +18:00:47.002: ┣OBSBasic::ResetOutputs: 0.154 ms +18:00:47.002: ┣OBSBasic::CreateHotkeys: 0.033 ms +18:00:47.002: ┣OBSBasic::InitPrimitives: 0.059 ms +18:00:47.002: ┗OBSBasic::Load: 315.686 ms +18:00:47.002: obs_hotkey_thread(25 ms): min=0.001 ms, median=0.002 ms, max=0.046 ms, 99th percentile=0.006 ms, 100% below 25 ms +18:00:47.002: audio_thread(Audio): min=0.011 ms, median=0.209 ms, max=7.921 ms, 99th percentile=1 ms +18:00:47.002: obs_graphics_thread(16.6667 ms): min=0.025 ms, median=1.391 ms, max=258.992 ms, 99th percentile=27.897 ms, 95.7895% below 16.667 ms +18:00:47.003: ┣tick_sources: min=0 ms, median=0.04 ms, max=258.921 ms, 99th percentile=3.144 ms +18:00:47.003: ┣output_frame: min=0.006 ms, median=0.693 ms, max=17.301 ms, 99th percentile=7.44 ms +18:00:47.003: ┃ ┗gs_context(video->graphics): min=0.006 ms, median=0.691 ms, max=17.299 ms, 99th percentile=7.437 ms +18:00:47.003: ┃ ┣render_video: min=0.003 ms, median=0.369 ms, max=16.51 ms, 99th percentile=5.902 ms +18:00:47.003: ┃ ┃ ┗render_main_texture: min=0.002 ms, median=0.353 ms, max=16.481 ms, 99th percentile=5.896 ms +18:00:47.003: ┃ ┗gs_flush: min=0.001 ms, median=0.183 ms, max=5.418 ms, 99th percentile=2.943 ms +18:00:47.003: ┗render_displays: min=0.001 ms, median=0.36 ms, max=26.583 ms, 99th percentile=19.894 ms +18:00:47.003: ================================================= +18:00:47.003: == Profiler Time Between Calls ================== +18:00:47.003: obs_hotkey_thread(25 ms): min=25.067 ms, median=25.114 ms, max=28.458 ms, 91.4286% within ±2% of 25 ms (0% lower, 8.57143% higher) +18:00:47.003: obs_graphics_thread(16.6667 ms): min=6.885 ms, median=16.667 ms, max=258.995 ms, 78.5211% within ±2% of 16.667 ms (10.5634% lower, 10.9155% higher) +18:00:47.003: ================================================= +18:00:47.011: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-25 14-36-42.txt b/.config/obs-studio/logs/2024-01-25 14-36-42.txt new file mode 100644 index 0000000..cbd1454 --- /dev/null +++ b/.config/obs-studio/logs/2024-01-25 14-36-42.txt @@ -0,0 +1,235 @@ +14:36:42.616: Platform: Wayland +14:36:42.616: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +14:36:42.616: CPU Speed: 3299.877MHz +14:36:42.616: Physical Cores: 4, Logical Cores: 8 +14:36:42.616: Physical Memory: 7723MB Total, 1195MB Free +14:36:42.616: Kernel Version: Linux 6.7.1-arch1-1 +14:36:42.616: Distribution: "Arch Linux" Unknown +14:36:42.616: Desktop Environment: Hyprland +14:36:42.616: Session Type: wayland +14:36:42.620: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +14:36:42.620: Portable mode: false +14:36:42.715: OBS 30.0.2-1 (linux) +14:36:42.715: --------------------------------- +14:36:42.716: --------------------------------- +14:36:42.716: audio settings reset: +14:36:42.716: samples per sec: 48000 +14:36:42.716: speakers: 2 +14:36:42.716: max buffering: 960 milliseconds +14:36:42.716: buffering type: dynamically increasing +14:36:42.719: --------------------------------- +14:36:42.719: Initializing OpenGL... +14:36:42.719: Using EGL/Wayland +14:36:42.776: Initialized EGL 1.5 +14:36:42.794: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +14:36:42.794: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +14:36:42.831: --------------------------------- +14:36:42.831: video settings reset: +14:36:42.831: base resolution: 1920x1080 +14:36:42.831: output resolution: 1280x720 +14:36:42.831: downscale filter: Bicubic +14:36:42.831: fps: 60/1 +14:36:42.831: format: NV12 +14:36:42.831: YUV mode: Rec. 709/Partial +14:36:42.832: NV12 texture support not available +14:36:42.832: P010 texture support not available +14:36:42.845: Audio monitoring device: +14:36:42.845: name: Default +14:36:42.845: id: default +14:36:42.845: --------------------------------- +14:36:42.854: Failed to load 'en-US' text for module: 'decklink-captions.so' +14:36:42.864: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +14:36:42.874: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +14:36:42.874: Failed to initialize module 'decklink.so' +14:36:43.061: [pipewire] Available captures: +14:36:43.061: [pipewire] - Desktop capture +14:36:43.061: [pipewire] - Window capture +14:36:43.156: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:36:43.157: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:36:43.157: FFmpeg VAAPI H264 encoding not supported +14:36:43.157: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:36:43.157: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:36:43.157: FFmpeg VAAPI HEVC encoding not supported +14:36:43.265: --------------------------------- +14:36:43.265: Loaded Modules: +14:36:43.265: text-freetype2.so +14:36:43.265: rtmp-services.so +14:36:43.265: obs-x264.so +14:36:43.265: obs-vst.so +14:36:43.265: obs-transitions.so +14:36:43.265: obs-qsv11.so +14:36:43.265: obs-outputs.so +14:36:43.265: obs-libfdk.so +14:36:43.265: obs-filters.so +14:36:43.265: obs-ffmpeg.so +14:36:43.265: linux-v4l2.so +14:36:43.265: linux-pulseaudio.so +14:36:43.265: linux-pipewire.so +14:36:43.265: linux-jack.so +14:36:43.265: linux-capture.so +14:36:43.265: linux-alsa.so +14:36:43.265: image-source.so +14:36:43.265: frontend-tools.so +14:36:43.265: decklink-output-ui.so +14:36:43.265: decklink-captions.so +14:36:43.265: --------------------------------- +14:36:43.266: QWidget::setTabOrder: 'first' and 'second' must be in the same window +14:36:43.266: ==== Startup complete =============================================== +14:36:43.317: All scene data cleared +14:36:43.318: ------------------------------------------------ +14:36:43.322: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:36:43.322: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:36:43.322: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:36:43.322: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +14:36:43.322: [Loaded global audio device]: 'Desktop Audio' +14:36:43.323: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:36:43.323: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:36:43.323: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:36:43.323: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +14:36:43.323: [Loaded global audio device]: 'Mic/Aux' +14:36:43.323: v4l2-input: Start capture from /dev/video0 +14:36:43.324: v4l2-input: Unable to set input 0 +14:36:43.324: v4l2-input: Initialization failed, errno: Device or resource busy +14:36:43.326: PipeWire initialized +14:36:43.590: Switched to scene 'JustWebcam' +14:36:43.590: ------------------------------------------------ +14:36:43.590: Loaded scenes: +14:36:43.590: - scene 'Screen': +14:36:43.590: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +14:36:43.590: - source: 'Webcam' (v4l2_input) +14:36:43.590: - scene 'JustWebcam': +14:36:43.590: - source: 'Webcam' (v4l2_input) +14:36:43.590: - scene 'Octocat Hello': +14:36:43.590: - source: 'Colour Source' (color_source_v3) +14:36:43.590: - source: 'Image' (image_source) +14:36:43.590: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +14:36:43.590: ------------------------------------------------ +14:36:43.663: [pipewire] Screencast session created +14:36:43.911: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic/Aux) +14:36:43.911: +14:36:45.021: [pipewire] Asking for desktop +14:36:45.025: [pipewire] desktop selected, setting up screencast +14:36:45.033: [pipewire] Server version: 1.0.1 +14:36:45.033: [pipewire] Library version: 1.0.1 +14:36:45.033: [pipewire] Header version: 1.0.0 +14:36:45.033: [pipewire] Created stream 0x591a831f5be0 +14:36:45.033: [pipewire] Stream 0x591a831f5be0 state: "connecting" (error: none) +14:36:45.033: [pipewire] Playing stream 0x591a831f5be0 +14:36:45.034: [pipewire] Stream 0x591a831f5be0 state: "paused" (error: none) +14:36:45.037: [pipewire] Negotiated format: +14:36:45.037: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:36:45.037: [pipewire] Modifier: 0x0 +14:36:45.037: [pipewire] Size: 1920x1080 +14:36:45.037: [pipewire] Framerate: 0/1 +14:36:45.045: [pipewire] Negotiated format: +14:36:45.045: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:36:45.045: [pipewire] Modifier: 0x100000000000004 +14:36:45.045: [pipewire] Size: 1920x1080 +14:36:45.045: [pipewire] Framerate: 0/1 +14:36:45.064: [pipewire] Stream 0x591a831f5be0 state: "streaming" (error: none) +14:36:45.068: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +14:36:45.068: [pipewire] Renegotiating stream +14:36:45.069: [pipewire] Negotiated format: +14:36:45.069: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:36:45.069: [pipewire] Modifier: 0x100000000000004 +14:36:45.069: [pipewire] Size: 1920x1080 +14:36:45.069: [pipewire] Framerate: 0/1 +14:36:45.076: [pipewire] Negotiated format: +14:36:45.076: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:36:45.076: [pipewire] Modifier: 0x100000000000002 +14:36:45.076: [pipewire] Size: 1920x1080 +14:36:45.076: [pipewire] Framerate: 0/1 +14:36:48.019: User switched to scene 'Screen' +14:36:52.129: User switched to scene 'JustWebcam' +14:36:52.461: [pipewire] Stream 0x591a831f5be0 state: "paused" (error: none) +14:36:53.002: User switched to scene 'Screen' +14:36:53.011: [pipewire] Stream 0x591a831f5be0 state: "streaming" (error: none) +14:36:53.983: User switched to scene 'JustWebcam' +14:36:54.312: [pipewire] Stream 0x591a831f5be0 state: "paused" (error: none) +14:36:55.952: User switched to scene 'Screen' +14:36:55.961: [pipewire] Stream 0x591a831f5be0 state: "streaming" (error: none) +14:36:57.969: Virtual camera started +14:36:58.009: ==== Virtual Camera Start ========================================== +14:36:58.009: Starting Virtual Camera output to Program +14:36:58.012: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +14:37:03.051: User switched to scene 'JustWebcam' +14:37:03.378: [pipewire] Stream 0x591a831f5be0 state: "paused" (error: none) +14:37:08.062: Output 'virtualcam_output': stopping +14:37:08.062: Output 'virtualcam_output': Total frames output: 604 +14:37:08.062: Output 'virtualcam_output': Total drawn frames: 604 +14:37:08.063: ==== Virtual Camera Stop =========================================== +14:37:08.065: Virtual camera stopped +14:37:08.766: ==== Shutting down ================================================== +14:37:08.770: [pipewire] Stream 0x591a831f5be0 state: "unconnected" (error: none) +14:37:08.773: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +14:37:08.773: pulse-input: Got 1016 packets with 1219200 frames +14:37:08.773: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +14:37:08.773: pulse-input: Got 1015 packets with 1218000 frames +14:37:08.787: All scene data cleared +14:37:08.787: ------------------------------------------------ +14:37:08.860: [Scripting] Total detached callbacks: 0 +14:37:08.860: Freeing OBS context data +14:37:08.881: == Profiler Results ============================= +14:37:08.881: run_program_init: 1084 ms +14:37:08.881: ┣OBSApp::AppInit: 7.546 ms +14:37:08.881: ┃ ┗OBSApp::InitLocale: 2.582 ms +14:37:08.881: ┗OBSApp::OBSInit: 1025.14 ms +14:37:08.881: ┣obs_startup: 3.354 ms +14:37:08.881: ┗OBSBasic::OBSInit: 925.615 ms +14:37:08.881: ┣OBSBasic::InitBasicConfig: 0.148 ms +14:37:08.881: ┣OBSBasic::ResetAudio: 0.577 ms +14:37:08.881: ┣OBSBasic::ResetVideo: 128.327 ms +14:37:08.881: ┃ ┗obs_init_graphics: 114.766 ms +14:37:08.881: ┃ ┗shader compilation: 37.049 ms +14:37:08.881: ┣OBSBasic::InitOBSCallbacks: 0.005 ms +14:37:08.881: ┣OBSBasic::InitHotkeys: 0.026 ms +14:37:08.881: ┣obs_load_all_modules2: 420.431 ms +14:37:08.881: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +14:37:08.881: ┃ ┣obs_init_module(decklink-output-ui.so): 0.023 ms +14:37:08.881: ┃ ┣obs_init_module(decklink.so): 0.163 ms +14:37:08.881: ┃ ┣obs_init_module(frontend-tools.so): 101.083 ms +14:37:08.881: ┃ ┣obs_init_module(image-source.so): 0.01 ms +14:37:08.881: ┃ ┣obs_init_module(linux-alsa.so): 0.003 ms +14:37:08.881: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms +14:37:08.881: ┃ ┣obs_init_module(linux-jack.so): 0.004 ms +14:37:08.881: ┃ ┣obs_init_module(linux-pipewire.so): 14.833 ms +14:37:08.881: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.005 ms +14:37:08.881: ┃ ┣obs_init_module(linux-v4l2.so): 0.041 ms +14:37:08.881: ┃ ┣obs_init_module(obs-ffmpeg.so): 1.652 ms +14:37:08.881: ┃ ┃ ┗nvenc_check: 0.805 ms +14:37:08.881: ┃ ┣obs_init_module(obs-filters.so): 0.044 ms +14:37:08.881: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +14:37:08.881: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms +14:37:08.881: ┃ ┣obs_init_module(obs-qsv11.so): 0.445 ms +14:37:08.881: ┃ ┣obs_init_module(obs-transitions.so): 0.012 ms +14:37:08.881: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms +14:37:08.881: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms +14:37:08.881: ┃ ┣obs_init_module(rtmp-services.so): 1.798 ms +14:37:08.881: ┃ ┗obs_init_module(text-freetype2.so): 0.017 ms +14:37:08.881: ┣OBSBasic::InitService: 1.102 ms +14:37:08.881: ┣OBSBasic::ResetOutputs: 0.253 ms +14:37:08.881: ┣OBSBasic::CreateHotkeys: 0.075 ms +14:37:08.881: ┣OBSBasic::InitPrimitives: 0.073 ms +14:37:08.881: ┗OBSBasic::Load: 324.661 ms +14:37:08.881: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.099 ms, 99th percentile=0.007 ms, 100% below 25 ms +14:37:08.881: audio_thread(Audio): min=0.01 ms, median=0.103 ms, max=19.841 ms, 99th percentile=0.484 ms +14:37:08.881: obs_graphics_thread(16.6667 ms): min=0.042 ms, median=0.688 ms, max=266.388 ms, 99th percentile=4.059 ms, 99.806% below 16.667 ms +14:37:08.881: ┣tick_sources: min=0 ms, median=0.015 ms, max=266.263 ms, 99th percentile=0.11 ms +14:37:08.881: ┣output_frame: min=0.015 ms, median=0.342 ms, max=20.886 ms, 99th percentile=1.824 ms +14:37:08.881: ┃ ┣gs_context(video->graphics): min=0.014 ms, median=0.236 ms, max=20.885 ms, 99th percentile=1.511 ms +14:37:08.881: ┃ ┃ ┣render_video: min=0.007 ms, median=0.117 ms, max=20.659 ms, 99th percentile=0.64 ms +14:37:08.881: ┃ ┃ ┃ ┣render_main_texture: min=0.006 ms, median=0.073 ms, max=20.636 ms, 99th percentile=0.478 ms +14:37:08.881: ┃ ┃ ┃ ┣render_output_texture: min=0.012 ms, median=0.048 ms, max=3.038 ms, 99th percentile=0.18 ms, 0.391979 calls per parent call +14:37:08.882: ┃ ┃ ┃ ┣render_convert_texture: min=0.016 ms, median=0.02 ms, max=2.834 ms, 99th percentile=0.097 ms, 0.391979 calls per parent call +14:37:08.882: ┃ ┃ ┃ ┗stage_output_texture: min=0.011 ms, median=0.014 ms, max=1.95 ms, 99th percentile=0.099 ms, 0.391979 calls per parent call +14:37:08.882: ┃ ┃ ┣gs_flush: min=0.003 ms, median=0.054 ms, max=1.824 ms, 99th percentile=0.895 ms +14:37:08.882: ┃ ┃ ┗download_frame: min=0 ms, median=0.057 ms, max=0.751 ms, 99th percentile=0.294 ms, 0.391979 calls per parent call +14:37:08.882: ┃ ┗output_video_data: min=0.2 ms, median=0.344 ms, max=2.251 ms, 99th percentile=1.273 ms, 0.391332 calls per parent call +14:37:08.882: ┗render_displays: min=0.001 ms, median=0.208 ms, max=32.792 ms, 99th percentile=1.611 ms +14:37:08.882: video_thread(video): min=1.524 ms, median=2.421 ms, max=5.616 ms, 99th percentile=4.617 ms +14:37:08.882: ================================================= +14:37:08.882: == Profiler Time Between Calls ================== +14:37:08.882: obs_hotkey_thread(25 ms): min=25.019 ms, median=25.086 ms, max=28.678 ms, 99.7126% within ±2% of 25 ms (0% lower, 0.287356% higher) +14:37:08.882: obs_graphics_thread(16.6667 ms): min=0.274 ms, median=16.667 ms, max=266.393 ms, 99.2233% within ±2% of 16.667 ms (0.38835% lower, 0.38835% higher) +14:37:08.882: ================================================= +14:37:08.889: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-25 14-37-16.txt b/.config/obs-studio/logs/2024-01-25 14-37-16.txt new file mode 100644 index 0000000..d92a198 --- /dev/null +++ b/.config/obs-studio/logs/2024-01-25 14-37-16.txt @@ -0,0 +1,247 @@ +14:37:16.948: Platform: Wayland +14:37:16.948: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +14:37:16.948: CPU Speed: 3397.285MHz +14:37:16.948: Physical Cores: 4, Logical Cores: 8 +14:37:16.948: Physical Memory: 7723MB Total, 1345MB Free +14:37:16.948: Kernel Version: Linux 6.7.1-arch1-1 +14:37:16.948: Distribution: "Arch Linux" Unknown +14:37:16.948: Desktop Environment: Hyprland +14:37:16.948: Session Type: wayland +14:37:16.952: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +14:37:16.952: Portable mode: false +14:37:17.030: OBS 30.0.2-1 (linux) +14:37:17.030: --------------------------------- +14:37:17.031: --------------------------------- +14:37:17.031: audio settings reset: +14:37:17.031: samples per sec: 48000 +14:37:17.031: speakers: 2 +14:37:17.031: max buffering: 960 milliseconds +14:37:17.031: buffering type: dynamically increasing +14:37:17.033: --------------------------------- +14:37:17.033: Initializing OpenGL... +14:37:17.033: Using EGL/Wayland +14:37:17.081: Initialized EGL 1.5 +14:37:17.097: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +14:37:17.097: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +14:37:17.127: --------------------------------- +14:37:17.127: video settings reset: +14:37:17.127: base resolution: 1920x1080 +14:37:17.127: output resolution: 1280x720 +14:37:17.127: downscale filter: Bicubic +14:37:17.127: fps: 60/1 +14:37:17.127: format: NV12 +14:37:17.127: YUV mode: Rec. 709/Partial +14:37:17.127: NV12 texture support not available +14:37:17.127: P010 texture support not available +14:37:17.135: Audio monitoring device: +14:37:17.135: name: Default +14:37:17.135: id: default +14:37:17.135: --------------------------------- +14:37:17.143: Failed to load 'en-US' text for module: 'decklink-captions.so' +14:37:17.151: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +14:37:17.158: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +14:37:17.158: Failed to initialize module 'decklink.so' +14:37:17.305: [pipewire] Available captures: +14:37:17.305: [pipewire] - Desktop capture +14:37:17.305: [pipewire] - Window capture +14:37:17.367: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:37:17.367: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:37:17.367: FFmpeg VAAPI H264 encoding not supported +14:37:17.367: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:37:17.367: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:37:17.367: FFmpeg VAAPI HEVC encoding not supported +14:37:17.454: --------------------------------- +14:37:17.454: Loaded Modules: +14:37:17.454: text-freetype2.so +14:37:17.454: rtmp-services.so +14:37:17.454: obs-x264.so +14:37:17.454: obs-vst.so +14:37:17.454: obs-transitions.so +14:37:17.454: obs-qsv11.so +14:37:17.454: obs-outputs.so +14:37:17.454: obs-libfdk.so +14:37:17.454: obs-filters.so +14:37:17.454: obs-ffmpeg.so +14:37:17.454: linux-v4l2.so +14:37:17.454: linux-pulseaudio.so +14:37:17.454: linux-pipewire.so +14:37:17.454: linux-jack.so +14:37:17.454: linux-capture.so +14:37:17.454: linux-alsa.so +14:37:17.454: image-source.so +14:37:17.454: frontend-tools.so +14:37:17.454: decklink-output-ui.so +14:37:17.454: decklink-captions.so +14:37:17.454: --------------------------------- +14:37:17.454: QWidget::setTabOrder: 'first' and 'second' must be in the same window +14:37:17.454: ==== Startup complete =============================================== +14:37:17.483: All scene data cleared +14:37:17.483: ------------------------------------------------ +14:37:17.486: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:37:17.487: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:37:17.487: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:37:17.487: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +14:37:17.487: [Loaded global audio device]: 'Desktop Audio' +14:37:17.487: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:37:17.488: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:37:17.488: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:37:17.488: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +14:37:17.488: [Loaded global audio device]: 'Mic/Aux' +14:37:17.488: v4l2-input: Start capture from /dev/video0 +14:37:17.489: v4l2-input: Input: 0 +14:37:17.514: v4l2-input: Resolution: 1280x720 +14:37:17.514: v4l2-input: Pixelformat: MJPG +14:37:17.514: v4l2-input: Linesize: 0 Bytes +14:37:17.514: v4l2-input: Framerate: 30.00 fps +14:37:17.525: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods) +14:37:17.526: PipeWire initialized +14:37:17.695: v4l2-input: /dev/video0: select timed out +14:37:17.695: v4l2-input: /dev/video0: failed to log status +14:37:17.721: Switched to scene 'JustWebcam' +14:37:17.721: ------------------------------------------------ +14:37:17.721: Loaded scenes: +14:37:17.721: - scene 'Screen': +14:37:17.721: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +14:37:17.721: - source: 'Webcam' (v4l2_input) +14:37:17.721: - scene 'JustWebcam': +14:37:17.721: - source: 'Webcam' (v4l2_input) +14:37:17.721: - scene 'Octocat Hello': +14:37:17.721: - source: 'Colour Source' (color_source_v3) +14:37:17.721: - source: 'Image' (image_source) +14:37:17.721: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +14:37:17.722: ------------------------------------------------ +14:37:17.783: [pipewire] Screencast session created +14:37:18.034: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +14:37:18.034: +14:37:19.308: [pipewire] Asking for desktop +14:37:19.309: [pipewire] desktop selected, setting up screencast +14:37:19.317: [pipewire] Server version: 1.0.1 +14:37:19.317: [pipewire] Library version: 1.0.1 +14:37:19.317: [pipewire] Header version: 1.0.0 +14:37:19.318: [pipewire] Created stream 0x596e05f8b5e0 +14:37:19.318: [pipewire] Stream 0x596e05f8b5e0 state: "connecting" (error: none) +14:37:19.318: [pipewire] Playing stream 0x596e05f8b5e0 +14:37:19.318: [pipewire] Stream 0x596e05f8b5e0 state: "paused" (error: none) +14:37:19.323: [pipewire] Negotiated format: +14:37:19.323: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:37:19.323: [pipewire] Modifier: 0x0 +14:37:19.323: [pipewire] Size: 1920x1080 +14:37:19.323: [pipewire] Framerate: 0/1 +14:37:19.329: [pipewire] Negotiated format: +14:37:19.329: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:37:19.329: [pipewire] Modifier: 0x100000000000004 +14:37:19.329: [pipewire] Size: 1920x1080 +14:37:19.329: [pipewire] Framerate: 0/1 +14:37:19.391: [pipewire] Stream 0x596e05f8b5e0 state: "streaming" (error: none) +14:37:19.397: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +14:37:19.397: [pipewire] Renegotiating stream +14:37:19.397: [pipewire] Negotiated format: +14:37:19.397: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:37:19.397: [pipewire] Modifier: 0x100000000000004 +14:37:19.397: [pipewire] Size: 1920x1080 +14:37:19.397: [pipewire] Framerate: 0/1 +14:37:19.401: [pipewire] Negotiated format: +14:37:19.401: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:37:19.401: [pipewire] Modifier: 0x100000000000002 +14:37:19.401: [pipewire] Size: 1920x1080 +14:37:19.401: [pipewire] Framerate: 0/1 +14:37:19.913: User switched to scene 'Screen' +14:37:21.339: User switched to scene 'JustWebcam' +14:37:21.669: [pipewire] Stream 0x596e05f8b5e0 state: "paused" (error: none) +14:37:21.960: User switched to scene 'Octocat Hello' +14:37:22.513: User switched to scene 'JustWebcam' +14:37:51.649: User switched to scene 'Screen' +14:37:51.672: [pipewire] Stream 0x596e05f8b5e0 state: "streaming" (error: none) +14:42:08.575: User switched to scene 'JustWebcam' +14:42:08.903: [pipewire] Stream 0x596e05f8b5e0 state: "paused" (error: none) +14:46:31.036: Virtual camera started +14:46:31.067: ==== Virtual Camera Start ========================================== +14:46:31.068: Starting Virtual Camera output to Program +14:46:31.071: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +14:48:53.436: v4l2-input: /dev/video0: select timed out +14:48:53.436: v4l2-input: /dev/video0: failed to log status +14:48:53.660: v4l2-input: /dev/video0: select timed out +14:48:53.660: v4l2-input: /dev/video0: failed to log status +14:48:56.316: v4l2-input: /dev/video0: select timed out +14:48:56.316: v4l2-input: /dev/video0: failed to log status +14:53:37.805: Output 'virtualcam_output': stopping +14:53:37.805: Output 'virtualcam_output': Total frames output: 25605 +14:53:37.805: Output 'virtualcam_output': Total drawn frames: 25486 (25605 attempted) +14:53:37.805: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 119 (0.5%) +14:53:37.807: ==== Virtual Camera Stop =========================================== +14:53:37.808: Virtual camera stopped +14:53:39.234: ==== Shutting down ================================================== +14:53:39.238: [pipewire] Stream 0x596e05f8b5e0 state: "unconnected" (error: none) +14:53:39.242: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +14:53:39.242: pulse-input: Got 39270 packets with 47124000 frames +14:53:39.242: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +14:53:39.242: pulse-input: Got 39267 packets with 47120400 frames +14:53:39.261: v4l2-input: /dev/video0: Stopped capture after 29109 frames +14:53:39.264: All scene data cleared +14:53:39.265: ------------------------------------------------ +14:53:39.333: [Scripting] Total detached callbacks: 0 +14:53:39.333: Freeing OBS context data +14:53:39.353: == Profiler Results ============================= +14:53:39.353: run_program_init: 878.089 ms +14:53:39.353: ┣OBSApp::AppInit: 4.373 ms +14:53:39.353: ┃ ┗OBSApp::InitLocale: 0.861 ms +14:53:39.353: ┗OBSApp::OBSInit: 819.381 ms +14:53:39.353: ┣obs_startup: 3.725 ms +14:53:39.353: ┗OBSBasic::OBSInit: 736.843 ms +14:53:39.353: ┣OBSBasic::InitBasicConfig: 0.139 ms +14:53:39.353: ┣OBSBasic::ResetAudio: 0.875 ms +14:53:39.353: ┣OBSBasic::ResetVideo: 103.324 ms +14:53:39.353: ┃ ┗obs_init_graphics: 95.083 ms +14:53:39.353: ┃ ┗shader compilation: 29.164 ms +14:53:39.353: ┣OBSBasic::InitOBSCallbacks: 0.01 ms +14:53:39.353: ┣OBSBasic::InitHotkeys: 0.051 ms +14:53:39.353: ┣obs_load_all_modules2: 318.686 ms +14:53:39.353: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +14:53:39.353: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms +14:53:39.353: ┃ ┣obs_init_module(decklink.so): 0.156 ms +14:53:39.353: ┃ ┣obs_init_module(frontend-tools.so): 78.905 ms +14:53:39.353: ┃ ┣obs_init_module(image-source.so): 0.009 ms +14:53:39.353: ┃ ┣obs_init_module(linux-alsa.so): 0.003 ms +14:53:39.353: ┃ ┣obs_init_module(linux-capture.so): 0 ms +14:53:39.353: ┃ ┣obs_init_module(linux-jack.so): 0.003 ms +14:53:39.353: ┃ ┣obs_init_module(linux-pipewire.so): 14.58 ms +14:53:39.353: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.004 ms +14:53:39.353: ┃ ┣obs_init_module(linux-v4l2.so): 0.035 ms +14:53:39.353: ┃ ┣obs_init_module(obs-ffmpeg.so): 0.958 ms +14:53:39.353: ┃ ┃ ┗nvenc_check: 0.388 ms +14:53:39.353: ┃ ┣obs_init_module(obs-filters.so): 0.045 ms +14:53:39.353: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +14:53:39.353: ┃ ┣obs_init_module(obs-outputs.so): 0.006 ms +14:53:39.353: ┃ ┣obs_init_module(obs-qsv11.so): 0.141 ms +14:53:39.353: ┃ ┣obs_init_module(obs-transitions.so): 0.009 ms +14:53:39.353: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms +14:53:39.353: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms +14:53:39.353: ┃ ┣obs_init_module(rtmp-services.so): 1.519 ms +14:53:39.353: ┃ ┗obs_init_module(text-freetype2.so): 0.032 ms +14:53:39.353: ┣OBSBasic::InitService: 0.897 ms +14:53:39.353: ┣OBSBasic::ResetOutputs: 0.175 ms +14:53:39.353: ┣OBSBasic::CreateHotkeys: 0.023 ms +14:53:39.353: ┣OBSBasic::InitPrimitives: 0.067 ms +14:53:39.353: ┗OBSBasic::Load: 266.494 ms +14:53:39.353: obs_hotkey_thread(25 ms): min=0 ms, median=0.001 ms, max=0.182 ms, 99th percentile=0.004 ms, 100% below 25 ms +14:53:39.353: audio_thread(Audio): min=0.011 ms, median=0.096 ms, max=42.321 ms, 99th percentile=0.565 ms +14:53:39.353: obs_graphics_thread(16.6667 ms): min=0.038 ms, median=0.749 ms, max=225.937 ms, 99th percentile=13.455 ms, 99.2772% below 16.667 ms +14:53:39.353: ┣tick_sources: min=0 ms, median=0.016 ms, max=225.745 ms, 99th percentile=0.093 ms +14:53:39.353: ┣output_frame: min=0.012 ms, median=0.52 ms, max=48.705 ms, 99th percentile=10.084 ms +14:53:39.353: ┃ ┣gs_context(video->graphics): min=0.012 ms, median=0.316 ms, max=48.007 ms, 99th percentile=9.572 ms +14:53:39.353: ┃ ┃ ┣render_video: min=0.008 ms, median=0.152 ms, max=47.529 ms, 99th percentile=1.941 ms +14:53:39.353: ┃ ┃ ┃ ┣render_main_texture: min=0.008 ms, median=0.113 ms, max=47.364 ms, 99th percentile=1.795 ms +14:53:39.353: ┃ ┃ ┃ ┣render_output_texture: min=0.01 ms, median=0.018 ms, max=0.556 ms, 99th percentile=0.119 ms, 0.433467 calls per parent call +14:53:39.353: ┃ ┃ ┃ ┣render_convert_texture: min=0.012 ms, median=0.019 ms, max=4.483 ms, 99th percentile=0.106 ms, 0.433467 calls per parent call +14:53:39.353: ┃ ┃ ┃ ┗stage_output_texture: min=0.007 ms, median=0.013 ms, max=0.54 ms, 99th percentile=0.077 ms, 0.433467 calls per parent call +14:53:39.353: ┃ ┃ ┣gs_flush: min=0.002 ms, median=0.083 ms, max=3.314 ms, 99th percentile=0.417 ms +14:53:39.353: ┃ ┃ ┗download_frame: min=0 ms, median=0.057 ms, max=46.942 ms, 99th percentile=13.567 ms, 0.433467 calls per parent call +14:53:39.353: ┃ ┗output_video_data: min=0.1 ms, median=0.26 ms, max=6.195 ms, 99th percentile=0.744 ms, 0.43345 calls per parent call +14:53:39.353: ┗render_displays: min=0.001 ms, median=0.159 ms, max=28.992 ms, 99th percentile=2.957 ms +14:53:39.353: video_thread(video): min=1.364 ms, median=1.833 ms, max=19.123 ms, 99th percentile=4.996 ms +14:53:39.353: ================================================= +14:53:39.353: == Profiler Time Between Calls ================== +14:53:39.353: obs_hotkey_thread(25 ms): min=25.014 ms, median=25.092 ms, max=29.698 ms, 99.9055% within ±2% of 25 ms (0% lower, 0.0945324% higher) +14:53:39.353: obs_graphics_thread(16.6667 ms): min=3.723 ms, median=16.667 ms, max=225.942 ms, 98.8044% within ±2% of 16.667 ms (0.416688% lower, 0.778951% higher) +14:53:39.353: ================================================= +14:53:39.381: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-25 14-53-45.txt b/.config/obs-studio/logs/2024-01-25 14-53-45.txt new file mode 100644 index 0000000..7cb359c --- /dev/null +++ b/.config/obs-studio/logs/2024-01-25 14-53-45.txt @@ -0,0 +1,247 @@ +14:53:45.036: Platform: Wayland +14:53:45.036: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +14:53:45.036: CPU Speed: 3054.532MHz +14:53:45.036: Physical Cores: 4, Logical Cores: 8 +14:53:45.036: Physical Memory: 7723MB Total, 1386MB Free +14:53:45.036: Kernel Version: Linux 6.7.1-arch1-1 +14:53:45.036: Distribution: "Arch Linux" Unknown +14:53:45.036: Desktop Environment: Hyprland +14:53:45.036: Session Type: wayland +14:53:45.040: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +14:53:45.040: Portable mode: false +14:53:45.117: OBS 30.0.2-1 (linux) +14:53:45.117: --------------------------------- +14:53:45.117: --------------------------------- +14:53:45.117: audio settings reset: +14:53:45.117: samples per sec: 48000 +14:53:45.117: speakers: 2 +14:53:45.117: max buffering: 960 milliseconds +14:53:45.117: buffering type: dynamically increasing +14:53:45.119: --------------------------------- +14:53:45.119: Initializing OpenGL... +14:53:45.119: Using EGL/Wayland +14:53:45.167: Initialized EGL 1.5 +14:53:45.183: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +14:53:45.183: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +14:53:45.213: --------------------------------- +14:53:45.213: video settings reset: +14:53:45.213: base resolution: 1920x1080 +14:53:45.213: output resolution: 1280x720 +14:53:45.213: downscale filter: Bicubic +14:53:45.213: fps: 60/1 +14:53:45.213: format: NV12 +14:53:45.213: YUV mode: Rec. 709/Partial +14:53:45.214: NV12 texture support not available +14:53:45.214: P010 texture support not available +14:53:45.221: Audio monitoring device: +14:53:45.221: name: Default +14:53:45.221: id: default +14:53:45.222: --------------------------------- +14:53:45.230: Failed to load 'en-US' text for module: 'decklink-captions.so' +14:53:45.238: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +14:53:45.246: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +14:53:45.246: Failed to initialize module 'decklink.so' +14:53:45.395: [pipewire] Available captures: +14:53:45.395: [pipewire] - Desktop capture +14:53:45.395: [pipewire] - Window capture +14:53:45.459: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:53:45.459: VAAPI: Failed to initialize display in vaapi_device_h264_supported +14:53:45.459: FFmpeg VAAPI H264 encoding not supported +14:53:45.459: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:53:45.459: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +14:53:45.459: FFmpeg VAAPI HEVC encoding not supported +14:53:45.549: --------------------------------- +14:53:45.549: Loaded Modules: +14:53:45.549: text-freetype2.so +14:53:45.549: rtmp-services.so +14:53:45.549: obs-x264.so +14:53:45.549: obs-vst.so +14:53:45.549: obs-transitions.so +14:53:45.549: obs-qsv11.so +14:53:45.549: obs-outputs.so +14:53:45.549: obs-libfdk.so +14:53:45.549: obs-filters.so +14:53:45.549: obs-ffmpeg.so +14:53:45.549: linux-v4l2.so +14:53:45.549: linux-pulseaudio.so +14:53:45.549: linux-pipewire.so +14:53:45.549: linux-jack.so +14:53:45.549: linux-capture.so +14:53:45.549: linux-alsa.so +14:53:45.549: image-source.so +14:53:45.549: frontend-tools.so +14:53:45.549: decklink-output-ui.so +14:53:45.549: decklink-captions.so +14:53:45.549: --------------------------------- +14:53:45.550: QWidget::setTabOrder: 'first' and 'second' must be in the same window +14:53:45.550: ==== Startup complete =============================================== +14:53:45.591: All scene data cleared +14:53:45.591: ------------------------------------------------ +14:53:45.595: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:53:45.595: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:53:45.595: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:53:45.595: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +14:53:45.595: [Loaded global audio device]: 'Desktop Audio' +14:53:45.595: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +14:53:45.596: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +14:53:45.596: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +14:53:45.596: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +14:53:45.596: [Loaded global audio device]: 'Mic/Aux' +14:53:45.596: v4l2-input: Start capture from /dev/video0 +14:53:45.597: v4l2-input: Input: 0 +14:53:45.621: v4l2-input: Resolution: 1280x720 +14:53:45.621: v4l2-input: Pixelformat: MJPG +14:53:45.621: v4l2-input: Linesize: 0 Bytes +14:53:45.621: v4l2-input: Framerate: 30.00 fps +14:53:45.624: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods) +14:53:45.625: PipeWire initialized +14:53:45.794: v4l2-input: /dev/video0: select timed out +14:53:45.794: v4l2-input: /dev/video0: failed to log status +14:53:45.808: Switched to scene 'JustWebcam' +14:53:45.808: ------------------------------------------------ +14:53:45.808: Loaded scenes: +14:53:45.808: - scene 'Screen': +14:53:45.808: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +14:53:45.808: - source: 'Webcam' (v4l2_input) +14:53:45.808: - scene 'JustWebcam': +14:53:45.808: - source: 'Webcam' (v4l2_input) +14:53:45.808: - scene 'Octocat Hello': +14:53:45.808: - source: 'Colour Source' (color_source_v3) +14:53:45.808: - source: 'Image' (image_source) +14:53:45.808: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +14:53:45.808: ------------------------------------------------ +14:53:45.864: [pipewire] Screencast session created +14:53:46.142: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +14:53:46.142: +14:53:47.438: [pipewire] Asking for desktop +14:53:47.441: [pipewire] desktop selected, setting up screencast +14:53:47.450: [pipewire] Server version: 1.0.1 +14:53:47.450: [pipewire] Library version: 1.0.1 +14:53:47.450: [pipewire] Header version: 1.0.0 +14:53:47.450: [pipewire] Created stream 0x5a75beab6fa0 +14:53:47.450: [pipewire] Stream 0x5a75beab6fa0 state: "connecting" (error: none) +14:53:47.450: [pipewire] Playing stream 0x5a75beab6fa0 +14:53:47.451: [pipewire] Stream 0x5a75beab6fa0 state: "paused" (error: none) +14:53:47.452: [pipewire] Negotiated format: +14:53:47.452: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:53:47.452: [pipewire] Modifier: 0x0 +14:53:47.452: [pipewire] Size: 1920x1080 +14:53:47.452: [pipewire] Framerate: 0/1 +14:53:47.456: [pipewire] Negotiated format: +14:53:47.456: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:53:47.456: [pipewire] Modifier: 0x100000000000004 +14:53:47.456: [pipewire] Size: 1920x1080 +14:53:47.456: [pipewire] Framerate: 0/1 +14:53:47.490: [pipewire] Stream 0x5a75beab6fa0 state: "streaming" (error: none) +14:53:47.503: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +14:53:47.503: [pipewire] Renegotiating stream +14:53:47.504: [pipewire] Negotiated format: +14:53:47.504: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:53:47.504: [pipewire] Modifier: 0x100000000000004 +14:53:47.504: [pipewire] Size: 1920x1080 +14:53:47.504: [pipewire] Framerate: 0/1 +14:53:47.508: [pipewire] Negotiated format: +14:53:47.508: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +14:53:47.508: [pipewire] Modifier: 0x100000000000002 +14:53:47.508: [pipewire] Size: 1920x1080 +14:53:47.508: [pipewire] Framerate: 0/1 +14:59:21.330: Virtual camera started +14:59:21.366: ==== Virtual Camera Start ========================================== +14:59:21.366: Starting Virtual Camera output to Program +14:59:21.368: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +15:01:56.088: User switched to scene 'Screen' +15:02:13.371: User switched to scene 'JustWebcam' +15:02:13.689: [pipewire] Stream 0x5a75beab6fa0 state: "paused" (error: none) +15:02:23.689: User switched to scene 'Screen' +15:02:23.730: [pipewire] Stream 0x5a75beab6fa0 state: "streaming" (error: none) +15:02:25.892: User switched to scene 'JustWebcam' +15:02:26.243: [pipewire] Stream 0x5a75beab6fa0 state: "paused" (error: none) +15:10:26.077: User switched to scene 'Screen' +15:10:26.135: [pipewire] Stream 0x5a75beab6fa0 state: "streaming" (error: none) +15:15:29.027: User switched to scene 'JustWebcam' +15:15:29.355: [pipewire] Stream 0x5a75beab6fa0 state: "paused" (error: none) +15:16:17.303: User switched to scene 'Screen' +15:16:17.347: [pipewire] Stream 0x5a75beab6fa0 state: "streaming" (error: none) +15:17:06.738: User switched to scene 'JustWebcam' +15:17:07.067: [pipewire] Stream 0x5a75beab6fa0 state: "paused" (error: none) +16:10:04.593: Output 'virtualcam_output': stopping +16:10:04.608: Output 'virtualcam_output': Total frames output: 254595 +16:10:04.608: Output 'virtualcam_output': Total drawn frames: 242944 (254594 attempted) +16:10:04.608: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 11650 (4.6%) +16:10:04.609: ==== Virtual Camera Stop =========================================== +16:10:04.611: Virtual camera stopped +16:10:05.033: ==== Shutting down ================================================== +16:10:05.041: [pipewire] Stream 0x5a75beab6fa0 state: "unconnected" (error: none) +16:10:05.045: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +16:10:05.045: pulse-input: Got 183177 packets with 219812400 frames +16:10:05.045: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +16:10:05.045: pulse-input: Got 183175 packets with 219810000 frames +16:10:05.079: v4l2-input: /dev/video0: Stopped capture after 136853 frames +16:10:05.084: All scene data cleared +16:10:05.084: ------------------------------------------------ +16:10:05.146: [Scripting] Total detached callbacks: 0 +16:10:05.146: Freeing OBS context data +16:10:05.175: == Profiler Results ============================= +16:10:05.175: run_program_init: 857.097 ms +16:10:05.175: ┣OBSApp::AppInit: 4.35 ms +16:10:05.175: ┃ ┗OBSApp::InitLocale: 0.816 ms +16:10:05.175: ┗OBSApp::OBSInit: 812.794 ms +16:10:05.175: ┣obs_startup: 3.587 ms +16:10:05.175: ┗OBSBasic::OBSInit: 731.663 ms +16:10:05.175: ┣OBSBasic::InitBasicConfig: 0.098 ms +16:10:05.175: ┣OBSBasic::ResetAudio: 0.534 ms +16:10:05.175: ┣OBSBasic::ResetVideo: 103.594 ms +16:10:05.175: ┃ ┗obs_init_graphics: 95.145 ms +16:10:05.175: ┃ ┗shader compilation: 29.802 ms +16:10:05.175: ┣OBSBasic::InitOBSCallbacks: 0.008 ms +16:10:05.175: ┣OBSBasic::InitHotkeys: 0.044 ms +16:10:05.175: ┣obs_load_all_modules2: 327.412 ms +16:10:05.175: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +16:10:05.175: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms +16:10:05.175: ┃ ┣obs_init_module(decklink.so): 0.103 ms +16:10:05.175: ┃ ┣obs_init_module(frontend-tools.so): 78.934 ms +16:10:05.175: ┃ ┣obs_init_module(image-source.so): 0.008 ms +16:10:05.175: ┃ ┣obs_init_module(linux-alsa.so): 0.002 ms +16:10:05.175: ┃ ┣obs_init_module(linux-capture.so): 0 ms +16:10:05.175: ┃ ┣obs_init_module(linux-jack.so): 0.002 ms +16:10:05.175: ┃ ┣obs_init_module(linux-pipewire.so): 14.635 ms +16:10:05.175: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.004 ms +16:10:05.175: ┃ ┣obs_init_module(linux-v4l2.so): 0.034 ms +16:10:05.175: ┃ ┣obs_init_module(obs-ffmpeg.so): 0.961 ms +16:10:05.175: ┃ ┃ ┗nvenc_check: 0.392 ms +16:10:05.175: ┃ ┣obs_init_module(obs-filters.so): 0.04 ms +16:10:05.175: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +16:10:05.175: ┃ ┣obs_init_module(obs-outputs.so): 0.004 ms +16:10:05.175: ┃ ┣obs_init_module(obs-qsv11.so): 0.101 ms +16:10:05.175: ┃ ┣obs_init_module(obs-transitions.so): 0.009 ms +16:10:05.175: ┃ ┣obs_init_module(obs-vst.so): 0.004 ms +16:10:05.175: ┃ ┣obs_init_module(obs-x264.so): 0.001 ms +16:10:05.175: ┃ ┣obs_init_module(rtmp-services.so): 1.56 ms +16:10:05.175: ┃ ┗obs_init_module(text-freetype2.so): 0.012 ms +16:10:05.175: ┣OBSBasic::InitService: 0.852 ms +16:10:05.175: ┣OBSBasic::ResetOutputs: 0.145 ms +16:10:05.175: ┣OBSBasic::CreateHotkeys: 0.022 ms +16:10:05.175: ┣OBSBasic::InitPrimitives: 0.063 ms +16:10:05.175: ┗OBSBasic::Load: 257.225 ms +16:10:05.175: obs_hotkey_thread(25 ms): min=0 ms, median=0.002 ms, max=0.992 ms, 99th percentile=0.008 ms, 100% below 25 ms +16:10:05.175: audio_thread(Audio): min=0.011 ms, median=0.22 ms, max=71.602 ms, 99th percentile=19.8 ms +16:10:05.175: obs_graphics_thread(16.6667 ms): min=0.023 ms, median=2.351 ms, max=206.642 ms, 99th percentile=32.463 ms, 86.2372% below 16.667 ms +16:10:05.175: ┣tick_sources: min=0 ms, median=0.028 ms, max=206.557 ms, 99th percentile=0.157 ms +16:10:05.175: ┣output_frame: min=0.006 ms, median=1.525 ms, max=77.343 ms, 99th percentile=30.914 ms +16:10:05.176: ┃ ┣gs_context(video->graphics): min=0.005 ms, median=1.094 ms, max=76.838 ms, 99th percentile=30.165 ms +16:10:05.176: ┃ ┃ ┣render_video: min=0.003 ms, median=0.639 ms, max=76.175 ms, 99th percentile=27.637 ms +16:10:05.176: ┃ ┃ ┃ ┣render_main_texture: min=0.003 ms, median=0.499 ms, max=75.852 ms, 99th percentile=27.362 ms +16:10:05.176: ┃ ┃ ┃ ┣render_output_texture: min=0.009 ms, median=0.034 ms, max=17.699 ms, 99th percentile=0.377 ms, 0.923296 calls per parent call +16:10:05.176: ┃ ┃ ┃ ┣render_convert_texture: min=0.012 ms, median=0.038 ms, max=14.75 ms, 99th percentile=0.351 ms, 0.923296 calls per parent call +16:10:05.176: ┃ ┃ ┃ ┗stage_output_texture: min=0.007 ms, median=0.026 ms, max=9.008 ms, 99th percentile=0.21 ms, 0.923296 calls per parent call +16:10:05.176: ┃ ┃ ┣gs_flush: min=0.001 ms, median=0.14 ms, max=16.353 ms, 99th percentile=0.798 ms +16:10:05.176: ┃ ┃ ┗download_frame: min=0 ms, median=0.13 ms, max=62.907 ms, 99th percentile=25.612 ms, 0.923296 calls per parent call +16:10:05.176: ┃ ┗output_video_data: min=0.094 ms, median=0.414 ms, max=20.48 ms, 99th percentile=1.822 ms, 0.923293 calls per parent call +16:10:05.176: ┗render_displays: min=0.001 ms, median=0.505 ms, max=63.087 ms, 99th percentile=7.974 ms +16:10:05.176: video_thread(video): min=1.367 ms, median=3.884 ms, max=67.508 ms, 99th percentile=14.085 ms +16:10:05.176: ================================================= +16:10:05.176: == Profiler Time Between Calls ================== +16:10:05.176: obs_hotkey_thread(25 ms): min=25.019 ms, median=25.116 ms, max=42.436 ms, 96.2967% within ±2% of 25 ms (0% lower, 3.70326% higher) +16:10:05.176: obs_graphics_thread(16.6667 ms): min=2.674 ms, median=16.67 ms, max=206.645 ms, 78.3688% within ±2% of 16.667 ms (7.01063% lower, 14.6206% higher) +16:10:05.176: ================================================= +16:10:05.369: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-29 17-28-57.txt b/.config/obs-studio/logs/2024-01-29 17-28-57.txt new file mode 100644 index 0000000..ec6d1b3 --- /dev/null +++ b/.config/obs-studio/logs/2024-01-29 17-28-57.txt @@ -0,0 +1,236 @@ +17:28:57.830: Platform: Wayland +17:28:57.830: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +17:28:57.830: CPU Speed: 2810.554MHz +17:28:57.830: Physical Cores: 4, Logical Cores: 8 +17:28:57.830: Physical Memory: 7723MB Total, 1274MB Free +17:28:57.830: Kernel Version: Linux 6.7.1-arch1-1 +17:28:57.830: Distribution: "Arch Linux" Unknown +17:28:57.830: Desktop Environment: Hyprland +17:28:57.830: Session Type: wayland +17:28:57.834: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +17:28:57.834: Portable mode: false +17:28:57.919: OBS 30.0.2-1 (linux) +17:28:57.919: --------------------------------- +17:28:57.919: --------------------------------- +17:28:57.920: audio settings reset: +17:28:57.920: samples per sec: 48000 +17:28:57.920: speakers: 2 +17:28:57.920: max buffering: 960 milliseconds +17:28:57.920: buffering type: dynamically increasing +17:28:57.922: --------------------------------- +17:28:57.922: Initializing OpenGL... +17:28:57.922: Using EGL/Wayland +17:28:57.968: Initialized EGL 1.5 +17:28:57.984: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +17:28:57.984: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +17:28:58.019: --------------------------------- +17:28:58.019: video settings reset: +17:28:58.019: base resolution: 1920x1080 +17:28:58.019: output resolution: 1280x720 +17:28:58.019: downscale filter: Bicubic +17:28:58.019: fps: 60/1 +17:28:58.019: format: NV12 +17:28:58.019: YUV mode: Rec. 709/Partial +17:28:58.019: NV12 texture support not available +17:28:58.019: P010 texture support not available +17:28:58.028: Audio monitoring device: +17:28:58.028: name: Default +17:28:58.028: id: default +17:28:58.028: --------------------------------- +17:28:58.035: Failed to load 'en-US' text for module: 'decklink-captions.so' +17:28:58.042: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +17:28:58.049: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +17:28:58.049: Failed to initialize module 'decklink.so' +17:28:58.195: [pipewire] Available captures: +17:28:58.195: [pipewire] - Desktop capture +17:28:58.195: [pipewire] - Window capture +17:28:58.269: VAAPI: Failed to initialize display in vaapi_device_h264_supported +17:28:58.269: VAAPI: Failed to initialize display in vaapi_device_h264_supported +17:28:58.269: FFmpeg VAAPI H264 encoding not supported +17:28:58.269: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +17:28:58.269: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +17:28:58.269: FFmpeg VAAPI HEVC encoding not supported +17:28:58.354: --------------------------------- +17:28:58.354: Loaded Modules: +17:28:58.354: text-freetype2.so +17:28:58.354: rtmp-services.so +17:28:58.354: obs-x264.so +17:28:58.354: obs-vst.so +17:28:58.354: obs-transitions.so +17:28:58.354: obs-qsv11.so +17:28:58.354: obs-outputs.so +17:28:58.354: obs-libfdk.so +17:28:58.354: obs-filters.so +17:28:58.354: obs-ffmpeg.so +17:28:58.354: linux-v4l2.so +17:28:58.354: linux-pulseaudio.so +17:28:58.354: linux-pipewire.so +17:28:58.354: linux-jack.so +17:28:58.354: linux-capture.so +17:28:58.354: linux-alsa.so +17:28:58.354: image-source.so +17:28:58.354: frontend-tools.so +17:28:58.354: decklink-output-ui.so +17:28:58.354: decklink-captions.so +17:28:58.354: --------------------------------- +17:28:58.354: QWidget::setTabOrder: 'first' and 'second' must be in the same window +17:28:58.355: ==== Startup complete =============================================== +17:28:58.394: All scene data cleared +17:28:58.394: ------------------------------------------------ +17:28:58.398: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +17:28:58.398: pulse-input: Audio format: s32le, 48000 Hz, 2 channels +17:28:58.399: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default) +17:28:58.399: [Loaded global audio device]: 'Desktop Audio' +17:28:58.399: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +17:28:58.399: pulse-input: Audio format: s32le, 48000 Hz, 2 channels +17:28:58.399: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default) +17:28:58.399: [Loaded global audio device]: 'Mic/Aux' +17:28:58.400: v4l2-input: Start capture from /dev/video0 +17:28:58.401: v4l2-input: Input: 0 +17:28:58.426: v4l2-input: Resolution: 640x360 +17:28:58.426: v4l2-input: Pixelformat: MJPG +17:28:58.426: v4l2-input: Linesize: 0 Bytes +17:28:58.426: v4l2-input: Framerate: 30.00 fps +17:28:58.430: v4l2-input: /dev/video0: select timeout set to 166666 (5x frame periods) +17:28:58.431: PipeWire initialized +17:28:58.600: v4l2-input: /dev/video0: select timed out +17:28:58.600: v4l2-input: /dev/video0: failed to log status +17:28:58.632: Switched to scene 'JustWebcam' +17:28:58.633: ------------------------------------------------ +17:28:58.633: Loaded scenes: +17:28:58.633: - scene 'Screen': +17:28:58.633: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +17:28:58.633: - source: 'Webcam' (v4l2_input) +17:28:58.633: - scene 'JustWebcam': +17:28:58.633: - source: 'Webcam' (v4l2_input) +17:28:58.633: - scene 'Octocat Hello': +17:28:58.633: - source: 'Colour Source' (color_source_v3) +17:28:58.633: - source: 'Image' (image_source) +17:28:58.633: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +17:28:58.633: ------------------------------------------------ +17:28:58.699: [pipewire] Screencast session created +17:28:58.767: v4l2-input: /dev/video0: select timed out +17:28:58.767: v4l2-input: /dev/video0: failed to log status +17:28:59.030: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +17:28:59.030: +17:29:00.234: [pipewire] Asking for desktop +17:29:00.237: [pipewire] desktop selected, setting up screencast +17:29:00.246: [pipewire] Server version: 1.0.1 +17:29:00.246: [pipewire] Library version: 1.0.1 +17:29:00.246: [pipewire] Header version: 1.0.0 +17:29:00.247: [pipewire] Created stream 0x5b79a0ea2110 +17:29:00.247: [pipewire] Stream 0x5b79a0ea2110 state: "connecting" (error: none) +17:29:00.247: [pipewire] Playing stream 0x5b79a0ea2110 +17:29:00.247: [pipewire] Stream 0x5b79a0ea2110 state: "paused" (error: none) +17:29:00.249: [pipewire] Negotiated format: +17:29:00.250: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +17:29:00.250: [pipewire] Modifier: 0x0 +17:29:00.250: [pipewire] Size: 1920x1080 +17:29:00.250: [pipewire] Framerate: 0/1 +17:29:00.252: [pipewire] Negotiated format: +17:29:00.252: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +17:29:00.252: [pipewire] Modifier: 0x100000000000004 +17:29:00.252: [pipewire] Size: 1920x1080 +17:29:00.252: [pipewire] Framerate: 0/1 +17:29:00.287: [pipewire] Stream 0x5b79a0ea2110 state: "streaming" (error: none) +17:29:00.298: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +17:29:00.298: [pipewire] Renegotiating stream +17:29:00.299: [pipewire] Negotiated format: +17:29:00.299: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +17:29:00.299: [pipewire] Modifier: 0x100000000000004 +17:29:00.299: [pipewire] Size: 1920x1080 +17:29:00.299: [pipewire] Framerate: 0/1 +17:29:00.303: [pipewire] Negotiated format: +17:29:00.303: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +17:29:00.303: [pipewire] Modifier: 0x100000000000002 +17:29:00.303: [pipewire] Size: 1920x1080 +17:29:00.303: [pipewire] Framerate: 0/1 +17:29:07.775: Virtual camera started +17:29:07.828: ==== Virtual Camera Start ========================================== +17:29:07.828: Starting Virtual Camera output to Program +17:29:07.831: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +17:32:27.181: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux) +17:32:27.181: +20:00:28.111: Output 'virtualcam_output': stopping +20:00:28.112: Output 'virtualcam_output': Total frames output: 544819 +20:00:28.112: Output 'virtualcam_output': Total drawn frames: 515687 (544817 attempted) +20:00:28.112: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 29130 (5.3%) +20:00:28.116: Video stopped, number of skipped frames due to encoding lag: 44/544820 (0.0%) +20:00:28.120: ==== Virtual Camera Stop =========================================== +20:00:28.126: Virtual camera stopped +20:00:29.250: ==== Shutting down ================================================== +20:00:29.268: [pipewire] Stream 0x5b79a0ea2110 state: "paused" (error: none) +20:00:29.268: [pipewire] Stream 0x5b79a0ea2110 state: "unconnected" (error: none) +20:00:29.276: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' +20:00:29.276: pulse-input: Got 363624 packets with 436348800 frames +20:00:29.276: pulse-input: Stopped recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' +20:00:29.276: pulse-input: Got 363552 packets with 436262400 frames +20:00:29.301: v4l2-input: /dev/video0: Stopped capture after 271681 frames +20:00:29.316: All scene data cleared +20:00:29.316: ------------------------------------------------ +20:00:29.555: [Scripting] Total detached callbacks: 0 +20:00:29.557: Freeing OBS context data +20:00:29.622: == Profiler Results ============================= +20:00:29.622: run_program_init: 917.557 ms +20:00:29.622: ┣OBSApp::AppInit: 7.258 ms +20:00:29.622: ┃ ┗OBSApp::InitLocale: 2.241 ms +20:00:29.622: ┗OBSApp::OBSInit: 848.113 ms +20:00:29.622: ┣obs_startup: 3.762 ms +20:00:29.622: ┗OBSBasic::OBSInit: 758.469 ms +20:00:29.622: ┣OBSBasic::InitBasicConfig: 0.138 ms +20:00:29.622: ┣OBSBasic::ResetAudio: 0.56 ms +20:00:29.622: ┣OBSBasic::ResetVideo: 107.457 ms +20:00:29.622: ┃ ┗obs_init_graphics: 98.743 ms +20:00:29.622: ┃ ┗shader compilation: 34.25 ms +20:00:29.622: ┣OBSBasic::InitOBSCallbacks: 0.004 ms +20:00:29.622: ┣OBSBasic::InitHotkeys: 0.027 ms +20:00:29.622: ┣obs_load_all_modules2: 326.186 ms +20:00:29.622: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +20:00:29.622: ┃ ┣obs_init_module(decklink-output-ui.so): 0.004 ms +20:00:29.622: ┃ ┣obs_init_module(decklink.so): 0.162 ms +20:00:29.622: ┃ ┣obs_init_module(frontend-tools.so): 80.648 ms +20:00:29.622: ┃ ┣obs_init_module(image-source.so): 0.009 ms +20:00:29.622: ┃ ┣obs_init_module(linux-alsa.so): 0.004 ms +20:00:29.622: ┃ ┣obs_init_module(linux-capture.so): 0 ms +20:00:29.622: ┃ ┣obs_init_module(linux-jack.so): 0.003 ms +20:00:29.622: ┃ ┣obs_init_module(linux-pipewire.so): 15.811 ms +20:00:29.622: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.003 ms +20:00:29.622: ┃ ┣obs_init_module(linux-v4l2.so): 0.032 ms +20:00:29.622: ┃ ┣obs_init_module(obs-ffmpeg.so): 0.878 ms +20:00:29.623: ┃ ┃ ┗nvenc_check: 0.39 ms +20:00:29.623: ┃ ┣obs_init_module(obs-filters.so): 0.031 ms +20:00:29.623: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +20:00:29.623: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms +20:00:29.623: ┃ ┣obs_init_module(obs-qsv11.so): 0.141 ms +20:00:29.623: ┃ ┣obs_init_module(obs-transitions.so): 0.009 ms +20:00:29.623: ┃ ┣obs_init_module(obs-vst.so): 0.006 ms +20:00:29.623: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms +20:00:29.623: ┃ ┣obs_init_module(rtmp-services.so): 2.088 ms +20:00:29.623: ┃ ┗obs_init_module(text-freetype2.so): 0.024 ms +20:00:29.623: ┣OBSBasic::InitService: 1.732 ms +20:00:29.623: ┣OBSBasic::ResetOutputs: 0.226 ms +20:00:29.623: ┣OBSBasic::CreateHotkeys: 0.049 ms +20:00:29.623: ┣OBSBasic::InitPrimitives: 0.083 ms +20:00:29.623: ┗OBSBasic::Load: 276.372 ms +20:00:29.623: obs_hotkey_thread(25 ms): min=0 ms, median=0.002 ms, max=11.84 ms, 99th percentile=0.009 ms, 100% below 25 ms +20:00:29.623: audio_thread(Audio): min=0.011 ms, median=0.284 ms, max=62.781 ms, 99th percentile=17.606 ms +20:00:29.623: obs_graphics_thread(16.6667 ms): min=0.03 ms, median=5.127 ms, max=598.467 ms, 99th percentile=33.97 ms, 80.3576% below 16.667 ms +20:00:29.623: ┣tick_sources: min=0 ms, median=0.05 ms, max=226.343 ms, 99th percentile=0.308 ms +20:00:29.623: ┣output_frame: min=0.01 ms, median=3.05 ms, max=75.683 ms, 99th percentile=31.167 ms +20:00:29.623: ┃ ┣gs_context(video->graphics): min=0.01 ms, median=2.139 ms, max=74.63 ms, 99th percentile=30.307 ms +20:00:29.623: ┃ ┃ ┣render_video: min=0.005 ms, median=0.772 ms, max=73.188 ms, 99th percentile=25.144 ms +20:00:29.623: ┃ ┃ ┃ ┣render_main_texture: min=0.005 ms, median=0.511 ms, max=69.189 ms, 99th percentile=24.751 ms +20:00:29.624: ┃ ┃ ┃ ┣render_output_texture: min=0.01 ms, median=0.05 ms, max=18.432 ms, 99th percentile=0.646 ms +20:00:29.624: ┃ ┃ ┃ ┣render_convert_texture: min=0.013 ms, median=0.057 ms, max=16.111 ms, 99th percentile=0.592 ms +20:00:29.624: ┃ ┃ ┃ ┗stage_output_texture: min=0.008 ms, median=0.04 ms, max=30.634 ms, 99th percentile=0.334 ms +20:00:29.624: ┃ ┃ ┣gs_flush: min=0.002 ms, median=0.214 ms, max=29.451 ms, 99th percentile=1.262 ms +20:00:29.624: ┃ ┃ ┗download_frame: min=0 ms, median=0.26 ms, max=64.476 ms, 99th percentile=26.112 ms +20:00:29.624: ┃ ┗output_video_data: min=0.001 ms, median=0.528 ms, max=28.688 ms, 99th percentile=3.407 ms +20:00:29.624: ┗render_displays: min=0.001 ms, median=1.104 ms, max=597.138 ms, 99th percentile=12.39 ms +20:00:29.624: video_thread(video): min=1.353 ms, median=4.989 ms, max=238.381 ms, 99th percentile=18.912 ms +20:00:29.624: ================================================= +20:00:29.624: == Profiler Time Between Calls ================== +20:00:29.624: obs_hotkey_thread(25 ms): min=25.012 ms, median=25.125 ms, max=44.896 ms, 92.134% within ±2% of 25 ms (0% lower, 7.86601% higher) +20:00:29.624: obs_graphics_thread(16.6667 ms): min=1.895 ms, median=16.673 ms, max=598.507 ms, 65.1216% within ±2% of 16.667 ms (12.4968% lower, 22.3816% higher) +20:00:29.624: ================================================= +20:00:29.961: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-01-31 09-27-08.txt b/.config/obs-studio/logs/2024-01-31 09-27-08.txt new file mode 100644 index 0000000..5d5f942 --- /dev/null +++ b/.config/obs-studio/logs/2024-01-31 09-27-08.txt @@ -0,0 +1,251 @@ +09:27:08.676: Platform: Wayland +09:27:08.676: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +09:27:08.676: CPU Speed: 3299.823MHz +09:27:08.676: Physical Cores: 4, Logical Cores: 8 +09:27:08.676: Physical Memory: 7723MB Total, 290MB Free +09:27:08.676: Kernel Version: Linux 6.7.1-arch1-1 +09:27:08.676: Distribution: "Arch Linux" Unknown +09:27:08.676: Desktop Environment: Hyprland +09:27:08.676: Session Type: wayland +09:27:08.680: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +09:27:08.680: Portable mode: false +09:27:08.784: OBS 30.0.2-1 (linux) +09:27:08.784: --------------------------------- +09:27:08.785: --------------------------------- +09:27:08.785: audio settings reset: +09:27:08.785: samples per sec: 48000 +09:27:08.785: speakers: 2 +09:27:08.785: max buffering: 960 milliseconds +09:27:08.785: buffering type: dynamically increasing +09:27:08.788: --------------------------------- +09:27:08.788: Initializing OpenGL... +09:27:08.788: Using EGL/Wayland +09:27:08.849: Initialized EGL 1.5 +09:27:08.866: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +09:27:08.866: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-arch1.1, shading language 4.60 +09:27:08.904: --------------------------------- +09:27:08.904: video settings reset: +09:27:08.904: base resolution: 1920x1080 +09:27:08.904: output resolution: 1280x720 +09:27:08.904: downscale filter: Bicubic +09:27:08.904: fps: 60/1 +09:27:08.904: format: NV12 +09:27:08.904: YUV mode: Rec. 709/Partial +09:27:08.904: NV12 texture support not available +09:27:08.904: P010 texture support not available +09:27:08.913: Audio monitoring device: +09:27:08.913: name: Default +09:27:08.913: id: default +09:27:08.913: --------------------------------- +09:27:08.922: Failed to load 'en-US' text for module: 'decklink-captions.so' +09:27:08.931: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +09:27:08.939: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +09:27:08.939: Failed to initialize module 'decklink.so' +09:27:09.132: [pipewire] Available captures: +09:27:09.132: [pipewire] - Desktop capture +09:27:09.132: [pipewire] - Window capture +09:27:09.216: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:27:09.216: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:27:09.216: FFmpeg VAAPI H264 encoding not supported +09:27:09.216: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:27:09.216: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:27:09.217: FFmpeg VAAPI HEVC encoding not supported +09:27:09.342: --------------------------------- +09:27:09.342: Loaded Modules: +09:27:09.342: text-freetype2.so +09:27:09.342: rtmp-services.so +09:27:09.342: obs-x264.so +09:27:09.342: obs-vst.so +09:27:09.342: obs-transitions.so +09:27:09.342: obs-qsv11.so +09:27:09.342: obs-outputs.so +09:27:09.342: obs-libfdk.so +09:27:09.342: obs-filters.so +09:27:09.342: obs-ffmpeg.so +09:27:09.342: linux-v4l2.so +09:27:09.342: linux-pulseaudio.so +09:27:09.342: linux-pipewire.so +09:27:09.342: linux-jack.so +09:27:09.342: linux-capture.so +09:27:09.342: linux-alsa.so +09:27:09.342: image-source.so +09:27:09.342: frontend-tools.so +09:27:09.342: decklink-output-ui.so +09:27:09.342: decklink-captions.so +09:27:09.342: --------------------------------- +09:27:09.343: QWidget::setTabOrder: 'first' and 'second' must be in the same window +09:27:09.343: ==== Startup complete =============================================== +09:27:09.387: All scene data cleared +09:27:09.387: ------------------------------------------------ +09:27:09.395: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +09:27:09.395: pulse-input: Audio format: s16le, 16000 Hz, 1 channels +09:27:09.395: pulse-input: Started recording from 'bluez_output.94_DB_56_B6_1B_5E.1.monitor' (default) +09:27:09.396: [Loaded global audio device]: 'Desktop Audio' +09:27:09.398: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.1) 15.0.0' +09:27:09.398: pulse-input: Audio format: s16le, 16000 Hz, 1 channels +09:27:09.398: pulse-input: Started recording from 'bluez_input.94_DB_56_B6_1B_5E.0' (default) +09:27:09.398: [Loaded global audio device]: 'Mic/Aux' +09:27:09.399: v4l2-input: Start capture from /dev/video0 +09:27:09.402: v4l2-input: Unable to set input 0 +09:27:09.402: v4l2-input: Initialization failed, errno: Device or resource busy +09:27:09.404: PipeWire initialized +09:27:09.671: Switched to scene 'JustWebcam' +09:27:09.672: ------------------------------------------------ +09:27:09.672: Loaded scenes: +09:27:09.672: - scene 'Screen': +09:27:09.672: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +09:27:09.672: - source: 'Webcam' (v4l2_input) +09:27:09.672: - scene 'JustWebcam': +09:27:09.672: - source: 'Webcam' (v4l2_input) +09:27:09.672: - scene 'Octocat Hello': +09:27:09.672: - source: 'Colour Source' (color_source_v3) +09:27:09.672: - source: 'Image' (image_source) +09:27:09.672: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +09:27:09.672: ------------------------------------------------ +09:27:09.775: [pipewire] Screencast session created +09:27:10.065: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio) +09:27:10.065: +09:27:12.252: [pipewire] Asking for desktop +09:27:12.258: [pipewire] desktop selected, setting up screencast +09:27:12.275: [pipewire] Server version: 1.0.1 +09:27:12.275: [pipewire] Library version: 1.0.1 +09:27:12.275: [pipewire] Header version: 1.0.0 +09:27:12.275: [pipewire] Created stream 0x5eaa89a5b570 +09:27:12.275: [pipewire] Stream 0x5eaa89a5b570 state: "connecting" (error: none) +09:27:12.275: [pipewire] Playing stream 0x5eaa89a5b570 +09:27:12.275: [pipewire] Stream 0x5eaa89a5b570 state: "paused" (error: none) +09:27:12.279: [pipewire] Negotiated format: +09:27:12.279: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:27:12.279: [pipewire] Modifier: 0x0 +09:27:12.279: [pipewire] Size: 1920x1080 +09:27:12.279: [pipewire] Framerate: 0/1 +09:27:12.284: [pipewire] Negotiated format: +09:27:12.284: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:27:12.284: [pipewire] Modifier: 0x100000000000004 +09:27:12.284: [pipewire] Size: 1920x1080 +09:27:12.284: [pipewire] Framerate: 0/1 +09:27:12.314: [pipewire] Stream 0x5eaa89a5b570 state: "streaming" (error: none) +09:27:12.993: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +09:27:12.993: [pipewire] Renegotiating stream +09:27:12.994: [pipewire] Negotiated format: +09:27:12.994: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:27:12.994: [pipewire] Modifier: 0x100000000000004 +09:27:12.994: [pipewire] Size: 1920x1080 +09:27:12.994: [pipewire] Framerate: 0/1 +09:27:13.004: [pipewire] Negotiated format: +09:27:13.004: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:27:13.004: [pipewire] Modifier: 0x100000000000002 +09:27:13.004: [pipewire] Size: 1920x1080 +09:27:13.004: [pipewire] Framerate: 0/1 +09:27:16.507: User switched to scene 'Screen' +09:27:18.726: Virtual camera started +09:27:18.761: ==== Virtual Camera Start ========================================== +09:27:18.761: Starting Virtual Camera output to Program +09:27:18.768: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +09:43:05.871: v4l2-input: /dev/video1 seems to not support video capture +09:43:05.874: v4l2-input: Found device 'Dummy video device (0x0000)' at /dev/video2 +09:43:05.876: v4l2-input: Found device 'HP Wide Vision HD Camera: HP Wi' at /dev/video0 +09:43:05.878: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +09:43:05.883: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +09:43:05.885: v4l2-input: Pixelformat: Motion-JPEG (available) +09:43:05.886: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +09:43:05.886: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +09:43:05.886: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +09:43:05.886: v4l2-input: Pixelformat: YU12 (Emulated) (available) +09:43:05.886: v4l2-input: Pixelformat: YV12 (Emulated) (available) +09:43:05.890: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +09:43:05.892: v4l2-input: Found input 'Camera 1' (Index 0) +09:43:05.892: v4l2-controls: setting default for Power Line Frequency to 2 +09:43:05.892: v4l2-controls: setting default for Auto Exposure to 3 +09:43:05.893: v4l2-input: Pixelformat: Motion-JPEG (available) +09:43:05.893: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +09:43:05.893: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +09:43:05.893: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +09:43:05.894: v4l2-input: Pixelformat: YU12 (Emulated) (available) +09:43:05.894: v4l2-input: Pixelformat: YV12 (Emulated) (available) +09:43:05.897: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +09:43:13.557: User switched to scene 'JustWebcam' +09:43:13.896: [pipewire] Stream 0x5eaa89a5b570 state: "paused" (error: none) +09:43:14.873: User switched to scene 'Screen' +09:43:14.879: [pipewire] Stream 0x5eaa89a5b570 state: "streaming" (error: none) +10:06:56.996: Output 'virtualcam_output': stopping +10:06:57.004: Output 'virtualcam_output': Total frames output: 142695 +10:06:57.004: Output 'virtualcam_output': Total drawn frames: 136646 (142695 attempted) +10:06:57.004: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 6049 (4.2%) +10:06:57.005: ==== Virtual Camera Stop =========================================== +10:06:57.007: Virtual camera stopped +10:06:58.976: ==== Shutting down ================================================== +10:06:58.982: pulse-input: Stopped recording from 'bluez_output.94_DB_56_B6_1B_5E.1.monitor' +10:06:58.982: pulse-input: Got 95578 packets with 38231200 frames +10:06:58.982: pulse-input: Stopped recording from 'bluez_input.94_DB_56_B6_1B_5E.0' +10:06:58.982: pulse-input: Got 95539 packets with 38215600 frames +10:06:58.983: [pipewire] Stream 0x5eaa89a5b570 state: "paused" (error: none) +10:06:58.984: [pipewire] Stream 0x5eaa89a5b570 state: "unconnected" (error: none) +10:06:59.018: All scene data cleared +10:06:59.018: ------------------------------------------------ +10:06:59.123: [Scripting] Total detached callbacks: 0 +10:06:59.123: Freeing OBS context data +10:06:59.208: == Profiler Results ============================= +10:06:59.208: run_program_init: 1118.88 ms +10:06:59.208: ┣OBSApp::AppInit: 7.153 ms +10:06:59.208: ┃ ┗OBSApp::InitLocale: 2.098 ms +10:06:59.208: ┗OBSApp::OBSInit: 1064.32 ms +10:06:59.208: ┣obs_startup: 3.964 ms +10:06:59.208: ┗OBSBasic::OBSInit: 955.499 ms +10:06:59.208: ┣OBSBasic::InitBasicConfig: 0.138 ms +10:06:59.208: ┣OBSBasic::ResetAudio: 0.257 ms +10:06:59.208: ┣OBSBasic::ResetVideo: 127.644 ms +10:06:59.208: ┃ ┗obs_init_graphics: 118.939 ms +10:06:59.208: ┃ ┗shader compilation: 37.201 ms +10:06:59.208: ┣OBSBasic::InitOBSCallbacks: 0.008 ms +10:06:59.208: ┣OBSBasic::InitHotkeys: 0.047 ms +10:06:59.208: ┣obs_load_all_modules2: 429.245 ms +10:06:59.208: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +10:06:59.208: ┃ ┣obs_init_module(decklink-output-ui.so): 0.004 ms +10:06:59.208: ┃ ┣obs_init_module(decklink.so): 0.177 ms +10:06:59.208: ┃ ┣obs_init_module(frontend-tools.so): 108.289 ms +10:06:59.208: ┃ ┣obs_init_module(image-source.so): 0.009 ms +10:06:59.208: ┃ ┣obs_init_module(linux-alsa.so): 0.005 ms +10:06:59.208: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms +10:06:59.208: ┃ ┣obs_init_module(linux-jack.so): 0.004 ms +10:06:59.208: ┃ ┣obs_init_module(linux-pipewire.so): 16.256 ms +10:06:59.208: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.01 ms +10:06:59.208: ┃ ┣obs_init_module(linux-v4l2.so): 0.044 ms +10:06:59.208: ┃ ┣obs_init_module(obs-ffmpeg.so): 2.081 ms +10:06:59.208: ┃ ┃ ┗nvenc_check: 0.747 ms +10:06:59.208: ┃ ┣obs_init_module(obs-filters.so): 0.063 ms +10:06:59.208: ┃ ┣obs_init_module(obs-libfdk.so): 0.003 ms +10:06:59.208: ┃ ┣obs_init_module(obs-outputs.so): 0.006 ms +10:06:59.208: ┃ ┣obs_init_module(obs-qsv11.so): 0.138 ms +10:06:59.208: ┃ ┣obs_init_module(obs-transitions.so): 0.011 ms +10:06:59.208: ┃ ┣obs_init_module(obs-vst.so): 0.012 ms +10:06:59.208: ┃ ┣obs_init_module(obs-x264.so): 0.002 ms +10:06:59.208: ┃ ┣obs_init_module(rtmp-services.so): 2.734 ms +10:06:59.208: ┃ ┗obs_init_module(text-freetype2.so): 0.021 ms +10:06:59.208: ┣OBSBasic::InitService: 1.288 ms +10:06:59.208: ┣OBSBasic::ResetOutputs: 0.193 ms +10:06:59.208: ┣OBSBasic::CreateHotkeys: 0.05 ms +10:06:59.208: ┣OBSBasic::InitPrimitives: 0.068 ms +10:06:59.208: ┗OBSBasic::Load: 331.465 ms +10:06:59.208: obs_hotkey_thread(25 ms): min=0 ms, median=0.002 ms, max=1.477 ms, 99th percentile=0.009 ms, 100% below 25 ms +10:06:59.208: audio_thread(Audio): min=0.011 ms, median=0.26 ms, max=22.019 ms, 99th percentile=1.403 ms +10:06:59.209: obs_graphics_thread(16.6667 ms): min=0.025 ms, median=2.484 ms, max=264.599 ms, 99th percentile=36.113 ms, 90.941% below 16.667 ms +10:06:59.209: ┣tick_sources: min=0 ms, median=0.033 ms, max=264.53 ms, 99th percentile=0.222 ms +10:06:59.209: ┣output_frame: min=0.006 ms, median=1.373 ms, max=105.479 ms, 99th percentile=33.259 ms +10:06:59.209: ┃ ┣gs_context(video->graphics): min=0.006 ms, median=0.771 ms, max=104.796 ms, 99th percentile=32.263 ms +10:06:59.209: ┃ ┃ ┣render_video: min=0.003 ms, median=0.405 ms, max=23.834 ms, 99th percentile=2.207 ms +10:06:59.209: ┃ ┃ ┃ ┣render_main_texture: min=0.003 ms, median=0.228 ms, max=23.702 ms, 99th percentile=1.127 ms +10:06:59.209: ┃ ┃ ┃ ┣render_output_texture: min=0.012 ms, median=0.057 ms, max=19.148 ms, 99th percentile=0.448 ms +10:06:59.209: ┃ ┃ ┃ ┣render_convert_texture: min=0.017 ms, median=0.054 ms, max=11.494 ms, 99th percentile=0.369 ms +10:06:59.209: ┃ ┃ ┃ ┗stage_output_texture: min=0.012 ms, median=0.037 ms, max=12.06 ms, 99th percentile=0.227 ms +10:06:59.209: ┃ ┃ ┣gs_flush: min=0.001 ms, median=0.135 ms, max=17.148 ms, 99th percentile=0.921 ms +10:06:59.210: ┃ ┃ ┗download_frame: min=0 ms, median=0.16 ms, max=103.486 ms, 99th percentile=30.71 ms +10:06:59.210: ┃ ┗output_video_data: min=0.134 ms, median=0.549 ms, max=19.767 ms, 99th percentile=2.373 ms +10:06:59.210: ┗render_displays: min=0.001 ms, median=0.973 ms, max=83.086 ms, 99th percentile=7.976 ms +10:06:59.210: video_thread(video): min=1.576 ms, median=4.573 ms, max=82.04 ms, 99th percentile=16.985 ms +10:06:59.210: ================================================= +10:06:59.210: == Profiler Time Between Calls ================== +10:06:59.210: obs_hotkey_thread(25 ms): min=25.022 ms, median=25.124 ms, max=38.465 ms, 96.2349% within ±2% of 25 ms (0% lower, 3.76512% higher) +10:06:59.210: obs_graphics_thread(16.6667 ms): min=1.985 ms, median=16.67 ms, max=264.604 ms, 85.3498% within ±2% of 16.667 ms (4.48658% lower, 10.1636% higher) +10:06:59.210: ================================================= +10:06:59.424: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-02-05 19-28-53.txt b/.config/obs-studio/logs/2024-02-05 19-28-53.txt new file mode 100644 index 0000000..e29be41 --- /dev/null +++ b/.config/obs-studio/logs/2024-02-05 19-28-53.txt @@ -0,0 +1,271 @@ +19:28:53.346: Platform: Wayland +19:28:53.346: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +19:28:53.346: CPU Speed: 3084.182MHz +19:28:53.347: Physical Cores: 4, Logical Cores: 8 +19:28:53.347: Physical Memory: 7723MB Total, 608MB Free +19:28:53.347: Kernel Version: Linux 6.7.3-arch1-2 +19:28:53.347: Distribution: "Arch Linux" Unknown +19:28:53.347: Desktop Environment: Hyprland +19:28:53.347: Session Type: wayland +19:28:53.353: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +19:28:53.353: Portable mode: false +19:28:53.572: OBS 30.0.2-3 (linux) +19:28:53.572: --------------------------------- +19:28:53.575: --------------------------------- +19:28:53.575: audio settings reset: +19:28:53.575: samples per sec: 48000 +19:28:53.575: speakers: 2 +19:28:53.575: max buffering: 960 milliseconds +19:28:53.575: buffering type: dynamically increasing +19:28:53.584: --------------------------------- +19:28:53.585: Initializing OpenGL... +19:28:53.585: Using EGL/Wayland +19:28:53.755: Initialized EGL 1.5 +19:28:53.779: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +19:28:53.779: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.5-arch1.1, shading language 4.60 +19:28:54.037: --------------------------------- +19:28:54.038: video settings reset: +19:28:54.038: base resolution: 1920x1080 +19:28:54.038: output resolution: 1280x720 +19:28:54.038: downscale filter: Bicubic +19:28:54.038: fps: 60/1 +19:28:54.038: format: NV12 +19:28:54.038: YUV mode: Rec. 709/Partial +19:28:54.039: NV12 texture support not available +19:28:54.039: P010 texture support not available +19:28:54.061: Audio monitoring device: +19:28:54.061: name: Default +19:28:54.061: id: default +19:28:54.061: --------------------------------- +19:28:54.082: Failed to load 'en-US' text for module: 'decklink-captions.so' +19:28:54.102: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +19:28:54.120: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +19:28:54.120: Failed to initialize module 'decklink.so' +19:28:54.484: [pipewire] Available captures: +19:28:54.484: [pipewire] - Desktop capture +19:28:54.484: [pipewire] - Window capture +19:28:54.674: VAAPI: Failed to initialize display in vaapi_device_h264_supported +19:28:54.674: VAAPI: Failed to initialize display in vaapi_device_h264_supported +19:28:54.674: FFmpeg VAAPI H264 encoding not supported +19:28:54.675: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +19:28:54.675: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +19:28:54.676: FFmpeg VAAPI HEVC encoding not supported +19:28:54.898: --------------------------------- +19:28:54.898: Loaded Modules: +19:28:54.898: text-freetype2.so +19:28:54.898: rtmp-services.so +19:28:54.898: obs-x264.so +19:28:54.898: obs-webrtc.so +19:28:54.898: obs-vst.so +19:28:54.898: obs-transitions.so +19:28:54.898: obs-qsv11.so +19:28:54.898: obs-outputs.so +19:28:54.898: obs-libfdk.so +19:28:54.898: obs-filters.so +19:28:54.898: obs-ffmpeg.so +19:28:54.898: linux-v4l2.so +19:28:54.898: linux-pulseaudio.so +19:28:54.898: linux-pipewire.so +19:28:54.898: linux-jack.so +19:28:54.898: linux-capture.so +19:28:54.898: linux-alsa.so +19:28:54.898: image-source.so +19:28:54.898: frontend-tools.so +19:28:54.898: decklink-output-ui.so +19:28:54.898: decklink-captions.so +19:28:54.898: --------------------------------- +19:28:54.899: QWidget::setTabOrder: 'first' and 'second' must be in the same window +19:28:54.899: ==== Startup complete =============================================== +19:28:54.970: All scene data cleared +19:28:54.970: ------------------------------------------------ +19:28:54.985: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +19:28:54.986: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +19:28:54.986: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +19:28:54.986: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +19:28:54.986: [Loaded global audio device]: 'Desktop Audio' +19:28:54.986: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +19:28:54.987: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +19:28:54.987: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +19:28:54.987: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +19:28:54.987: [Loaded global audio device]: 'Mic/Aux' +19:28:54.988: v4l2-input: Start capture from /dev/video0 +19:28:54.992: v4l2-input: Unable to set input 0 +19:28:54.992: v4l2-input: Initialization failed, errno: Device or resource busy +19:28:54.995: PipeWire initialized +19:28:55.382: Switched to scene 'Screen' +19:28:55.383: ------------------------------------------------ +19:28:55.384: Loaded scenes: +19:28:55.384: - scene 'Screen': +19:28:55.384: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +19:28:55.384: - source: 'Webcam' (v4l2_input) +19:28:55.384: - scene 'JustWebcam': +19:28:55.384: - source: 'Webcam' (v4l2_input) +19:28:55.384: - scene 'Octocat Hello': +19:28:55.384: - source: 'Colour Source' (color_source_v3) +19:28:55.384: - source: 'Image' (image_source) +19:28:55.384: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +19:28:55.384: ------------------------------------------------ +19:28:55.581: [pipewire] Screencast session created +19:28:55.605: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio) +19:28:55.605: +19:28:57.268: [pipewire] Asking for desktop +19:28:57.299: [pipewire] desktop selected, setting up screencast +19:28:57.349: [pipewire] Server version: 1.0.3 +19:28:57.349: [pipewire] Library version: 1.0.3 +19:28:57.349: [pipewire] Header version: 1.0.1 +19:28:57.357: [pipewire] Created stream 0x6331c10d21b0 +19:28:57.357: [pipewire] Stream 0x6331c10d21b0 state: "connecting" (error: none) +19:28:57.358: [pipewire] Playing stream 0x6331c10d21b0 +19:28:57.360: [pipewire] Stream 0x6331c10d21b0 state: "paused" (error: none) +19:28:57.373: [pipewire] Negotiated format: +19:28:57.373: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +19:28:57.373: [pipewire] Modifier: 0x0 +19:28:57.373: [pipewire] Size: 1920x1080 +19:28:57.373: [pipewire] Framerate: 0/1 +19:28:57.382: [pipewire] Negotiated format: +19:28:57.382: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +19:28:57.382: [pipewire] Modifier: 0x100000000000004 +19:28:57.382: [pipewire] Size: 1920x1080 +19:28:57.382: [pipewire] Framerate: 0/1 +19:28:57.433: [pipewire] Stream 0x6331c10d21b0 state: "streaming" (error: none) +19:28:57.449: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +19:28:57.450: [pipewire] Renegotiating stream +19:28:57.451: [pipewire] Negotiated format: +19:28:57.451: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +19:28:57.451: [pipewire] Modifier: 0x100000000000004 +19:28:57.451: [pipewire] Size: 1920x1080 +19:28:57.451: [pipewire] Framerate: 0/1 +19:28:57.469: [pipewire] Negotiated format: +19:28:57.469: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +19:28:57.469: [pipewire] Modifier: 0x100000000000002 +19:28:57.469: [pipewire] Size: 1920x1080 +19:28:57.469: [pipewire] Framerate: 0/1 +19:28:58.752: User switched to scene 'JustWebcam' +19:28:59.095: [pipewire] Stream 0x6331c10d21b0 state: "paused" (error: none) +19:28:59.637: User switched to scene 'Octocat Hello' +19:29:00.267: User switched to scene 'JustWebcam' +19:29:00.599: User switched to scene 'Screen' +19:29:00.611: [pipewire] Stream 0x6331c10d21b0 state: "streaming" (error: none) +19:29:01.494: User switched to scene 'JustWebcam' +19:29:01.828: [pipewire] Stream 0x6331c10d21b0 state: "paused" (error: none) +19:29:03.686: v4l2-input: /dev/video1 seems to not support video capture +19:29:03.687: v4l2-input: Unable to open /dev/video2 +19:29:03.687: v4l2-input: Found device 'HP Wide Vision HD Camera: HP Wi' at /dev/video0 +19:29:03.688: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:03.691: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:03.692: v4l2-input: Pixelformat: Motion-JPEG (available) +19:29:03.692: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +19:29:03.692: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +19:29:03.692: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +19:29:03.692: v4l2-input: Pixelformat: YU12 (Emulated) (available) +19:29:03.692: v4l2-input: Pixelformat: YV12 (Emulated) (available) +19:29:03.696: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:03.697: v4l2-input: Found input 'Camera 1' (Index 0) +19:29:03.697: v4l2-controls: setting default for Power Line Frequency to 2 +19:29:03.697: v4l2-controls: setting default for Auto Exposure to 3 +19:29:03.698: v4l2-input: Pixelformat: Motion-JPEG (available) +19:29:03.698: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +19:29:03.698: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +19:29:03.698: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +19:29:03.698: v4l2-input: Pixelformat: YU12 (Emulated) (available) +19:29:03.698: v4l2-input: Pixelformat: YV12 (Emulated) (available) +19:29:03.699: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:07.177: v4l2-input: Start capture from /dev/video0 +19:29:07.178: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:07.179: v4l2-input: Unable to set input 0 +19:29:07.179: v4l2-input: Initialization failed, errno: Device or resource busy +19:29:12.664: v4l2-input: /dev/video1 seems to not support video capture +19:29:12.665: v4l2-input: Unable to open /dev/video2 +19:29:12.666: v4l2-input: Found device 'HP Wide Vision HD Camera: HP Wi' at /dev/video0 +19:29:12.667: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:12.669: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:12.672: v4l2-input: Pixelformat: Motion-JPEG (available) +19:29:12.673: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +19:29:12.673: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +19:29:12.673: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +19:29:12.673: v4l2-input: Pixelformat: YU12 (Emulated) (available) +19:29:12.673: v4l2-input: Pixelformat: YV12 (Emulated) (available) +19:29:12.676: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:12.676: v4l2-input: Found input 'Camera 1' (Index 0) +19:29:12.676: v4l2-controls: setting default for Power Line Frequency to 2 +19:29:12.676: v4l2-controls: setting default for Auto Exposure to 3 +19:29:12.678: v4l2-input: Pixelformat: Motion-JPEG (available) +19:29:12.678: v4l2-input: Pixelformat: YUYV 4:2:2 (available) +19:29:12.678: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable) +19:29:12.678: v4l2-input: Pixelformat: BGR3 (Emulated) (available) +19:29:12.678: v4l2-input: Pixelformat: YU12 (Emulated) (available) +19:29:12.678: v4l2-input: Pixelformat: YV12 (Emulated) (available) +19:29:12.681: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:14.693: v4l2-input: Stepwise and Continuous framerates are currently hardcoded +19:29:14.694: v4l2-input: Start capture from /dev/video0 +19:29:14.698: v4l2-input: Unable to set input 0 +19:29:14.698: v4l2-input: Initialization failed, errno: Device or resource busy +19:29:42.340: ==== Shutting down ================================================== +19:29:42.348: [pipewire] Stream 0x6331c10d21b0 state: "unconnected" (error: none) +19:29:42.359: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +19:29:42.359: pulse-input: Got 1891 packets with 2269200 frames +19:29:42.360: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +19:29:42.360: pulse-input: Got 1891 packets with 2269200 frames +19:29:42.398: All scene data cleared +19:29:42.398: ------------------------------------------------ +19:29:42.512: [Scripting] Total detached callbacks: 0 +19:29:42.512: Freeing OBS context data +19:29:42.595: == Profiler Results ============================= +19:29:42.595: run_program_init: 2324.01 ms +19:29:42.595: ┣OBSApp::AppInit: 17.137 ms +19:29:42.595: ┃ ┗OBSApp::InitLocale: 4.919 ms +19:29:42.595: ┗OBSApp::OBSInit: 2164.49 ms +19:29:42.595: ┣obs_startup: 6.454 ms +19:29:42.595: ┗OBSBasic::OBSInit: 1936.32 ms +19:29:42.595: ┣OBSBasic::InitBasicConfig: 0.887 ms +19:29:42.595: ┣OBSBasic::ResetAudio: 2.622 ms +19:29:42.595: ┣OBSBasic::ResetVideo: 483.649 ms +19:29:42.595: ┃ ┗obs_init_graphics: 459.901 ms +19:29:42.595: ┃ ┗shader compilation: 257.814 ms +19:29:42.595: ┣OBSBasic::InitOBSCallbacks: 0.01 ms +19:29:42.595: ┣OBSBasic::InitHotkeys: 0.044 ms +19:29:42.595: ┣obs_load_all_modules2: 836.552 ms +19:29:42.595: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +19:29:42.595: ┃ ┣obs_init_module(decklink-output-ui.so): 0.004 ms +19:29:42.595: ┃ ┣obs_init_module(decklink.so): 0.125 ms +19:29:42.595: ┃ ┣obs_init_module(frontend-tools.so): 165.747 ms +19:29:42.595: ┃ ┣obs_init_module(image-source.so): 0.011 ms +19:29:42.595: ┃ ┣obs_init_module(linux-alsa.so): 0.007 ms +19:29:42.595: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms +19:29:42.595: ┃ ┣obs_init_module(linux-jack.so): 0.006 ms +19:29:42.595: ┃ ┣obs_init_module(linux-pipewire.so): 27.475 ms +19:29:42.595: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.006 ms +19:29:42.595: ┃ ┣obs_init_module(linux-v4l2.so): 0.039 ms +19:29:42.595: ┃ ┣obs_init_module(obs-ffmpeg.so): 6.015 ms +19:29:42.595: ┃ ┃ ┗nvenc_check: 0.649 ms +19:29:42.595: ┃ ┣obs_init_module(obs-filters.so): 0.081 ms +19:29:42.595: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +19:29:42.595: ┃ ┣obs_init_module(obs-outputs.so): 0.005 ms +19:29:42.595: ┃ ┣obs_init_module(obs-qsv11.so): 0.17 ms +19:29:42.595: ┃ ┣obs_init_module(obs-transitions.so): 0.066 ms +19:29:42.595: ┃ ┣obs_init_module(obs-vst.so): 0.005 ms +19:29:42.595: ┃ ┣obs_init_module(obs-webrtc.so): 0.012 ms +19:29:42.595: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms +19:29:42.595: ┃ ┣obs_init_module(rtmp-services.so): 2.287 ms +19:29:42.595: ┃ ┗obs_init_module(text-freetype2.so): 0.044 ms +19:29:42.595: ┣OBSBasic::InitService: 2.283 ms +19:29:42.595: ┣OBSBasic::ResetOutputs: 0.194 ms +19:29:42.595: ┣OBSBasic::CreateHotkeys: 0.043 ms +19:29:42.595: ┣OBSBasic::InitPrimitives: 0.068 ms +19:29:42.595: ┗OBSBasic::Load: 502.66 ms +19:29:42.595: obs_hotkey_thread(25 ms): min=0 ms, median=0.002 ms, max=0.307 ms, 99th percentile=0.01 ms, 100% below 25 ms +19:29:42.595: audio_thread(Audio): min=0.01 ms, median=0.262 ms, max=46.414 ms, 99th percentile=1.207 ms +19:29:42.595: obs_graphics_thread(16.6667 ms): min=0.015 ms, median=1.233 ms, max=403.324 ms, 99th percentile=14.806 ms, 99.3748% below 16.667 ms +19:29:42.595: ┣tick_sources: min=0 ms, median=0.048 ms, max=402.99 ms, 99th percentile=0.221 ms +19:29:42.595: ┣output_frame: min=0.008 ms, median=0.149 ms, max=46.487 ms, 99th percentile=1.622 ms +19:29:42.596: ┃ ┗gs_context(video->graphics): min=0.008 ms, median=0.148 ms, max=46.484 ms, 99th percentile=1.62 ms +19:29:42.596: ┃ ┣render_video: min=0.004 ms, median=0.111 ms, max=45.395 ms, 99th percentile=1.052 ms +19:29:42.596: ┃ ┃ ┗render_main_texture: min=0.003 ms, median=0.095 ms, max=45.367 ms, 99th percentile=0.973 ms +19:29:42.596: ┃ ┗gs_flush: min=0.002 ms, median=0.022 ms, max=1.584 ms, 99th percentile=0.651 ms +19:29:42.596: ┗render_displays: min=0.001 ms, median=0.878 ms, max=30.296 ms, 99th percentile=12.559 ms +19:29:42.596: ================================================= +19:29:42.596: == Profiler Time Between Calls ================== +19:29:42.596: obs_hotkey_thread(25 ms): min=25.046 ms, median=25.119 ms, max=29.239 ms, 95.2772% within ±2% of 25 ms (0% lower, 4.72279% higher) +19:29:42.596: obs_graphics_thread(16.6667 ms): min=5.359 ms, median=16.668 ms, max=403.344 ms, 89.1244% within ±2% of 16.667 ms (5.45518% lower, 5.42043% higher) +19:29:42.596: ================================================= +19:29:42.619: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-02-07 09-35-34.txt b/.config/obs-studio/logs/2024-02-07 09-35-34.txt new file mode 100644 index 0000000..9a83eaf --- /dev/null +++ b/.config/obs-studio/logs/2024-02-07 09-35-34.txt @@ -0,0 +1,239 @@ +09:35:34.330: Platform: Wayland +09:35:34.330: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +09:35:34.330: CPU Speed: 3110.130MHz +09:35:34.330: Physical Cores: 4, Logical Cores: 8 +09:35:34.330: Physical Memory: 7723MB Total, 1492MB Free +09:35:34.330: Kernel Version: Linux 6.7.4-arch1-1 +09:35:34.330: Distribution: "Arch Linux" Unknown +09:35:34.330: Desktop Environment: Hyprland +09:35:34.330: Session Type: wayland +09:35:34.335: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +09:35:34.335: Portable mode: false +09:35:34.475: OBS 30.0.2-3 (linux) +09:35:34.475: --------------------------------- +09:35:34.476: --------------------------------- +09:35:34.476: audio settings reset: +09:35:34.476: samples per sec: 48000 +09:35:34.476: speakers: 2 +09:35:34.476: max buffering: 960 milliseconds +09:35:34.476: buffering type: dynamically increasing +09:35:34.479: --------------------------------- +09:35:34.479: Initializing OpenGL... +09:35:34.479: Using EGL/Wayland +09:35:34.552: Initialized EGL 1.5 +09:35:34.574: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +09:35:34.575: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.5-arch1.1, shading language 4.60 +09:35:34.632: --------------------------------- +09:35:34.632: video settings reset: +09:35:34.632: base resolution: 1920x1080 +09:35:34.632: output resolution: 1280x720 +09:35:34.632: downscale filter: Bicubic +09:35:34.632: fps: 60/1 +09:35:34.632: format: NV12 +09:35:34.632: YUV mode: Rec. 709/Partial +09:35:34.634: NV12 texture support not available +09:35:34.634: P010 texture support not available +09:35:34.648: Audio monitoring device: +09:35:34.648: name: Default +09:35:34.648: id: default +09:35:34.648: --------------------------------- +09:35:34.665: Failed to load 'en-US' text for module: 'decklink-captions.so' +09:35:34.677: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +09:35:34.691: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +09:35:34.691: Failed to initialize module 'decklink.so' +09:35:34.952: [pipewire] Available captures: +09:35:34.952: [pipewire] - Desktop capture +09:35:34.952: [pipewire] - Window capture +09:35:35.089: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:35:35.090: VAAPI: Failed to initialize display in vaapi_device_h264_supported +09:35:35.090: FFmpeg VAAPI H264 encoding not supported +09:35:35.091: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:35:35.092: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +09:35:35.092: FFmpeg VAAPI HEVC encoding not supported +09:35:35.303: --------------------------------- +09:35:35.303: Loaded Modules: +09:35:35.303: text-freetype2.so +09:35:35.303: rtmp-services.so +09:35:35.303: obs-x264.so +09:35:35.303: obs-webrtc.so +09:35:35.303: obs-vst.so +09:35:35.303: obs-transitions.so +09:35:35.303: obs-qsv11.so +09:35:35.303: obs-outputs.so +09:35:35.303: obs-libfdk.so +09:35:35.303: obs-filters.so +09:35:35.303: obs-ffmpeg.so +09:35:35.303: linux-v4l2.so +09:35:35.303: linux-pulseaudio.so +09:35:35.303: linux-pipewire.so +09:35:35.303: linux-jack.so +09:35:35.303: linux-capture.so +09:35:35.303: linux-alsa.so +09:35:35.303: image-source.so +09:35:35.303: frontend-tools.so +09:35:35.303: decklink-output-ui.so +09:35:35.303: decklink-captions.so +09:35:35.303: --------------------------------- +09:35:35.303: QWidget::setTabOrder: 'first' and 'second' must be in the same window +09:35:35.304: ==== Startup complete =============================================== +09:35:35.358: All scene data cleared +09:35:35.358: ------------------------------------------------ +09:35:35.368: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +09:35:35.368: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +09:35:35.368: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +09:35:35.368: pulse-input: Started recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' (default) +09:35:35.368: [Loaded global audio device]: 'Desktop Audio' +09:35:35.368: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +09:35:35.368: pulse-input: Audio format: s24le, 48000 Hz, 2 channels +09:35:35.368: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording +09:35:35.369: pulse-input: Started recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' (default) +09:35:35.369: [Loaded global audio device]: 'Mic/Aux' +09:35:35.369: v4l2-input: Start capture from /dev/video0 +09:35:35.370: v4l2-input: Unable to set input 0 +09:35:35.370: v4l2-input: Initialization failed, errno: Device or resource busy +09:35:35.371: PipeWire initialized +09:35:35.669: Switched to scene 'JustWebcam' +09:35:35.669: ------------------------------------------------ +09:35:35.669: Loaded scenes: +09:35:35.669: - scene 'Screen': +09:35:35.670: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +09:35:35.670: - source: 'Webcam' (v4l2_input) +09:35:35.670: - scene 'JustWebcam': +09:35:35.670: - source: 'Webcam' (v4l2_input) +09:35:35.670: - scene 'Octocat Hello': +09:35:35.670: - source: 'Colour Source' (color_source_v3) +09:35:35.670: - source: 'Image' (image_source) +09:35:35.670: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +09:35:35.670: ------------------------------------------------ +09:35:35.769: [pipewire] Screencast session created +09:35:35.992: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Desktop Audio) +09:35:35.992: +09:35:37.320: [pipewire] Asking for desktop +09:35:37.334: [pipewire] desktop selected, setting up screencast +09:35:37.359: [pipewire] Server version: 1.0.3 +09:35:37.359: [pipewire] Library version: 1.0.3 +09:35:37.359: [pipewire] Header version: 1.0.1 +09:35:37.359: [pipewire] Created stream 0x5c364ba88390 +09:35:37.359: [pipewire] Stream 0x5c364ba88390 state: "connecting" (error: none) +09:35:37.359: [pipewire] Playing stream 0x5c364ba88390 +09:35:37.360: [pipewire] Stream 0x5c364ba88390 state: "paused" (error: none) +09:35:37.367: [pipewire] Negotiated format: +09:35:37.367: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:35:37.367: [pipewire] Modifier: 0x0 +09:35:37.367: [pipewire] Size: 1920x1080 +09:35:37.367: [pipewire] Framerate: 0/1 +09:35:37.370: [pipewire] Negotiated format: +09:35:37.370: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:35:37.370: [pipewire] Modifier: 0x100000000000004 +09:35:37.370: [pipewire] Size: 1920x1080 +09:35:37.370: [pipewire] Framerate: 0/1 +09:35:37.387: [pipewire] Stream 0x5c364ba88390 state: "streaming" (error: none) +09:35:37.459: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +09:35:37.459: [pipewire] Renegotiating stream +09:35:37.460: [pipewire] Negotiated format: +09:35:37.460: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:35:37.460: [pipewire] Modifier: 0x100000000000004 +09:35:37.460: [pipewire] Size: 1920x1080 +09:35:37.460: [pipewire] Framerate: 0/1 +09:35:37.472: [pipewire] Negotiated format: +09:35:37.472: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +09:35:37.472: [pipewire] Modifier: 0x100000000000002 +09:35:37.472: [pipewire] Size: 1920x1080 +09:35:37.472: [pipewire] Framerate: 0/1 +09:35:40.245: User switched to scene 'Screen' +09:43:21.049: Virtual camera started +09:43:21.094: ==== Virtual Camera Start ========================================== +09:43:21.094: Starting Virtual Camera output to Program +09:43:21.098: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +09:55:28.389: Creating a popup with a parent, QWidgetWindow(0x5c3649d2a310, name="OBSBasicWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x5c364b9f4bf0, name="QMenuClassWindow") With some shell surface protocols, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly. Please fix the transient parent of the popup. +09:55:29.235: Creating a popup with a parent, QWidgetWindow(0x5c3649d2a310, name="OBSBasicWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x5c364b9f4bf0, name="QMenuClassWindow") With some shell surface protocols, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly. Please fix the transient parent of the popup. +09:55:34.809: Creating a popup with a parent, QWidgetWindow(0x5c3649d2a310, name="OBSBasicWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x5c364b9f4bf0, name="QMenuClassWindow") With some shell surface protocols, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly. Please fix the transient parent of the popup. +09:55:42.673: [pipewire] Stream 0x5c364ba88390 state: "paused" (error: none) +09:55:43.140: [pipewire] Stream 0x5c364ba88390 state: "streaming" (error: none) +09:59:09.184: [pipewire] Stream 0x5c364ba88390 state: "paused" (error: none) +09:59:09.598: [pipewire] Stream 0x5c364ba88390 state: "streaming" (error: none) +10:01:43.567: [pipewire] Stream 0x5c364ba88390 state: "paused" (error: none) +10:01:43.935: [pipewire] Stream 0x5c364ba88390 state: "streaming" (error: none) +10:25:55.898: Output 'virtualcam_output': stopping +10:25:55.898: Output 'virtualcam_output': Total frames output: 153289 +10:25:55.898: Output 'virtualcam_output': Total drawn frames: 138760 (153290 attempted) +10:25:55.898: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 14530 (9.5%) +10:25:55.902: ==== Virtual Camera Stop =========================================== +10:25:55.907: Video stopped, number of skipped frames due to encoding lag: 2/153290 (0.0%) +10:25:55.907: Virtual camera stopped +10:26:00.477: ==== Shutting down ================================================== +10:26:00.511: pulse-input: Stopped recording from 'alsa_output.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo.monitor' +10:26:00.511: pulse-input: Got 121003 packets with 145203600 frames +10:26:00.511: pulse-input: Stopped recording from 'alsa_input.usb-Synaptics_Hi-Res_Audio_000000000000000000000000-00.analog-stereo' +10:26:00.512: pulse-input: Got 121001 packets with 145201200 frames +10:26:00.514: [pipewire] Stream 0x5c364ba88390 state: "paused" (error: none) +10:26:00.517: [pipewire] Stream 0x5c364ba88390 state: "unconnected" (error: none) +10:26:00.555: All scene data cleared +10:26:00.555: ------------------------------------------------ +10:26:00.663: [Scripting] Total detached callbacks: 0 +10:26:00.663: Freeing OBS context data +10:26:00.720: == Profiler Results ============================= +10:26:00.720: run_program_init: 1488.38 ms +10:26:00.720: ┣OBSApp::AppInit: 10.714 ms +10:26:00.720: ┃ ┗OBSApp::InitLocale: 2.727 ms +10:26:00.720: ┗OBSApp::OBSInit: 1402.35 ms +10:26:00.720: ┣obs_startup: 5.46 ms +10:26:00.720: ┗OBSBasic::OBSInit: 1255.81 ms +10:26:00.720: ┣OBSBasic::InitBasicConfig: 0.171 ms +10:26:00.720: ┣OBSBasic::ResetAudio: 0.615 ms +10:26:00.720: ┣OBSBasic::ResetVideo: 171.251 ms +10:26:00.720: ┃ ┗obs_init_graphics: 155.357 ms +10:26:00.720: ┃ ┗shader compilation: 57.19 ms +10:26:00.720: ┣OBSBasic::InitOBSCallbacks: 0.007 ms +10:26:00.720: ┣OBSBasic::InitHotkeys: 0.038 ms +10:26:00.720: ┣obs_load_all_modules2: 654.472 ms +10:26:00.720: ┃ ┣obs_init_module(decklink-captions.so): 0 ms +10:26:00.720: ┃ ┣obs_init_module(decklink-output-ui.so): 0.005 ms +10:26:00.720: ┃ ┣obs_init_module(decklink.so): 1.071 ms +10:26:00.720: ┃ ┣obs_init_module(frontend-tools.so): 139.878 ms +10:26:00.720: ┃ ┣obs_init_module(image-source.so): 0.01 ms +10:26:00.720: ┃ ┣obs_init_module(linux-alsa.so): 0.006 ms +10:26:00.720: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms +10:26:00.720: ┃ ┣obs_init_module(linux-jack.so): 0.003 ms +10:26:00.720: ┃ ┣obs_init_module(linux-pipewire.so): 15.814 ms +10:26:00.720: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.004 ms +10:26:00.720: ┃ ┣obs_init_module(linux-v4l2.so): 0.051 ms +10:26:00.720: ┃ ┣obs_init_module(obs-ffmpeg.so): 4.86 ms +10:26:00.720: ┃ ┃ ┗nvenc_check: 0.969 ms +10:26:00.720: ┃ ┣obs_init_module(obs-filters.so): 0.045 ms +10:26:00.720: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms +10:26:00.720: ┃ ┣obs_init_module(obs-outputs.so): 0.02 ms +10:26:00.720: ┃ ┣obs_init_module(obs-qsv11.so): 0.272 ms +10:26:00.720: ┃ ┣obs_init_module(obs-transitions.so): 0.01 ms +10:26:00.720: ┃ ┣obs_init_module(obs-vst.so): 0.006 ms +10:26:00.720: ┃ ┣obs_init_module(obs-webrtc.so): 0.009 ms +10:26:00.720: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms +10:26:00.720: ┃ ┣obs_init_module(rtmp-services.so): 4.553 ms +10:26:00.720: ┃ ┗obs_init_module(text-freetype2.so): 0.12 ms +10:26:00.720: ┣OBSBasic::InitService: 1.73 ms +10:26:00.720: ┣OBSBasic::ResetOutputs: 0.46 ms +10:26:00.720: ┣OBSBasic::CreateHotkeys: 0.211 ms +10:26:00.720: ┣OBSBasic::InitPrimitives: 0.109 ms +10:26:00.720: ┗OBSBasic::Load: 365.718 ms +10:26:00.720: obs_hotkey_thread(25 ms): min=0 ms, median=0.003 ms, max=2.876 ms, 99th percentile=0.012 ms, 100% below 25 ms +10:26:00.720: audio_thread(Audio): min=0.014 ms, median=0.356 ms, max=24.263 ms, 99th percentile=1.954 ms +10:26:00.721: obs_graphics_thread(16.6667 ms): min=0.045 ms, median=3.673 ms, max=296.173 ms, 99th percentile=48.799 ms, 84.5641% below 16.667 ms +10:26:00.721: ┣tick_sources: min=0 ms, median=0.054 ms, max=296.07 ms, 99th percentile=0.253 ms +10:26:00.721: ┣output_frame: min=0.012 ms, median=1.863 ms, max=164.632 ms, 99th percentile=40.53 ms +10:26:00.721: ┃ ┣gs_context(video->graphics): min=0.012 ms, median=1.158 ms, max=162.562 ms, 99th percentile=39.522 ms +10:26:00.721: ┃ ┃ ┣render_video: min=0.007 ms, median=0.525 ms, max=62.155 ms, 99th percentile=3.367 ms +10:26:00.722: ┃ ┃ ┃ ┣render_main_texture: min=0.006 ms, median=0.316 ms, max=55.727 ms, 99th percentile=1.682 ms +10:26:00.722: ┃ ┃ ┃ ┣render_output_texture: min=0.013 ms, median=0.083 ms, max=22.987 ms, 99th percentile=0.915 ms, 0.833975 calls per parent call +10:26:00.722: ┃ ┃ ┃ ┣render_convert_texture: min=0.017 ms, median=0.076 ms, max=20.89 ms, 99th percentile=0.63 ms, 0.833975 calls per parent call +10:26:00.722: ┃ ┃ ┃ ┗stage_output_texture: min=0.012 ms, median=0.055 ms, max=15.103 ms, 99th percentile=0.336 ms, 0.833975 calls per parent call +10:26:00.722: ┃ ┃ ┣gs_flush: min=0.003 ms, median=0.225 ms, max=42.699 ms, 99th percentile=1.354 ms +10:26:00.722: ┃ ┃ ┗download_frame: min=0 ms, median=0.295 ms, max=159.904 ms, 99th percentile=40.878 ms, 0.833975 calls per parent call +10:26:00.722: ┃ ┗output_video_data: min=0.004 ms, median=0.686 ms, max=25.056 ms, 99th percentile=3.197 ms, 0.833969 calls per parent call +10:26:00.722: ┗render_displays: min=0.001 ms, median=1.356 ms, max=121.228 ms, 99th percentile=20.664 ms +10:26:00.722: video_thread(video): min=1.487 ms, median=5.517 ms, max=105.8 ms, 99th percentile=26.203 ms +10:26:00.722: ================================================= +10:26:00.722: == Profiler Time Between Calls ================== +10:26:00.722: obs_hotkey_thread(25 ms): min=25.022 ms, median=25.138 ms, max=42.696 ms, 92.6583% within ±2% of 25 ms (0% lower, 7.34172% higher) +10:26:00.722: obs_graphics_thread(16.6667 ms): min=1.036 ms, median=16.673 ms, max=296.178 ms, 73.5131% within ±2% of 16.667 ms (8.7869% lower, 17.7% higher) +10:26:00.722: ================================================= +10:26:00.983: Number of memory leaks: 0 diff --git a/.config/obs-studio/logs/2024-02-14 12-02-36.txt b/.config/obs-studio/logs/2024-02-14 12-02-36.txt new file mode 100644 index 0000000..61a3339 --- /dev/null +++ b/.config/obs-studio/logs/2024-02-14 12-02-36.txt @@ -0,0 +1,228 @@ +12:02:36.825: Platform: Wayland +12:02:36.825: CPU Name: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz +12:02:36.825: CPU Speed: 2575.337MHz +12:02:36.825: Physical Cores: 4, Logical Cores: 8 +12:02:36.825: Physical Memory: 7723MB Total, 809MB Free +12:02:36.825: Kernel Version: Linux 6.7.4-arch1-1 +12:02:36.826: Distribution: "Arch Linux" Unknown +12:02:36.826: Desktop Environment: Hyprland +12:02:36.826: Session Type: wayland +12:02:36.830: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) +12:02:36.830: Portable mode: false +12:02:37.041: OBS 30.0.2-3 (linux) +12:02:37.041: --------------------------------- +12:02:37.042: --------------------------------- +12:02:37.042: audio settings reset: +12:02:37.042: samples per sec: 48000 +12:02:37.042: speakers: 2 +12:02:37.042: max buffering: 960 milliseconds +12:02:37.042: buffering type: dynamically increasing +12:02:37.047: --------------------------------- +12:02:37.047: Initializing OpenGL... +12:02:37.047: Using EGL/Wayland +12:02:37.230: Initialized EGL 1.5 +12:02:37.259: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (ICL GT1) +12:02:37.259: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.5-arch1.1, shading language 4.60 +12:02:37.334: --------------------------------- +12:02:37.335: video settings reset: +12:02:37.335: base resolution: 1920x1080 +12:02:37.335: output resolution: 1280x720 +12:02:37.335: downscale filter: Bicubic +12:02:37.335: fps: 60/1 +12:02:37.335: format: NV12 +12:02:37.335: YUV mode: Rec. 709/Partial +12:02:37.337: NV12 texture support not available +12:02:37.337: P010 texture support not available +12:02:37.354: Audio monitoring device: +12:02:37.354: name: Default +12:02:37.354: id: default +12:02:37.355: --------------------------------- +12:02:37.375: Failed to load 'en-US' text for module: 'decklink-captions.so' +12:02:37.390: Failed to load 'en-US' text for module: 'decklink-output-ui.so' +12:02:37.413: A DeckLink iterator could not be created. The DeckLink drivers may not be installed +12:02:37.413: Failed to initialize module 'decklink.so' +12:02:37.748: [pipewire] Available captures: +12:02:37.749: [pipewire] - Desktop capture +12:02:37.749: [pipewire] - Window capture +12:02:37.925: VAAPI: Failed to initialize display in vaapi_device_h264_supported +12:02:37.926: VAAPI: Failed to initialize display in vaapi_device_h264_supported +12:02:37.926: FFmpeg VAAPI H264 encoding not supported +12:02:37.926: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +12:02:37.926: VAAPI: Failed to initialize display in vaapi_device_hevc_supported +12:02:37.926: FFmpeg VAAPI HEVC encoding not supported +12:02:38.145: --------------------------------- +12:02:38.145: Loaded Modules: +12:02:38.145: text-freetype2.so +12:02:38.145: rtmp-services.so +12:02:38.145: obs-x264.so +12:02:38.145: obs-webrtc.so +12:02:38.145: obs-vst.so +12:02:38.145: obs-transitions.so +12:02:38.145: obs-qsv11.so +12:02:38.145: obs-outputs.so +12:02:38.145: obs-libfdk.so +12:02:38.145: obs-filters.so +12:02:38.145: obs-ffmpeg.so +12:02:38.145: linux-v4l2.so +12:02:38.145: linux-pulseaudio.so +12:02:38.145: linux-pipewire.so +12:02:38.145: linux-jack.so +12:02:38.145: linux-capture.so +12:02:38.145: linux-alsa.so +12:02:38.145: image-source.so +12:02:38.145: frontend-tools.so +12:02:38.145: decklink-output-ui.so +12:02:38.145: decklink-captions.so +12:02:38.145: --------------------------------- +12:02:38.146: QWidget::setTabOrder: 'first' and 'second' must be in the same window +12:02:38.147: ==== Startup complete =============================================== +12:02:38.203: All scene data cleared +12:02:38.203: ------------------------------------------------ +12:02:38.212: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +12:02:38.212: pulse-input: Audio format: s16le, 16000 Hz, 1 channels +12:02:38.212: pulse-input: Started recording from 'bluez_output.94_DB_56_B6_1B_5E.1.monitor' (default) +12:02:38.212: [Loaded global audio device]: 'Desktop Audio' +12:02:38.213: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' +12:02:38.213: pulse-input: Audio format: s16le, 16000 Hz, 1 channels +12:02:38.213: pulse-input: Started recording from 'bluez_input.94_DB_56_B6_1B_5E.0' (default) +12:02:38.213: [Loaded global audio device]: 'Mic/Aux' +12:02:38.213: v4l2-input: Start capture from /dev/video0 +12:02:38.218: v4l2-input: Unable to set input 0 +12:02:38.218: v4l2-input: Initialization failed, errno: Device or resource busy +12:02:38.220: PipeWire initialized +12:02:38.532: Switched to scene 'Screen' +12:02:38.533: ------------------------------------------------ +12:02:38.533: Loaded scenes: +12:02:38.533: - scene 'Screen': +12:02:38.533: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) +12:02:38.533: - source: 'Webcam' (v4l2_input) +12:02:38.533: - scene 'JustWebcam': +12:02:38.533: - source: 'Webcam' (v4l2_input) +12:02:38.533: - scene 'Octocat Hello': +12:02:38.533: - source: 'Colour Source' (color_source_v3) +12:02:38.533: - source: 'Image' (image_source) +12:02:38.533: - source: 'Text (FreeType 2)' (text_ft2_source_v2) +12:02:38.533: ------------------------------------------------ +12:02:38.655: [pipewire] Screencast session created +12:02:38.814: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) +12:02:38.814: +12:02:38.858: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux) +12:02:38.858: +12:02:40.366: [pipewire] Asking for desktop +12:02:40.376: [pipewire] desktop selected, setting up screencast +12:02:40.404: [pipewire] Server version: 1.0.3 +12:02:40.405: [pipewire] Library version: 1.0.3 +12:02:40.405: [pipewire] Header version: 1.0.1 +12:02:40.405: [pipewire] Created stream 0x5a33e78e8490 +12:02:40.405: [pipewire] Stream 0x5a33e78e8490 state: "connecting" (error: none) +12:02:40.406: [pipewire] Playing stream 0x5a33e78e8490 +12:02:40.407: [pipewire] Stream 0x5a33e78e8490 state: "paused" (error: none) +12:02:40.412: [pipewire] Negotiated format: +12:02:40.412: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +12:02:40.412: [pipewire] Modifier: 0x0 +12:02:40.412: [pipewire] Size: 1920x1080 +12:02:40.412: [pipewire] Framerate: 0/1 +12:02:40.420: [pipewire] Negotiated format: +12:02:40.420: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +12:02:40.420: [pipewire] Modifier: 0x100000000000004 +12:02:40.420: [pipewire] Size: 1920x1080 +12:02:40.420: [pipewire] Framerate: 0/1 +12:02:40.466: [pipewire] Stream 0x5a33e78e8490 state: "streaming" (error: none) +12:02:40.869: Cannot create EGLImage: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). +12:02:40.869: [pipewire] Renegotiating stream +12:02:40.869: [pipewire] Negotiated format: +12:02:40.869: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +12:02:40.869: [pipewire] Modifier: 0x100000000000004 +12:02:40.869: [pipewire] Size: 1920x1080 +12:02:40.869: [pipewire] Framerate: 0/1 +12:02:40.876: [pipewire] Negotiated format: +12:02:40.877: [pipewire] Format: 8 (Spa:Enum:VideoFormat:BGRx) +12:02:40.877: [pipewire] Modifier: 0x100000000000002 +12:02:40.877: [pipewire] Size: 1920x1080 +12:02:40.877: [pipewire] Framerate: 0/1 +12:02:43.422: Virtual camera started +12:02:43.483: ==== Virtual Camera Start ========================================== +12:02:43.484: Starting Virtual Camera output to Program +12:02:43.495: Failed to inhibit: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop +12:04:40.168: Output 'virtualcam_output': stopping +12:04:40.168: Output 'virtualcam_output': Total frames output: 7003 +12:04:40.168: Output 'virtualcam_output': Total drawn frames: 6048 (7001 attempted) +12:04:40.168: Output 'virtualcam_output': Number of lagged frames due to rendering lag/stalls: 953 (13.6%) +12:04:40.169: ==== Virtual Camera Stop =========================================== +12:04:40.172: Virtual camera stopped +12:04:41.079: ==== Shutting down ================================================== +12:04:41.091: pulse-input: Stopped recording from 'bluez_output.94_DB_56_B6_1B_5E.1.monitor' +12:04:41.091: pulse-input: Got 4912 packets with 1964800 frames +12:04:41.092: pulse-input: Stopped recording from 'bluez_input.94_DB_56_B6_1B_5E.0' +12:04:41.092: pulse-input: Got 4907 packets with 1962800 frames +12:04:41.094: [pipewire] Stream 0x5a33e78e8490 state: "paused" (error: none) +12:04:41.095: [pipewire] Stream 0x5a33e78e8490 state: "unconnected" (error: none) +12:04:41.144: All scene data cleared +12:04:41.144: ------------------------------------------------ +12:04:41.238: [Scripting] Total detached callbacks: 0 +12:04:41.239: Freeing OBS context data +12:04:41.286: == Profiler Results ============================= +12:04:41.286: run_program_init: 1906.57 ms +12:04:41.286: ┣OBSApp::AppInit: 13.517 ms +12:04:41.286: ┃ ┗OBSApp::InitLocale: 3.898 ms +12:04:41.286: ┗OBSApp::OBSInit: 1793.69 ms +12:04:41.286: ┣obs_startup: 5.05 ms +12:04:41.286: ┗OBSBasic::OBSInit: 1577.02 ms +12:04:41.286: ┣OBSBasic::InitBasicConfig: 0.268 ms +12:04:41.286: ┣OBSBasic::ResetAudio: 1.728 ms +12:04:41.286: ┣OBSBasic::ResetVideo: 310.913 ms +12:04:41.286: ┃ ┗obs_init_graphics: 291.054 ms +12:04:41.286: ┃ ┗shader compilation: 75.132 ms +12:04:41.286: ┣OBSBasic::InitOBSCallbacks: 0.015 ms +12:04:41.286: ┣OBSBasic::InitHotkeys: 0.075 ms +12:04:41.286: ┣obs_load_all_modules2: 790.52 ms +12:04:41.286: ┃ ┣obs_init_module(decklink-captions.so): 0.001 ms +12:04:41.287: ┃ ┣obs_init_module(decklink-output-ui.so): 0.013 ms +12:04:41.287: ┃ ┣obs_init_module(decklink.so): 0.336 ms +12:04:41.287: ┃ ┣obs_init_module(frontend-tools.so): 190.309 ms +12:04:41.287: ┃ ┣obs_init_module(image-source.so): 0.011 ms +12:04:41.287: ┃ ┣obs_init_module(linux-alsa.so): 0.016 ms +12:04:41.287: ┃ ┣obs_init_module(linux-capture.so): 0 ms +12:04:41.287: ┃ ┣obs_init_module(linux-jack.so): 0.005 ms +12:04:41.287: ┃ ┣obs_init_module(linux-pipewire.so): 21.534 ms +12:04:41.287: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.007 ms +12:04:41.287: ┃ ┣obs_init_module(linux-v4l2.so): 0.091 ms +12:04:41.287: ┃ ┣obs_init_module(obs-ffmpeg.so): 4.143 ms +12:04:41.287: ┃ ┃ ┗nvenc_check: 0.551 ms +12:04:41.287: ┃ ┣obs_init_module(obs-filters.so): 0.06 ms +12:04:41.287: ┃ ┣obs_init_module(obs-libfdk.so): 0.004 ms +12:04:41.287: ┃ ┣obs_init_module(obs-outputs.so): 0.023 ms +12:04:41.287: ┃ ┣obs_init_module(obs-qsv11.so): 0.208 ms +12:04:41.287: ┃ ┣obs_init_module(obs-transitions.so): 0.015 ms +12:04:41.287: ┃ ┣obs_init_module(obs-vst.so): 0.007 ms +12:04:41.287: ┃ ┣obs_init_module(obs-webrtc.so): 0.018 ms +12:04:41.287: ┃ ┣obs_init_module(obs-x264.so): 0.003 ms +12:04:41.287: ┃ ┣obs_init_module(rtmp-services.so): 5.322 ms +12:04:41.287: ┃ ┗obs_init_module(text-freetype2.so): 0.023 ms +12:04:41.287: ┣OBSBasic::InitService: 2.451 ms +12:04:41.287: ┣OBSBasic::ResetOutputs: 1.148 ms +12:04:41.287: ┣OBSBasic::CreateHotkeys: 0.083 ms +12:04:41.287: ┣OBSBasic::InitPrimitives: 0.265 ms +12:04:41.287: ┗OBSBasic::Load: 382.359 ms +12:04:41.287: obs_hotkey_thread(25 ms): min=0 ms, median=0.003 ms, max=0.169 ms, 99th percentile=0.01 ms, 100% below 25 ms +12:04:41.287: audio_thread(Audio): min=0.012 ms, median=0.305 ms, max=15.982 ms, 99th percentile=1.569 ms +12:04:41.287: obs_graphics_thread(16.6667 ms): min=0.027 ms, median=3.682 ms, max=319.233 ms, 99th percentile=55.465 ms, 82.8921% below 16.667 ms +12:04:41.287: ┣tick_sources: min=0 ms, median=0.053 ms, max=319.129 ms, 99th percentile=0.251 ms +12:04:41.287: ┣output_frame: min=0.006 ms, median=2.158 ms, max=243.35 ms, 99th percentile=49.37 ms +12:04:41.287: ┃ ┣gs_context(video->graphics): min=0.006 ms, median=1.303 ms, max=242.587 ms, 99th percentile=48.664 ms +12:04:41.287: ┃ ┃ ┣render_video: min=0.003 ms, median=0.531 ms, max=18.798 ms, 99th percentile=3.02 ms +12:04:41.287: ┃ ┃ ┃ ┣render_main_texture: min=0.003 ms, median=0.292 ms, max=9.403 ms, 99th percentile=1.494 ms +12:04:41.287: ┃ ┃ ┃ ┣render_output_texture: min=0.019 ms, median=0.076 ms, max=9.512 ms, 99th percentile=0.698 ms, 0.936832 calls per parent call +12:04:41.287: ┃ ┃ ┃ ┣render_convert_texture: min=0.017 ms, median=0.07 ms, max=15.416 ms, 99th percentile=0.654 ms, 0.936832 calls per parent call +12:04:41.287: ┃ ┃ ┃ ┗stage_output_texture: min=0.015 ms, median=0.052 ms, max=8.211 ms, 99th percentile=0.281 ms, 0.936832 calls per parent call +12:04:41.288: ┃ ┃ ┣gs_flush: min=0.001 ms, median=0.206 ms, max=4.936 ms, 99th percentile=1.129 ms +12:04:41.288: ┃ ┃ ┗download_frame: min=0 ms, median=0.318 ms, max=240.351 ms, 99th percentile=47.836 ms, 0.936832 calls per parent call +12:04:41.288: ┃ ┗output_video_data: min=0.159 ms, median=0.703 ms, max=22.052 ms, 99th percentile=3.071 ms, 0.936678 calls per parent call +12:04:41.288: ┗render_displays: min=0.001 ms, median=1.197 ms, max=135.633 ms, 99th percentile=17.795 ms +12:04:41.288: video_thread(video): min=1.879 ms, median=5.578 ms, max=140.93 ms, 99th percentile=30.134 ms +12:04:41.288: ================================================= +12:04:41.288: == Profiler Time Between Calls ================== +12:04:41.288: obs_hotkey_thread(25 ms): min=25.024 ms, median=25.133 ms, max=33.339 ms, 90.5062% within ±2% of 25 ms (0% lower, 9.4938% higher) +12:04:41.288: obs_graphics_thread(16.6667 ms): min=4.994 ms, median=16.674 ms, max=319.237 ms, 71.7714% within ±2% of 16.667 ms (8.67142% lower, 19.5571% higher) +12:04:41.288: ================================================= +12:04:41.346: Number of memory leaks: 0 diff --git a/.config/obs-studio/plugin_config/rtmp-services/package.json b/.config/obs-studio/plugin_config/rtmp-services/package.json new file mode 100644 index 0000000..1535719 --- /dev/null +++ b/.config/obs-studio/plugin_config/rtmp-services/package.json @@ -0,0 +1 @@ +{"$schema":"schema/package-schema.json","url":"https://obsproject.com/obs2_update/rtmp-services/v5","version":241,"files":[{"name":"services.json","version":241}]} diff --git a/.config/obs-studio/plugin_config/rtmp-services/services.json b/.config/obs-studio/plugin_config/rtmp-services/services.json new file mode 100644 index 0000000..e985277 --- /dev/null +++ b/.config/obs-studio/plugin_config/rtmp-services/services.json @@ -0,0 +1 @@ +{"$schema":"schema/service-schema-v5.json","format_version":5,"services":[{"name":"Twitch","common":true,"stream_key_link":"https://dashboard.twitch.tv/settings/stream","servers":[{"name":"Asia: Hong Kong","url":"rtmp://live-hkg.twitch.tv/app"},{"name":"Asia: Seoul, South Korea","url":"rtmp://live-sel.twitch.tv/app"},{"name":"Asia: Singapore","url":"rtmp://live-sin.twitch.tv/app"},{"name":"Asia: Taipei, Taiwan","url":"rtmp://live-tpe.twitch.tv/app"},{"name":"Asia: Tokyo, Japan","url":"rtmp://live-tyo.twitch.tv/app"},{"name":"Australia: Sydney","url":"rtmp://live-syd.twitch.tv/app"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.twitch.tv/app"},{"name":"EU: Berlin, DE","url":"rtmp://live-ber.twitch.tv/app"},{"name":"Europe: Copenhagen, DK","url":"rtmp://live-cph.twitch.tv/app"},{"name":"EU: Frankfurt, DE","url":"rtmp://live-fra.twitch.tv/app"},{"name":"EU: Helsinki, FI","url":"rtmp://live-hel.twitch.tv/app"},{"name":"EU: Lisbon, Portugal","url":"rtmp://live-lis.twitch.tv/app"},{"name":"EU: London, UK","url":"rtmp://live-lhr.twitch.tv/app"},{"name":"EU: Madrid, Spain","url":"rtmp://live-mad.twitch.tv/app"},{"name":"EU: Marseille, FR","url":"rtmp://live-mrs.twitch.tv/app"},{"name":"EU: Milan, Italy","url":"rtmp://live-mil.twitch.tv/app"},{"name":"EU: Norway, Oslo","url":"rtmp://live-osl.twitch.tv/app"},{"name":"EU: Paris, FR","url":"rtmp://live-cdg.twitch.tv/app"},{"name":"EU: Prague, CZ","url":"rtmp://live-prg.twitch.tv/app"},{"name":"EU: Stockholm, SE","url":"rtmp://live-arn.twitch.tv/app"},{"name":"EU: Vienna, Austria","url":"rtmp://live-vie.twitch.tv/app"},{"name":"EU: Warsaw, Poland","url":"rtmp://live-waw.twitch.tv/app"},{"name":"NA: Mexico City","url":"rtmp://live-qro.twitch.tv/app"},{"name":"NA: Quebec, Canada","url":"rtmp://live-ymq.twitch.tv/app"},{"name":"NA: Toronto, Canada","url":"rtmp://live-yto.twitch.tv/app"},{"name":"South America: Argentina","url":"rtmp://live-eze.twitch.tv/app"},{"name":"South America: Chile","url":"rtmp://live-scl.twitch.tv/app"},{"name":"South America: Lima, Peru","url":"rtmp://live-lim.twitch.tv/app"},{"name":"South America: Medellin, Colombia","url":"rtmp://live-mde.twitch.tv/app"},{"name":"South America: Rio de Janeiro, Brazil","url":"rtmp://live-rio.twitch.tv/app"},{"name":"South America: Sao Paulo, Brazil","url":"rtmp://live-sao.twitch.tv/app"},{"name":"US Central: Dallas, TX","url":"rtmp://live-dfw.twitch.tv/app"},{"name":"US Central: Denver, CO","url":"rtmp://live-den.twitch.tv/app"},{"name":"US Central: Houston, TX","url":"rtmp://live-hou.twitch.tv/app"},{"name":"US Central: Salt Lake City, UT","url":"rtmp://live-slc.twitch.tv/app"},{"name":"US East: Ashburn, VA","url":"rtmp://live-iad.twitch.tv/app"},{"name":"US East: Atlanta, GA","url":"rtmp://live-atl.twitch.tv/app"},{"name":"US East: Chicago","url":"rtmp://live-ord.twitch.tv/app"},{"name":"US East: Miami, FL","url":"rtmp://live-mia.twitch.tv/app"},{"name":"US East: New York, NY","url":"rtmp://live-jfk.twitch.tv/app"},{"name":"US West: Los Angeles, CA","url":"rtmp://live-lax.twitch.tv/app"},{"name":"US West: Phoenix, AZ","url":"rtmp://live-phx.twitch.tv/app"},{"name":"US West: Portland, Oregon","url":"rtmp://live-pdx.twitch.tv/app"},{"name":"US West: San Francisco, CA","url":"rtmp://live-sfo.twitch.tv/app"},{"name":"US West: San Jose, CA","url":"rtmp://live-sjc.twitch.tv/app"},{"name":"US West: Seattle, WA","url":"rtmp://live-sea.twitch.tv/app"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"YouTube - HLS","common":false,"more_info_link":"https://developers.google.com/youtube/v3/live/guides/ingestion-protocol-comparison","stream_key_link":"https://www.youtube.com/live_dashboard","protocol":"HLS","supported video codecs":["h264","hevc"],"servers":[{"name":"Primary YouTube ingest server","url":"https://a.upload.youtube.com/http_upload_hls?cid={stream_key}©=0&file=out.m3u8"},{"name":"Backup YouTube ingest server","url":"https://b.upload.youtube.com/http_upload_hls?cid={stream_key}©=1&file=out.m3u8"}],"recommended":{"keyint":2,"output":"ffmpeg_hls_muxer","max video bitrate":51000,"max audio bitrate":160}},{"name":"YouTube - RTMPS","common":true,"stream_key_link":"https://www.youtube.com/live_dashboard","alt_names":["YouTube / YouTube Gaming","YouTube - RTMP","YouTube - RTMPS (Beta)"],"supported video codecs":["h264","hevc","av1"],"servers":[{"name":"Primary YouTube ingest server","url":"rtmps://a.rtmps.youtube.com:443/live2"},{"name":"Backup YouTube ingest server","url":"rtmps://b.rtmps.youtube.com:443/live2?backup=1"},{"name":"Primary YouTube ingest server (legacy RTMP)","url":"rtmp://a.rtmp.youtube.com/live2"},{"name":"Backup YouTube ingest server (legacy RTMP)","url":"rtmp://b.rtmp.youtube.com/live2?backup=1"}],"recommended":{"keyint":2,"max video bitrate":51000,"max audio bitrate":160}},{"name":"Loola.tv","common":false,"servers":[{"name":"US East: Virginia","url":"rtmp://rtmp.loola.tv/push"},{"name":"EU Central: Germany","url":"rtmp://rtmp-eu.loola.tv/push"},{"name":"South America: Brazil","url":"rtmp://rtmp-sa.loola.tv/push"},{"name":"Asia/Pacific: Singapore","url":"rtmp://rtmp-sg.loola.tv/push"},{"name":"Middle East: Bahrain","url":"rtmp://rtmp-me.loola.tv/push"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":2500,"max audio bitrate":160,"bframes":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Lovecast","servers":[{"name":"Default","url":"rtmp://live-a.lovecastapp.com:5222/app"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":8000,"max audio bitrate":192,"supported resolutions":["1920x1080","1280x720"],"max fps":30},"supported video codecs":["h264"]},{"name":"Luzento.com - RTMP","stream_key_link":"https://cms.luzento.com/dashboard/stream-key?from=OBS","servers":[{"name":"Primary","url":"rtmp://ingest.luzento.com/live"},{"name":"Primary (Test)","url":"rtmp://ingest.luzento.com/test"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":256,"bframes":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Web.TV","servers":[{"name":"Primary","url":"rtmp://live3.origins.web.tv/liveext"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":3500,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"GoodGame.ru","servers":[{"name":"Моscow","url":"rtmp://msk.goodgame.ru:1940/live"}],"supported video codecs":["h264"]},{"name":"Vaughn Live / iNSTAGIB","servers":[{"name":"US: Chicago, IL","url":"rtmp://live-ord.vaughnsoft.net/live"},{"name":"US: Vint Hill, VA","url":"rtmp://live-iad.vaughnsoft.net/live"},{"name":"US: Denver, CO","url":"rtmp://live-den.vaughnsoft.net/live"},{"name":"US: New York, NY","url":"rtmp://live-nyc.vaughnsoft.net/live"},{"name":"US: Miami, FL","url":"rtmp://live-mia.vaughnsoft.net/live"},{"name":"US: Seattle, WA","url":"rtmp://live-sea.vaughnsoft.net/live"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.vaughnsoft.net/live"},{"name":"EU: London, UK","url":"rtmp://live-lhr.vaughnsoft.net/live"}],"recommended":{"keyint":2,"max video bitrate":15000,"max audio bitrate":320},"supported video codecs":["h264"]},{"name":"Breakers.TV","servers":[{"name":"US: Chicago, IL","url":"rtmp://live-ord.vaughnsoft.net/live"},{"name":"US: Vint Hill, VA","url":"rtmp://live-iad.vaughnsoft.net/live"},{"name":"US: Denver, CO","url":"rtmp://live-den.vaughnsoft.net/live"},{"name":"US: New York, NY","url":"rtmp://live-nyc.vaughnsoft.net/live"},{"name":"US: Miami, FL","url":"rtmp://live-mia.vaughnsoft.net/live"},{"name":"US: Seattle, WA","url":"rtmp://live-sea.vaughnsoft.net/live"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-ams.vaughnsoft.net/live"},{"name":"EU: London, UK","url":"rtmp://live-lhr.vaughnsoft.net/live"}],"recommended":{"keyint":2,"max video bitrate":15000,"max audio bitrate":320},"supported video codecs":["h264"]},{"name":"Facebook Live","common":true,"stream_key_link":"https://www.facebook.com/live/producer?ref=OBS","servers":[{"name":"Default","url":"rtmps://rtmp-api.facebook.com:443/rtmp/"}],"recommended":{"keyint":2,"profile":"main","supported resolutions":["1920x1080","1280x720","852x480","640x360"],"bitrate matrix":[{"res":"640x360","fps":30,"max bitrate":1000},{"res":"640x360","fps":60,"max bitrate":1500},{"res":"852x480","fps":30,"max bitrate":2000},{"res":"852x480","fps":60,"max bitrate":3000},{"res":"1280x720","fps":30,"max bitrate":4000},{"res":"1280x720","fps":60,"max bitrate":6000},{"res":"1920x1080","fps":30,"max bitrate":6000},{"res":"1920x1080","fps":60,"max bitrate":9000}],"max fps":60,"max video bitrate":9000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Restream.io","alt_names":["Restream.io - RTMP","Restream.io - FTL"],"common":true,"stream_key_link":"https://restream.io/settings/streaming-setup?from=OBS","servers":[{"name":"Autodetect","url":"rtmp://live.restream.io/live"},{"name":"EU-West (London, GB)","url":"rtmp://london.restream.io/live"},{"name":"EU-West (Amsterdam, NL)","url":"rtmp://amsterdam.restream.io/live"},{"name":"EU-West (Paris, FR)","url":"rtmp://paris.restream.io/live"},{"name":"EU-Central (Frankfurt, DE)","url":"rtmp://frankfurt.restream.io/live"},{"name":"EU-South (Madrid, Spain)","url":"rtmp://madrid.restream.io/live"},{"name":"Turkey (Istanbul)","url":"rtmp://istanbul.restream.io/live"},{"name":"US-West (Seattle, WA)","url":"rtmp://seattle.restream.io/live"},{"name":"US-West (San Jose, CA)","url":"rtmp://sanjose.restream.io/live"},{"name":"US-Central (Dallas, TX)","url":"rtmp://dallas.restream.io/live"},{"name":"US-East (Chicago, IL)","url":"rtmp://chicago.restream.io/live"},{"name":"US-East (New York, NY)","url":"rtmp://newyork.restream.io/live"},{"name":"US-East (Washington, DC)","url":"rtmp://washington.restream.io/live"},{"name":"NA-East (Toronto, Canada)","url":"rtmp://toronto.restream.io/live"},{"name":"SA (Saint Paul, Brazil)","url":"rtmp://saopaulo.restream.io/live"},{"name":"India (Bangalore)","url":"rtmp://bangalore.restream.io/live"},{"name":"Asia (Hong Kong)","url":"rtmp://hongkong.restream.io/live"},{"name":"Asia (Singapore)","url":"rtmp://singapore.restream.io/live"},{"name":"Asia (Seoul, South Korea)","url":"rtmp://seoul.restream.io/live"},{"name":"Asia (Tokyo, Japan)","url":"rtmp://tokyo.restream.io/live"},{"name":"Australia (Sydney)","url":"rtmp://sydney.restream.io/live"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Castr.io","servers":[{"name":"US-East (Chicago, IL)","url":"rtmp://cg.castr.io/static"},{"name":"US-East (New York, NY)","url":"rtmp://ny.castr.io/static"},{"name":"US-East (Miami, FL)","url":"rtmp://mi.castr.io/static"},{"name":"US-West (Seattle, WA)","url":"rtmp://se.castr.io/static"},{"name":"US-West (Los Angeles, CA)","url":"rtmp://la.castr.io/static"},{"name":"US-Central (Dallas, TX)","url":"rtmp://da.castr.io/static"},{"name":"NA-East (Toronto, CA)","url":"rtmp://qc.castr.io/static"},{"name":"SA (Sao Paulo, BR)","url":"rtmp://br.castr.io/static"},{"name":"EU-West (London, UK)","url":"rtmp://uk.castr.io/static"},{"name":"EU-Central (Frankfurt, DE)","url":"rtmp://fr.castr.io/static"},{"name":"Russia (Moscow)","url":"rtmp://ru.castr.io/static"},{"name":"Asia (Singapore)","url":"rtmp://sg.castr.io/static"},{"name":"Asia (India)","url":"rtmp://in.castr.io/static"},{"name":"Australia (Sydney)","url":"rtmp://au.castr.io/static"},{"name":"US Central","url":"rtmp://us-central.castr.io/static"},{"name":"US West","url":"rtmp://us-west.castr.io/static"},{"name":"US East","url":"rtmp://us-east.castr.io/static"},{"name":"US South","url":"rtmp://us-south.castr.io/static"},{"name":"South America","url":"rtmp://south-am.castr.io/static"},{"name":"EU Central","url":"rtmp://eu-central.castr.io/static"},{"name":"Singapore","url":"rtmp://sg-central.castr.io/static"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Boomstream","servers":[{"name":"Default","url":"rtmp://live.boomstream.com/live"}],"supported video codecs":["h264"]},{"name":"Meridix Live Sports Platform","servers":[{"name":"Primary","url":"rtmp://publish.meridix.com/live"}],"recommended":{"max video bitrate":3500},"supported video codecs":["h264"]},{"name":"AfreecaTV","alt_names":["아프리카TV","Afreeca.TV"],"servers":[{"name":"Asia : Korea","url":"rtmp://rtmpmanager-freecat.afreeca.tv/app"},{"name":"North America : US East","url":"rtmp://rtmp-esu.afreecatv.com/app"},{"name":"North America : US West","url":"rtmp://rtmp-wsu.afreecatv.com/app"},{"name":"South America : Brazil","url":"rtmp://rtmp-brz.afreecatv.com/app"},{"name":"Europe : UK","url":"rtmp://rtmp-uk.afreecatv.com/app"},{"name":"Asia : Singapore","url":"rtmp://rtmp-sgp.afreecatv.com/app"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"CAM4","servers":[{"name":"CAM4","url":"rtmp://origin.cam4.com/cam4-origin-live"}],"recommended":{"keyint":1,"profile":"baseline","max video bitrate":3000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"ePlay","servers":[{"name":"ePlay Primary","url":"rtmp://live.eplay.link/origin"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":7500,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Picarto","servers":[{"name":"Autoselect closest server","url":"rtmp://live.us.picarto.tv/golive"},{"name":"Los Angeles, USA","url":"rtmp://live.us-losangeles.picarto.tv/golive"},{"name":"Dallas, USA","url":"rtmp://live.us-dallas.picarto.tv/golive"},{"name":"Miami, USA","url":"rtmp://live.us-miami.picarto.tv/golive"},{"name":"New York, USA","url":"rtmp://live.us-newyork.picarto.tv/golive"},{"name":"Europe","url":"rtmp://live.eu-west1.picarto.tv/golive"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":3500},"supported video codecs":["h264"]},{"name":"Livestream","servers":[{"name":"Primary","url":"rtmp://rtmpin.livestreamingest.com/rtmpin"}],"supported video codecs":["h264"]},{"name":"Uscreen","servers":[{"name":"Default","url":"rtmp://global-live.uscreen.app:5222/app"}],"recommended":{"keyint":2,"max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Stripchat","servers":[{"name":"Auto","url":"rtmp://live.doppiocdn.com/ext"}],"recommended":{"keyint":2,"profile":"main","bframes":0,"max video bitrate":6000,"max audio bitrate":128,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"CamSoda","servers":[{"name":"North America","url":"rtmp://obs-ingest-na.livemediahost.com/cam_obs"},{"name":"South America","url":"rtmp://obs-ingest-sa.livemediahost.com/cam_obs"},{"name":"Asia","url":"rtmp://obs-ingest-as.livemediahost.com/cam_obs"},{"name":"Europe","url":"rtmp://obs-ingest-eu.livemediahost.com/cam_obs"},{"name":"Oceania","url":"rtmp://obs-ingest-oc.livemediahost.com/cam_obs"}],"recommended":{"supported resolutions":["1920x1080","1280x720","852x480","480x360"],"max fps":30,"max video bitrate":6000,"max audio bitrate":160,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Chaturbate","servers":[{"name":"Global Main Fastest - Recommended","url":"rtmp://live.stream.highwebmedia.com/live-origin"},{"name":"Global Backup","url":"rtmp://live-backup.stream.highwebmedia.com/live-origin"},{"name":"US West: Seattle, WA","url":"rtmp://live-sea.stream.highwebmedia.com/live-origin"},{"name":"US West: Phoenix, AZ","url":"rtmp://live-phx.stream.highwebmedia.com/live-origin"},{"name":"US Central: Salt Lake City, UT","url":"rtmp://live-slc.stream.highwebmedia.com/live-origin"},{"name":"US Central: Chicago, IL","url":"rtmp://live-chi.stream.highwebmedia.com/live-origin"},{"name":"US East: Atlanta, GA","url":"rtmp://live-atl.stream.highwebmedia.com/live-origin"},{"name":"US East: Ashburn, VA","url":"rtmp://live-ash.stream.highwebmedia.com/live-origin"},{"name":"South America: Sao Paulo, Brazil","url":"rtmp://live-gru.stream.highwebmedia.com/live-origin"},{"name":"EU: Amsterdam, NL","url":"rtmp://live-nld.stream.highwebmedia.com/live-origin"},{"name":"EU: Alblasserdam, NL","url":"rtmp://live-alb.stream.highwebmedia.com/live-origin"},{"name":"EU: Frankfurt, DE","url":"rtmp://live-fra.stream.highwebmedia.com/live-origin"},{"name":"EU: Belgrade, Serbia","url":"rtmp://live-srb.stream.highwebmedia.com/live-origin"},{"name":"Asia: Singapore","url":"rtmp://live-sin.stream.highwebmedia.com/live-origin"},{"name":"Asia: Tokyo, Japan","url":"rtmp://live-nrt.stream.highwebmedia.com/live-origin"},{"name":"Australia: Sydney","url":"rtmp://live-syd.stream.highwebmedia.com/live-origin"}],"recommended":{"keyint":2,"max video bitrate":50000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"WpStream","more_info_link":"https://wpstream.net/obs-more-info","stream_key_link":"https://wpstream.net/obs-get-stream-key","servers":[{"name":"Closest server - Automatic","url":"rtmp://ingest.wpstream.net/golive"},{"name":"North America","url":"rtmp://ingest-na.wpstream.net/golive"},{"name":"Europe","url":"rtmp://ingest-eu.wpstream.net/golive"},{"name":"Asia","url":"rtmp://ingest-as.wpstream.net/golive"},{"name":"South America","url":"rtmp://ingest-sa.wpstream.net/golive"},{"name":"Australia & Oceania","url":"rtmp://ingest-au.wpstream.net/golive"}],"recommended":{"keyint":2,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Twitter","common":true,"stream_key_link":"https://studio.twitter.com/producer/sources","alt_names":["Twitter / Periscope"],"servers":[{"name":"US West: California","url":"rtmp://ca.pscp.tv:80/x"},{"name":"US West: Oregon","url":"rtmp://or.pscp.tv:80/x"},{"name":"US East: Virginia","url":"rtmp://va.pscp.tv:80/x"},{"name":"South America: Brazil","url":"rtmp://br.pscp.tv:80/x"},{"name":"EU West: France","url":"rtmp://fr.pscp.tv:80/x"},{"name":"EU West: Ireland","url":"rtmp://ie.pscp.tv:80/x"},{"name":"EU Central: Germany","url":"rtmp://de.pscp.tv:80/x"},{"name":"Asia/Pacific: Australia","url":"rtmp://au.pscp.tv:80/x"},{"name":"Asia/Pacific: India","url":"rtmp://in.pscp.tv:80/x"},{"name":"Asia/Pacific: Japan","url":"rtmp://jp.pscp.tv:80/x"},{"name":"Asia/Pacific: Korea","url":"rtmp://kr.pscp.tv:80/x"},{"name":"Asia/Pacific: Singapore","url":"rtmp://sg.pscp.tv:80/x"}],"recommended":{"keyint":3,"max video bitrate":12000,"max audio bitrate":128,"max fps":60},"supported video codecs":["h264"]},{"name":"Switchboard Live","alt_names":["Switchboard Live (Joicaster)"],"servers":[{"name":"Global - Recommended","url":"rtmps://live.sb.zone:443/live"},{"name":"Global - Legacy","url":"rtmp://ingest-global.switchboard.zone/live"}],"recommended":{"keyint":2,"profile":"high"},"supported video codecs":["h264"]},{"name":"Eventials","servers":[{"name":"Default","url":"rtmp://transmission.eventials.com/eventialsLiveOrigin"}],"recommended":{"keyint":1,"profile":"baseline","max video bitrate":900,"max audio bitrate":96},"supported video codecs":["h264"]},{"name":"EventLive.pro","servers":[{"name":"Default","url":"rtmp://go.eventlive.pro/live"}],"recommended":{"keyint":2,"max video bitrate":3000,"max audio bitrate":192,"supported resolutions":["1920x1080","1280x720"],"max fps":30},"supported video codecs":["h264"]},{"name":"Lahzenegar - StreamG | لحظه‌نگار - استریمجی","servers":[{"name":"Primary","url":"rtmp://rtmp.lahzecdn.com/pro"},{"name":"Iran","url":"rtmp://rtmp-iran.lahzecdn.com/pro"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":4000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"MyLive","servers":[{"name":"Default","url":"rtmp://stream.mylive.in.th/live"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":7000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Trovo","alt_names":["Madcat"],"stream_key_link":"https://studio.trovo.live/mychannel/stream","servers":[{"name":"Default","url":"rtmp://livepush.trovo.live/live/"}],"recommended":{"keyint":2,"max video bitrate":9000,"max audio bitrate":160,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"Mixcloud","servers":[{"name":"Default","url":"rtmp://rtmp.mixcloud.com/broadcast"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"supported resolutions":["1280x720","852x480","480x360"],"max fps":30,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"SermonAudio Cloud","alt_names":["SermonAudio.com"],"servers":[{"name":"Primary","url":"rtmp://webcast.sermonaudio.com/sa"}],"recommended":{"max video bitrate":2000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Vimeo","servers":[{"name":"Default","url":"rtmp://rtmp.cloud.vimeo.com/live"}],"supported video codecs":["h264"]},{"name":"Aparat","servers":[{"name":"Default","url":"rtmp://rtmp.cdn.asset.aparat.com:443/event"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"KakaoTV","servers":[{"name":"Default","url":"rtmp://rtmp.play.kakao.com/kakaotv"}],"recommended":{"max video bitrate":8000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Piczel.tv","servers":[{"name":"Default","url":"rtmp://piczel.tv:1935/live"}],"recommended":{"keyint":4,"max video bitrate":2500,"max audio bitrate":256,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"STAGE TEN","servers":[{"name":"STAGE TEN","url":"rtmps://app-rtmp.stageten.tv:443/stageten"}],"recommended":{"keyint":2,"profile":"baseline","max video bitrate":4000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"DLive","servers":[{"name":"Default","url":"rtmp://stream.dlive.tv/live"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Lightcast.com","servers":[{"name":"North America / East","url":"rtmp://us-east.live.lightcast.com/202E1F/default"},{"name":"North America / West","url":"rtmp://us-west.live.lightcast.com/202E1F/default"},{"name":"Europe / Amsterdam","url":"rtmp://europe.live.lightcast.com/202E1F/default"},{"name":"Europe / Frankfurt","url":"rtmp://europe-fra.live.lightcast.com/202E1F/default"},{"name":"Europe / Stockholm","url":"rtmp://europe-sto.live.lightcast.com/202E1F/default"},{"name":"Asia / Hong Kong","url":"rtmp://asia.live.lightcast.com/202E1F/default"},{"name":"Australia / Sydney","url":"rtmp://australia.live.lightcast.com/202E1F/default"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Bongacams","servers":[{"name":"Automatic / Default","url":"rtmp://auto.origin.gnsbc.com:1934/live"},{"name":"Automatic / Backup","url":"rtmp://origin.bcvidorigin.com:1934/live"},{"name":"Europe","url":"rtmp://z-eu.origin.gnsbc.com:1934/live"},{"name":"North America","url":"rtmp://z-us.origin.gnsbc.com:1934/live"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":192,"bframes":0,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"OnlyFans.com","stream_key_link":"https://onlyfans.com/my/settings/other","servers":[{"name":"CloudBeta","url":"rtmp://cloudbetastreaming.onlyfans.com/live"},{"name":"Backup (USA)","url":"rtmp://route0.onlyfans.com/live"},{"name":"Backup (Europe)","url":"rtmp://route0-dc2.onlyfans.com/live"}],"recommended":{"keyint":2,"profile":"main","max video bitrate":2500,"max audio bitrate":192,"bframes":0,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"YouNow","common":false,"protocol":"FTL","servers":[{"name":"younow.com","url":"https://api.younow.com/php/api/broadcast/ingest?id="}],"recommended":{"keyint":2,"output":"ftl_output","max audio bitrate":160,"max video bitrate":7000,"profile":"main","bframes":0}},{"name":"Steam","common":false,"servers":[{"name":"Default","url":"rtmp://ingest-rtmp.broadcast.steamcontent.com/app"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":7000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Konduit.live","servers":[{"name":"Default","url":"rtmp://rtmp.konduit.live/live"}],"recommended":{"keyint":2,"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"LOCO","servers":[{"name":"Default","url":"rtmp://ivory-ingest.getloconow.com:1935/stream"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"niconico, premium member (ニコニコ生放送 プレミアム会員)","servers":[{"name":"Default","url":"rtmp://aliveorigin.dmc.nico/named_input"}],"recommended":{"keyint":2,"profile":"high","max audio bitrate":192,"max video bitrate":5808,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"niconico, free member (ニコニコ生放送 一般会員)","servers":[{"name":"Default","url":"rtmp://aliveorigin.dmc.nico/named_input"}],"recommended":{"keyint":2,"profile":"high","max audio bitrate":96,"max video bitrate":904,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Nimo TV","servers":[{"name":"Global:2","url":"rtmp://txpush.rtmp.nimo.tv/live/"},{"name":"Global:3","url":"rtmp://alpush.rtmp.nimo.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"XLoveCam.com","servers":[{"name":"Europe(main)","url":"rtmp://nl.eu.stream.xlove.com/performer-origin"},{"name":"Europe(Romania)","url":"rtmp://ro.eu.stream.xlove.com/performer-origin"},{"name":"Europe(Russia)","url":"rtmp://ru.eu.stream.xlove.com/performer-origin"},{"name":"North America(US East)","url":"rtmp://usec.na.stream.xlove.com/performer-origin"},{"name":"North America(US West)","url":"rtmp://uswc.na.stream.xlove.com/performer-origin"},{"name":"North America(Canada)","url":"rtmp://ca.na.stream.xlove.com/performer-origin"},{"name":"South America","url":"rtmp://co.sa.stream.xlove.com/performer-origin"},{"name":"Asia","url":"rtmp://sg.as.stream.xlove.com/performer-origin"}],"recommended":{"x264opts":"scenecut=0"},"supported video codecs":["h264"]},{"name":"AngelThump","servers":[{"name":"Auto","url":"rtmp://ingest.angelthump.com/live"},{"name":"New York 3","url":"rtmp://nyc-ingest.angelthump.com:1935/live"},{"name":"San Francisco 2","url":"rtmp://sfo-ingest.angelthump.com:1935/live"},{"name":"Singapore 1","url":"rtmp://sgp-ingest.angelthump.com:1935/live"},{"name":"London 1","url":"rtmp://lon-ingest.angelthump.com:1935/live"},{"name":"Frankfurt 1","url":"rtmp://fra-ingest.angelthump.com:1935/live"},{"name":"Toronto 1","url":"rtmp://tor-ingest.angelthump.com:1935/live"},{"name":"Amsterdam 3","url":"rtmp://ams-ingest.angelthump.com:1935/live"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":3500,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"api.video","servers":[{"name":"Default","url":"rtmp://broadcast.api.video/s"}],"recommended":{"keyint":2,"max video bitrate":20000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"SHOWROOM","protocol":"RTMP","servers":[{"name":"Default","url":"https://www.showroom-live.com/api/obs/streaming_info?obs_key="}],"recommended":{"keyint":2,"profile":"main","max video bitrate":1500,"max audio bitrate":160,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Mux","servers":[{"name":"Global (RTMPS)","url":"rtmps://global-live.mux.com:443/app"},{"name":"Global (RTMP)","url":"rtmp://global-live.mux.com:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Viloud","servers":[{"name":"Default","url":"rtmp://live.viloud.tv:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"MyFreeCams","servers":[{"name":"Automatic","url":"rtmp://publish.myfreecams.com/NxServer"},{"name":"Australia","url":"rtmp://publish-syd.myfreecams.com/NxServer"},{"name":"East Asia","url":"rtmp://publish-tyo.myfreecams.com/NxServer"},{"name":"Europe (East)","url":"rtmp://publish-buh.myfreecams.com/NxServer"},{"name":"Europe (West)","url":"rtmp://publish-ams.myfreecams.com/NxServer"},{"name":"North America (East Coast)","url":"rtmp://publish-ord.myfreecams.com/NxServer"},{"name":"North America (West Coast)","url":"rtmp://publish-tuk.myfreecams.com/NxServer"},{"name":"South America","url":"rtmp://publish-sao.myfreecams.com/NxServer"}],"recommended":{"keyint":1,"profile":"high","max fps":60,"max video bitrate":10000,"max audio bitrate":192,"x264opts":"tune=zerolatency scenecut=0"},"supported video codecs":["h264"]},{"name":"PolyStreamer.com","servers":[{"name":"Auto-select closest server","url":"rtmp://live.polystreamer.com/live"},{"name":"United States - West","url":"rtmp://us-west.live.polystreamer.com/live"},{"name":"United States - East","url":"rtmp://us-east.live.polystreamer.com/live"},{"name":"Australia","url":"rtmp://aus.live.polystreamer.com/live"},{"name":"India","url":"rtmp://ind.live.polystreamer.com/live"},{"name":"Germany","url":"rtmp://deu.live.polystreamer.com/live"},{"name":"Japan","url":"rtmp://jpn.live.polystreamer.com/live"},{"name":"Singapore","url":"rtmp://sgp.live.polystreamer.com/live"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"OPENREC.tv - Premium member (プレミアム会員)","stream_key_link":"https://www.openrec.tv/login?keep_login=true&url=https://www.openrec.tv/dashboard/live?from=obs","servers":[{"name":"Default","url":"rtmp://a.station.openrec.tv:1935/live1"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"nanoStream Cloud / bintu","more_info_link":"https://www.nanocosmos.de/obs","stream_key_link":"https://bintu-cloud-frontend.nanocosmos.de/organisation","servers":[{"name":"bintu-stream global ingest (rtmp)","url":"rtmp://bintu-stream.nanocosmos.de/live"},{"name":"bintu-stream global ingest (rtmps)","url":"rtmps://bintu-stream.nanocosmos.de:1937/live"},{"name":"bintu-vtrans global ingest with transcoding/ABR (rtmp)","url":"rtmp://bintu-vtrans.nanocosmos.de/live"},{"name":"bintu-vtrans global ingest with transcoding/ABR (rtmps)","url":"rtmps://bintu-vtrans.nanocosmos.de:1937/live"},{"name":"bintu-stream Europe (EU)","url":"rtmp://bintu-stream-eu.nanocosmos.de/live"},{"name":"bintu-stream USA West (USW)","url":"rtmp://bintu-stream-usw.nanocosmos.de/live"},{"name":"bintu-stream US East (USE)","url":"rtmp://bintu-stream-use.nanocosmos.de/live"},{"name":"bintu-stream Asia South (ASS)","url":"rtmp://bintu-stream-ass.nanocosmos.de/live"},{"name":"bintu-stream Australia (AU)","url":"rtmp://bintu-stream-au.nanocosmos.de/live"},{"name":"bintu-vtrans Europe (EU)","url":"rtmp://bintu-vtrans-eu.nanocosmos.de/live"},{"name":"bintu-vtrans USA West (USW)","url":"rtmp://bintu-vtrans-usw.nanocosmos.de/live"},{"name":"bintu-vtrans US East (USE)","url":"rtmp://bintu-vtrans-use.nanocosmos.de/live"},{"name":"bintu-vtrans Asia South (ASS)","url":"rtmp://bintu-vtrans-ass.nanocosmos.de/live"},{"name":"bintu-vtrans Australia (AU)","url":"rtmp://bintu-vtrans-au.nanocosmos.de/live"}],"recommended":{"keyint":2,"profile":"baseline","bframes":0,"max video bitrate":5000,"max audio bitrate":192,"x264opts":"tune=zerolatency b-pyramid=0 scenecut=0"},"supported video codecs":["h264"]},{"name":"Dacast","protocol":"RTMP","servers":[{"name":"Default","url":"https://developer.dacast.com/v3/encoder-setup/"}],"recommended":{"keyint":1,"profile":"high","max video bitrate":7000,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"Bilibili Live - RTMP | 哔哩哔哩直播 - RTMP","more_info_link":"https://link.bilibili.com/p/help/index?id=4#/tools-tutorial","stream_key_link":"https://link.bilibili.com/p/center/index#/my-room/start-live","alt_names":["Bilibili Live"],"servers":[{"name":"Global - Primary | 全球 - 主要","url":"rtmp://live-push.bilivideo.com/live-bvc/"},{"name":"Non Chinese Mainland - Primary | 非中国大陆地区 - 主要","url":"rtmp://bdy.live-push.bilivideo.com/live-bvc/"},{"name":"Chinese Mainland - Backup | 中国大陆地区 - 备用","url":"rtmp://txy2.live-push.bilivideo.com/live-bvc/"},{"name":"Non Chinese Mainland - Backup | 非中国大陆地区 - 备用","url":"rtmp://txy.live-push.bilivideo.com/live-bvc/"}],"supported video codecs":["h264"]},{"name":"Volume.com","stream_key_link":"https://volume.com/b?show_key=1&webrtc=0","servers":[{"name":"Default - Recommended","url":"rtmp://live.volume.com/live-origin"},{"name":"US - West","url":"rtmp://live-pdx.volume.com/live-origin"},{"name":"US - East","url":"rtmp://live-ash.volume.com/live-origin"}],"recommended":{"keyint":2,"max video bitrate":20000,"max fps":60},"supported video codecs":["h264"]},{"name":"BoxCast","stream_key_link":"https://dashboard.boxcast.com/#/sources","servers":[{"name":"BoxCast","url":"rtmp://rtmp.boxcast.com/live"}],"supported video codecs":["h264"]},{"name":"Disciple Media","servers":[{"name":"Default","url":"rtmp://rtmp.disciplemedia.com/b-fme"}],"supported video codecs":["h264"]},{"name":"Jio Games","servers":[{"name":"Primary","url":"rtmp://livepub1.api.engageapps.jio/live"},{"name":"Secondary","url":"rtmp://livepub2.api.engageapps.jio/live"}],"recommended":{"keyint":2,"max video bitrate":32000,"max audio bitrate":256},"supported video codecs":["h264"]},{"name":"Kuaishou Live","stream_key_link":"https://studio.kuaishou.com/live/list","servers":[{"name":"Default","url":"rtmp://open-push.voip.yximgs.com/gifshow/"},{"name":"North America","url":"rtmp://tx.push.yximgs.com/live/"}],"supported video codecs":["h264"]},{"name":"Playeur","alt_names":["Utreon"],"servers":[{"name":"Default","url":"rtmp://live.playeur.com:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Autistici.org Live","servers":[{"name":"Default","url":"rtmp://live.autistici.org/ingest"}],"recommended":{"keyint":2,"max video bitrate":2500,"max audio bitrate":128},"supported video codecs":["h264"]},{"name":"PhoneLiveStreaming","stream_key_link":"https://app.phonelivestreaming.com/media/rtmp","servers":[{"name":"PhoneLiveStreaming","url":"rtmp://live.phonelivestreaming.com/live/"}],"recommended":{"keyint":2,"max video bitrate":128,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Sympla","servers":[{"name":"Sympla RTMP","url":"rtmp://rtmp.sympla.com.br:5222/app"}],"recommended":{"keyint":2,"max video bitrate":5000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Mildom","more_info_link":"https://support.mildom.com/hc/ja/articles/360056569954","stream_key_link":"https://www.mildom.com/creator/live","servers":[{"name":"Global","url":"rtmp://txlvb-push.mildom.tv/live"}],"recommended":{"keyint":2,"max video bitrate":6000,"max audio bitrate":160},"supported video codecs":["h264"]},{"name":"Livepush","more_info_link":"https://docs.livepush.io/en/articles/5065323-how-to-stream-live-from-obs-to-livepush","servers":[{"name":"Livepush Global (Default)","url":"rtmp://dc-global.livepush.io/live"},{"name":"Chicago, US","url":"rtmp://us-central-ch.livepush.io/live"},{"name":"New York, US","url":"rtmp://us-east-ny.livepush.io/live"},{"name":"Los Angeles, US","url":"rtmp://us-west-la.livepush.io/live"},{"name":"Miami, US","url":"rtmp://us-south-mia.livepush.io/live"},{"name":"Dallas, US","url":"rtmp://us-central-dal.livepush.io/live"},{"name":"Montreal, CA","url":"rtmp://ca-central-mon.livepush.io/live"},{"name":"Toronto, CA","url":"rtmp://ca-south-tor.livepush.io/live"},{"name":"Sydney, AU","url":"rtmp://au-east-syd.livepush.io/live"},{"name":"London, UK","url":"rtmp://uk-central-ldn.livepush.io/live"},{"name":"Milan, Italy","url":"rtmp://it-north-mln.livepush.io/live"},{"name":"Paris, FR","url":"rtmp://fr-central-par.livepush.io/live"},{"name":"Singapore","url":"rtmp://as-southeast-sg.livepush.io/live"},{"name":"Bangalore, IN","url":"rtmp://in-south-blr.livepush.io/live"}],"recommended":{"keyint":2,"max video bitrate":16000},"supported video codecs":["h264"]},{"name":"Vindral","more_info_link":"https://docs.vindral.com/docs/vindral-cdn/","stream_key_link":"https://portal.cdn.vindral.com/channels","servers":[{"name":"Global","url":"rtmps://rtmp.global.cdn.vindral.com/publish"}],"recommended":{"keyint":1,"profile":"high","bframes":0,"max video bitrate":20000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Whowatch (ふわっち)","more_info_link":"https://whowatch.tv/help/encoder","stream_key_link":"https://whowatch.tv/publish","servers":[{"name":"default","url":"rtmp://live.whowatch.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":1800,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"IRLToolkit","stream_key_link":"https://irl.run/settings/ingest/","servers":[{"name":"Global (Recommended)","url":"rtmps://stream.global.irl.run/ingest"},{"name":"Los Angeles, US","url":"rtmps://stream.lax.irl.run/ingest"},{"name":"Dallas, US","url":"rtmps://stream.dal.irl.run/ingest"},{"name":"New York, US","url":"rtmps://stream.ewr.irl.run/ingest"},{"name":"Miami, US","url":"rtmps://stream.mia.irl.run/ingest"},{"name":"Amsterdam, NL","url":"rtmps://stream.ams.irl.run/ingest"},{"name":"Frankfurt, DE","url":"rtmps://stream.fra.irl.run/ingest"},{"name":"Singapore","url":"rtmps://stream.sin.irl.run/ingest"},{"name":"Tokyo, JP","url":"rtmps://stream.tyo.irl.run/ingest"},{"name":"Sydney, AU","url":"rtmps://stream.syd.irl.run/ingest"}],"recommended":{"keyint":2,"bframes":2,"max video bitrate":20000,"max audio bitrate":256},"supported video codecs":["h264"]},{"name":"Bitmovin","more_info_link":"https://developer.bitmovin.com/docs/overview","stream_key_link":"https://bitmovin.com/dashboard/streams?streamsTab=LIVE","servers":[{"name":"Streams Live","url":"rtmp://live-input.bitmovin.com/streams"}],"recommended":{"keyint":2},"supported video codecs":["h264"]},{"name":"Live Streamer Cafe","more_info_link":"https://livestreamercafe.com/help.php","stream_key_link":"https://livestreamercafe.com/profile.php","servers":[{"name":"Live Streamer Cafe Server","url":"rtmp://tophicles.com/live"}],"recommended":{"keyint":2,"max video bitrate":6000},"supported video codecs":["h264"]},{"name":"Enchant.events","more_info_link":"https://docs.enchant.events/knowledge-base-y4pOb","servers":[{"name":"Primary RTMPS","url":"rtmps://stream.enchant.cloud:443/live"}],"recommended":{"keyint":2,"profile":"high","max video bitrate":9000,"max audio bitrate":192},"supported video codecs":["h264"]},{"name":"Joystick.TV","more_info_link":"https://support.joystick.tv/support/creator-support/setting-up-your-stream/","stream_key_link":"https://joystick.tv/stream-settings","servers":[{"name":"RTMP","url":"rtmp://live.joystick.tv/live/"}],"recommended":{"keyint":2,"max video bitrate":7500,"max audio bitrate":192,"profile":"main","bframes":0,"x264opts":"tune=zerolatency"},"supported video codecs":["h264"]},{"name":"Livepeer Studio","more_info_link":"https://docs.livepeer.org/guides/developing/stream-via-obs","stream_key_link":"https://livepeer.studio/dashboard/streams","servers":[{"name":"Global (RTMP)","url":"rtmp://rtmp.livepeer.com/live"},{"name":"Global (RTMP Primary)","url":"rtmp://rtmp-a.livepeer.com/live"},{"name":"Global (RTMP Backup)","url":"rtmp://rtmp-b.livepeer.com/live"}],"recommended":{"keyint":1,"profile":"high","bframes":0,"max video bitrate":20000,"max audio bitrate":512},"supported video codecs":["h264"]},{"name":"VStream","common":false,"stream_key_link":"https://vstream.com/dashboard/livestreams","more_info_link":"https://vstream.com/help/streaming-with-obs","servers":[{"name":"Global (RTMP)","url":"rtmp://live.vstream.com"}],"recommended":{"keyint":2,"profile":"high","x264opts":"scenecut=0","supported resolutions":["1920x1080","1280x720","852x480"],"bitrate matrix":[{"res":"1920x1080","fps":60,"max bitrate":8000},{"res":"1920x1080","fps":30,"max bitrate":6000},{"res":"1280x720","fps":60,"max bitrate":6000},{"res":"1280x720","fps":30,"max bitrate":4000},{"res":"852x480","fps":60,"max bitrate":3000},{"res":"852x480","fps":30,"max bitrate":2000}],"max fps":60,"max video bitrate":8000,"max audio bitrate":320},"supported video codecs":["h264"]},{"name":"MasterStream.iR | مستراستریم | ری استریم و استریم همزمان","common":false,"more_info_link":"https://masterstream.ir/webpage/page/docs","stream_key_link":"https://masterstream.ir/managestreams.php","servers":[{"name":"Auto (Iran Servers)","url":"rtmp://auto.masterstream.ir/live"},{"name":"Iran Server 1","url":"rtmp://live1.masterstream.ir/live"},{"name":"Iran Server 2","url":"rtmp://live2.masterstream.ir/live"},{"name":"Iran Server 3","url":"rtmp://live3.masterstream.ir/live"},{"name":"Iran Server 4","url":"rtmp://live4.masterstream.ir/live"},{"name":"Iran Server 5","url":"rtmp://live5.masterstream.ir/live"},{"name":"Iran Server 6","url":"rtmp://live6.masterstream.ir/live"},{"name":"Iran Server 7","url":"rtmp://live7.masterstream.ir/live"},{"name":"Turkey Server 1","url":"rtmp://tr-live1.masterstream.ir/live"}],"protocol":"RTMP","supported video codecs":["h264"],"recommended":{"keyint":2,"supported resolutions":["1920x1080","1280x720","852x480","640x360"],"max video bitrate":6000,"max audio bitrate":320,"x264opts":"scenecut=0"}}]} diff --git a/.config/obs-studio/plugin_config/rtmp-services/twitch_ingests.json b/.config/obs-studio/plugin_config/rtmp-services/twitch_ingests.json new file mode 100644 index 0000000..a8d2653 --- /dev/null +++ b/.config/obs-studio/plugin_config/rtmp-services/twitch_ingests.json @@ -0,0 +1,724 @@ +{ + "ingests": [ + { + "_id": 0, + "availability": 1.0, + "default": false, + "name": "NA: Canada, Quebec", + "url_template": "rtmp://ymq03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ymq03.contribute.live-video.net/app/{stream_key}", + "priority": 0 + }, + { + "_id": 1, + "availability": 1.0, + "default": false, + "name": "Asia: India, Hyderabad (1)", + "url_template": "rtmp://hyd01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://hyd01.contribute.live-video.net/app/{stream_key}", + "priority": 1 + }, + { + "_id": 2, + "availability": 1.0, + "default": false, + "name": "Asia: India, Mumbai", + "url_template": "rtmp://bom01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://bom01.contribute.live-video.net/app/{stream_key}", + "priority": 2 + }, + { + "_id": 3, + "availability": 1.0, + "default": false, + "name": "Europe: Finland, Helsinki (3)", + "url_template": "rtmp://hel03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://hel03.contribute.live-video.net/app/{stream_key}", + "priority": 3 + }, + { + "_id": 4, + "availability": 1.0, + "default": false, + "name": "Asia: India, Bangalore (1)", + "url_template": "rtmp://blr01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://blr01.contribute.live-video.net/app/{stream_key}", + "priority": 4 + }, + { + "_id": 5, + "availability": 1.0, + "default": false, + "name": "Asia: India, Chennai", + "url_template": "rtmp://maa01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://maa01.contribute.live-video.net/app/{stream_key}", + "priority": 5 + }, + { + "_id": 6, + "availability": 1.0, + "default": false, + "name": "Europe: Poland, Warsaw (2)", + "url_template": "rtmp://waw02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://waw02.contribute.live-video.net/app/{stream_key}", + "priority": 6 + }, + { + "_id": 7, + "availability": 1.0, + "default": false, + "name": "Europe: Sweden, Stockholm (4)", + "url_template": "rtmp://arn04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://arn04.contribute.live-video.net/app/{stream_key}", + "priority": 7 + }, + { + "_id": 8, + "availability": 1.0, + "default": false, + "name": "Europe: Sweden, Stockholm (3)", + "url_template": "rtmp://arn03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://arn03.contribute.live-video.net/app/{stream_key}", + "priority": 8 + }, + { + "_id": 9, + "availability": 1.0, + "default": false, + "name": "Asia: India, New Delhi", + "url_template": "rtmp://del01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://del01.contribute.live-video.net/app/{stream_key}", + "priority": 9 + }, + { + "_id": 10, + "availability": 1.0, + "default": false, + "name": "Europe: Czech Republic, Prague", + "url_template": "rtmp://prg03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://prg03.contribute.live-video.net/app/{stream_key}", + "priority": 10 + }, + { + "_id": 11, + "availability": 1.0, + "default": false, + "name": "Europe: Austria, Vienna (2)", + "url_template": "rtmp://vie02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://vie02.contribute.live-video.net/app/{stream_key}", + "priority": 11 + }, + { + "_id": 12, + "availability": 1.0, + "default": false, + "name": "Europe: Denmark, Copenhagen", + "url_template": "rtmp://cph.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://cph.contribute.live-video.net/app/{stream_key}", + "priority": 12 + }, + { + "_id": 13, + "availability": 1.0, + "default": false, + "name": "Europe: Norway, Oslo", + "url_template": "rtmp://osl.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://osl.contribute.live-video.net/app/{stream_key}", + "priority": 13 + }, + { + "_id": 14, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Berlin", + "url_template": "rtmp://ber.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ber.contribute.live-video.net/app/{stream_key}", + "priority": 14 + }, + { + "_id": 15, + "availability": 1.0, + "default": false, + "name": "Asia: Thailand, Bangkok (2)", + "url_template": "rtmp://bkk02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://bkk02.contribute.live-video.net/app/{stream_key}", + "priority": 15 + }, + { + "_id": 16, + "availability": 1.0, + "default": false, + "name": "Asia: South Korea, Seoul (4)", + "url_template": "rtmp://sel04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sel04.contribute.live-video.net/app/{stream_key}", + "priority": 16 + }, + { + "_id": 17, + "availability": 1.0, + "default": false, + "name": "Asia: South Korea, Seoul (3)", + "url_template": "rtmp://sel03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sel03.contribute.live-video.net/app/{stream_key}", + "priority": 17 + }, + { + "_id": 18, + "availability": 1.0, + "default": false, + "name": "Asia: South Korea, Seoul (1)", + "url_template": "rtmp://sel01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sel01.contribute.live-video.net/app/{stream_key}", + "priority": 18 + }, + { + "_id": 19, + "availability": 1.0, + "default": false, + "name": "Asia: China, Hong Kong (6)", + "url_template": "rtmp://hkg06.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://hkg06.contribute.live-video.net/app/{stream_key}", + "priority": 19 + }, + { + "_id": 20, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Munich (1)", + "url_template": "rtmp://muc01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://muc01.contribute.live-video.net/app/{stream_key}", + "priority": 20 + }, + { + "_id": 21, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Frankfurt (6)", + "url_template": "rtmp://fra06.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://fra06.contribute.live-video.net/app/{stream_key}", + "priority": 21 + }, + { + "_id": 22, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Dusseldorf (1)", + "url_template": "rtmp://dus01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://dus01.contribute.live-video.net/app/{stream_key}", + "priority": 22 + }, + { + "_id": 23, + "availability": 1.0, + "default": false, + "name": "Asia: Taiwan, Taipei (1)", + "url_template": "rtmp://tpe01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://tpe01.contribute.live-video.net/app/{stream_key}", + "priority": 23 + }, + { + "_id": 24, + "availability": 1.0, + "default": false, + "name": "Asia: Taiwan, Taipei (3)", + "url_template": "rtmp://tpe03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://tpe03.contribute.live-video.net/app/{stream_key}", + "priority": 24 + }, + { + "_id": 25, + "availability": 1.0, + "default": false, + "name": "Europe: Netherlands, Amsterdam (3)", + "url_template": "rtmp://ams03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ams03.contribute.live-video.net/app/{stream_key}", + "priority": 25 + }, + { + "_id": 26, + "availability": 1.0, + "default": false, + "name": "Europe: Netherlands, Amsterdam (2)", + "url_template": "rtmp://ams02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ams02.contribute.live-video.net/app/{stream_key}", + "priority": 26 + }, + { + "_id": 27, + "availability": 1.0, + "default": false, + "name": "Europe: Italy, Milan (2)", + "url_template": "rtmp://mil02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mil02.contribute.live-video.net/app/{stream_key}", + "priority": 27 + }, + { + "_id": 28, + "availability": 1.0, + "default": false, + "name": "Europe: France, Paris (2)", + "url_template": "rtmp://cdg02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://cdg02.contribute.live-video.net/app/{stream_key}", + "priority": 28 + }, + { + "_id": 29, + "availability": 1.0, + "default": false, + "name": "Europe: France, Paris (10)", + "url_template": "rtmp://cdg10.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://cdg10.contribute.live-video.net/app/{stream_key}", + "priority": 29 + }, + { + "_id": 30, + "availability": 1.0, + "default": false, + "name": "Europe: UK, London (4)", + "url_template": "rtmp://lhr04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://lhr04.contribute.live-video.net/app/{stream_key}", + "priority": 30 + }, + { + "_id": 31, + "availability": 1.0, + "default": false, + "name": "Europe: UK, London (8)", + "url_template": "rtmp://lhr08.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://lhr08.contribute.live-video.net/app/{stream_key}", + "priority": 31 + }, + { + "_id": 32, + "availability": 1.0, + "default": false, + "name": "Europe: UK, London (3)", + "url_template": "rtmp://lhr03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://lhr03.contribute.live-video.net/app/{stream_key}", + "priority": 32 + }, + { + "_id": 33, + "availability": 1.0, + "default": false, + "name": "Europe: France, Marseille (2)", + "url_template": "rtmp://mrs02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mrs02.contribute.live-video.net/app/{stream_key}", + "priority": 33 + }, + { + "_id": 34, + "availability": 1.0, + "default": false, + "name": "Europe: France, Marseille", + "url_template": "rtmp://mrs.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mrs.contribute.live-video.net/app/{stream_key}", + "priority": 34 + }, + { + "_id": 35, + "availability": 1.0, + "default": false, + "name": "Asia: Japan, Osaka (1)", + "url_template": "rtmp://osa01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://osa01.contribute.live-video.net/app/{stream_key}", + "priority": 35 + }, + { + "_id": 36, + "availability": 1.0, + "default": false, + "name": "Asia: Japan, Tokyo (5)", + "url_template": "rtmp://tyo05.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://tyo05.contribute.live-video.net/app/{stream_key}", + "priority": 36 + }, + { + "_id": 37, + "availability": 1.0, + "default": false, + "name": "Asia: Japan, Tokyo (3)", + "url_template": "rtmp://tyo03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://tyo03.contribute.live-video.net/app/{stream_key}", + "priority": 37 + }, + { + "_id": 38, + "availability": 1.0, + "default": false, + "name": "Asia: Manila, Philippines (1)", + "url_template": "rtmp://mnl01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mnl01.contribute.live-video.net/app/{stream_key}", + "priority": 38 + }, + { + "_id": 39, + "availability": 1.0, + "default": false, + "name": "Asia: Singapore (4)", + "url_template": "rtmp://sin04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sin04.contribute.live-video.net/app/{stream_key}", + "priority": 39 + }, + { + "_id": 40, + "availability": 1.0, + "default": false, + "name": "Asia: Singapore (1)", + "url_template": "rtmp://sin01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sin01.contribute.live-video.net/app/{stream_key}", + "priority": 40 + }, + { + "_id": 41, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Frankfurt (5)", + "url_template": "rtmp://fra05.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://fra05.contribute.live-video.net/app/{stream_key}", + "priority": 41 + }, + { + "_id": 42, + "availability": 1.0, + "default": false, + "name": "Europe: Germany, Frankfurt (2)", + "url_template": "rtmp://fra02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://fra02.contribute.live-video.net/app/{stream_key}", + "priority": 42 + }, + { + "_id": 43, + "availability": 1.0, + "default": false, + "name": "Europe: Spain, Madrid (2)", + "url_template": "rtmp://mad02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mad02.contribute.live-video.net/app/{stream_key}", + "priority": 43 + }, + { + "_id": 44, + "availability": 1.0, + "default": false, + "name": "Europe: Spain, Madrid (1)", + "url_template": "rtmp://mad01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mad01.contribute.live-video.net/app/{stream_key}", + "priority": 44 + }, + { + "_id": 45, + "availability": 1.0, + "default": false, + "name": "Asia: Indonesia, Jakarta (2)", + "url_template": "rtmp://jkt02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://jkt02.contribute.live-video.net/app/{stream_key}", + "priority": 45 + }, + { + "_id": 46, + "availability": 1.0, + "default": false, + "name": "Asia: Indonesia, Cikarang Barat (1)", + "url_template": "rtmp://jkt01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://jkt01.contribute.live-video.net/app/{stream_key}", + "priority": 46 + }, + { + "_id": 47, + "availability": 1.0, + "default": false, + "name": "US West: Seattle, WA (2)", + "url_template": "rtmp://sea02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sea02.contribute.live-video.net/app/{stream_key}", + "priority": 47 + }, + { + "_id": 48, + "availability": 1.0, + "default": false, + "name": "US West: Seattle, WA", + "url_template": "rtmp://sea.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sea.contribute.live-video.net/app/{stream_key}", + "priority": 48 + }, + { + "_id": 49, + "availability": 1.0, + "default": false, + "name": "NA: Canada, Toronto", + "url_template": "rtmp://yto.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://yto.contribute.live-video.net/app/{stream_key}", + "priority": 49 + }, + { + "_id": 50, + "availability": 1.0, + "default": false, + "name": "US West: Portland, OR", + "url_template": "rtmp://pdx.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://pdx.contribute.live-video.net/app/{stream_key}", + "priority": 50 + }, + { + "_id": 51, + "availability": 1.0, + "default": false, + "name": "US East: New York, NY", + "url_template": "rtmp://jfk.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://jfk.contribute.live-video.net/app/{stream_key}", + "priority": 51 + }, + { + "_id": 52, + "availability": 1.0, + "default": false, + "name": "US East: New York, NY (50)", + "url_template": "rtmp://jfk50.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://jfk50.contribute.live-video.net/app/{stream_key}", + "priority": 52 + }, + { + "_id": 53, + "availability": 1.0, + "default": false, + "name": "US East: Chicago, IL (3)", + "url_template": "rtmp://ord03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ord03.contribute.live-video.net/app/{stream_key}", + "priority": 53 + }, + { + "_id": 54, + "availability": 1.0, + "default": false, + "name": "US East: Chicago, IL (56)", + "url_template": "rtmp://ord56.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://ord56.contribute.live-video.net/app/{stream_key}", + "priority": 54 + }, + { + "_id": 55, + "availability": 1.0, + "default": false, + "name": "US East: Ashburn, VA (5)", + "url_template": "rtmp://iad05.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://iad05.contribute.live-video.net/app/{stream_key}", + "priority": 55 + }, + { + "_id": 56, + "availability": 1.0, + "default": false, + "name": "US East: Ashburn, VA (3)", + "url_template": "rtmp://iad03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://iad03.contribute.live-video.net/app/{stream_key}", + "priority": 56 + }, + { + "_id": 57, + "availability": 1.0, + "default": false, + "name": "US West: Salt Lake City, UT", + "url_template": "rtmp://slc.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://slc.contribute.live-video.net/app/{stream_key}", + "priority": 57 + }, + { + "_id": 58, + "availability": 1.0, + "default": false, + "name": "US Central: Denver, CO (52)", + "url_template": "rtmp://den52.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://den52.contribute.live-video.net/app/{stream_key}", + "priority": 58 + }, + { + "_id": 59, + "availability": 1.0, + "default": true, + "name": "US West: San Francisco, CA", + "url_template": "rtmp://sfo.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sfo.contribute.live-video.net/app/{stream_key}", + "priority": 59 + }, + { + "_id": 60, + "availability": 1.0, + "default": false, + "name": "US West: San Jose, California (6)", + "url_template": "rtmp://sjc06.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sjc06.contribute.live-video.net/app/{stream_key}", + "priority": 60 + }, + { + "_id": 61, + "availability": 1.0, + "default": false, + "name": "US East: Atlanta, GA", + "url_template": "rtmp://atl.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://atl.contribute.live-video.net/app/{stream_key}", + "priority": 61 + }, + { + "_id": 62, + "availability": 1.0, + "default": false, + "name": "US West: Los Angeles, CA", + "url_template": "rtmp://lax.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://lax.contribute.live-video.net/app/{stream_key}", + "priority": 62 + }, + { + "_id": 63, + "availability": 1.0, + "default": false, + "name": "US West: Phoenix, AZ", + "url_template": "rtmp://phx.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://phx.contribute.live-video.net/app/{stream_key}", + "priority": 63 + }, + { + "_id": 64, + "availability": 1.0, + "default": false, + "name": "US Central: Dallas, TX", + "url_template": "rtmp://dfw.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://dfw.contribute.live-video.net/app/{stream_key}", + "priority": 64 + }, + { + "_id": 65, + "availability": 1.0, + "default": false, + "name": "US Central: Houston, TX (50)", + "url_template": "rtmp://iah50.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://iah50.contribute.live-video.net/app/{stream_key}", + "priority": 65 + }, + { + "_id": 66, + "availability": 1.0, + "default": false, + "name": "US East: Miami, FL (5)", + "url_template": "rtmp://mia05.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mia05.contribute.live-video.net/app/{stream_key}", + "priority": 66 + }, + { + "_id": 67, + "availability": 1.0, + "default": false, + "name": "Oceania: Australia, Sydney (2)", + "url_template": "rtmp://syd02.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://syd02.contribute.live-video.net/app/{stream_key}", + "priority": 67 + }, + { + "_id": 68, + "availability": 1.0, + "default": false, + "name": "Oceania: Australia, Sydney (3)", + "url_template": "rtmp://syd03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://syd03.contribute.live-video.net/app/{stream_key}", + "priority": 68 + }, + { + "_id": 69, + "availability": 1.0, + "default": false, + "name": "US East: McAllen, TX (1)", + "url_template": "rtmp://mfe01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://mfe01.contribute.live-video.net/app/{stream_key}", + "priority": 69 + }, + { + "_id": 70, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Fortaleza (1)", + "url_template": "rtmp://for01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://for01.contribute.live-video.net/app/{stream_key}", + "priority": 70 + }, + { + "_id": 71, + "availability": 1.0, + "default": false, + "name": "NA: Mexico, Queretaro (4)", + "url_template": "rtmp://qro04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://qro04.contribute.live-video.net/app/{stream_key}", + "priority": 71 + }, + { + "_id": 72, + "availability": 1.0, + "default": false, + "name": "NA: Mexico, Queretaro (3)", + "url_template": "rtmp://qro03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://qro03.contribute.live-video.net/app/{stream_key}", + "priority": 72 + }, + { + "_id": 73, + "availability": 1.0, + "default": false, + "name": "South America: Colombia, Bogota (1)", + "url_template": "rtmp://bog01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://bog01.contribute.live-video.net/app/{stream_key}", + "priority": 73 + }, + { + "_id": 74, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Rio de Janeiro (4)", + "url_template": "rtmp://rio04.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://rio04.contribute.live-video.net/app/{stream_key}", + "priority": 74 + }, + { + "_id": 75, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Rio de Janeiro (3)", + "url_template": "rtmp://rio03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://rio03.contribute.live-video.net/app/{stream_key}", + "priority": 75 + }, + { + "_id": 76, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Sao Paulo", + "url_template": "rtmp://sao03.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sao03.contribute.live-video.net/app/{stream_key}", + "priority": 76 + }, + { + "_id": 77, + "availability": 1.0, + "default": false, + "name": "South America: Brazil, Sao Paulo (5)", + "url_template": "rtmp://sao05.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://sao05.contribute.live-video.net/app/{stream_key}", + "priority": 77 + }, + { + "_id": 78, + "availability": 1.0, + "default": false, + "name": "South America: Buenos Aires, Argentina (1)", + "url_template": "rtmp://bue01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://bue01.contribute.live-video.net/app/{stream_key}", + "priority": 78 + }, + { + "_id": 79, + "availability": 1.0, + "default": false, + "name": "South America : chile, Santiago (1)", + "url_template": "rtmp://scl01.contribute.live-video.net/app/{stream_key}", + "url_template_secure": "rtmps://scl01.contribute.live-video.net/app/{stream_key}", + "priority": 79 + } + ] +} diff --git a/.config/obs-studio/profiler_data/2024-01-24 09-07-26.csv.gz b/.config/obs-studio/profiler_data/2024-01-24 09-07-26.csv.gz new file mode 100644 index 0000000..5a34a46 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-24 09-07-26.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-24 09-09-05.csv.gz b/.config/obs-studio/profiler_data/2024-01-24 09-09-05.csv.gz new file mode 100644 index 0000000..078ade1 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-24 09-09-05.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-24 18-00-41.csv.gz b/.config/obs-studio/profiler_data/2024-01-24 18-00-41.csv.gz new file mode 100644 index 0000000..84bd483 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-24 18-00-41.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-25 14-36-42.csv.gz b/.config/obs-studio/profiler_data/2024-01-25 14-36-42.csv.gz new file mode 100644 index 0000000..db9a816 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-25 14-36-42.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-25 14-37-16.csv.gz b/.config/obs-studio/profiler_data/2024-01-25 14-37-16.csv.gz new file mode 100644 index 0000000..5155832 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-25 14-37-16.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-25 14-53-45.csv.gz b/.config/obs-studio/profiler_data/2024-01-25 14-53-45.csv.gz new file mode 100644 index 0000000..51a5cc4 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-25 14-53-45.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-29 17-28-57.csv.gz b/.config/obs-studio/profiler_data/2024-01-29 17-28-57.csv.gz new file mode 100644 index 0000000..7165d3d Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-29 17-28-57.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-01-31 09-27-08.csv.gz b/.config/obs-studio/profiler_data/2024-01-31 09-27-08.csv.gz new file mode 100644 index 0000000..cd7aa4d Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-01-31 09-27-08.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-02-05 19-28-53.csv.gz b/.config/obs-studio/profiler_data/2024-02-05 19-28-53.csv.gz new file mode 100644 index 0000000..f581f90 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-02-05 19-28-53.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-02-07 09-35-34.csv.gz b/.config/obs-studio/profiler_data/2024-02-07 09-35-34.csv.gz new file mode 100644 index 0000000..f8d85cf Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-02-07 09-35-34.csv.gz differ diff --git a/.config/obs-studio/profiler_data/2024-02-14 12-02-36.csv.gz b/.config/obs-studio/profiler_data/2024-02-14 12-02-36.csv.gz new file mode 100644 index 0000000..d2c69c8 Binary files /dev/null and b/.config/obs-studio/profiler_data/2024-02-14 12-02-36.csv.gz differ diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi new file mode 100644 index 0000000..a0cc337 --- /dev/null +++ b/.config/rofi/config.rasi @@ -0,0 +1,31 @@ +// combi is basically a combination of all rofi windows +// set `-show combi` in i3 config to show it at first page + +configuration { + modes: "emoji,run,calc,combi"; + combi-modi: "drun,ssh,run"; + font: "Fira Code Medium 15"; + show-icons: true; + icon-theme: "Tela-dark-purple"; + display-combi: "> "; + display-drun: ""; + display-ssh: "ssh"; + display-calc: "🧮"; + disable-history: false; +} + + +//@theme "dracula.rasi" +@theme "karamel" + +// to override theme with local config here +// @theme "/dev/null" + +#textbox-prompt-colon { + expand: false; + str: ""; + margin: 0px 0.3em 0em 0em ; + text-color: @foreground; +} + + diff --git a/.config/rofi/dracula.rasi b/.config/rofi/dracula.rasi new file mode 100644 index 0000000..15a27c9 --- /dev/null +++ b/.config/rofi/dracula.rasi @@ -0,0 +1,119 @@ +* { + foreground: #f8f8f8; + background-color: #202a36; + active-background: #62a2a4; + urgent-background: #ff5555; + urgent-foreground: #282a36; + selected-background: @active-background; + selected-urgent-background: @urgent-background; + selected-active-background: @active-background; + separatorcolor: @active-background; + bordercolor: @active-background; +} + +#window { + background-color: @background-color; + border: 3; + border-radius: 20; + border-color: @bordercolor; + padding: 20; +} +#mainbox { + border: 0; + padding: 0; +} +#message { + border: 0px; + border-color: @separatorcolor; + padding: 1px; +} +#textbox { + text-color: @foreground; +} +#listview { + fixed-height: 0; + border: 0px; + border-color: @bordercolor; + spacing: 2px ; + scrollbar: false; + padding: 2px 0px 0px ; +} + +#element { + border: 0; + padding: 3px ; +} +#element.normal.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +#element.normal.active { + background-color: @active-background; + text-color: @foreground; +} +#element.selected.normal { + background-color: @selected-background; + text-color: @foreground; +} +#element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @foreground; +} +#element.selected.active { + background-color: @selected-active-background; + text-color: @foreground; +} +#element.alternate.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.alternate.urgent { + background-color: @urgent-background; + text-color: @foreground; +} +#element.alternate.active { + background-color: @active-background; + text-color: @foreground; +} +#scrollbar { + width: 2px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +#sidebar { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +#button.selected { + background-color: @selected-background; + text-color: @foreground; +} +#inputbar { + spacing: 0; + text-color: @foreground; + padding: 1px ; +} +#case-indicator { + spacing: 0; + text-color: @foreground; +} +#entry { + spacing: 0; + text-color: @foreground; +} +#prompt { + spacing: 0; + text-color: @foreground; +} +#inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +element-text, element-icon { + background-color: inherit; + text-color: inherit; +} diff --git a/.config/rofi/karamel.rasi b/.config/rofi/karamel.rasi new file mode 100644 index 0000000..a0b8c57 --- /dev/null +++ b/.config/rofi/karamel.rasi @@ -0,0 +1,120 @@ +* { + foreground: #f9f9f9; + background-color: #14291c; + active-background: #06c179; + urgent-background: #ff5555; + urgent-foreground: #282a36; + selected-background: @active-background; + selected-urgent-background: @urgent-background; + selected-active-background: @active-background; + separatorcolor: @active-background; + bordercolor: @active-background; +} + +#window { + background-color: @background-color; + border: 4; + border-radius: 20; + border-color: @bordercolor; + padding: 12; + margin: 12; +} +#mainbox { + border: 0; + border-radius: 12; + padding: 0; +} +#message { + border: 0px; + border-color: @separatorcolor; + padding: 12; +} +#textbox { + text-color: @foreground; +} +#listview { + fixed-height: 0; + border-color: @bordercolor; + scrollbar: false; + padding: 3px 0px ; +} + +#element { + border: 1; + padding: 4; + border-radius: 6; +} +#element.normal.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +#element.normal.active { + background-color: @active-background; + text-color: @foreground; +} +#element.selected.normal { + background-color: @selected-background; + text-color: @foreground; +} +#element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @foreground; +} +#element.selected.active { + background-color: @selected-active-background; + text-color: @foreground; +} +#element.alternate.normal { + background-color: @background-color; + text-color: @foreground; +} +#element.alternate.urgent { + background-color: @urgent-background; + text-color: @foreground; +} +#element.alternate.active { + background-color: @active-background; + text-color: @foreground; +} +#scrollbar { + width: 2px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +#sidebar { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +#button.selected { + background-color: @selected-background; + text-color: @foreground; +} +#inputbar { + spacing: 0; + text-color: @foreground; + padding: 1px ; +} +#case-indicator { + spacing: 0; + text-color: @foreground; +} +#entry { + spacing: 0; + text-color: @foreground; +} +#prompt { + spacing: 0; + text-color: @foreground; +} +#inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +element-text, element-icon { + background-color: inherit; + text-color: inherit; +} diff --git a/.config/rofi/mytheme1.rasi b/.config/rofi/mytheme1.rasi new file mode 100644 index 0000000..70ddf1b --- /dev/null +++ b/.config/rofi/mytheme1.rasi @@ -0,0 +1,149 @@ +* { + selected-normal-foreground: rgba ( 255, 255, 255, 100 % ); + foreground: rgba ( 255, 255, 255, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: transparent; + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 255, 195, 156, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 243, 132, 61, 100 % ); + alternate-urgent-background: transparent; + active-foreground: rgba ( 38, 139, 210, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 32, 81, 113, 100 % ); + alternate-active-background: transparent; + background: transparent; + bordercolor: rgba ( 57, 57, 57, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: transparent; + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 38, 139, 210, 100 % ); + border-color: @foreground; + spacing: 2; + separatorcolor: rgba ( 38, 139, 210, 100 % ); + urgent-background: transparent; + selected-urgent-background: rgba ( 38, 139, 210, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 57, 57, 57, 100 % ); + selected-active-background: rgba ( 38, 139, 210, 100 % ); +} +window { + background-color: rgba ( 57, 57, 57, 95 % ); + border: 1; + padding: 5; +} +mainbox { + border: 0; + padding: 0; +} +message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; +} +textbox { + text-color: @foreground; +} +listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; +} +element { + border: 0; + padding: 5px ; + height: 10px; +} +element-text { + background-color: inherit; + text-color: inherit; +} + +element-icon { + size: 2em; +} +element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +mode-switcher { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +button { + background-color: @background; + text-color: @foreground; +} +inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +entry { + spacing: 0; + text-color: @normal-foreground; +} +prompt { + spacing: 0; + text-color: @normal-foreground; +} +inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..fca56f3 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,210 @@ +# Configuration for sway +# Read `man 5 sway` for more information + +# Set Super key as mod +set $mod Mod4 + +# Set terminal emulator and application launcher +set $term alacritty --option=font.size=12 +set $menu rofi + +# --- Startup programs --- +# picom for transparency +# exec --no-startup-id picom --shadow --inactive-opacity=0.9 --shadow-radius=60 --shadow-opacity=0.2 --fade-in-step=0.8 & + +# Background +#output * bg $HOME/.wallpaper/* center #271829 +exec swaybg -i $HOME/.wallpaper/afternoon.png -m center & +# Font for window titles. Will also be used by the bar unless a different font +font pango:Fira Code 10 + +# Input keymap and variant + +# Notification Daemon +exec mako & + +# waybar +# exec waybar & + +# Use wpctl (WirePlumber) to set volume +bindsym XF86AudioRaiseVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 10%+ +bindsym XF86AudioLowerVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 10%- +bindsym XF86AudioMute exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle + +# --- Controls --- +# increase screen brightness +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +# decrease screen brightness +bindsym XF86MonBrightnessDown exec brightnessctl set 8%- + +# Media player controls +bindsym XF86AudioPlay exec playerctl play-pause +# bindsym XF86AudioPause exec playerctl pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, or left-clicking anywhere into the window while holding the floating modifier. +# tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+Return exec $term + +# kill focused window +bindsym $mod+Shift+q kill + +# --- Menu|Program launcher --- +# $mod+d for `dmenu_run`, `bemenu-run`, or `rofi` (below) +# bindsym $mod+d exec --no-startup-id dmenu_run +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +bindcode $mod+40 exec rofi -show drun +bindsym $mod+period exec "rofi -show emoji" + +# -- Lock screen -- +bindsym $mod+l exec $HOME/lock.sh + +# -- Screenshot -- + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+t layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +# bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# --- Coloring --- +# class border backgr. text indicator child_border +client.focused #4c7899 #267A67 #ffffff #2e9ef4 #285577 +client.focused_inactive #333333 #161C1A #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + +client.background #ffffff + +# --- Gaps --- +# `inner` is like padding in CSS +# gaps inner [px] +gaps inner 8 + +# `outer` is like margin in CSS +# gaps outer|horizontal|vertical|top|left|bottom|right [px] +gaps outer 5 + +# smart_gaps on|off|inverse_outer +smart_gaps inverse_outer + +# --- Display settings --- +#exec --no-startup-id autorandr --change +#exec --no-startup-id feh --bg-fill --randomize $HOME/.wallpaper/* + +input type:touchpad { + natural_scroll enabled +} + + +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# reload the configuration file +bindsym $mod+Shift+c restart +bindsym $mod+Shift+r reload + +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'Are you sure you wanna go aSway?' -B 'Yes, sway away!' 'swaymsg exit' -B 'SHUTDOWN' 'shutdown now' + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +bar { + swaybar_command waybar +} diff --git a/.config/swaylock/config b/.config/swaylock/config new file mode 100644 index 0000000..61b16b3 --- /dev/null +++ b/.config/swaylock/config @@ -0,0 +1,45 @@ +image=~/Pictures/org_wholesome2.png +# clock +ignore-empty-password +font=FiraCode Nerd Font + +# Not showing text at all +text-color=00000000 +text-clear-color=00000000 +text-caps-lock-color=00000000 +text-ver-color=00000000 +text-wrong-color=00000000 +color=000000 + +separator-color=3b425200 + +# Make it small to the corner +# current offset: 20x20 +indicator-x-position=1900 +indicator-y-position=1060 +indicator-radius=36 +indicator-thickness=12 + +# Some cool effects +# effect-vignette=0.6:0.6 +# effect-pixelate=10 + +# Sets the color of the key press highlight segments. +key-hl-color=a3be8c +# Sets the color of backspace highlight segments. +bs-hl-color=ebcb8b + +# Indicator +inside-color=2e344000 +inside-clear-color=ebcb8b00 +inside-caps-lock-color=d0877000 +inside-ver-color=a3be8c00 +inside-wrong-color=bf616a00 +line-uses-inside + +# Ring +ring-color=3b4252 +ring-clear-color=ebcb8b +ring-caps-lock-color=d08770 +ring-ver-color=a3be8c +ring-wrong-color=bf616a diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf new file mode 100644 index 0000000..bb1cf80 --- /dev/null +++ b/.config/tmux/tmux.conf @@ -0,0 +1,42 @@ +set -g mouse on + +setw -g mode-keys vi + +# DESIGN TWEAKS +# Source: https://hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ +# don't do anything when a 'bell' rings +set -g visual-activity off +set -g visual-bell off +set -g visual-silence off +setw -g monitor-activity off +set -g bell-action none + +# clock mode +setw -g clock-mode-colour colour1 + +# copy mode +setw -g mode-style 'fg=colour1 bg=colour18 bold' + +# pane borders +set -g pane-border-style 'fg=colour1' +set -g pane-active-border-style 'fg=colour3' + +# statusbar +set -g status-position bottom +set -g status-justify left +set -g status-style 'fg=colour12' +set -g status-left '' +set -g status-right '%Y-%m-%d %H:%M ' +set -g status-right-length 50 +set -g status-left-length 10 + +setw -g window-status-current-style 'fg=colour0 bg=colour2 bold' +setw -g window-status-current-format ' #I #W #F ' + +setw -g window-status-style 'fg=colour1 dim' +setw -g window-status-format ' #I #[fg=colour7]#W #[fg=colour1]#F ' + +setw -g window-status-bell-style 'fg=colour2 bg=colour1 bold' + +# messages +set -g message-style 'fg=colour2 bg=colour0 bold' diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..0585c26 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,113 @@ +// -*- mode: json -*- + +{ + "layer": "top", + "position": "top", + "font": "Fira Code Bold 12", + "margin": 5, + + "modules-left": [ + "hyprland/workspaces", + "hyprland/window" + ], + "modules-center": [ + "clock#1", + "clock#2", + "clock#3", + ], + "modules-right": [ + "tray", + "pulseaudio", + "backlight", + "memory", + "cpu", + "battery", + "keyboard-state" + ], + + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace m-1", + "on-scroll-down": "hyprctl dispatch workspace m+1", + "disable-scroll": true, + "format": "{name}", + }, + + "hyprland/window": { + "max-length": 200, + "separate-outputs": true, + }, + + "clock#1": { + "format": "{:%A}", + "tooltip": false + }, + "clock#2": { + "format": "{:%I:%M %p}", + "tooltip": false + }, + "clock#3": { + "format": "{:%d/%m/%Y}", + "tooltip": true + }, + "keyboard-state": { + "numlock": true, + "capslock": false, + "format": { + "numlock": "NL {icon}" + }, + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "pulseaudio": { + "format": "{icon} {volume:2}%", + "format-bluetooth": "{icon} {volume:2}% ", + "format-muted": "🔇 MUTED", + "format-icons": { + "headphones": "", + "default": [ + "", + "" + ] + }, + "scroll-step": 6, + "on-click": "wpctl set-mute @DEFAULT_SINK@ toggle", + "on-click-right": "pavucontrol" + }, + + "backlight": { + "format": "{icon} {percent:3}%", + "format-icons": ["🌑", "🌘", "🌗", "🌖", "🌕"], + "on-scroll-up": "brightnessctl set 1%+ -q -e", + "on-scroll-down": "brightnessctl set 1%- -q -e" + }, + + "memory": { + "interval": 5, + "format": "Mem {:2}%" + }, + "cpu": { + "interval": 5, + "format": "CPU {usage:2}%" + }, + "battery": { + "states": { + "good": 80, + "warning": 42, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-icons": [ + "", + "", + "", + "", + "" + ] + }, + "tray": { + "icon-size": 20, + "spacing": 7 + } +} diff --git a/.config/waybar/config.bak b/.config/waybar/config.bak new file mode 100644 index 0000000..0cefe1d --- /dev/null +++ b/.config/waybar/config.bak @@ -0,0 +1,133 @@ +// -*- mode: json -*- + +{ + "layer": "top", + "position": "top", + "font": "Fira Code Bold 12", + "margin": 5, + + "modules-left": [ + "hyprland/workspaces", + "custom/right-arrow-dark", + "hyprland/window" + ], + "modules-center": [ + "custom/left-arrow-dark", + "clock#1", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "clock#2", + "custom/right-arrow-dark", + "custom/right-arrow-light", + "clock#3", + "custom/right-arrow-dark" + ], + "modules-right": [ + "custom/left-arrow-dark", + "pulseaudio", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "memory", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "cpu", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "battery", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "disk", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "tray" + ], + + "custom/left-arrow-dark": { + "format": "", + "tooltip": false + }, + "custom/left-arrow-light": { + "format": "", + "tooltip": false + }, + "custom/right-arrow-dark": { + "format": "", + "tooltip": false + }, + "custom/right-arrow-light": { + "format": "", + "tooltip": false + }, + + "hyprland/workspaces": { + "on-scroll-up": "hyprctl dispatch workspace m-1", + "on-scroll-down": "hyprctl dispatch workspace m+1", + "disable-scroll": true, + "format": "{name}", + }, + + "hyprland/window": { + "max-length": 200, + "separate-outputs": true, + }, + + "clock#1": { + "format": "{:%A}", + "tooltip": false + }, + "clock#2": { + "format": "{:%I:%M %p}", + "tooltip": false + }, + "clock#3": { + "format": "{:%d-%m-%y}", + "tooltip": true + }, + + "pulseaudio": { + "format": "{icon} {volume:2}%", + "format-bluetooth": "{icon} {volume}% ", + "format-muted": "MUTE", + "format-icons": { + "headphones": "", + "default": [ + "", + "" + ] + }, + "scroll-step": 5, + "on-click": "pamixer -t", + "on-click-right": "pavucontrol" + }, + "memory": { + "interval": 5, + "format": "Mem {}%" + }, + "cpu": { + "interval": 5, + "format": "CPU {usage:2}%" + }, + "battery": { + "states": { + "good": 80, + "warning": 42, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-icons": [ + "", + "", + "", + "", + "" + ] + }, + "disk": { + "interval": 5, + "format": "Disk {percentage_used:2}%", + "path": "/home/antoine" + }, + "tray": { + "icon-size": 20 + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..92008e5 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,79 @@ +* { + font-size: 12px; + font-family: "FiraCode Nerd Mono Retina", monospace; + font-weight: bold; + border-radius: 8px; +} + +.modules-center { +} + +window#waybar { + background-color: transparent; +} + +#clock.1, #clock.2, #clock.3, +#pulseaudio, #memory, #cpu, +#battery, #disk, #backlight, #tray, +#keyboard-state { + background: rgba(12, 12, 12, 0.5); + padding: 0 12px; + margin-left: 2px; + margin-right: 2px; +} + +#window { + padding: 0 12px; + margin: 0 2px; + background: rgba(12, 12, 12, 0.3); + text-shadow: 2px 4px rgba(20, 20, 20, 0.2); +} + +window#waybar.empty #window { + background: transparent; +} + +#workspaces { + background: rgba(12, 12, 12, 0.5); +} + +#workspaces button { + padding: 0 2px; + color: #fdf6e3; + border: 2px solid transparent; +} + +/* button.active for hyprland, button.focused for sway */ +#workspaces button.active { + color: white; + border: 2px solid rgba(40, 190, 120, 0.8); +} + +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; +} + +#pulseaudio { + color: #268bd2; +} +#backlight { + color: #a3f281; +} +#memory { + color: #2aa198; +} +#cpu { + color: #6c71c4; +} +#battery { + color: #859900; +} +#disk { + color: #b58900; +} + +#keyboard-state { + color: #ba3ba3; +} + diff --git a/.config/waybar/style.css.bak b/.config/waybar/style.css.bak new file mode 100644 index 0000000..5e1b5a7 --- /dev/null +++ b/.config/waybar/style.css.bak @@ -0,0 +1,80 @@ +* { + font-size: 12px; + font-family: monospace; + font-weight: bold; +} + +window#waybar { + background: #292b2e; + color: #fdf6e3; +} + +#custom-right-arrow-dark, +#custom-left-arrow-dark { + color: #1a1a1a; +} +#custom-right-arrow-light, +#custom-left-arrow-light { + color: #292b2e; + background: #1a1a1a; +} + +#workspaces, +#clock.1, +#clock.2, +#clock.3, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk, +#tray { + background: #1a1a1a; +} + +#workspaces button { + padding: 0 2px; + color: #fdf6e3; +} + +/* button.active for hyprland, button.focused for sway */ +#workspaces button.active { + color: #268bda; +} +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; +} +#workspaces button:hover { + background: #1a1a1a; + border: #1a1a1a; + padding: 0 3px; +} + +#pulseaudio { + color: #268bd2; +} +#memory { + color: #2aa198; +} +#cpu { + color: #6c71c4; +} +#battery { + color: #859900; +} +#disk { + color: #b58900; +} + +#clock, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk { + padding: 0 10px; +} + +/* MORE CUSTOMIZATION */ + diff --git a/.config/wireplumber/bluetooth.conf b/.config/wireplumber/bluetooth.conf new file mode 100644 index 0000000..31392f5 --- /dev/null +++ b/.config/wireplumber/bluetooth.conf @@ -0,0 +1,88 @@ +# WirePlumber daemon context configuration # + +context.properties = { + ## Properties to configure the PipeWire context and some modules + + application.name = "WirePlumber Bluetooth" + log.level = 2 + wireplumber.script-engine = lua-scripting + wireplumber.export-core = false + + #mem.mlock-all = false + #support.dbus = true +} + +context.spa-libs = { + # = + # + # Used to find spa factory names. It maps an spa factory name + # regular expression to a library name that should contain + # that factory. + # + api.bluez5.* = bluez5/libspa-bluez5 + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + #{ name = + # [ args = { = ... } ] + # [ flags = [ [ ifexists ] [ nofail ] ] + #} + # + # PipeWire modules to load. + # If ifexists is given, the module is ignored when it is not found. + # If nofail is given, module initialization failures are ignored. + # + + # Uses RTKit to boost the data thread priority. + { name = libpipewire-module-rt + args = { + nice.level = -11 + #rt.prio = 88 + #rt.time.soft = -1 + #rt.time.hard = -1 + } + flags = [ ifexists nofail ] + } + + # The native communication protocol. + { name = libpipewire-module-protocol-native } + + # Allows creating nodes that run in the context of the + # client. Is used by all clients that want to provide + # data to PipeWire. + { name = libpipewire-module-client-node } + + # Allows creating devices that run in the context of the + # client. Is used by the session manager. + { name = libpipewire-module-client-device } + + # Makes a factory for wrapping nodes in an adapter with a + # converter and resampler. + { name = libpipewire-module-adapter } + + # Allows applications to create metadata objects. It creates + # a factory for Metadata objects. + { name = libpipewire-module-metadata } + + # Provides factories to make session manager objects. + { name = libpipewire-module-session-manager } + + # Provides factories to make SPA node objects. + { name = libpipewire-module-spa-node-factory } +] + +wireplumber.components = [ + #{ name = , type = } + # + # WirePlumber components to load + # + + # The lua scripting engine + { name = libwireplumber-module-lua-scripting, type = module } + + # The lua configuration file + # Other components are loaded from there + { name = bluetooth.lua, type = config/lua } +] diff --git a/.config/wireplumber/bluetooth.lua.d/00-functions.lua b/.config/wireplumber/bluetooth.lua.d/00-functions.lua new file mode 100644 index 0000000..4278e6f --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/00-functions.lua @@ -0,0 +1,36 @@ +components = {} + +function load_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a } + end +end + +function load_optional_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a, optional = true } + end +end + +function load_pw_module(m) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libpipewire-module-" .. m, type = "pw_module" } + end +end + +function load_script(s, a) + if not components[s] then + components[s] = { s, type = "script/lua", args = a } + end +end + +function load_monitor(s, a) + load_script("monitors/" .. s .. ".lua", a) +end + +function load_access(s, a) + load_script("access/access-" .. s .. ".lua", a) +end diff --git a/.config/wireplumber/bluetooth.lua.d/30-bluez-midi-monitor.lua b/.config/wireplumber/bluetooth.lua.d/30-bluez-midi-monitor.lua new file mode 100644 index 0000000..839ec10 --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/30-bluez-midi-monitor.lua @@ -0,0 +1,18 @@ +bluez_midi_monitor = {} +bluez_midi_monitor.properties = {} +bluez_midi_monitor.rules = {} + +function bluez_midi_monitor.enable() + if bluez_midi_monitor.enabled == false then + return + end + + load_monitor("bluez-midi", { + properties = bluez_midi_monitor.properties, + rules = bluez_midi_monitor.rules, + }) + + if bluez_midi_monitor.properties["with-logind"] then + load_optional_module("logind") + end +end diff --git a/.config/wireplumber/bluetooth.lua.d/30-bluez-monitor.lua b/.config/wireplumber/bluetooth.lua.d/30-bluez-monitor.lua new file mode 100644 index 0000000..a870aa5 --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/30-bluez-monitor.lua @@ -0,0 +1,18 @@ +bluez_monitor = {} +bluez_monitor.properties = {} +bluez_monitor.rules = {} + +function bluez_monitor.enable() + if bluez_monitor.enabled == false then + return + end + + load_monitor("bluez", { + properties = bluez_monitor.properties, + rules = bluez_monitor.rules, + }) + + if bluez_monitor.properties["with-logind"] then + load_optional_module("logind") + end +end diff --git a/.config/wireplumber/bluetooth.lua.d/50-bluez-config.lua b/.config/wireplumber/bluetooth.lua.d/50-bluez-config.lua new file mode 100644 index 0000000..41ad209 --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/50-bluez-config.lua @@ -0,0 +1,140 @@ +bluez_monitor.enabled = true + +bluez_monitor.properties = { + -- These features do not work on all headsets, so they are enabled + -- by default based on the hardware database. They can also be + -- forced on/off for all devices by the following options: + + -- ["bluez5.enable-sbc-xq"] = true, + -- ["bluez5.enable-msbc"] = true, + -- ["bluez5.enable-hw-volume"] = true, + + -- See bluez-hardware.conf for the hardware database. + + -- Enabled headset roles (default: [ hfp_hf hfp_ag ]), this + -- property only applies to native backend. Currently some headsets + -- (Sony WH-1000XM3) are not working with both hsp_ag and hfp_ag + -- enabled, disable either hsp_ag or hfp_ag to work around it. + -- + -- Supported headset roles: hsp_hs (HSP Headset), + -- hsp_ag (HSP Audio Gateway), + -- hfp_hf (HFP Hands-Free), + -- hfp_ag (HFP Audio Gateway) + --["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]", + + -- Enabled A2DP codecs (default: all). + --["bluez5.codecs"] = "[ sbc sbc_xq aac ldac aptx aptx_hd aptx_ll aptx_ll_duplex faststream faststream_duplex ]", + + -- HFP/HSP backend (default: native). + -- Available values: any, none, hsphfpd, ofono, native + --["bluez5.hfphsp-backend"] = "native", + + -- HFP/HSP native backend modem (default: none). + -- Available values: none, any or the modem device string as found in + -- 'Device' property of org.freedesktop.ModemManager1.Modem interface + --["bluez5.hfphsp-backend-native-modem"] = "none", + + -- HFP/HSP hardware offload SCO support (default: false). + --["bluez5.hw-offload-sco"] = false, + + -- Properties for the A2DP codec configuration + --["bluez5.default.rate"] = 48000, + --["bluez5.default.channels"] = 2, + + -- Register dummy AVRCP player, required for AVRCP volume function. + -- Disable if you are running mpris-proxy or equivalent. + --["bluez5.dummy-avrcp-player"] = true, + + -- Opus Pro Audio mode settings + --["bluez5.a2dp.opus.pro.channels"] = 3, -- no. channels + --["bluez5.a2dp.opus.pro.coupled-streams"] = 1, -- no. joint stereo pairs, see RFC 7845 Sec. 5.1.1 + --["bluez5.a2dp.opus.pro.locations"] = "FL,FR,LFE", -- audio locations + --["bluez5.a2dp.opus.pro.max-bitrate"] = 600000, + --["bluez5.a2dp.opus.pro.frame-dms"] = 50, -- frame duration in 1/10 ms: 25, 50, 100, 200, 400 + --["bluez5.a2dp.opus.pro.bidi.channels"] = 1, -- same settings for the return direction + --["bluez5.a2dp.opus.pro.bidi.coupled-streams"] = 0, + --["bluez5.a2dp.opus.pro.bidi.locations"] = "FC", + --["bluez5.a2dp.opus.pro.bidi.max-bitrate"] = 160000, + --["bluez5.a2dp.opus.pro.bidi.frame-dms"] = 400, + + -- Enable the logind module, which arbitrates which user will be allowed + -- to have bluetooth audio enabled at any given time (particularly useful + -- if you are using GDM as a display manager, as the gdm user also launches + -- pipewire and wireplumber). + -- This requires access to the D-Bus user session; disable if you are running + -- a system-wide instance of wireplumber. + ["with-logind"] = false, +} + +bluez_monitor.rules = { + -- An array of matches/actions to evaluate. + { + -- Rules for matching a device or node. It is an array of + -- properties that all need to match the regexp. If any of the + -- matches work, the actions are executed for the object. + matches = { + { + -- This matches all cards. + { "device.name", "matches", "bluez_card.*" }, + }, + }, + -- Apply properties on the matched object. + apply_properties = { + -- Auto-connect device profiles on start up or when only partial + -- profiles have connected. Disabled by default if the property + -- is not specified. + --["bluez5.auto-connect"] = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]", + ["bluez5.auto-connect"] = "[ hfp_hf hsp_hs a2dp_sink ]", + + -- Hardware volume control (default: [ hfp_ag hsp_ag a2dp_source ]) + --["bluez5.hw-volume"] = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]", + + -- LDAC encoding quality + -- Available values: auto (Adaptive Bitrate, default) + -- hq (High Quality, 990/909kbps) + -- sq (Standard Quality, 660/606kbps) + -- mq (Mobile use Quality, 330/303kbps) + --["bluez5.a2dp.ldac.quality"] = "auto", + + -- AAC variable bitrate mode + -- Available values: 0 (cbr, default), 1-5 (quality level) + --["bluez5.a2dp.aac.bitratemode"] = 0, + + -- Profile connected first + -- Available values: a2dp-sink (default), headset-head-unit + --["device.profile"] = "a2dp-sink", + + -- Opus Pro Audio encoding mode: audio, voip, lowdelay + --["bluez5.a2dp.opus.pro.application"] = "audio", + --["bluez5.a2dp.opus.pro.bidi.application"] = "audio", + }, + }, + { + matches = { + { + -- Matches all sources. + { "node.name", "matches", "bluez_input.*" }, + }, + { + -- Matches all sinks. + { "node.name", "matches", "bluez_output.*" }, + }, + }, + apply_properties = { + --["node.nick"] = "My Node", + --["priority.driver"] = 100, + --["priority.session"] = 100, + --["node.pause-on-idle"] = false, + --["resample.quality"] = 4, + --["channelmix.normalize"] = false, + --["channelmix.mix-lfe"] = false, + --["session.suspend-timeout-seconds"] = 5, -- 0 disables suspend + --["monitor.channel-volumes"] = false, + + -- Media source role, "input" or "playback" + -- Defaults to "playback", playing stream to speakers + -- Set to "input" to use as an input for apps + --["bluez5.media-source-role"] = "input", + }, + }, +} diff --git a/.config/wireplumber/bluetooth.lua.d/50-bluez-midi-config.lua b/.config/wireplumber/bluetooth.lua.d/50-bluez-midi-config.lua new file mode 100644 index 0000000..880e15b --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/50-bluez-midi-config.lua @@ -0,0 +1,42 @@ +-- BLE MIDI is currently disabled by default, because it conflicts with +-- the SELinux policy on Fedora 37 and potentially other systems using +-- SELinux. For a workaround, see +-- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/plugins/bluez5/README-MIDI.md +bluez_midi_monitor.enabled = false + +bluez_midi_monitor.properties = { + -- Enable the logind module, which arbitrates which user will be allowed + -- to have bluetooth audio enabled at any given time (particularly useful + -- if you are using GDM as a display manager, as the gdm user also launches + -- pipewire and wireplumber). + -- This requires access to the D-Bus user session; disable if you are running + -- a system-wide instance of wireplumber. + ["with-logind"] = true, + + -- List of MIDI server node names. Each node name given will create a new instance + -- of a BLE MIDI service. Typical BLE MIDI instruments have on service instance, + -- so adding more than one here may confuse some clients. The node property matching + -- rules below apply also to these servers. + --["servers"] = { "bluez_midi.server" }, +} + +bluez_midi_monitor.rules = { + -- An array of matches/actions to evaluate. + { + matches = { + { + -- Matches all nodes. + { "node.name", "matches", "bluez_midi.*" }, + }, + }, + apply_properties = { + --["node.nick"] = "My Node", + --["priority.driver"] = 100, + --["priority.session"] = 100, + --["node.pause-on-idle"] = false, + --["session.suspend-timeout-seconds"] = 5, -- 0 disables suspend + --["monitor.channel-volumes"] = false, + --["node.latency-offset-msec"] = -10, -- delay (<0) input to reduce jitter + }, + }, +} diff --git a/.config/wireplumber/bluetooth.lua.d/90-enable-all.lua b/.config/wireplumber/bluetooth.lua.d/90-enable-all.lua new file mode 100644 index 0000000..efa6bf5 --- /dev/null +++ b/.config/wireplumber/bluetooth.lua.d/90-enable-all.lua @@ -0,0 +1,2 @@ +bluez_monitor.enable() +bluez_midi_monitor.enable() diff --git a/.config/wireplumber/common/00-functions.lua b/.config/wireplumber/common/00-functions.lua new file mode 100644 index 0000000..4278e6f --- /dev/null +++ b/.config/wireplumber/common/00-functions.lua @@ -0,0 +1,36 @@ +components = {} + +function load_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a } + end +end + +function load_optional_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a, optional = true } + end +end + +function load_pw_module(m) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libpipewire-module-" .. m, type = "pw_module" } + end +end + +function load_script(s, a) + if not components[s] then + components[s] = { s, type = "script/lua", args = a } + end +end + +function load_monitor(s, a) + load_script("monitors/" .. s .. ".lua", a) +end + +function load_access(s, a) + load_script("access/access-" .. s .. ".lua", a) +end diff --git a/.config/wireplumber/main.conf b/.config/wireplumber/main.conf new file mode 100644 index 0000000..e822f02 --- /dev/null +++ b/.config/wireplumber/main.conf @@ -0,0 +1,74 @@ +# WirePlumber daemon context configuration # + +context.properties = { + ## Properties to configure the PipeWire context and some modules + + #application.name = WirePlumber + log.level = 2 + wireplumber.script-engine = lua-scripting + + #mem.mlock-all = false + #support.dbus = true +} + +context.spa-libs = { + # = + # + # Used to find spa factory names. It maps an spa factory name + # regular expression to a library name that should contain + # that factory. + # + api.alsa.* = alsa/libspa-alsa + api.v4l2.* = v4l2/libspa-v4l2 + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + #{ name = + # [ args = { = ... } ] + # [ flags = [ [ ifexists ] [ nofail ] ] + #} + # + # PipeWire modules to load. + # If ifexists is given, the module is ignored when it is not found. + # If nofail is given, module initialization failures are ignored. + # + + # The native communication protocol. + { name = libpipewire-module-protocol-native } + + # Allows creating nodes that run in the context of the + # client. Is used by all clients that want to provide + # data to PipeWire. + { name = libpipewire-module-client-node } + + # Allows creating devices that run in the context of the + # client. Is used by the session manager. + { name = libpipewire-module-client-device } + + # Makes a factory for wrapping nodes in an adapter with a + # converter and resampler. + { name = libpipewire-module-adapter } + + # Allows applications to create metadata objects. It creates + # a factory for Metadata objects. + { name = libpipewire-module-metadata } + + # Provides factories to make session manager objects. + { name = libpipewire-module-session-manager } +] + +wireplumber.components = [ + #{ name = , type = } + # + # WirePlumber components to load + # + + # The lua scripting engine + { name = libwireplumber-module-lua-scripting, type = module } + + # The lua configuration file + # Other components are loaded from there + { name = main.lua, type = config/lua } +] diff --git a/.config/wireplumber/main.lua.d/00-functions.lua b/.config/wireplumber/main.lua.d/00-functions.lua new file mode 100644 index 0000000..4278e6f --- /dev/null +++ b/.config/wireplumber/main.lua.d/00-functions.lua @@ -0,0 +1,36 @@ +components = {} + +function load_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a } + end +end + +function load_optional_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a, optional = true } + end +end + +function load_pw_module(m) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libpipewire-module-" .. m, type = "pw_module" } + end +end + +function load_script(s, a) + if not components[s] then + components[s] = { s, type = "script/lua", args = a } + end +end + +function load_monitor(s, a) + load_script("monitors/" .. s .. ".lua", a) +end + +function load_access(s, a) + load_script("access/access-" .. s .. ".lua", a) +end diff --git a/.config/wireplumber/main.lua.d/20-default-access.lua b/.config/wireplumber/main.lua.d/20-default-access.lua new file mode 100644 index 0000000..0a7eb95 --- /dev/null +++ b/.config/wireplumber/main.lua.d/20-default-access.lua @@ -0,0 +1,19 @@ +default_access = {} +default_access.properties = {} +default_access.rules = {} + +function default_access.enable() + if default_access.enabled == false then + return + end + + load_access("default", { + rules = default_access.rules + }) + + if default_access.properties["enable-flatpak-portal"] then + -- Enables portal permissions via org.freedesktop.impl.portal.PermissionStore + load_module("portal-permissionstore") + load_access("portal") + end +end diff --git a/.config/wireplumber/main.lua.d/30-alsa-monitor.lua b/.config/wireplumber/main.lua.d/30-alsa-monitor.lua new file mode 100644 index 0000000..8e45e43 --- /dev/null +++ b/.config/wireplumber/main.lua.d/30-alsa-monitor.lua @@ -0,0 +1,29 @@ +alsa_monitor = {} +alsa_monitor.properties = {} +alsa_monitor.rules = {} + +function alsa_monitor.enable() + if alsa_monitor.enabled == false then + return + end + + -- The "reserve-device" module needs to be loaded for reservation to work + if alsa_monitor.properties["alsa.reserve"] then + load_module("reserve-device") + end + + load_monitor("alsa", { + properties = alsa_monitor.properties, + rules = alsa_monitor.rules, + }) + + if alsa_monitor.properties["alsa.midi"] then + load_monitor("alsa-midi", { + properties = alsa_monitor.properties, + }) + -- The "file-monitor-api" module needs to be loaded for MIDI device monitoring + if alsa_monitor.properties["alsa.midi.monitoring"] then + load_module("file-monitor-api") + end + end +end diff --git a/.config/wireplumber/main.lua.d/30-libcamera-monitor.lua b/.config/wireplumber/main.lua.d/30-libcamera-monitor.lua new file mode 100644 index 0000000..cd820a8 --- /dev/null +++ b/.config/wireplumber/main.lua.d/30-libcamera-monitor.lua @@ -0,0 +1,14 @@ +libcamera_monitor = {} +libcamera_monitor.properties = {} +libcamera_monitor.rules = {} + +function libcamera_monitor.enable() + if libcamera_monitor.enabled == false then + return + end + + load_monitor("libcamera", { + properties = libcamera_monitor.properties, + rules = libcamera_monitor.rules, + }) +end diff --git a/.config/wireplumber/main.lua.d/30-v4l2-monitor.lua b/.config/wireplumber/main.lua.d/30-v4l2-monitor.lua new file mode 100644 index 0000000..3fbdc9e --- /dev/null +++ b/.config/wireplumber/main.lua.d/30-v4l2-monitor.lua @@ -0,0 +1,14 @@ +v4l2_monitor = {} +v4l2_monitor.properties = {} +v4l2_monitor.rules = {} + +function v4l2_monitor.enable() + if v4l2_monitor.enabled == false then + return + end + + load_monitor("v4l2", { + properties = v4l2_monitor.properties, + rules = v4l2_monitor.rules, + }) +end diff --git a/.config/wireplumber/main.lua.d/40-device-defaults.lua b/.config/wireplumber/main.lua.d/40-device-defaults.lua new file mode 100644 index 0000000..54e6b93 --- /dev/null +++ b/.config/wireplumber/main.lua.d/40-device-defaults.lua @@ -0,0 +1,63 @@ +device_defaults = {} +device_defaults.enabled = true + +device_defaults.properties = { + -- store preferences to the file system and restore them at startup; + -- when set to false, default nodes and routes are selected based on + -- their priorities and any runtime changes do not persist after restart + ["use-persistent-storage"] = true, + + -- the default volumes to apply to ACP device nodes, in the linear scale + --["default-volume"] = 0.064, + --["default-input-volume"] = 1.0, + + -- Whether to auto-switch to echo cancel sink and source nodes or not + ["auto-echo-cancel"] = true, + + -- Sets the default echo-cancel-sink node name to automatically switch to + ["echo-cancel-sink-name"] = "echo-cancel-sink", + + -- Sets the default echo-cancel-source node name to automatically switch to + ["echo-cancel-source-name"] = "echo-cancel-source", +} + +-- Sets persistent device profiles that should never change when wireplumber is +-- running, even if a new profile with higher priority becomes available +device_defaults.persistent_profiles = { + { + matches = { + { + -- Matches all devices + { "device.name", "matches", "*" }, + }, + }, + profile_names = { + "off", + "pro-audio" + } + }, +} + +function device_defaults.enable() + if device_defaults.enabled == false then + return + end + + -- Selects appropriate default nodes and enables saving and restoring them + load_module("default-nodes", device_defaults.properties) + + -- Selects appropriate profile for devices + load_script("policy-device-profile.lua", { + persistent = device_defaults.persistent_profiles + }) + + -- Selects appropriate device routes ("ports" in pulseaudio terminology) + -- and enables saving and restoring them together with + -- their properties (per-route/port volume levels, channel maps, etc) + load_script("policy-device-routes.lua", device_defaults.properties) + + if device_defaults.properties["use-persistent-storage"] then + -- Enables functionality to save and restore default device profiles + load_module("default-profile") + end +end diff --git a/.config/wireplumber/main.lua.d/40-stream-defaults.lua b/.config/wireplumber/main.lua.d/40-stream-defaults.lua new file mode 100644 index 0000000..b869099 --- /dev/null +++ b/.config/wireplumber/main.lua.d/40-stream-defaults.lua @@ -0,0 +1,42 @@ +stream_defaults = {} +stream_defaults.enabled = true + +stream_defaults.properties = { + -- whether to restore the last stream properties or not + ["restore-props"] = true, + + -- whether to restore the last stream target or not + ["restore-target"] = true, + + -- the default channel volume for new streams whose props were never saved + -- previously. This is only used if "restore-props" is set to true. + ["default-channel-volume"] = 1.0, +} + +stream_defaults.rules = { + -- Rules to override settings per node + -- { + -- matches = { + -- { + -- { "application.name", "matches", "pw-play" }, + -- }, + -- }, + -- apply_properties = { + -- ["state.restore-props"] = false, + -- ["state.restore-target"] = false, + -- ["state.default-channel-volume"] = 0.5, + -- }, + -- }, +} + +function stream_defaults.enable() + if stream_defaults.enabled == false then + return + end + + -- Save and restore stream-specific properties + load_script("restore-stream.lua", { + properties = stream_defaults.properties, + rules = stream_defaults.rules, + }) +end diff --git a/.config/wireplumber/main.lua.d/50-alsa-config.lua b/.config/wireplumber/main.lua.d/50-alsa-config.lua new file mode 100644 index 0000000..61a0aef --- /dev/null +++ b/.config/wireplumber/main.lua.d/50-alsa-config.lua @@ -0,0 +1,155 @@ +alsa_monitor.enabled = true + +alsa_monitor.properties = { + -- Create a JACK device. This is not enabled by default because + -- it requires that the PipeWire JACK replacement libraries are + -- not used by the session manager, in order to be able to + -- connect to the real JACK server. + --["alsa.jack-device"] = false, + + -- Reserve devices via org.freedesktop.ReserveDevice1 on D-Bus + -- Disable if you are running a system-wide instance, which + -- doesn't have access to the D-Bus user session + ["alsa.reserve"] = true, + --["alsa.reserve.priority"] = -20, + --["alsa.reserve.application-name"] = "WirePlumber", + + -- Enables MIDI functionality + ["alsa.midi"] = true, + + -- Enables monitoring of alsa MIDI devices + ["alsa.midi.monitoring"] = true, + + -- MIDI bridge node properties + ["alsa.midi.node-properties"] = { + -- Name set for the node with ALSA MIDI ports + ["node.name"] = "Midi-Bridge", + -- Removes longname/number from MIDI port names + --["api.alsa.disable-longname"] = true, + }, + + -- These properties override node defaults when running in a virtual machine. + -- The rules below still override those. + ["vm.node.defaults"] = { + ["api.alsa.period-size"] = 256, + ["api.alsa.headroom"] = 8192, + }, +} + +alsa_monitor.rules = { + -- An array of matches/actions to evaluate. + -- + -- If you want to disable some devices or nodes, you can apply properties per device as the following example. + -- The name can be found by running pw-cli ls Device, or pw-cli dump Device + --{ + -- matches = { + -- { + -- { "device.name", "matches", "name_of_some_disabled_card" }, + -- }, + -- }, + -- apply_properties = { + -- ["device.disabled"] = true, + -- }, + --} + { + -- Rules for matching a device or node. It is an array of + -- properties that all need to match the regexp. If any of the + -- matches work, the actions are executed for the object. + matches = { + { + -- This matches all cards. + { "device.name", "matches", "alsa_card.*" }, + }, + }, + -- Apply properties on the matched object. + apply_properties = { + -- Use ALSA-Card-Profile devices. They use UCM or the profile + -- configuration to configure the device and mixer settings. + ["api.alsa.use-acp"] = true, + + -- Use UCM instead of profile when available. Can be + -- disabled to skip trying to use the UCM profile. + --["api.alsa.use-ucm"] = true, + + -- Don't use the hardware mixer for volume control. It + -- will only use software volume. The mixer is still used + -- to mute unused paths based on the selected port. + --["api.alsa.soft-mixer"] = false, + + -- Ignore decibel settings of the driver. Can be used to + -- work around buggy drivers that report wrong values. + --["api.alsa.ignore-dB"] = false, + + -- The profile set to use for the device. Usually this is + -- "default.conf" but can be changed with a udev rule or here. + --["device.profile-set"] = "profileset-name", + + -- The default active profile. Is by default set to "Off". + --["device.profile"] = "default profile name", + + -- Automatically select the best profile. This is the + -- highest priority available profile. This is disabled + -- here and instead implemented in the session manager + -- where it can save and load previous preferences. + ["api.acp.auto-profile"] = false, + + -- Automatically switch to the highest priority available port. + -- This is disabled here and implemented in the session manager instead. + ["api.acp.auto-port"] = false, + + -- Other properties can be set here. + --["device.nick"] = "My Device", + }, + }, + { + matches = { + { + -- Matches all sources. + { "node.name", "matches", "alsa_input.*" }, + }, + { + -- Matches all sinks. + { "node.name", "matches", "alsa_output.*" }, + }, + }, + apply_properties = { + --["node.nick"] = "My Node", + --["node.description"] = "My Node Description", + --["priority.driver"] = 100, + --["priority.session"] = 100, + --["node.pause-on-idle"] = false, + --["monitor.channel-volumes"] = false + --["resample.quality"] = 4, + --["resample.disable"] = false, + --["channelmix.normalize"] = false, + --["channelmix.mix-lfe"] = false, + --["channelmix.upmix"] = true, + --["channelmix.upmix-method"] = "psd", -- "none" or "simple" + --["channelmix.lfe-cutoff"] = 150, + --["channelmix.fc-cutoff"] = 12000, + --["channelmix.rear-delay"] = 12.0, + --["channelmix.stereo-widen"] = 0.0, + --["channelmix.hilbert-taps"] = 0, + --["channelmix.disable"] = false, + --["dither.noise"] = 0, + --["dither.method"] = "none", -- "rectangular", "triangular" or "shaped5" + --["audio.channels"] = 2, + --["audio.format"] = "S16LE", + --["audio.rate"] = 44100, + --["audio.allowed-rates"] = "32000,96000", + --["audio.position"] = "FL,FR", + --["api.alsa.period-size"] = 1024, + --["api.alsa.period-num"] = 2, + --["api.alsa.headroom"] = 0, + --["api.alsa.start-delay"] = 0, + --["api.alsa.disable-mmap"] = false, + --["api.alsa.disable-batch"] = false, + --["api.alsa.use-chmap"] = false, + --["api.alsa.multirate"] = true, + --["latency.internal.rate"] = 0 + --["latency.internal.ns"] = 0 + --["clock.name"] = "api.alsa.0" + --["session.suspend-timeout-seconds"] = 5, -- 0 disables suspend + }, + }, +} diff --git a/.config/wireplumber/main.lua.d/50-default-access-config.lua b/.config/wireplumber/main.lua.d/50-default-access-config.lua new file mode 100644 index 0000000..4ad3d57 --- /dev/null +++ b/.config/wireplumber/main.lua.d/50-default-access-config.lua @@ -0,0 +1,36 @@ +default_access.enabled = true + +default_access.properties = { + -- Enable the use of the flatpak portal integration. + -- Disable if you are running a system-wide instance, which + -- doesn't have access to the D-Bus user session + ["enable-flatpak-portal"] = true, +} + +default_access.rules = { + { + matches = { + { + { "pipewire.access", "=", "flatpak" }, + { "media.category", "=", "Manager" }, + }, + }, + default_permissions = "all", + }, + { + matches = { + { + { "pipewire.access", "=", "flatpak" }, + }, + }, + default_permissions = "rx", + }, + { + matches = { + { + { "pipewire.access", "=", "restricted" }, + }, + }, + default_permissions = "rx", + }, +} diff --git a/.config/wireplumber/main.lua.d/50-libcamera-config.lua b/.config/wireplumber/main.lua.d/50-libcamera-config.lua new file mode 100644 index 0000000..d63fed1 --- /dev/null +++ b/.config/wireplumber/main.lua.d/50-libcamera-config.lua @@ -0,0 +1,38 @@ +libcamera_monitor.enabled = true + +libcamera_monitor.rules = { + -- An array of matches/actions to evaluate. + { + -- Rules for matching a device or node. It is an array of + -- properties that all need to match the regexp. If any of the + -- matches work, the actions are executed for the object. + matches = { + { + -- This matches all cards. + { "device.name", "matches", "libcamera_device.*" }, + }, + }, + -- Apply properties on the matched object. + apply_properties = { + -- ["device.nick"] = "My Device", + }, + }, + { + matches = { + { + -- Matches all sources. + { "node.name", "matches", "libcamera_input.*" }, + }, + { + -- Matches all sinks. + { "node.name", "matches", "libcamera_output.*" }, + }, + }, + apply_properties = { + --["node.nick"] = "My Node", + --["priority.driver"] = 100, + --["priority.session"] = 100, + --["node.pause-on-idle"] = false, + }, + }, +} diff --git a/.config/wireplumber/main.lua.d/50-v4l2-config.lua b/.config/wireplumber/main.lua.d/50-v4l2-config.lua new file mode 100644 index 0000000..36e9f42 --- /dev/null +++ b/.config/wireplumber/main.lua.d/50-v4l2-config.lua @@ -0,0 +1,38 @@ +v4l2_monitor.enabled = true + +v4l2_monitor.rules = { + -- An array of matches/actions to evaluate. + { + -- Rules for matching a device or node. It is an array of + -- properties that all need to match the regexp. If any of the + -- matches work, the actions are executed for the object. + matches = { + { + -- This matches all cards. + { "device.name", "matches", "v4l2_device.*" }, + }, + }, + -- Apply properties on the matched object. + apply_properties = { + -- ["device.nick"] = "My Device", + }, + }, + { + matches = { + { + -- Matches all sources. + { "node.name", "matches", "v4l2_input.*" }, + }, + { + -- Matches all sinks. + { "node.name", "matches", "v4l2_output.*" }, + }, + }, + apply_properties = { + --["node.nick"] = "My Node", + --["priority.driver"] = 100, + --["priority.session"] = 100, + --["node.pause-on-idle"] = false, + }, + }, +} diff --git a/.config/wireplumber/main.lua.d/90-enable-all.lua b/.config/wireplumber/main.lua.d/90-enable-all.lua new file mode 100644 index 0000000..1aa194d --- /dev/null +++ b/.config/wireplumber/main.lua.d/90-enable-all.lua @@ -0,0 +1,23 @@ +-- Provide the "default" pw_metadata, which stores +-- dynamic properties of pipewire objects in RAM +load_module("metadata") + +-- Default client access policy +default_access.enable() + +-- Load devices +alsa_monitor.enable() +v4l2_monitor.enable() +libcamera_monitor.enable() + +-- Track/store/restore user choices about devices +device_defaults.enable() + +-- Track/store/restore user choices about streams +stream_defaults.enable() + +-- Link nodes by stream role and device intended role +load_script("intended-roles.lua") + +-- Automatically suspends idle nodes after 3 seconds +load_script("suspend-node.lua") diff --git a/.config/wireplumber/policy.conf b/.config/wireplumber/policy.conf new file mode 100644 index 0000000..42f7148 --- /dev/null +++ b/.config/wireplumber/policy.conf @@ -0,0 +1,73 @@ +# WirePlumber daemon context configuration # + +context.properties = { + ## Properties to configure the PipeWire context and some modules + + application.name = "WirePlumber Policy" + log.level = 2 + wireplumber.script-engine = lua-scripting + wireplumber.export-core = false + + #mem.mlock-all = false + #support.dbus = true +} + +context.spa-libs = { + # = + # + # Used to find spa factory names. It maps an spa factory name + # regular expression to a library name that should contain + # that factory. + # + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + #{ name = + # [ args = { = ... } ] + # [ flags = [ [ ifexists ] [ nofail ] ] + #} + # + # PipeWire modules to load. + # If ifexists is given, the module is ignored when it is not found. + # If nofail is given, module initialization failures are ignored. + # + + # The native communication protocol. + { name = libpipewire-module-protocol-native } + + # Allows creating nodes that run in the context of the + # client. Is used by all clients that want to provide + # data to PipeWire. + { name = libpipewire-module-client-node } + + # Allows creating devices that run in the context of the + # client. Is used by the session manager. + { name = libpipewire-module-client-device } + + # Makes a factory for wrapping nodes in an adapter with a + # converter and resampler. + { name = libpipewire-module-adapter } + + # Allows applications to create metadata objects. It creates + # a factory for Metadata objects. + { name = libpipewire-module-metadata } + + # Provides factories to make session manager objects. + { name = libpipewire-module-session-manager } +] + +wireplumber.components = [ + #{ name = , type = } + # + # WirePlumber components to load + # + + # The lua scripting engine + { name = libwireplumber-module-lua-scripting, type = module } + + # The lua configuration file + # Other components are loaded from there + { name = policy.lua, type = config/lua } +] diff --git a/.config/wireplumber/policy.lua.d/00-functions.lua b/.config/wireplumber/policy.lua.d/00-functions.lua new file mode 100644 index 0000000..4278e6f --- /dev/null +++ b/.config/wireplumber/policy.lua.d/00-functions.lua @@ -0,0 +1,36 @@ +components = {} + +function load_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a } + end +end + +function load_optional_module(m, a) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libwireplumber-module-" .. m, type = "module", args = a, optional = true } + end +end + +function load_pw_module(m) + assert(type(m) == "string", "module name is mandatory, bail out"); + if not components[m] then + components[m] = { "libpipewire-module-" .. m, type = "pw_module" } + end +end + +function load_script(s, a) + if not components[s] then + components[s] = { s, type = "script/lua", args = a } + end +end + +function load_monitor(s, a) + load_script("monitors/" .. s .. ".lua", a) +end + +function load_access(s, a) + load_script("access/access-" .. s .. ".lua", a) +end diff --git a/.config/wireplumber/policy.lua.d/10-default-policy.lua b/.config/wireplumber/policy.lua.d/10-default-policy.lua new file mode 100644 index 0000000..1b11e08 --- /dev/null +++ b/.config/wireplumber/policy.lua.d/10-default-policy.lua @@ -0,0 +1,81 @@ +default_policy = {} +default_policy.enabled = true +default_policy.properties = {} +default_policy.endpoints = {} + +default_policy.policy = { + ["move"] = true, -- moves session items when metadata target.node changes + ["follow"] = true, -- moves session items to the default device when it has changed + + -- Whether to forward the ports format of filter stream nodes to their + -- associated filter device nodes. This is needed for application to stream + -- surround audio if echo-cancel is enabled. + ["filter.forward-format"] = false, + + -- Set to 'true' to disable channel splitting & merging on nodes and enable + -- passthrough of audio in the same format as the format of the device. + -- Note that this breaks JACK support; it is generally not recommended + ["audio.no-dsp"] = false, + + -- how much to lower the volume of lower priority streams when ducking + -- note that this is a linear volume modifier (not cubic as in pulseaudio) + ["duck.level"] = 0.3, +} + +bluetooth_policy = {} + +bluetooth_policy.policy = { + -- Whether to store state on the filesystem. + ["use-persistent-storage"] = true, + + -- Whether to use headset profile in the presence of an input stream. + ["media-role.use-headset-profile"] = true, + + -- Application names correspond to application.name in stream properties. + -- Applications which do not set media.role but which should be considered + -- for role based profile switching can be specified here. + ["media-role.applications"] = { + "Firefox", "Chromium input", "Google Chrome input", "Brave input", + "Microsoft Edge input", "Vivaldi input", "ZOOM VoiceEngine", + "Telegram Desktop", "telegram-desktop", "linphone", "Mumble", + "WEBRTC VoiceEngine", "Skype", "Firefox Developer Edition", + }, +} + +function default_policy.enable() + if default_policy.enabled == false then + return + end + + -- Session item factories, building blocks for the session management graph + -- Do not disable these unless you really know what you are doing + load_module("si-node") + load_module("si-audio-adapter") + load_module("si-standard-link") + load_module("si-audio-endpoint") + + -- API to access default nodes from scripts + load_module("default-nodes-api") + + -- API to access mixer controls, needed for volume ducking + load_module("mixer-api") + + -- Create endpoints statically at startup + load_script("static-endpoints.lua", default_policy.endpoints) + + -- Create items for nodes that appear in the graph + load_script("create-item.lua", default_policy.policy) + + -- Link nodes to each other to make media flow in the graph + load_script("policy-node.lua", default_policy.policy) + + -- Link client nodes with endpoints to make media flow in the graph + load_script("policy-endpoint-client.lua", default_policy.policy) + load_script("policy-endpoint-client-links.lua", default_policy.policy) + + -- Link endpoints with device nodes to make media flow in the graph + load_script("policy-endpoint-device.lua", default_policy.policy) + + -- Switch bluetooth profile based on media.role + load_script("policy-bluetooth.lua", bluetooth_policy.policy) +end diff --git a/.config/wireplumber/policy.lua.d/50-endpoints-config.lua b/.config/wireplumber/policy.lua.d/50-endpoints-config.lua new file mode 100644 index 0000000..2865694 --- /dev/null +++ b/.config/wireplumber/policy.lua.d/50-endpoints-config.lua @@ -0,0 +1,95 @@ +-- uncomment to enable role-based endpoints +-- this is not yet ready for desktop use +-- +--[[ + +default_policy.policy.roles = { + ["Capture"] = { + ["alias"] = { "Multimedia", "Music", "Voice", "Capture" }, + ["priority"] = 25, + ["action.default"] = "cork", + ["action.capture"] = "mix", + ["media.class"] = "Audio/Source", + }, + ["Multimedia"] = { + ["alias"] = { "Movie", "Music", "Game" }, + ["priority"] = 25, + ["action.default"] = "cork", + }, + ["Speech-Low"] = { + ["priority"] = 30, + ["action.default"] = "cork", + ["action.Speech-Low"] = "mix", + }, + ["Custom-Low"] = { + ["priority"] = 35, + ["action.default"] = "cork", + ["action.Custom-Low"] = "mix", + }, + ["Navigation"] = { + ["priority"] = 50, + ["action.default"] = "duck", + ["action.Navigation"] = "mix", + }, + ["Speech-High"] = { + ["priority"] = 60, + ["action.default"] = "cork", + ["action.Speech-High"] = "mix", + }, + ["Custom-High"] = { + ["priority"] = 65, + ["action.default"] = "cork", + ["action.Custom-High"] = "mix", + }, + ["Communication"] = { + ["priority"] = 75, + ["action.default"] = "cork", + ["action.Communication"] = "mix", + }, + ["Emergency"] = { + ["alias"] = { "Alert" }, + ["priority"] = 99, + ["action.default"] = "cork", + ["action.Emergency"] = "mix", + }, +} + +default_policy.endpoints = { + ["endpoint.capture"] = { + ["media.class"] = "Audio/Source", + ["role"] = "Capture", + }, + ["endpoint.multimedia"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Multimedia", + }, + ["endpoint.speech_low"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Speech-Low", + }, + ["endpoint.custom_low"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Custom-Low", + }, + ["endpoint.navigation"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Navigation", + }, + ["endpoint.speech_high"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Speech-High", + }, + ["endpoint.custom_high"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Custom-High", + }, + ["endpoint.communication"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Communication", + }, + ["endpoint.emergency"] = { + ["media.class"] = "Audio/Sink", + ["role"] = "Emergency", + }, +} +]]-- diff --git a/.config/wireplumber/policy.lua.d/90-enable-all.lua b/.config/wireplumber/policy.lua.d/90-enable-all.lua new file mode 100644 index 0000000..c20e23a --- /dev/null +++ b/.config/wireplumber/policy.lua.d/90-enable-all.lua @@ -0,0 +1 @@ +default_policy.enable() diff --git a/.config/wireplumber/scripts/access/access-default.lua b/.config/wireplumber/scripts/access/access-default.lua new file mode 100644 index 0000000..0fac87b --- /dev/null +++ b/.config/wireplumber/scripts/access/access-default.lua @@ -0,0 +1,53 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +function rulesGetDefaultPermissions(properties) + for _, r in ipairs(config.rules or {}) do + if r.default_permissions then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + return r.default_permissions + end + end + end + end +end + +clients_om = ObjectManager { + Interest { type = "client" } +} + +clients_om:connect("object-added", function (om, client) + local id = client["bound-id"] + local properties = client["properties"] + + local perms = rulesGetDefaultPermissions(properties) + + if perms then + Log.info(client, "Granting permissions to client " .. id .. ": " .. perms) + client:update_permissions { ["any"] = perms } + end +end) + +clients_om:activate() diff --git a/.config/wireplumber/scripts/access/access-portal.lua b/.config/wireplumber/scripts/access/access-portal.lua new file mode 100644 index 0000000..e87a157 --- /dev/null +++ b/.config/wireplumber/scripts/access/access-portal.lua @@ -0,0 +1,141 @@ +MEDIA_ROLE_NONE = 0 +MEDIA_ROLE_CAMERA = 1 << 0 + +function hasPermission (permissions, app_id, lookup) + if permissions then + for key, values in pairs(permissions) do + if key == app_id then + for _, v in pairs(values) do + if v == lookup then + return true + end + end + end + end + end + return false +end + +function parseMediaRoles (media_roles_str) + local media_roles = MEDIA_ROLE_NONE + for role in media_roles_str:gmatch('[^,%s]+') do + if role == "Camera" then + media_roles = media_roles | MEDIA_ROLE_CAMERA + end + end + return media_roles +end + +function setPermissions (client, allow_client, allow_nodes) + local client_id = client["bound-id"] + Log.info(client, "Granting ALL access to client " .. client_id) + + -- Update permissions on client + client:update_permissions { [client_id] = allow_client and "all" or "-" } + + -- Update permissions on camera source nodes + for node in nodes_om:iterate() do + local node_id = node["bound-id"] + client:update_permissions { [node_id] = allow_nodes and "all" or "-" } + end +end + +function updateClientPermissions (client, permissions) + local client_id = client["bound-id"] + local str_prop = nil + local app_id = nil + local media_roles = nil + local allowed = false + + -- Make sure the client is not the portal itself + str_prop = client.properties["pipewire.access.portal.is_portal"] + if str_prop == "yes" then + Log.info (client, "client is the portal itself") + return + end + + -- Make sure the client has a portal app Id + str_prop = client.properties["pipewire.access.portal.app_id"] + if str_prop == nil then + Log.info (client, "Portal managed client did not set app_id") + return + end + if str_prop == "" then + Log.info (client, "Ignoring portal check for non-sandboxed client") + setPermissions (client, true, true) + return + end + app_id = str_prop + + -- Make sure the client has portal media roles + str_prop = client.properties["pipewire.access.portal.media_roles"] + if str_prop == nil then + Log.info (client, "Portal managed client did not set media_roles") + return + end + media_roles = parseMediaRoles (str_prop) + if (media_roles & MEDIA_ROLE_CAMERA) == 0 then + Log.info (client, "Ignoring portal check for clients without camera role") + return + end + + -- Update permissions + allowed = hasPermission (permissions, app_id, "yes") + + Log.info (client, "setting permissions: " .. tostring(allowed)) + setPermissions (client, allowed, allowed) +end + +-- Create portal clients object manager +clients_om = ObjectManager { + Interest { + type = "client", + Constraint { "pipewire.access", "=", "portal" }, + } +} + +-- Set permissions to portal clients from the permission store if loaded +pps_plugin = Plugin.find("portal-permissionstore") +if pps_plugin then + nodes_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.role", "=", "Camera" }, + Constraint { "media.class", "=", "Video/Source" }, + } + } + nodes_om:activate() + + clients_om:connect("object-added", function (om, client) + local new_perms = pps_plugin:call("lookup", "devices", "camera"); + updateClientPermissions (client, new_perms) + end) + + nodes_om:connect("object-added", function (om, node) + local new_perms = pps_plugin:call("lookup", "devices", "camera"); + for client in clients_om:iterate() do + updateClientPermissions (client, new_perms) + end + end) + + pps_plugin:connect("changed", function (p, table, id, deleted, permissions) + if table == "devices" or id == "camera" then + for app_id, _ in pairs(permissions) do + for client in clients_om:iterate { + Constraint { "pipewire.access.portal.app_id", "=", app_id } + } do + updateClientPermissions (client, permissions) + end + end + end + end) +else + -- Otherwise, just set all permissions to all portal clients + clients_om:connect("object-added", function (om, client) + local id = client["bound-id"] + Log.info(client, "Granting ALL access to client " .. id) + client:update_permissions { ["any"] = "all" } + end) +end + +clients_om:activate() diff --git a/.config/wireplumber/scripts/create-item.lua b/.config/wireplumber/scripts/create-item.lua new file mode 100644 index 0000000..3b2cc83 --- /dev/null +++ b/.config/wireplumber/scripts/create-item.lua @@ -0,0 +1,129 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} + +items = {} + +function configProperties(node) + local np = node.properties + local properties = { + ["item.node"] = node, + ["item.plugged.usec"] = GLib.get_monotonic_time(), + ["item.features.no-dsp"] = config["audio.no-dsp"], + ["item.features.monitor"] = true, + ["item.features.control-port"] = false, + ["node.id"] = node["bound-id"], + ["client.id"] = np["client.id"], + ["object.path"] = np["object.path"], + ["object.serial"] = np["object.serial"], + ["target.object"] = np["target.object"], + ["priority.session"] = np["priority.session"], + ["device.id"] = np["device.id"], + ["card.profile.device"] = np["card.profile.device"], + } + + for k, v in pairs(np) do + if k:find("^node") or k:find("^stream") or k:find("^media") then + properties[k] = v + end + end + + local media_class = properties["media.class"] or "" + + if not properties["media.type"] then + for _, i in ipairs({ "Audio", "Video", "Midi" }) do + if media_class:find(i) then + properties["media.type"] = i + break + end + end + end + + properties["item.node.type"] = + media_class:find("^Stream/") and "stream" or "device" + + if media_class:find("Sink") or + media_class:find("Input") or + media_class:find("Duplex") then + properties["item.node.direction"] = "input" + elseif media_class:find("Source") or media_class:find("Output") then + properties["item.node.direction"] = "output" + end + return properties +end + +function addItem (node, item_type) + local id = node["bound-id"] + local item + + -- create item + item = SessionItem ( item_type ) + items[id] = item + + -- configure item + if not item:configure(configProperties(node)) then + Log.warning(item, "failed to configure item for node " .. tostring(id)) + return + end + + item:register () + + -- activate item + items[id]:activate (Features.ALL, function (item, e) + if e then + Log.message(item, "failed to activate item: " .. tostring(e)); + if item then + item:remove () + end + else + Log.info(item, "activated item for node " .. tostring(id)) + + -- Trigger object managers to update status + item:remove () + if item["active-features"] ~= 0 then + item:register () + end + end + end) +end + +nodes_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.class", "#", "Stream/*", type = "pw-global" }, + }, + Interest { + type = "node", + Constraint { "media.class", "#", "Video/*", type = "pw-global" }, + }, + Interest { + type = "node", + Constraint { "media.class", "#", "Audio/*", type = "pw-global" }, + Constraint { "wireplumber.is-endpoint", "-", type = "pw" }, + }, +} + +nodes_om:connect("object-added", function (om, node) + local media_class = node.properties['media.class'] + if string.find (media_class, "Audio") then + addItem (node, "si-audio-adapter") + else + addItem (node, "si-node") + end +end) + +nodes_om:connect("object-removed", function (om, node) + local id = node["bound-id"] + if items[id] then + items[id]:remove () + items[id] = nil + end +end) + +nodes_om:activate() diff --git a/.config/wireplumber/scripts/fallback-sink.lua b/.config/wireplumber/scripts/fallback-sink.lua new file mode 100644 index 0000000..d7c3cfa --- /dev/null +++ b/.config/wireplumber/scripts/fallback-sink.lua @@ -0,0 +1,93 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Frédéric Danis +-- +-- SPDX-License-Identifier: MIT + +local sink_ids = {} +local fallback_node = nil + +node_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.class", "matches", "Audio/Sink", type = "pw-global" }, + -- Do not consider endpoints created by WirePlumber + Constraint { "wireplumber.is-endpoint", "!", true, type = "pw" }, + -- or the fallback sink itself + Constraint { "wireplumber.is-fallback", "!", true, type = "pw" }, + } +} + +function createFallbackSink() + if fallback_node then + return + end + + Log.info("Create fallback sink") + + local properties = {} + + properties["node.name"] = "auto_null" + properties["node.description"] = "Dummy Output" + + properties["audio.rate"] = 48000 + properties["audio.channels"] = 2 + properties["audio.position"] = "FL,FR" + + properties["media.class"] = "Audio/Sink" + properties["factory.name"] = "support.null-audio-sink" + properties["node.virtual"] = "true" + properties["monitor.channel-volumes"] = "true" + + properties["wireplumber.is-fallback"] = "true" + properties["priority.session"] = 500 + + fallback_node = LocalNode("adapter", properties) + fallback_node:activate(Feature.Proxy.BOUND) +end + +function checkSinks() + local sink_ids_items = 0 + for _ in pairs(sink_ids) do sink_ids_items = sink_ids_items + 1 end + + if sink_ids_items > 0 then + if fallback_node then + Log.info("Remove fallback sink") + fallback_node = nil + end + elseif not fallback_node then + createFallbackSink() + end +end + +function checkSinksAfterTimeout() + if timeout_source then + timeout_source:destroy() + end + timeout_source = Core.timeout_add(1000, function () + checkSinks() + timeout_source = nil + end) +end + +node_om:connect("object-added", function (_, node) + Log.debug("object added: " .. node.properties["object.id"] .. " " .. + tostring(node.properties["node.name"])) + + sink_ids[node.properties["object.id"]] = node.properties["node.name"] + + checkSinksAfterTimeout() +end) + +node_om:connect("object-removed", function (_, node) + Log.debug("object removed: " .. node.properties["object.id"] .. " " .. + tostring(node.properties["node.name"])) + + sink_ids[node.properties["object.id"]] = nil + checkSinksAfterTimeout() +end) + +node_om:activate() + +checkSinksAfterTimeout() diff --git a/.config/wireplumber/scripts/intended-roles.lua b/.config/wireplumber/scripts/intended-roles.lua new file mode 100644 index 0000000..f0d472b --- /dev/null +++ b/.config/wireplumber/scripts/intended-roles.lua @@ -0,0 +1,74 @@ +-- WirePlumber +-- +-- Copyright © 2021 Asymptotic +-- @author Arun Raghavan +-- +-- SPDX-License-Identifier: MIT +-- +-- Route streams of a given role (media.role property) to devices that are +-- intended for that role (device.intended-roles property) + +metadata_om = ObjectManager { + Interest { + type = "metadata", + Constraint { "metadata.name", "=", "default" }, + } +} + +devices_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.class", "matches", "Audio/*", type = "pw-global" }, + Constraint { "device.intended-roles", "is-present", type = "pw" }, + } +} + +streams_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.class", "matches", "Stream/*/Audio", type = "pw-global" }, + Constraint { "media.role", "is-present", type = "pw-global" } + } +} + +local function routeUsingIntendedRole(stream, dev) + local stream_role = stream.properties["media.role"] + local is_input = stream.properties["media.class"]:find("Input") ~= nil + + local is_source = dev.properties["media.class"]:find("Source") ~= nil + local dev_roles = dev.properties["device.intended-roles"] + + -- Make sure the stream and device direction match + if is_input ~= is_source then + return + end + + for role in dev_roles:gmatch("(%a+)") do + if role == stream_role then + Log.info(stream, + string.format("Routing stream '%s' (%d) with role '%s' to '%s' (%d)", + stream.properties["node.name"], stream["bound-id"], stream_role, + dev.properties["node.name"], dev["bound-id"]) + ) + + local metadata = metadata_om:lookup() + metadata:set(stream["bound-id"], "target.node", "Spa:Id", dev["bound-id"]) + end + end +end + +streams_om:connect("object-added", function (streams_om, stream) + for dev in devices_om:iterate() do + routeUsingIntendedRole(stream, dev) + end +end) + +devices_om:connect("object-added", function (devices_om, dev) + for stream in streams_om:iterate() do + routeUsingIntendedRole(stream, dev) + end +end) + +metadata_om:activate() +devices_om:activate() +streams_om:activate() diff --git a/.config/wireplumber/scripts/monitors/alsa-midi.lua b/.config/wireplumber/scripts/monitors/alsa-midi.lua new file mode 100644 index 0000000..6fdf34d --- /dev/null +++ b/.config/wireplumber/scripts/monitors/alsa-midi.lua @@ -0,0 +1,68 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} + +-- ensure config.properties is not nil +config.properties = config.properties or {} + +SND_PATH = "/dev/snd" +SEQ_NAME = "seq" +SND_SEQ_PATH = SND_PATH .. "/" .. SEQ_NAME + +midi_node = nil +fm_plugin = nil + +function CreateMidiNode () + -- Midi properties + local props = {} + if type(config.properties["alsa.midi.node-properties"]) == "table" then + props = config.properties["alsa.midi.node-properties"] + end + props["factory.name"] = "api.alsa.seq.bridge" + props["node.name"] = props["node.name"] or "Midi-Bridge" + + -- create the midi node + local node = Node("spa-node-factory", props) + node:activate(Feature.Proxy.BOUND, function (n) + Log.info ("activated Midi bridge") + end) + + return node; +end + +if GLib.access (SND_SEQ_PATH, "rw") then + midi_node = CreateMidiNode () +elseif config.properties["alsa.midi.monitoring"] then + fm_plugin = Plugin.find("file-monitor-api") +end + +-- Only monitor the MIDI device if file does not exist and plugin API is loaded +if midi_node == nil and fm_plugin ~= nil then + -- listen for changed events + fm_plugin:connect ("changed", function (o, file, old, evtype) + -- files attributes changed + if evtype == "attribute-changed" then + if file ~= SND_SEQ_PATH then + return + end + if midi_node == nil and GLib.access (SND_SEQ_PATH, "rw") then + midi_node = CreateMidiNode () + fm_plugin:call ("remove-watch", SND_PATH) + end + end + + -- directory is going to be unmounted + if evtype == "pre-unmount" then + fm_plugin:call ("remove-watch", SND_PATH) + end + end) + + -- add watch + fm_plugin:call ("add-watch", SND_PATH, "m") +end diff --git a/.config/wireplumber/scripts/monitors/alsa.lua b/.config/wireplumber/scripts/monitors/alsa.lua new file mode 100644 index 0000000..d56c9f0 --- /dev/null +++ b/.config/wireplumber/scripts/monitors/alsa.lua @@ -0,0 +1,427 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} + +-- ensure config.properties is not nil +config.properties = config.properties or {} + +-- unique device/node name tables +device_names_table = nil +node_names_table = nil + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +function nonempty(str) + return str ~= "" and str or nil +end + +function createNode(parent, id, obj_type, factory, properties) + local dev_props = parent.properties + + -- set the device id and spa factory name; REQUIRED, do not change + properties["device.id"] = parent["bound-id"] + properties["factory.name"] = factory + + -- set the default pause-on-idle setting + properties["node.pause-on-idle"] = false + + -- try to negotiate the max ammount of channels + if dev_props["api.alsa.use-acp"] ~= "true" then + properties["audio.channels"] = properties["audio.channels"] or "64" + end + + local dev = properties["api.alsa.pcm.device"] + or properties["alsa.device"] or "0" + local subdev = properties["api.alsa.pcm.subdevice"] + or properties["alsa.subdevice"] or "0" + local stream = properties["api.alsa.pcm.stream"] or "unknown" + local profile = properties["device.profile.name"] + or (stream .. "." .. dev .. "." .. subdev) + local profile_desc = properties["device.profile.description"] + + -- set priority + if not properties["priority.driver"] then + local priority = (dev == "0") and 1000 or 744 + if stream == "capture" then + priority = priority + 1000 + end + + priority = priority - (tonumber(dev) * 16) - tonumber(subdev) + + if profile:find("^pro%-") then + priority = priority + 500 + elseif profile:find("^analog%-") then + priority = priority + 9 + elseif profile:find("^iec958%-") then + priority = priority + 8 + end + + properties["priority.driver"] = priority + properties["priority.session"] = priority + end + + -- ensure the node has a media class + if not properties["media.class"] then + if stream == "capture" then + properties["media.class"] = "Audio/Source" + else + properties["media.class"] = "Audio/Sink" + end + end + + -- ensure the node has a name + if not properties["node.name"] then + local name = + (stream == "capture" and "alsa_input" or "alsa_output") + .. "." .. + (dev_props["device.name"]:gsub("^alsa_card%.(.+)", "%1") or + dev_props["device.name"] or + "unnamed-device") + .. "." .. + profile + + -- sanitize name + name = name:gsub("([^%w_%-%.])", "_") + + properties["node.name"] = name + + -- deduplicate nodes with the same name + for counter = 2, 99, 1 do + if node_names_table[properties["node.name"]] ~= true then + node_names_table[properties["node.name"]] = true + break + end + properties["node.name"] = name .. "." .. counter + end + end + + -- and a nick + local nick = nonempty(properties["node.nick"]) + or nonempty(properties["api.alsa.pcm.name"]) + or nonempty(properties["alsa.name"]) + or nonempty(profile_desc) + or dev_props["device.nick"] + if nick == "USB Audio" then + nick = dev_props["device.nick"] + end + -- also sanitize nick, replace ':' with ' ' + properties["node.nick"] = nick:gsub("(:)", " ") + + -- ensure the node has a description + if not properties["node.description"] then + local desc = nonempty(dev_props["device.description"]) or "unknown" + local name = nonempty(properties["api.alsa.pcm.name"]) or + nonempty(properties["api.alsa.pcm.id"]) or dev + + if profile_desc then + desc = desc .. " " .. profile_desc + elseif subdev ~= "0" then + desc = desc .. " (" .. name .. " " .. subdev .. ")" + elseif dev ~= "0" then + desc = desc .. " (" .. name .. ")" + end + + -- also sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") + end + + -- add api.alsa.card.* properties for rule matching purposes + for k, v in pairs(dev_props) do + if k:find("^api%.alsa%.card%..*") then + properties[k] = v + end + end + + -- apply VM overrides + local vm_overrides = config.properties["vm.node.defaults"] + if nonempty(Core.get_vm_type()) and type(vm_overrides) == "table" then + for k, v in pairs(vm_overrides) do + properties[k] = v + end + end + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties["node.disabled"] then + node_names_table [properties ["node.name"]] = nil + return + end + + -- create the node + local node = Node("adapter", properties) + node:activate(Feature.Proxy.BOUND) + parent:store_managed_object(id, node) +end + +function createDevice(parent, id, factory, properties) + local device = SpaDevice(factory, properties) + if device then + device:connect("create-object", createNode) + device:connect("object-removed", function (parent, id) + local node = parent:get_managed_object(id) + if not node then + return + end + + node_names_table[node.properties["node.name"]] = nil + end) + device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) + parent:store_managed_object(id, device) + else + Log.warning ("Failed to create '" .. factory .. "' device") + end +end + +function prepareDevice(parent, id, obj_type, factory, properties) + -- ensure the device has an appropriate name + local name = "alsa_card." .. + (properties["device.name"] or + properties["device.bus-id"] or + properties["device.bus-path"] or + tostring(id)):gsub("([^%w_%-%.])", "_") + + properties["device.name"] = name + + -- deduplicate devices with the same name + for counter = 2, 99, 1 do + if device_names_table[properties["device.name"]] ~= true then + device_names_table[properties["device.name"]] = true + break + end + properties["device.name"] = name .. "." .. counter + end + + -- ensure the device has a description + if not properties["device.description"] then + local d = nil + local f = properties["device.form-factor"] + local c = properties["device.class"] + local n = properties["api.alsa.card.name"] + + if n == "Loopback" then + d = I18n.gettext("Loopback") + elseif f == "internal" then + d = I18n.gettext("Built-in Audio") + elseif c == "modem" then + d = I18n.gettext("Modem") + end + + d = d or properties["device.product.name"] + or properties["api.alsa.card.name"] + or properties["alsa.card_name"] + or "Unknown device" + properties["device.description"] = d + end + + -- ensure the device has a nick + properties["device.nick"] = + properties["device.nick"] or + properties["api.alsa.card.name"] or + properties["alsa.card_name"] + + -- set the icon name + if not properties["device.icon-name"] then + local icon = nil + local icon_map = { + -- form factor -> icon + ["microphone"] = "audio-input-microphone", + ["webcam"] = "camera-web", + ["handset"] = "phone", + ["portable"] = "multimedia-player", + ["tv"] = "video-display", + ["headset"] = "audio-headset", + ["headphone"] = "audio-headphones", + ["speaker"] = "audio-speakers", + ["hands-free"] = "audio-handsfree", + } + local f = properties["device.form-factor"] + local c = properties["device.class"] + local b = properties["device.bus"] + + icon = icon_map[f] or ((c == "modem") and "modem") or "audio-card" + properties["device.icon-name"] = icon .. "-analog" .. (b and ("-" .. b) or "") + end + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties["device.disabled"] then + device_names_table [properties ["device.name"]] = nil + return + end + + -- override the device factory to use ACP + if properties["api.alsa.use-acp"] then + Log.info("Enabling the use of ACP on " .. properties["device.name"]) + factory = "api.alsa.acp.device" + end + + -- use device reservation, if available + if rd_plugin and properties["api.alsa.card"] then + local rd_name = "Audio" .. properties["api.alsa.card"] + local rd = rd_plugin:call("create-reservation", + rd_name, + config.properties["alsa.reserve.application-name"] or "WirePlumber", + properties["device.name"], + config.properties["alsa.reserve.priority"] or -20); + + properties["api.dbus.ReserveDevice1"] = rd_name + + -- unlike pipewire-media-session, this logic here keeps the device + -- acquired at all times and destroys it if someone else acquires + rd:connect("notify::state", function (rd, pspec) + local state = rd["state"] + + if state == "acquired" then + -- create the device + createDevice(parent, id, factory, properties) + + elseif state == "available" then + -- attempt to acquire again + rd:call("acquire") + + elseif state == "busy" then + -- destroy the device + parent:store_managed_object(id, nil) + end + end) + + rd:connect("release-requested", function (rd) + Log.info("release requested") + parent:store_managed_object(id, nil) + rd:call("release") + end) + + if jack_device then + rd:connect("notify::owner-name-changed", function (rd, pspec) + if rd["state"] == "busy" and + rd["owner-application-name"] == "Jack audio server" then + -- TODO enable the jack device + else + -- TODO disable the jack device + end + end) + end + + rd:call("acquire") + else + -- create the device + createDevice(parent, id, factory, properties) + end +end + +function createMonitor () + local m = SpaDevice("api.alsa.enum.udev", config.properties) + if m == nil then + Log.message("PipeWire's SPA ALSA udev plugin(\"api.alsa.enum.udev\")" + .. "missing or broken. Sound Cards cannot be enumerated") + return nil + end + + -- handle create-object to prepare device + m:connect("create-object", prepareDevice) + + -- handle object-removed to destroy device reservations and recycle device name + m:connect("object-removed", function (parent, id) + local device = parent:get_managed_object(id) + if not device then + return + end + + if rd_plugin then + local rd_name = device.properties["api.dbus.ReserveDevice1"] + if rd_name then + rd_plugin:call("destroy-reservation", rd_name) + end + end + device_names_table[device.properties["device.name"]] = nil + for managed_node in device:iterate_managed_objects() do + node_names_table[managed_node.properties["node.name"]] = nil + end + end) + + -- reset the name tables to make sure names are recycled + device_names_table = {} + node_names_table = {} + + -- activate monitor + Log.info("Activating ALSA monitor") + m:activate(Feature.SpaDevice.ENABLED) + return m +end + +-- create the JACK device (for PipeWire to act as client to a JACK server) +if config.properties["alsa.jack-device"] then + jack_device = Device("spa-device-factory", { + ["factory.name"] = "api.jack.device", + ["node.name"] = "JACK-Device", + }) + jack_device:activate(Feature.Proxy.BOUND) +end + +-- enable device reservation if requested +if config.properties["alsa.reserve"] then + rd_plugin = Plugin.find("reserve-device") +end + +-- if the reserve-device plugin is enabled, at the point of script execution +-- it is expected to be connected. if it is not, assume the d-bus connection +-- has failed and continue without it +if rd_plugin and rd_plugin:call("get-dbus")["state"] ~= "connected" then + Log.message("reserve-device plugin is not connected to D-Bus, " + .. "disabling device reservation") + rd_plugin = nil +end + +-- handle rd_plugin state changes to destroy and re-create the ALSA monitor in +-- case D-Bus service is restarted +if rd_plugin then + local dbus = rd_plugin:call("get-dbus") + dbus:connect("notify::state", function (b, pspec) + local state = b["state"] + Log.info ("rd-plugin state changed to " .. state) + if state == "connected" then + Log.info ("Creating ALSA monitor") + monitor = createMonitor() + elseif state == "closed" then + Log.info ("Destroying ALSA monitor") + monitor = nil + end + end) +end + +-- create the monitor +monitor = createMonitor() diff --git a/.config/wireplumber/scripts/monitors/bluez-midi.lua b/.config/wireplumber/scripts/monitors/bluez-midi.lua new file mode 100644 index 0000000..32b886e --- /dev/null +++ b/.config/wireplumber/scripts/monitors/bluez-midi.lua @@ -0,0 +1,187 @@ +-- WirePlumber +-- +-- Copyright © 2022 Pauli Virtanen +-- @author Pauli Virtanen +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +-- unique device/node name tables +node_names_table = nil +id_to_name_table = nil + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +function setLatencyOffset(node, offset_msec) + if not offset_msec then + return + end + + local props = { "Spa:Pod:Object:Param:Props", "Props" } + props.latencyOffsetNsec = tonumber(offset_msec) * 1000000 + + local param = Pod.Object(props) + Log.debug(param, "setting latency offset on " .. tostring(node)) + node:set_param("Props", param) +end + +function createNode(parent, id, type, factory, properties) + properties["factory.name"] = factory + + -- set the node description + local desc = properties["node.description"] + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") + + -- set the node name + local name = + "bluez_midi." .. properties["api.bluez5.address"] + -- sanitize name + name = name:gsub("([^%w_%-%.])", "_") + -- deduplicate nodes with the same name + properties["node.name"] = name + for counter = 2, 99, 1 do + if node_names_table[properties["node.name"]] ~= true then + node_names_table[properties["node.name"]] = true + break + end + properties["node.name"] = name .. "." .. counter + end + + properties["api.glib.mainloop"] = "true" + + -- apply properties from config.rules + rulesApplyProperties(properties) + + local latency_offset = properties["node.latency-offset-msec"] + properties["node.latency-offset-msec"] = nil + + -- create the node + -- it doesn't necessarily need to be a local node, + -- the other Bluetooth parts run in the local process, + -- so it's consistent to have also this here + local node = LocalNode("spa-node-factory", properties) + node:activate(Feature.Proxy.BOUND) + parent:store_managed_object(id, node) + id_to_name_table[id] = properties["node.name"] + setLatencyOffset(node, latency_offset) +end + +function createMonitor() + local monitor_props = {} + for k, v in pairs(config.properties or {}) do + monitor_props[k] = v + end + monitor_props["server"] = nil + + monitor_props["api.glib.mainloop"] = "true" + + local monitor = SpaDevice("api.bluez5.midi.enum", monitor_props) + if monitor then + monitor:connect("create-object", createNode) + monitor:connect("object-removed", function (parent, id) + node_names_table[id_to_name_table[id]] = nil + id_to_name_table[id] = nil + end) + else + Log.message("PipeWire's BlueZ MIDI SPA missing or broken. Bluetooth not supported.") + return nil + end + + -- reset the name tables to make sure names are recycled + node_names_table = {} + id_to_name_table = {} + + monitor:activate(Feature.SpaDevice.ENABLED) + return monitor +end + +function createServers() + local props = config.properties or {} + + if not props["servers"] then + return nil + end + + local servers = {} + local i = 1 + + for k, v in pairs(props["servers"]) do + local node_props = { + ["node.name"] = v, + ["node.description"] = string.format(I18n.gettext("BLE MIDI %d"), i), + ["api.bluez5.role"] = "server", + ["factory.name"] = "api.bluez5.midi.node", + ["api.glib.mainloop"] = "true", + } + rulesApplyProperties(node_props) + + local latency_offset = node_props["node.latency-offset-msec"] + node_props["node.latency-offset-msec"] = nil + + local node = LocalNode("spa-node-factory", node_props) + if node then + node:activate(Feature.Proxy.BOUND) + table.insert(servers, node) + setLatencyOffset(node, latency_offset) + else + Log.message("Failed to create BLE MIDI server.") + end + i = i + 1 + end + + return servers +end + +logind_plugin = Plugin.find("logind") +if logind_plugin then + -- if logind support is enabled, activate + -- the monitor only when the seat is active + function startStopMonitor(seat_state) + Log.info(logind_plugin, "Seat state changed: " .. seat_state) + + if seat_state == "active" then + monitor = createMonitor() + servers = createServers() + elseif monitor then + monitor:deactivate(Feature.SpaDevice.ENABLED) + monitor = nil + servers = nil + end + end + + logind_plugin:connect("state-changed", function(p, s) startStopMonitor(s) end) + startStopMonitor(logind_plugin:call("get-state")) +else + monitor = createMonitor() + servers = createServers() +end diff --git a/.config/wireplumber/scripts/monitors/bluez.lua b/.config/wireplumber/scripts/monitors/bluez.lua new file mode 100644 index 0000000..141e425 --- /dev/null +++ b/.config/wireplumber/scripts/monitors/bluez.lua @@ -0,0 +1,307 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +devices_om = ObjectManager { + Interest { + type = "device", + } +} + +nodes_om = ObjectManager { + Interest { + type = "node", + Constraint { "node.name", "#", "*.bluez_*put*"}, + Constraint { "device.id", "+" }, + } +} + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +function setOffloadActive(device, value) + local pod = Pod.Object { + "Spa:Pod:Object:Param:Props", "Props", bluetoothOffloadActive = value + } + device:set_params("Props", pod) +end + +nodes_om:connect("object-added", function(_, node) + node:connect("state-changed", function(node, old_state, cur_state) + local interest = Interest { + type = "device", + Constraint { "object.id", "=", node.properties["device.id"]} + } + for d in devices_om:iterate (interest) do + if cur_state == "running" then + setOffloadActive(d, true) + else + setOffloadActive(d, false) + end + end + end) +end) + +function createOffloadScoNode(parent, id, type, factory, properties) + local dev_props = parent.properties + + local args = { + ["audio.channels"] = 1, + ["audio.position"] = "[MONO]", + } + + local desc = + dev_props["device.description"] + or dev_props["device.name"] + or dev_props["device.nick"] + or dev_props["device.alias"] + or "bluetooth-device" + -- sanitize description, replace ':' with ' ' + args["node.description"] = desc:gsub("(:)", " ") + + if factory:find("sink") then + local capture_args = { + ["device.id"] = parent["bound-id"], + ["media.class"] = "Audio/Sink", + ["node.pause-on-idle"] = false, + } + for k, v in pairs(properties) do + capture_args[k] = v + end + + local name = "bluez_output" .. "." .. (properties["api.bluez5.address"] or dev_props["device.name"]) .. "." .. tostring(id) + args["node.name"] = name:gsub("([^%w_%-%.])", "_") + args["capture.props"] = Json.Object(capture_args) + args["playback.props"] = Json.Object { + ["node.passive"] = true, + ["node.pause-on-idle"] = false, + } + elseif factory:find("source") then + local playback_args = { + ["device.id"] = parent["bound-id"], + ["media.class"] = "Audio/Source", + ["node.pause-on-idle"] = false, + } + for k, v in pairs(properties) do + playback_args[k] = v + end + + local name = "bluez_input" .. "." .. (properties["api.bluez5.address"] or dev_props["device.name"]) .. "." .. tostring(id) + args["node.name"] = name:gsub("([^%w_%-%.])", "_") + args["capture.props"] = Json.Object { + ["node.passive"] = true, + ["node.pause-on-idle"] = false, + } + args["playback.props"] = Json.Object(playback_args) + else + Log.warning(parent, "Unsupported factory: " .. factory) + return + end + + -- Transform 'args' to a json object here + local args_json = Json.Object(args) + + -- and get the final JSON as a string from the json object + local args_string = args_json:get_data() + + local loopback_properties = {} + + local loopback = LocalModule("libpipewire-module-loopback", args_string, loopback_properties) + parent:store_managed_object(id, loopback) +end + +function createNode(parent, id, type, factory, properties) + local dev_props = parent.properties + + if config.properties["bluez5.hw-offload-sco"] and factory:find("sco") then + createOffloadScoNode(parent, id, type, factory, properties) + return + end + + -- set the device id and spa factory name; REQUIRED, do not change + properties["device.id"] = parent["bound-id"] + properties["factory.name"] = factory + + -- set the default pause-on-idle setting + properties["node.pause-on-idle"] = false + + -- set the node description + local desc = + dev_props["device.description"] + or dev_props["device.name"] + or dev_props["device.nick"] + or dev_props["device.alias"] + or "bluetooth-device" + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") + + -- set the node name + local name = + ((factory:find("sink") and "bluez_output") or + (factory:find("source") and "bluez_input" or factory)) .. "." .. + (properties["api.bluez5.address"] or dev_props["device.name"]) .. "." .. + tostring(id) + -- sanitize name + properties["node.name"] = name:gsub("([^%w_%-%.])", "_") + + -- set priority + if not properties["priority.driver"] then + local priority = factory:find("source") and 2010 or 1010 + properties["priority.driver"] = priority + properties["priority.session"] = priority + end + + -- autoconnect if it's a stream + if properties["api.bluez5.profile"] == "headset-audio-gateway" or + properties["api.bluez5.profile"] == "bap-sink" or + factory:find("a2dp.source") or factory:find("media.source") then + properties["node.autoconnect"] = true + end + + -- apply properties from config.rules + rulesApplyProperties(properties) + + -- create the node; bluez requires "local" nodes, i.e. ones that run in + -- the same process as the spa device, for several reasons + local node = LocalNode("adapter", properties) + node:activate(Feature.Proxy.BOUND) + parent:store_managed_object(id, node) +end + +function createDevice(parent, id, type, factory, properties) + local device = parent:get_managed_object(id) + if not device then + -- ensure a proper device name + local name = + (properties["device.name"] or + properties["api.bluez5.address"] or + properties["device.description"] or + tostring(id)):gsub("([^%w_%-%.])", "_") + + if not name:find("^bluez_card%.", 1) then + name = "bluez_card." .. name + end + properties["device.name"] = name + + -- set the icon name + if not properties["device.icon-name"] then + local icon = nil + local icon_map = { + -- form factor -> icon + ["microphone"] = "audio-input-microphone", + ["webcam"] = "camera-web", + ["handset"] = "phone", + ["portable"] = "multimedia-player", + ["tv"] = "video-display", + ["headset"] = "audio-headset", + ["headphone"] = "audio-headphones", + ["speaker"] = "audio-speakers", + ["hands-free"] = "audio-handsfree", + } + local f = properties["device.form-factor"] + local b = properties["device.bus"] + + icon = icon_map[f] or "audio-card" + properties["device.icon-name"] = icon .. (b and ("-" .. b) or "") + end + + -- initial profile is to be set by policy-device-profile.lua, not spa-bluez5 + properties["bluez5.profile"] = "off" + + -- apply properties from config.rules + rulesApplyProperties(properties) + + -- create the device + device = SpaDevice(factory, properties) + if device then + device:connect("create-object", createNode) + parent:store_managed_object(id, device) + else + Log.warning ("Failed to create '" .. factory .. "' device") + return + end + end + + Log.info(parent, string.format("%d, %s (%s): %s", + id, properties["device.description"], + properties["api.bluez5.address"], properties["api.bluez5.connection"])) + + -- activate the device after the bluez profiles are connected + if properties["api.bluez5.connection"] == "connected" then + device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) + else + device:deactivate(Features.ALL) + end +end + +function createMonitor() + local monitor_props = config.properties or {} + monitor_props["api.bluez5.connection-info"] = true + + local monitor = SpaDevice("api.bluez5.enum.dbus", monitor_props) + if monitor then + monitor:connect("create-object", createDevice) + else + Log.message("PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.") + return nil + end + monitor:activate(Feature.SpaDevice.ENABLED) + + return monitor +end + +logind_plugin = Plugin.find("logind") +if logind_plugin then + -- if logind support is enabled, activate + -- the monitor only when the seat is active + function startStopMonitor(seat_state) + Log.info(logind_plugin, "Seat state changed: " .. seat_state) + + if seat_state == "active" then + monitor = createMonitor() + elseif monitor then + monitor:deactivate(Feature.SpaDevice.ENABLED) + monitor = nil + end + end + + logind_plugin:connect("state-changed", function(p, s) startStopMonitor(s) end) + startStopMonitor(logind_plugin:call("get-state")) +else + monitor = createMonitor() +end + +nodes_om:activate() +devices_om:activate() diff --git a/.config/wireplumber/scripts/monitors/libcamera.lua b/.config/wireplumber/scripts/monitors/libcamera.lua new file mode 100644 index 0000000..3f411f2 --- /dev/null +++ b/.config/wireplumber/scripts/monitors/libcamera.lua @@ -0,0 +1,174 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +function findDuplicate(parent, id, property, value) + for i = 0, id - 1, 1 do + local obj = parent:get_managed_object(i) + if obj and obj.properties[property] == value then + return true + end + end + return false +end + +function createNode(parent, id, type, factory, properties) + local dev_props = parent.properties + local location = properties["api.libcamera.location"] + + -- set the device id and spa factory name; REQUIRED, do not change + properties["device.id"] = parent["bound-id"] + properties["factory.name"] = factory + + -- set the default pause-on-idle setting + properties["node.pause-on-idle"] = false + + -- set the node name + local name = + (factory:find("sink") and "libcamera_output") or + (factory:find("source") and "libcamera_input" or factory) + .. "." .. + (dev_props["device.name"]:gsub("^libcamera_device%.(.+)", "%1") or + dev_props["device.name"] or + dev_props["device.nick"] or + dev_props["device.alias"] or + "libcamera-device") + -- sanitize name + name = name:gsub("([^%w_%-%.])", "_") + + properties["node.name"] = name + + -- deduplicate nodes with the same name + for counter = 2, 99, 1 do + if findDuplicate(parent, id, "node.name", properties["node.name"]) then + properties["node.name"] = name .. "." .. counter + else + break + end + end + + -- set the node description + local desc = dev_props["device.description"] or "libcamera-device" + if location == "front" then + desc = I18n.gettext("Built-in Front Camera") + elseif location == "back" then + desc = I18n.gettext("Built-in Back Camera") + end + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") + + -- set the node nick + local nick = properties["node.nick"] or + dev_props["device.product.name"] or + dev_props["device.description"] or + dev_props["device.nick"] + properties["node.nick"] = nick:gsub("(:)", " ") + + -- set priority + if not properties["priority.session"] then + local priority = 700 + if location == "external" then + priority = priority + 150 + elseif location == "front" then + priority = priority + 100 + elseif location == "back" then + priority = priority + 50 + end + properties["priority.session"] = priority + end + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties ["node.disabled"] then + return + end + + -- create the node + local node = Node("spa-node-factory", properties) + node:activate(Feature.Proxy.BOUND) + parent:store_managed_object(id, node) +end + +function createDevice(parent, id, type, factory, properties) + -- ensure the device has an appropriate name + local name = "libcamera_device." .. + (properties["device.name"] or + properties["device.bus-id"] or + properties["device.bus-path"] or + tostring(id)):gsub("([^%w_%-%.])", "_") + + properties["device.name"] = name + + -- deduplicate devices with the same name + for counter = 2, 99, 1 do + if findDuplicate(parent, id, "device.name", properties["device.name"]) then + properties["device.name"] = name .. "." .. counter + else + break + end + end + + -- ensure the device has a description + properties["device.description"] = + properties["device.description"] + or properties["device.product.name"] + or "Unknown device" + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties ["device.disabled"] then + return + end + -- create the device + local device = SpaDevice(factory, properties) + if device then + device:connect("create-object", createNode) + device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) + parent:store_managed_object(id, device) + else + Log.warning ("Failed to create '" .. factory .. "' device") + end +end + +monitor = SpaDevice("api.libcamera.enum.manager", config.properties or {}) +if monitor then + monitor:connect("create-object", createDevice) + monitor:activate(Feature.SpaDevice.ENABLED) +else + Log.message("PipeWire's libcamera SPA missing or broken. libcamera not supported.") +end diff --git a/.config/wireplumber/scripts/monitors/v4l2.lua b/.config/wireplumber/scripts/monitors/v4l2.lua new file mode 100644 index 0000000..609d7e7 --- /dev/null +++ b/.config/wireplumber/scripts/monitors/v4l2.lua @@ -0,0 +1,165 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +function findDuplicate(parent, id, property, value) + for i = 0, id - 1, 1 do + local obj = parent:get_managed_object(i) + if obj and obj.properties[property] == value then + return true + end + end + return false +end + +function createNode(parent, id, type, factory, properties) + local dev_props = parent.properties + + -- set the device id and spa factory name; REQUIRED, do not change + properties["device.id"] = parent["bound-id"] + properties["factory.name"] = factory + + -- set the default pause-on-idle setting + properties["node.pause-on-idle"] = false + + -- set the node name + local name = + (factory:find("sink") and "v4l2_output") or + (factory:find("source") and "v4l2_input" or factory) + .. "." .. + (dev_props["device.name"]:gsub("^v4l2_device%.(.+)", "%1") or + dev_props["device.name"] or + dev_props["device.nick"] or + dev_props["device.alias"] or + "v4l2-device") + -- sanitize name + name = name:gsub("([^%w_%-%.])", "_") + + properties["node.name"] = name + + -- deduplicate nodes with the same name + for counter = 2, 99, 1 do + if findDuplicate(parent, id, "node.name", properties["node.name"]) then + properties["node.name"] = name .. "." .. counter + else + break + end + end + + -- set the node description + local desc = dev_props["device.description"] or "v4l2-device" + desc = desc .. " (V4L2)" + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") + + -- set the node nick + local nick = properties["node.nick"] or + dev_props["device.product.name"] or + dev_props["api.v4l2.cap.card"] or + dev_props["device.description"] or + dev_props["device.nick"] + properties["node.nick"] = nick:gsub("(:)", " ") + + -- set priority + if not properties["priority.session"] then + local path = properties["api.v4l2.path"] or "/dev/video100" + local dev = path:gsub("/dev/video(%d+)", "%1") + properties["priority.session"] = 1000 - (tonumber(dev) * 10) + end + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties["node.disabled"] then + return + end + + -- create the node + local node = Node("spa-node-factory", properties) + node:activate(Feature.Proxy.BOUND) + parent:store_managed_object(id, node) +end + +function createDevice(parent, id, type, factory, properties) + -- ensure the device has an appropriate name + local name = "v4l2_device." .. + (properties["device.name"] or + properties["device.bus-id"] or + properties["device.bus-path"] or + tostring(id)):gsub("([^%w_%-%.])", "_") + + properties["device.name"] = name + + -- deduplicate devices with the same name + for counter = 2, 99, 1 do + if findDuplicate(parent, id, "device.name", properties["device.name"]) then + properties["device.name"] = name .. "." .. counter + else + break + end + end + + -- ensure the device has a description + properties["device.description"] = + properties["device.description"] + or properties["device.product.name"] + or "Unknown device" + + -- apply properties from config.rules + rulesApplyProperties(properties) + if properties["device.disabled"] then + return + end + + -- create the device + local device = SpaDevice(factory, properties) + if device then + device:connect("create-object", createNode) + device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) + parent:store_managed_object(id, device) + else + Log.warning ("Failed to create '" .. factory .. "' device") + end +end + +monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {}) +if monitor then + monitor:connect("create-object", createDevice) + monitor:activate(Feature.SpaDevice.ENABLED) +else + Log.message("PipeWire's V4L SPA missing or broken. Video4Linux not supported.") +end diff --git a/.config/wireplumber/scripts/policy-bluetooth.lua b/.config/wireplumber/scripts/policy-bluetooth.lua new file mode 100644 index 0000000..f8f69a1 --- /dev/null +++ b/.config/wireplumber/scripts/policy-bluetooth.lua @@ -0,0 +1,398 @@ +-- WirePlumber +-- +-- Copyright © 2021 Asymptotic Inc. +-- @author Sanchayan Maity +-- +-- Based on bt-profile-switch.lua in tests/examples +-- Copyright © 2021 George Kiagiadakis +-- +-- Based on bluez-autoswitch in media-session +-- Copyright © 2021 Pauli Virtanen +-- +-- SPDX-License-Identifier: MIT +-- +-- Checks for the existence of media.role and if present switches the bluetooth +-- profile accordingly. Also see bluez-autoswitch in media-session. +-- The intended logic of the script is as follows. +-- +-- When a stream comes in, if it has a Communication or phone role in PulseAudio +-- speak in props, we switch to the highest priority profile that has an Input +-- route available. The reason for this is that we may have microphone enabled +-- non-HFP codecs eg. Faststream. +-- We track the incoming streams with Communication role or the applications +-- specified which do not set the media.role correctly perhaps. +-- When a stream goes away if the list with which we track the streams above +-- is empty, then we revert back to the old profile. + +local config = ... +local use_persistent_storage = config["use-persistent-storage"] or false +local applications = {} +local use_headset_profile = config["media-role.use-headset-profile"] or false +local profile_restore_timeout_msec = 2000 + +local INVALID = -1 +local timeout_source = nil +local restore_timeout_source = nil + +local state = use_persistent_storage and State("policy-bluetooth") or nil +local headset_profiles = state and state:load() or {} +local last_profiles = {} + +local active_streams = {} +local previous_streams = {} + +for _, value in ipairs(config["media-role.applications"] or {}) do + applications[value] = true +end + +metadata_om = ObjectManager { + Interest { + type = "metadata", + Constraint { "metadata.name", "=", "default" }, + } +} + +devices_om = ObjectManager { + Interest { + type = "device", + Constraint { "device.api", "=", "bluez5" }, + } +} + +streams_om = ObjectManager { + Interest { + type = "node", + Constraint { "media.class", "matches", "Stream/Input/Audio", type = "pw-global" }, + -- Do not consider monitor streams + Constraint { "stream.monitor", "!", "true" } + } +} + +local function parseParam(param_to_parse, id) + local param = param_to_parse:parse() + if param.pod_type == "Object" and param.object_id == id then + return param.properties + else + return nil + end +end + +local function storeAfterTimeout() + if not use_persistent_storage then + return + end + + if timeout_source then + timeout_source:destroy() + end + timeout_source = Core.timeout_add(1000, function () + local saved, err = state:save(headset_profiles) + if not saved then + Log.warning(err) + end + timeout_source = nil + end) +end + +local function saveHeadsetProfile(device, profile_name) + local key = "saved-headset-profile:" .. device.properties["device.name"] + headset_profiles[key] = profile_name + storeAfterTimeout() +end + +local function getSavedHeadsetProfile(device) + local key = "saved-headset-profile:" .. device.properties["device.name"] + return headset_profiles[key] +end + +local function saveLastProfile(device, profile_name) + last_profiles[device.properties["device.name"]] = profile_name +end + +local function getSavedLastProfile(device) + return last_profiles[device.properties["device.name"]] +end + +local function isSwitched(device) + return getSavedLastProfile(device) ~= nil +end + +local function isBluez5AudioSink(sink_name) + if sink_name and string.find(sink_name, "bluez_output.") ~= nil then + return true + end + return false +end + +local function isBluez5DefaultAudioSink() + local metadata = metadata_om:lookup() + local default_audio_sink = metadata:find(0, "default.audio.sink") + return isBluez5AudioSink(default_audio_sink) +end + +local function findProfile(device, index, name) + for p in device:iterate_params("EnumProfile") do + local profile = parseParam(p, "EnumProfile") + if not profile then + goto skip_enum_profile + end + + Log.debug("Profile name: " .. profile.name .. ", priority: " + .. tostring(profile.priority) .. ", index: " .. tostring(profile.index)) + if (index ~= nil and profile.index == index) or + (name ~= nil and profile.name == name) then + return profile.priority, profile.index, profile.name + end + + ::skip_enum_profile:: + end + + return INVALID, INVALID, nil +end + +local function getCurrentProfile(device) + for p in device:iterate_params("Profile") do + local profile = parseParam(p, "Profile") + if profile then + return profile.name + end + end + + return nil +end + +local function highestPrioProfileWithInputRoute(device) + local profile_priority = INVALID + local profile_index = INVALID + local profile_name = nil + + for p in device:iterate_params("EnumRoute") do + local route = parseParam(p, "EnumRoute") + -- Parse pod + if not route then + goto skip_enum_route + end + + if route.direction ~= "Input" then + goto skip_enum_route + end + + Log.debug("Route with index: " .. tostring(route.index) .. ", direction: " + .. route.direction .. ", name: " .. route.name .. ", description: " + .. route.description .. ", priority: " .. route.priority) + if route.profiles then + for _, v in pairs(route.profiles) do + local priority, index, name = findProfile(device, v) + if priority ~= INVALID then + if profile_priority < priority then + profile_priority = priority + profile_index = index + profile_name = name + end + end + end + end + + ::skip_enum_route:: + end + + return profile_priority, profile_index, profile_name +end + +local function hasProfileInputRoute(device, profile_index) + for p in device:iterate_params("EnumRoute") do + local route = parseParam(p, "EnumRoute") + if route and route.direction == "Input" and route.profiles then + for _, v in pairs(route.profiles) do + if v == profile_index then + return true + end + end + end + end + return false +end + +local function switchProfile() + local index + local name + + if restore_timeout_source then + restore_timeout_source:destroy() + restore_timeout_source = nil + end + + for device in devices_om:iterate() do + if isSwitched(device) then + goto skip_device + end + + local cur_profile_name = getCurrentProfile(device) + saveLastProfile(device, cur_profile_name) + + _, index, name = findProfile(device, nil, cur_profile_name) + if hasProfileInputRoute(device, index) then + Log.info("Current profile has input route, not switching") + goto skip_device + end + + local saved_headset_profile = getSavedHeadsetProfile(device) + index = INVALID + if saved_headset_profile then + _, index, name = findProfile(device, nil, saved_headset_profile) + end + if index == INVALID then + _, index, name = highestPrioProfileWithInputRoute(device) + end + + if index ~= INVALID then + local pod = Pod.Object { + "Spa:Pod:Object:Param:Profile", "Profile", + index = index + } + + Log.info("Setting profile of '" + .. device.properties["device.description"] + .. "' from: " .. cur_profile_name + .. " to: " .. name) + device:set_params("Profile", pod) + else + Log.warning("Got invalid index when switching profile") + end + + ::skip_device:: + end +end + +local function restoreProfile() + for device in devices_om:iterate() do + if isSwitched(device) then + local profile_name = getSavedLastProfile(device) + local cur_profile_name = getCurrentProfile(device) + + saveLastProfile(device, nil) + + if cur_profile_name then + Log.info("Setting saved headset profile to: " .. cur_profile_name) + saveHeadsetProfile(device, cur_profile_name) + end + + if profile_name then + local _, index, name = findProfile(device, nil, profile_name) + + if index ~= INVALID then + local pod = Pod.Object { + "Spa:Pod:Object:Param:Profile", "Profile", + index = index + } + + Log.info("Restoring profile of '" + .. device.properties["device.description"] + .. "' from: " .. cur_profile_name + .. " to: " .. name) + device:set_params("Profile", pod) + else + Log.warning("Failed to restore profile") + end + end + end + end +end + +local function triggerRestoreProfile() + if restore_timeout_source then + return + end + if next(active_streams) ~= nil then + return + end + restore_timeout_source = Core.timeout_add(profile_restore_timeout_msec, function () + restore_timeout_source = nil + restoreProfile() + end) +end + +-- We consider a Stream of interest to have role Communication if it has +-- media.role set to Communication in props or it is in our list of +-- applications as these applications do not set media.role correctly or at +-- all. +local function checkStreamStatus(stream) + local app_name = stream.properties["application.name"] + local stream_role = stream.properties["media.role"] + + if not (stream_role == "Communication" or applications[app_name]) then + return false + end + if not isBluez5DefaultAudioSink() then + return false + end + + -- If a stream we previously saw stops running, we consider it + -- inactive, because some applications (Teams) just cork input + -- streams, but don't close them. + if previous_streams[stream["bound-id"]] and stream.state ~= "running" then + return false + end + + return true +end + +local function handleStream(stream) + if not use_headset_profile then + return + end + + if checkStreamStatus(stream) then + active_streams[stream["bound-id"]] = true + previous_streams[stream["bound-id"]] = true + switchProfile() + else + active_streams[stream["bound-id"]] = nil + triggerRestoreProfile() + end +end + +local function handleAllStreams() + for stream in streams_om:iterate { + Constraint { "media.class", "matches", "Stream/Input/Audio", type = "pw-global" }, + Constraint { "stream.monitor", "!", "true" } + } do + handleStream(stream) + end +end + +streams_om:connect("object-added", function (_, stream) + stream:connect("state-changed", function (stream, old_state, cur_state) + handleStream(stream) + end) + stream:connect("params-changed", handleStream) + handleStream(stream) +end) + +streams_om:connect("object-removed", function (_, stream) + active_streams[stream["bound-id"]] = nil + previous_streams[stream["bound-id"]] = nil + triggerRestoreProfile() +end) + +devices_om:connect("object-added", function (_, device) + -- Devices are unswitched initially + if isSwitched(device) then + saveLastProfile(device, nil) + end + handleAllStreams() +end) + +metadata_om:connect("object-added", function (_, metadata) + metadata:connect("changed", function (m, subject, key, t, value) + if (use_headset_profile and subject == 0 and key == "default.audio.sink" + and isBluez5AudioSink(value)) then + -- If bluez sink is set as default, rescan for active input streams + handleAllStreams() + end + end) +end) + +metadata_om:activate() +devices_om:activate() +streams_om:activate() diff --git a/.config/wireplumber/scripts/policy-device-profile.lua b/.config/wireplumber/scripts/policy-device-profile.lua new file mode 100644 index 0000000..b591cb7 --- /dev/null +++ b/.config/wireplumber/scripts/policy-device-profile.lua @@ -0,0 +1,187 @@ +-- WirePlumber +-- +-- Copyright © 2022 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +local self = {} +self.config = ... or {} +self.config.persistent = self.config.persistent or {} +self.active_profiles = {} +self.default_profile_plugin = Plugin.find("default-profile") + +-- Preprocess persisten profiles and create Interest objects +for _, p in ipairs(self.config.persistent or {}) do + p.interests = {} + for _, i in ipairs(p.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(p.interests, interest) + end + p.matches = nil +end + +-- Checks whether a device profile is persistent or not +function isProfilePersistent(device_props, profile_name) + for _, p in ipairs(self.config.persistent or {}) do + if p.profile_names then + for _, interest in ipairs(p.interests) do + if interest:matches(device_props) then + for _, pn in ipairs(p.profile_names) do + if pn == profile_name then + return true + end + end + end + end + end + end + return false +end + + +function parseParam(param, id) + local parsed = param:parse() + if parsed.pod_type == "Object" and parsed.object_id == id then + return parsed.properties + else + return nil + end +end + +function setDeviceProfile (device, dev_id, dev_name, profile) + if self.active_profiles[dev_id] and + self.active_profiles[dev_id].index == profile.index then + Log.info ("Profile " .. profile.name .. " is already set in " .. dev_name) + return + end + + local param = Pod.Object { + "Spa:Pod:Object:Param:Profile", "Profile", + index = profile.index, + } + Log.info ("Setting profile " .. profile.name .. " on " .. dev_name) + device:set_param("Profile", param) +end + +function findDefaultProfile (device) + local def_name = nil + + if self.default_profile_plugin ~= nil then + def_name = self.default_profile_plugin:call ("get-profile", device) + end + if def_name == nil then + return nil + end + + for p in device:iterate_params("EnumProfile") do + local profile = parseParam(p, "EnumProfile") + if profile.name == def_name then + return profile + end + end + + return nil +end + +function findBestProfile (device) + local off_profile = nil + local best_profile = nil + local unk_profile = nil + + for p in device:iterate_params("EnumProfile") do + profile = parseParam(p, "EnumProfile") + if profile and profile.name ~= "pro-audio" then + if profile.name == "off" then + off_profile = profile + elseif profile.available == "yes" then + if best_profile == nil or profile.priority > best_profile.priority then + best_profile = profile + end + elseif profile.available ~= "no" then + if unk_profile == nil or profile.priority > unk_profile.priority then + unk_profile = profile + end + end + end + end + + if best_profile ~= nil then + return best_profile + elseif unk_profile ~= nil then + return unk_profile + elseif off_profile ~= nil then + return off_profile + end + + return nil +end + +function handleProfiles (device, new_device) + local dev_id = device["bound-id"] + local dev_name = device.properties["device.name"] + + local def_profile = findDefaultProfile (device) + + -- Do not do anything if active profile is both persistent and default + if not new_device and + self.active_profiles[dev_id] ~= nil and + isProfilePersistent (device.properties, self.active_profiles[dev_id].name) and + def_profile ~= nil and + self.active_profiles[dev_id].name == def_profile.name + then + local active_profile = self.active_profiles[dev_id].name + Log.info ("Device profile " .. active_profile .. " is persistent for " .. dev_name) + return + end + + if def_profile ~= nil then + if def_profile.available == "no" then + Log.info ("Default profile " .. def_profile.name .. " unavailable for " .. dev_name) + else + Log.info ("Found default profile " .. def_profile.name .. " for " .. dev_name) + setDeviceProfile (device, dev_id, dev_name, def_profile) + return + end + else + Log.info ("Default profile not found for " .. dev_name) + end + + local best_profile = findBestProfile (device) + if best_profile ~= nil then + Log.info ("Found best profile " .. best_profile.name .. " for " .. dev_name) + setDeviceProfile (device, dev_id, dev_name, best_profile) + else + Log.info ("Best profile not found on " .. dev_name) + end +end + +function onDeviceParamsChanged (device, param_name) + if param_name == "EnumProfile" then + handleProfiles (device, false) + end +end + +self.om = ObjectManager { + Interest { + type = "device", + Constraint { "device.name", "is-present", type = "pw-global" }, + } +} + +self.om:connect("object-added", function (_, device) + device:connect ("params-changed", onDeviceParamsChanged) + handleProfiles (device, true) +end) + +self.om:connect("object-removed", function (_, device) + local dev_id = device["bound-id"] + self.active_profiles[dev_id] = nil +end) + +self.om:activate() diff --git a/.config/wireplumber/scripts/policy-device-routes.lua b/.config/wireplumber/scripts/policy-device-routes.lua new file mode 100644 index 0000000..c21c1cc --- /dev/null +++ b/.config/wireplumber/scripts/policy-device-routes.lua @@ -0,0 +1,487 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- Based on default-routes.c from pipewire-media-session +-- Copyright © 2020 Wim Taymans +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} + +-- whether to store state on the file system +use_persistent_storage = config["use-persistent-storage"] or false + +-- the default volume to apply +default_volume = tonumber(config["default-volume"] or 0.4^3) +default_input_volume = tonumber(config["default-input-volume"] or 1.0) + +-- table of device info +dev_infos = {} + +-- the state storage +state = use_persistent_storage and State("default-routes") or nil +state_table = state and state:load() or {} + +-- simple serializer {"foo", "bar"} -> "foo;bar;" +function serializeArray(a) + local str = "" + for _, v in ipairs(a) do + str = str .. tostring(v):gsub(";", "\\;") .. ";" + end + return str +end + +-- simple deserializer "foo;bar;" -> {"foo", "bar"} +function parseArray(str, convert_value) + local array = {} + local val = "" + local escaped = false + for i = 1, #str do + local c = str:sub(i,i) + if c == '\\' then + escaped = true + elseif c == ';' and not escaped then + val = convert_value and convert_value(val) or val + table.insert(array, val) + val = "" + else + val = val .. tostring(c) + escaped = false + end + end + return array +end + +function arrayContains(a, value) + for _, v in ipairs(a) do + if v == value then + return true + end + end + return false +end + +function parseParam(param, id) + local route = param:parse() + if route.pod_type == "Object" and route.object_id == id then + return route.properties + else + return nil + end +end + +function storeAfterTimeout() + if timeout_source then + timeout_source:destroy() + end + timeout_source = Core.timeout_add(1000, function () + local saved, err = state:save(state_table) + if not saved then + Log.warning(err) + end + timeout_source = nil + end) +end + +function saveProfile(dev_info, profile_name) + if not use_persistent_storage then + return + end + + local routes = {} + for idx, ri in pairs(dev_info.route_infos) do + if ri.save then + table.insert(routes, ri.name) + end + end + + if #routes > 0 then + local key = dev_info.name .. ":profile:" .. profile_name + state_table[key] = serializeArray(routes) + storeAfterTimeout() + end +end + +function saveRouteProps(dev_info, route) + if not use_persistent_storage or not route.props then + return + end + + local props = route.props.properties + local key_base = dev_info.name .. ":" .. + route.direction:lower() .. ":" .. + route.name .. ":" + + state_table[key_base .. "volume"] = + props.volume and tostring(props.volume) or nil + state_table[key_base .. "mute"] = + props.mute and tostring(props.mute) or nil + state_table[key_base .. "channelVolumes"] = + props.channelVolumes and serializeArray(props.channelVolumes) or nil + state_table[key_base .. "channelMap"] = + props.channelMap and serializeArray(props.channelMap) or nil + state_table[key_base .. "latencyOffsetNsec"] = + props.latencyOffsetNsec and tostring(props.latencyOffsetNsec) or nil + state_table[key_base .. "iec958Codecs"] = + props.iec958Codecs and serializeArray(props.iec958Codecs) or nil + + storeAfterTimeout() +end + +function restoreRoute(device, dev_info, device_id, route) + -- default props + local props = { + "Spa:Pod:Object:Param:Props", "Route", + mute = false, + } + + if route.direction == "Input" then + props.channelVolumes = { default_input_volume } + else + props.channelVolumes = { default_volume } + end + + -- restore props from persistent storage + if use_persistent_storage then + local key_base = dev_info.name .. ":" .. + route.direction:lower() .. ":" .. + route.name .. ":" + + local str = state_table[key_base .. "volume"] + props.volume = str and tonumber(str) or props.volume + + local str = state_table[key_base .. "mute"] + props.mute = str and (str == "true") or false + + local str = state_table[key_base .. "channelVolumes"] + props.channelVolumes = str and parseArray(str, tonumber) or props.channelVolumes + + local str = state_table[key_base .. "channelMap"] + props.channelMap = str and parseArray(str) or props.channelMap + + local str = state_table[key_base .. "latencyOffsetNsec"] + props.latencyOffsetNsec = str and math.tointeger(str) or props.latencyOffsetNsec + + local str = state_table[key_base .. "iec958Codecs"] + props.iec958Codecs = str and parseArray(str) or props.iec958Codecs + end + + -- convert arrays to Spa Pod + if props.channelVolumes then + table.insert(props.channelVolumes, 1, "Spa:Float") + props.channelVolumes = Pod.Array(props.channelVolumes) + end + if props.channelMap then + table.insert(props.channelMap, 1, "Spa:Enum:AudioChannel") + props.channelMap = Pod.Array(props.channelMap) + end + if props.iec958Codecs then + table.insert(props.iec958Codecs, 1, "Spa:Enum:AudioIEC958Codec") + props.iec958Codecs = Pod.Array(props.iec958Codecs) + end + + -- construct Route param + local param = Pod.Object { + "Spa:Pod:Object:Param:Route", "Route", + index = route.index, + device = device_id, + props = Pod.Object(props), + save = route.save, + } + + Log.debug(param, "setting route on " .. tostring(device)) + device:set_param("Route", param) + + route.prev_active = true + route.active = true +end + +function findActiveDeviceIDs(profile) + -- parses the classes from the profile and returns the device IDs + ----- sample structure, should return { 0, 8 } ----- + -- classes: + -- 1: 2 + -- 2: + -- 1: Audio/Source + -- 2: 1 + -- 3: card.profile.devices + -- 4: + -- 1: 0 + -- pod_type: Array + -- value_type: Spa:Int + -- pod_type: Struct + -- 3: + -- 1: Audio/Sink + -- 2: 1 + -- 3: card.profile.devices + -- 4: + -- 1: 8 + -- pod_type: Array + -- value_type: Spa:Int + -- pod_type: Struct + -- pod_type: Struct + local active_ids = {} + if type(profile.classes) == "table" and profile.classes.pod_type == "Struct" then + for _, p in ipairs(profile.classes) do + if type(p) == "table" and p.pod_type == "Struct" then + local i = 1 + while true do + local k, v = p[i], p[i+1] + i = i + 2 + if not k or not v then + break + end + if k == "card.profile.devices" and + type(v) == "table" and v.pod_type == "Array" then + for _, dev_id in ipairs(v) do + table.insert(active_ids, dev_id) + end + end + end + end + end + end + return active_ids +end + +-- returns an array of the route names that were previously selected +-- for the given device and profile +function getStoredProfileRoutes(dev_name, profile_name) + local key = dev_name .. ":profile:" .. profile_name + local str = state_table[key] + return str and parseArray(str) or {} +end + +-- find a route that was previously stored for a device_id +-- spr needs to be the array returned from getStoredProfileRoutes() +function findSavedRoute(dev_info, device_id, spr) + for idx, ri in pairs(dev_info.route_infos) do + if arrayContains(ri.devices, device_id) and + (ri.profiles == nil or arrayContains(ri.profiles, dev_info.active_profile)) and + arrayContains(spr, ri.name) then + return ri + end + end + return nil +end + +-- find the best route for a given device_id, based on availability and priority +function findBestRoute(dev_info, device_id) + local best_avail = nil + local best_unk = nil + for idx, ri in pairs(dev_info.route_infos) do + if arrayContains(ri.devices, device_id) and + (ri.profiles == nil or arrayContains(ri.profiles, dev_info.active_profile)) then + if ri.available == "yes" or ri.available == "unknown" then + if ri.direction == "Output" and ri.available ~= ri.prev_available then + best_avail = ri + ri.save = true + break + elseif ri.available == "yes" then + if (best_avail == nil or ri.priority > best_avail.priority) then + best_avail = ri + end + elseif best_unk == nil or ri.priority > best_unk.priority then + best_unk = ri + end + end + end + end + return best_avail or best_unk +end + +function restoreProfileRoutes(device, dev_info, profile, profile_changed) + Log.info(device, "restore routes for profile " .. profile.name) + + local active_ids = findActiveDeviceIDs(profile) + local spr = getStoredProfileRoutes(dev_info.name, profile.name) + + for _, device_id in ipairs(active_ids) do + Log.info(device, "restoring device " .. device_id); + + local route = nil + + -- restore routes selection for the newly selected profile + -- don't bother if spr is empty, there is no point + if profile_changed and #spr > 0 then + route = findSavedRoute(dev_info, device_id, spr) + if route then + -- we found a saved route + if route.available == "no" then + Log.info(device, "saved route '" .. route.name .. "' not available") + -- not available, try to find next best + route = nil + else + Log.info(device, "found saved route: " .. route.name) + -- make sure we save it again + route.save = true + end + end + end + + -- we could not find a saved route, try to find a new best + if not route then + route = findBestRoute(dev_info, device_id) + if not route then + Log.info(device, "can't find best route") + else + Log.info(device, "found best route: " .. route.name) + end + end + + -- restore route + if route then + restoreRoute(device, dev_info, device_id, route) + end + end +end + +function findRouteInfo(dev_info, route, return_new) + local ri = dev_info.route_infos[route.index] + if not ri and return_new then + ri = { + index = route.index, + name = route.name, + direction = route.direction, + devices = route.devices or {}, + profiles = route.profiles, + priority = route.priority or 0, + available = route.available or "unknown", + prev_available = route.available or "unknown", + active = false, + prev_active = false, + save = false, + } + end + return ri +end + +function handleDevice(device) + local dev_info = dev_infos[device["bound-id"]] + local new_route_infos = {} + local avail_routes_changed = false + local profile = nil + + -- get current profile + for p in device:iterate_params("Profile") do + profile = parseParam(p, "Profile") + end + + -- look at all the routes and update/reset cached information + for p in device:iterate_params("EnumRoute") do + -- parse pod + local route = parseParam(p, "EnumRoute") + if not route then + goto skip_enum_route + end + + -- find cached route information + local route_info = findRouteInfo(dev_info, route, true) + + -- update properties + route_info.prev_available = route_info.available + if route_info.available ~= route.available then + Log.info(device, "route " .. route.name .. " available changed " .. + route_info.available .. " -> " .. route.available) + route_info.available = route.available + if profile and arrayContains(route.profiles, profile.index) then + avail_routes_changed = true + end + end + route_info.prev_active = route_info.active + route_info.active = false + route_info.save = false + + -- store + new_route_infos[route.index] = route_info + + ::skip_enum_route:: + end + + -- replace old route_infos to lose old routes + -- that no longer exist on the device + dev_info.route_infos = new_route_infos + new_route_infos = nil + + -- check for changes in the active routes + for p in device:iterate_params("Route") do + local route = parseParam(p, "Route") + if not route then + goto skip_route + end + + -- get cached route info and at the same time + -- ensure that the route is also in EnumRoute + local route_info = findRouteInfo(dev_info, route, false) + if not route_info then + goto skip_route + end + + -- update state + route_info.active = true + route_info.save = route.save + + if not route_info.prev_active then + -- a new route is now active, restore the volume and + -- make sure we save this as a preferred route + Log.info(device, "new active route found " .. route.name) + restoreRoute(device, dev_info, route.device, route_info) + elseif route.save then + -- just save route properties + Log.info(device, "storing route props for " .. route.name) + saveRouteProps(dev_info, route) + end + + ::skip_route:: + end + + -- restore routes for profile + if profile then + local profile_changed = (dev_info.active_profile ~= profile.index) + + -- if the profile changed, restore routes for that profile + -- if any of the routes of the current profile changed in availability, + -- then try to select a new "best" route for each device and ignore + -- what was stored + if profile_changed or avail_routes_changed then + dev_info.active_profile = profile.index + restoreProfileRoutes(device, dev_info, profile, profile_changed) + end + + saveProfile(dev_info, profile.name) + end +end + +om = ObjectManager { + Interest { + type = "device", + Constraint { "device.name", "is-present", type = "pw-global" }, + } +} + +om:connect("objects-changed", function (om) + local new_dev_infos = {} + for device in om:iterate() do + local dev_info = dev_infos[device["bound-id"]] + -- new device appeared + if not dev_info then + dev_info = { + name = device.properties["device.name"], + active_profile = -1, + route_infos = {}, + } + dev_infos[device["bound-id"]] = dev_info + + device:connect("params-changed", handleDevice) + handleDevice(device) + end + + new_dev_infos[device["bound-id"]] = dev_info + end + -- replace list to get rid of dev_info for devices that no longer exist + dev_infos = new_dev_infos +end) + +om:activate() diff --git a/.config/wireplumber/scripts/policy-endpoint-client-links.lua b/.config/wireplumber/scripts/policy-endpoint-client-links.lua new file mode 100644 index 0000000..eaa1c08 --- /dev/null +++ b/.config/wireplumber/scripts/policy-endpoint-client-links.lua @@ -0,0 +1,218 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +local config = ... or {} +config.roles = config.roles or {} +config["duck.level"] = config["duck.level"] or 0.3 + +function findRole(role) + if role and not config.roles[role] then + for r, p in pairs(config.roles) do + if type(p.alias) == "table" then + for i = 1, #(p.alias), 1 do + if role == p.alias[i] then + return r + end + end + end + end + end + return role +end + +function priorityForRole(role) + local r = role and config.roles[role] or nil + return r and r.priority or 0 +end + +function getAction(dominant_role, other_role) + -- default to "mix" if the role is not configured + if not dominant_role or not config.roles[dominant_role] then + return "mix" + end + + local role_config = config.roles[dominant_role] + return role_config["action." .. other_role] + or role_config["action.default"] + or "mix" +end + +function restoreVolume(role, media_class) + if not mixer_api then return end + + local ep = endpoints_om:lookup { + Constraint { "media.role", "=", role, type = "pw" }, + Constraint { "media.class", "=", media_class, type = "pw" }, + } + + if ep and ep.properties["node.id"] then + Log.debug(ep, "restore role " .. role) + mixer_api:call("set-volume", ep.properties["node.id"], { + monitorVolume = 1.0, + }) + end +end + +function duck(role, media_class) + if not mixer_api then return end + + local ep = endpoints_om:lookup { + Constraint { "media.role", "=", role, type = "pw" }, + Constraint { "media.class", "=", media_class, type = "pw" }, + } + + if ep and ep.properties["node.id"] then + Log.debug(ep, "duck role " .. role) + mixer_api:call("set-volume", ep.properties["node.id"], { + monitorVolume = config["duck.level"], + }) + end +end + +function getSuspendPlaybackMetadata () + local suspend = false + local metadata = metadata_om:lookup() + if metadata then + local value = metadata:find(0, "suspend.playback") + if value then + suspend = value == "1" and true or false + end + end + return suspend +end + +function rescan() + local links = { + ["Audio/Source"] = {}, + ["Audio/Sink"] = {}, + ["Video/Source"] = {}, + } + + Log.info("Rescan endpoint links") + + -- deactivate all links if suspend playback metadata is present + local suspend = getSuspendPlaybackMetadata() + for silink in silinks_om:iterate() do + if suspend then + silink:deactivate(Feature.SessionItem.ACTIVE) + end + end + + -- gather info about links + for silink in silinks_om:iterate() do + local props = silink.properties + local role = props["media.role"] + local target_class = props["target.media.class"] + local plugged = props["item.plugged.usec"] + local active = + ((silink:get_active_features() & Feature.SessionItem.ACTIVE) ~= 0) + if links[target_class] then + table.insert(links[target_class], { + silink = silink, + role = findRole(role), + active = active, + priority = priorityForRole(role), + plugged = plugged and tonumber(plugged) or 0 + }) + end + end + + local function compareLinks(l1, l2) + return (l1.priority > l2.priority) or + ((l1.priority == l2.priority) and (l1.plugged > l2.plugged)) + end + + for media_class, v in pairs(links) do + -- sort on priority and stream creation time + table.sort(v, compareLinks) + + -- apply actions + local first_link = v[1] + if first_link then + for i = 2, #v, 1 do + local action = getAction(first_link.role, v[i].role) + if action == "cork" then + if v[i].active then + v[i].silink:deactivate(Feature.SessionItem.ACTIVE) + end + elseif action == "mix" then + if not v[i].active and not suspend then + v[i].silink:activate(Feature.SessionItem.ACTIVE, pendingOperation()) + end + restoreVolume(v[i].role, media_class) + elseif action == "duck" then + if not v[i].active and not suspend then + v[i].silink:activate(Feature.SessionItem.ACTIVE, pendingOperation()) + end + duck(v[i].role, media_class) + else + Log.warning("Unknown action: " .. action) + end + end + + if not first_link.active and not suspend then + first_link.silink:activate(Feature.SessionItem.ACTIVE, pendingOperation()) + end + restoreVolume(first_link.role, media_class) + end + end +end + +pending_ops = 0 +pending_rescan = false + +function pendingOperation() + pending_ops = pending_ops + 1 + return function() + pending_ops = pending_ops - 1 + if pending_ops == 0 and pending_rescan then + pending_rescan = false + rescan() + end + end +end + +function maybeRescan() + if pending_ops == 0 then + rescan() + else + pending_rescan = true + end +end + +silinks_om = ObjectManager { + Interest { + type = "SiLink", + Constraint { "is.policy.endpoint.client.link", "=", true }, + }, +} +silinks_om:connect("objects-changed", maybeRescan) +silinks_om:activate() + +-- enable ducking if mixer-api is loaded +mixer_api = Plugin.find("mixer-api") +if mixer_api then + endpoints_om = ObjectManager { + Interest { type = "endpoint" }, + } + endpoints_om:activate() +end + +metadata_om = ObjectManager { + Interest { + type = "metadata", + Constraint { "metadata.name", "=", "default" }, + } +} +metadata_om:connect("object-added", function (om, metadata) + metadata:connect("changed", function (m, subject, key, t, value) + if key == "suspend.playback" then + maybeRescan() + end + end) +end) +metadata_om:activate() diff --git a/.config/wireplumber/scripts/policy-endpoint-client.lua b/.config/wireplumber/scripts/policy-endpoint-client.lua new file mode 100644 index 0000000..ed4202f --- /dev/null +++ b/.config/wireplumber/scripts/policy-endpoint-client.lua @@ -0,0 +1,259 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} +config.roles = config.roles or {} + +local self = {} +self.scanning = false +self.pending_rescan = false + +function rescan () + for si in linkables_om:iterate() do + handleLinkable (si) + end +end + +function scheduleRescan () + if self.scanning then + self.pending_rescan = true + return + end + + self.scanning = true + rescan () + self.scanning = false + + if self.pending_rescan then + self.pending_rescan = false + Core.sync(function () + scheduleRescan () + end) + end +end + +function findRole(role, tmc) + if role and not config.roles[role] then + -- find the role with matching alias + for r, p in pairs(config.roles) do + -- default media class can be overridden in the role config data + mc = p["media.class"] or "Audio/Sink" + if (type(p.alias) == "table" and tmc == mc) then + for i = 1, #(p.alias), 1 do + if role == p.alias[i] then + return r + end + end + end + end + + -- otherwise get the lowest priority role + local lowest_priority_p = nil + local lowest_priority_r = nil + for r, p in pairs(config.roles) do + mc = p["media.class"] or "Audio/Sink" + if tmc == mc and (lowest_priority_p == nil or + p.priority < lowest_priority_p.priority) then + lowest_priority_p = p + lowest_priority_r = r + end + end + return lowest_priority_r + end + return role +end + +function findTargetEndpoint (node, media_class, role) + local target_class_assoc = { + ["Stream/Input/Audio"] = "Audio/Source", + ["Stream/Output/Audio"] = "Audio/Sink", + ["Stream/Input/Video"] = "Video/Source", + } + local media_role = nil + local highest_priority = -1 + local target = nil + + -- get target media class + local target_media_class = target_class_assoc[media_class] + if not target_media_class then + return nil + end + + -- find highest priority endpoint by role + media_role = findRole(role, target_media_class) + for si_target_ep in endpoints_om:iterate { + Constraint { "role", "=", media_role, type = "pw-global" }, + Constraint { "media.class", "=", target_media_class, type = "pw-global" }, + } do + local priority = tonumber(si_target_ep.properties["priority"]) + if priority > highest_priority then + highest_priority = priority + target = si_target_ep + end + end + + return target +end + +function createLink (si, si_target_ep) + local out_item = nil + local in_item = nil + local si_props = si.properties + local target_ep_props = si_target_ep.properties + + if si_props["item.node.direction"] == "output" then + -- playback + out_item = si + in_item = si_target_ep + else + -- capture + out_item = si_target_ep + in_item = si + end + + Log.info (string.format("link %s <-> %s", + tostring(si_props["node.name"]), + tostring(target_ep_props["name"]))) + + -- create and configure link + local si_link = SessionItem ( "si-standard-link" ) + if not si_link:configure { + ["out.item"] = out_item, + ["in.item"] = in_item, + ["out.item.port.context"] = "output", + ["in.item.port.context"] = "input", + ["is.policy.endpoint.client.link"] = true, + ["media.role"] = target_ep_props["role"], + ["target.media.class"] = target_ep_props["media.class"], + ["item.plugged.usec"] = si_props["item.plugged.usec"], + } then + Log.warning (si_link, "failed to configure si-standard-link") + return + end + + -- register + si_link:register() +end + +function checkLinkable (si) + -- only handle session items that has a node associated proxy + local node = si:get_associated_proxy ("node") + if not node or not node.properties then + return false + end + + -- only handle stream session items + local media_class = node.properties["media.class"] + if not media_class or not string.find (media_class, "Stream") then + return false + end + + -- Determine if we can handle item by this policy + if endpoints_om:get_n_objects () == 0 then + Log.debug (si, "item won't be handled by this policy") + return false + end + + return true +end + +function handleLinkable (si) + if not checkLinkable (si) then + return + end + + local node = si:get_associated_proxy ("node") + local media_class = node.properties["media.class"] or "" + local media_role = node.properties["media.role"] or "Default" + Log.info (si, "handling item " .. tostring(node.properties["node.name"]) .. + " with role " .. media_role) + + -- find proper target endpoint + local si_target_ep = findTargetEndpoint (node, media_class, media_role) + if not si_target_ep then + Log.info (si, "... target endpoint not found") + return + end + + -- Check if item is linked to proper target, otherwise re-link + for link in links_om:iterate() do + local out_id = tonumber(link.properties["out.item.id"]) + local in_id = tonumber(link.properties["in.item.id"]) + if out_id == si.id or in_id == si.id then + local is_out = out_id == si.id and true or false + for peer_ep in endpoints_om:iterate() do + if peer_ep.id == (is_out and in_id or out_id) then + + if peer_ep.id == si_target_ep.id then + Log.info (si, "... already linked to proper target endpoint") + return + end + + -- remove old link if active, otherwise schedule rescan + if ((link:get_active_features() & Feature.SessionItem.ACTIVE) ~= 0) then + link:remove () + Log.info (si, "... moving to new target") + else + scheduleRescan () + Log.info (si, "... scheduled rescan") + return + end + + end + end + end + end + + -- create new link + createLink (si, si_target_ep) +end + +function unhandleLinkable (si) + if not checkLinkable (si) then + return + end + + local node = si:get_associated_proxy ("node") + Log.info (si, "unhandling item " .. tostring(node.properties["node.name"])) + + -- remove any links associated with this item + for silink in links_om:iterate() do + local out_id = tonumber (silink.properties["out.item.id"]) + local in_id = tonumber (silink.properties["in.item.id"]) + if out_id == si.id or in_id == si.id then + silink:remove () + Log.info (silink, "... link removed") + end + end +end + +endpoints_om = ObjectManager { Interest { type = "SiEndpoint" }} +linkables_om = ObjectManager { Interest { type = "SiLinkable", + -- only handle si-audio-adapter and si-node + Constraint { + "item.factory.name", "=", "si-audio-adapter", type = "pw-global" }, + Constraint { + "active-features", "!", 0, type = "gobject" }, + } +} +links_om = ObjectManager { Interest { type = "SiLink", + -- only handle links created by this policy + Constraint { "is.policy.endpoint.client.link", "=", true, type = "pw-global" }, +} } + +linkables_om:connect("objects-changed", function (om) + scheduleRescan () +end) + +linkables_om:connect("object-removed", function (om, si) + unhandleLinkable (si) +end) + +endpoints_om:activate() +linkables_om:activate() +links_om:activate() diff --git a/.config/wireplumber/scripts/policy-endpoint-device.lua b/.config/wireplumber/scripts/policy-endpoint-device.lua new file mode 100644 index 0000000..0ba39b0 --- /dev/null +++ b/.config/wireplumber/scripts/policy-endpoint-device.lua @@ -0,0 +1,234 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} + +-- ensure config.move and config.follow are not nil +config.move = config.move or false +config.follow = config.follow or false + +local self = {} +self.scanning = false +self.pending_rescan = false + +function rescan () + -- check endpoints and register new links + for si_ep in endpoints_om:iterate() do + handleEndpoint (si_ep) + end +end + +function scheduleRescan () + if self.scanning then + self.pending_rescan = true + return + end + + self.scanning = true + rescan () + self.scanning = false + + if self.pending_rescan then + self.pending_rescan = false + Core.sync(function () + scheduleRescan () + end) + end +end + +function findTargetByDefaultNode (target_media_class) + local def_id = default_nodes:call("get-default-node", target_media_class) + if def_id ~= Id.INVALID then + for si_target in linkables_om:iterate() do + local target_node = si_target:get_associated_proxy ("node") + if target_node["bound-id"] == def_id then + return si_target + end + end + end + return nil +end + +function findTargetByFirstAvailable (target_media_class) + for si_target in linkables_om:iterate() do + local target_node = si_target:get_associated_proxy ("node") + if target_node.properties["media.class"] == target_media_class then + return si_target + end + end + return nil +end + +function findUndefinedTarget (si_ep) + local media_class = si_ep.properties["media.class"] + local target_class_assoc = { + ["Audio/Source"] = "Audio/Source", + ["Audio/Sink"] = "Audio/Sink", + ["Video/Source"] = "Video/Source", + } + local target_media_class = target_class_assoc[media_class] + if not target_media_class then + return nil + end + + local si_target = findTargetByDefaultNode (target_media_class) + if not si_target then + si_target = findTargetByFirstAvailable (target_media_class) + end + return si_target +end + +function createLink (si_ep, si_target) + local out_item = nil + local in_item = nil + local ep_props = si_ep.properties + local target_props = si_target.properties + + if target_props["item.node.direction"] == "input" then + -- playback + out_item = si_ep + in_item = si_target + else + -- capture + in_item = si_ep + out_item = si_target + end + + Log.info (string.format("link %s <-> %s", + ep_props["name"], + target_props["node.name"])) + + -- create and configure link + local si_link = SessionItem ( "si-standard-link" ) + if not si_link:configure { + ["out.item"] = out_item, + ["in.item"] = in_item, + ["out.item.port.context"] = "output", + ["in.item.port.context"] = "input", + ["passive"] = true, + ["is.policy.endpoint.device.link"] = true, + } then + Log.warning (si_link, "failed to configure si-standard-link") + return + end + + -- register + si_link:register () + + -- activate + si_link:activate (Feature.SessionItem.ACTIVE, function (l, e) + if e then + Log.warning (l, "failed to activate si-standard-link: " .. tostring(e)) + l:remove () + else + Log.info (l, "activated si-standard-link") + end + end) +end + +function handleEndpoint (si_ep) + Log.info (si_ep, "handling endpoint " .. si_ep.properties["name"]) + + -- find proper target item + local si_target = findUndefinedTarget (si_ep) + if not si_target then + Log.info (si_ep, "... target item not found") + return + end + + -- Check if item is linked to proper target, otherwise re-link + for link in links_om:iterate() do + local out_id = tonumber(link.properties["out.item.id"]) + local in_id = tonumber(link.properties["in.item.id"]) + if out_id == si_ep.id or in_id == si_ep.id then + local is_out = out_id == si_ep.id and true or false + for peer in linkables_om:iterate() do + if peer.id == (is_out and in_id or out_id) then + + if peer.id == si_target.id then + Log.info (si_ep, "... already linked to proper target") + return + end + + -- remove old link if active, otherwise schedule rescan + if ((link:get_active_features() & Feature.SessionItem.ACTIVE) ~= 0) then + link:remove () + Log.info (si_ep, "... moving to new target") + else + scheduleRescan () + Log.info (si_ep, "... scheduled rescan") + return + end + + end + end + end + end + + -- create new link + createLink (si_ep, si_target) +end + +function unhandleLinkable (si) + si_props = si.properties + + Log.info (si, string.format("unhandling item: %s (%s)", + tostring(si_props["node.name"]), tostring(si_props["node.id"]))) + + -- remove any links associated with this item + for silink in links_om:iterate() do + local out_id = tonumber (silink.properties["out.item.id"]) + local in_id = tonumber (silink.properties["in.item.id"]) + if out_id == si.id or in_id == si.id then + silink:remove () + Log.info (silink, "... link removed") + end + end +end + +default_nodes = Plugin.find("default-nodes-api") +endpoints_om = ObjectManager { Interest { type = "SiEndpoint" }} +linkables_om = ObjectManager { + Interest { + type = "SiLinkable", + -- only handle device si-audio-adapter items + Constraint { "item.factory.name", "=", "si-audio-adapter", type = "pw-global" }, + Constraint { "item.node.type", "=", "device", type = "pw-global" }, + Constraint { "active-features", "!", 0, type = "gobject" }, + } +} +links_om = ObjectManager { + Interest { + type = "SiLink", + -- only handle links created by this policy + Constraint { "is.policy.endpoint.device.link", "=", true, type = "pw-global" }, + } +} + +-- listen for default node changes if config.follow is enabled +if config.follow then + default_nodes:connect("changed", function (p) + scheduleRescan () + end) +end + +linkables_om:connect("objects-changed", function (om) + scheduleRescan () +end) + +endpoints_om:connect("object-added", function (om) + scheduleRescan () +end) + +linkables_om:connect("object-removed", function (om, si) + unhandleLinkable (si) +end) + +endpoints_om:activate() +linkables_om:activate() +links_om:activate() diff --git a/.config/wireplumber/scripts/policy-node.lua b/.config/wireplumber/scripts/policy-node.lua new file mode 100644 index 0000000..25d7136 --- /dev/null +++ b/.config/wireplumber/scripts/policy-node.lua @@ -0,0 +1,1008 @@ +-- WirePlumber +-- +-- Copyright © 2020 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} + +-- ensure config.move and config.follow are not nil +config.move = config.move or false +config.follow = config.follow or false +config.filter_forward_format = config["filter.forward-format"] or false + +local self = {} +self.scanning = false +self.pending_rescan = false +self.events_skipped = false +self.pending_error_timer = nil + +function rescan() + for si in linkables_om:iterate() do + handleLinkable (si) + end +end + +function scheduleRescan () + if self.scanning then + self.pending_rescan = true + return + end + + self.scanning = true + rescan () + self.scanning = false + + if self.pending_rescan then + self.pending_rescan = false + Core.sync(function () + scheduleRescan () + end) + end +end + +function parseBool(var) + return var and (var:lower() == "true" or var == "1") +end + +function createLink (si, si_target, passthrough, exclusive) + local out_item = nil + local in_item = nil + local si_props = si.properties + local target_props = si_target.properties + local si_id = si.id + + -- break rescan if tried more than 5 times with same target + if si_flags[si_id].failed_peer_id ~= nil and + si_flags[si_id].failed_peer_id == si_target.id and + si_flags[si_id].failed_count ~= nil and + si_flags[si_id].failed_count > 5 then + Log.warning (si, "tried to link on last rescan, not retrying") + return + end + + if si_props["item.node.direction"] == "output" then + -- playback + out_item = si + in_item = si_target + else + -- capture + in_item = si + out_item = si_target + end + + local passive = parseBool(si_props["node.passive"]) or + parseBool(target_props["node.passive"]) + + Log.info ( + string.format("link %s <-> %s passive:%s, passthrough:%s, exclusive:%s", + tostring(si_props["node.name"]), + tostring(target_props["node.name"]), + tostring(passive), tostring(passthrough), tostring(exclusive))) + + -- create and configure link + local si_link = SessionItem ( "si-standard-link" ) + if not si_link:configure { + ["out.item"] = out_item, + ["in.item"] = in_item, + ["passive"] = passive, + ["passthrough"] = passthrough, + ["exclusive"] = exclusive, + ["out.item.port.context"] = "output", + ["in.item.port.context"] = "input", + ["is.policy.item.link"] = true, + } then + Log.warning (si_link, "failed to configure si-standard-link") + return + end + + si_link:connect("link-error", function (_, error_msg) + local ids = {si_id} + if si_flags[si_id] ~= nil then + table.insert (ids, si_flags[si_id].peer_id) + end + + for _, id in ipairs (ids) do + local si = linkables_om:lookup { + Constraint { "id", "=", id, type = "gobject" }, + } + if si then + local node = si:get_associated_proxy ("node") + local client_id = node.properties["client.id"] + if client_id then + local client = clients_om:lookup { + Constraint { "bound-id", "=", client_id, type = "gobject" } + } + if client then + Log.info (node, "sending client error: " .. error_msg) + client:send_error (node["bound-id"], -32, error_msg) + end + end + end + end + end) + + -- register + si_flags[si_id].peer_id = si_target.id + si_flags[si_id].failed_peer_id = si_target.id + if si_flags[si_id].failed_count ~= nil then + si_flags[si_id].failed_count = si_flags[si_id].failed_count + 1 + else + si_flags[si_id].failed_count = 1 + end + si_link:register () + + -- activate + si_link:activate (Feature.SessionItem.ACTIVE, function (l, e) + if e then + Log.info (l, "failed to activate si-standard-link: " .. tostring(e)) + if si_flags[si_id] ~= nil then + si_flags[si_id].peer_id = nil + end + l:remove () + else + if si_flags[si_id] ~= nil then + si_flags[si_id].failed_peer_id = nil + si_flags[si_id].failed_count = 0 + end + Log.info (l, "activated si-standard-link") + end + scheduleRescan() + end) +end + +function isLinked(si_target) + local target_id = si_target.id + local linked = false + local exclusive = false + + for l in links_om:iterate() do + local p = l.properties + local out_id = tonumber(p["out.item.id"]) + local in_id = tonumber(p["in.item.id"]) + linked = (out_id == target_id) or (in_id == target_id) + if linked then + exclusive = parseBool(p["exclusive"]) or parseBool(p["passthrough"]) + break + end + end + return linked, exclusive +end + +function canPassthrough (si, si_target) + -- both nodes must support encoded formats + if not parseBool(si.properties["item.node.supports-encoded-fmts"]) + or not parseBool(si_target.properties["item.node.supports-encoded-fmts"]) then + return false + end + + -- make sure that the nodes have at least one common non-raw format + local n1 = si:get_associated_proxy ("node") + local n2 = si_target:get_associated_proxy ("node") + for p1 in n1:iterate_params("EnumFormat") do + local p1p = p1:parse() + if p1p.properties.mediaSubtype ~= "raw" then + for p2 in n2:iterate_params("EnumFormat") do + if p1:filter(p2) then + return true + end + end + end + end + return false +end + +function canLink (properties, si_target) + local target_properties = si_target.properties + + -- nodes must have the same media type + if properties["media.type"] ~= target_properties["media.type"] then + return false + end + + -- nodes must have opposite direction, or otherwise they must be both input + -- and the target must have a monitor (so the target will be used as a source) + local function isMonitor(properties) + return properties["item.node.direction"] == "input" and + parseBool(properties["item.features.monitor"]) and + not parseBool(properties["item.features.no-dsp"]) and + properties["item.factory.name"] == "si-audio-adapter" + end + + if properties["item.node.direction"] == target_properties["item.node.direction"] + and not isMonitor(target_properties) then + return false + end + + -- check link group + local function canLinkGroupCheck (link_group, si_target, hops) + local target_props = si_target.properties + local target_link_group = target_props["node.link-group"] + + if hops == 8 then + return false + end + + -- allow linking if target has no link-group property + if not target_link_group then + return true + end + + -- do not allow linking if target has the same link-group + if link_group == target_link_group then + return false + end + + -- make sure target is not linked with another node with same link group + -- start by locating other nodes in the target's link-group, in opposite direction + for n in linkables_om:iterate { + Constraint { "id", "!", si_target.id, type = "gobject" }, + Constraint { "item.node.direction", "!", target_props["item.node.direction"] }, + Constraint { "node.link-group", "=", target_link_group }, + } do + -- iterate their peers and return false if one of them cannot link + for silink in links_om:iterate() do + local out_id = tonumber(silink.properties["out.item.id"]) + local in_id = tonumber(silink.properties["in.item.id"]) + if out_id == n.id or in_id == n.id then + local peer_id = (out_id == n.id) and in_id or out_id + local peer = linkables_om:lookup { + Constraint { "id", "=", peer_id, type = "gobject" }, + } + if peer and not canLinkGroupCheck (link_group, peer, hops + 1) then + return false + end + end + end + end + return true + end + + local link_group = properties["node.link-group"] + if link_group then + return canLinkGroupCheck (link_group, si_target, 0) + end + return true +end + +function getTargetDirection(properties) + local target_direction = nil + if properties["item.node.direction"] == "output" or + (properties["item.node.direction"] == "input" and + parseBool(properties["stream.capture.sink"])) then + target_direction = "input" + else + target_direction = "output" + end + return target_direction +end + +function getDefaultNode(properties, target_direction) + local target_media_class = + properties["media.type"] .. + (target_direction == "input" and "/Sink" or "/Source") + return default_nodes:call("get-default-node", target_media_class) +end + +-- Try to locate a valid target node that was explicitly requsted by the +-- client(node.target) or by the user(target.node) +-- Use the target.node metadata, if config.move is enabled, +-- then use the node.target property that was set on the node +-- `properties` must be the properties dictionary of the session item +-- that is currently being handled +function findDefinedTarget (properties) + local metadata = config.move and metadata_om:lookup() + local target_direction = getTargetDirection(properties) + local target_key + local target_value + local node_defined = false + + if properties["target.object"] ~= nil then + target_value = properties["target.object"] + target_key = "object.serial" + node_defined = true + elseif properties["node.target"] ~= nil then + target_value = properties["node.target"] + target_key = "node.id" + node_defined = true + end + + if metadata then + local id = metadata:find(properties["node.id"], "target.object") + if id ~= nil then + target_value = id + target_key = "object.serial" + node_defined = false + else + id = metadata:find(properties["node.id"], "target.node") + if id ~= nil then + target_value = id + target_key = "node.id" + node_defined = false + end + end + end + + if target_value == "-1" then + return nil, false, node_defined + end + + if target_value and tonumber(target_value) then + local si_target = linkables_om:lookup { + Constraint { target_key, "=", target_value }, + } + if si_target and canLink (properties, si_target) then + return si_target, true, node_defined + end + end + + if target_value then + for si_target in linkables_om:iterate() do + local target_props = si_target.properties + if (target_props["node.name"] == target_value or + target_props["object.path"] == target_value) and + target_props["item.node.direction"] == target_direction and + canLink (properties, si_target) then + return si_target, true, node_defined + end + end + end + return nil, (target_value ~= nil), node_defined +end + +function parseParam(param, id) + local route = param:parse() + if route.pod_type == "Object" and route.object_id == id then + return route.properties + else + return nil + end +end + +function arrayContains(a, value) + for _, v in ipairs(a) do + if v == value then + return true + end + end + return false +end + + +-- Does the target device have any active/available paths/routes to +-- the physical device(spkr/mic/cam)? +function haveAvailableRoutes (si_props) + local card_profile_device = si_props["card.profile.device"] + local device_id = si_props["device.id"] + local device = device_id and devices_om:lookup { + Constraint { "bound-id", "=", device_id, type = "gobject"}, + } + + if not card_profile_device or not device then + return true + end + + local found = 0 + local avail = 0 + + -- First check "SPA_PARAM_Route" if there are any active devices + -- in an active profile. + for p in device:iterate_params("Route") do + local route = parseParam(p, "Route") + if not route then + goto skip_route + end + + if (route.device ~= tonumber(card_profile_device)) then + goto skip_route + end + + if (route.available == "no") then + return false + end + + do return true end + + ::skip_route:: + end + + -- Second check "SPA_PARAM_EnumRoute" if there is any route that + -- is available if not active. + for p in device:iterate_params("EnumRoute") do + local route = parseParam(p, "EnumRoute") + if not route then + goto skip_enum_route + end + + if not arrayContains(route.devices, tonumber(card_profile_device)) then + goto skip_enum_route + end + found = found + 1; + if (route.available ~= "no") then + avail = avail +1 + end + ::skip_enum_route:: + end + + if found == 0 then + return true + end + if avail > 0 then + return true + end + + return false + +end + +function findDefaultLinkable (si) + local si_props = si.properties + local target_direction = getTargetDirection(si_props) + local def_node_id = getDefaultNode(si_props, target_direction) + return linkables_om:lookup { + Constraint { "node.id", "=", tostring(def_node_id) } + } +end + +function checkPassthroughCompatibility (si, si_target) + local si_must_passthrough = parseBool(si.properties["item.node.encoded-only"]) + local si_target_must_passthrough = parseBool(si_target.properties["item.node.encoded-only"]) + local can_passthrough = canPassthrough(si, si_target) + if (si_must_passthrough or si_target_must_passthrough) + and not can_passthrough then + return false, can_passthrough + end + return true, can_passthrough +end + +function findBestLinkable (si) + local si_props = si.properties + local target_direction = getTargetDirection(si_props) + local target_picked = nil + local target_can_passthrough = false + local target_priority = 0 + local target_plugged = 0 + + for si_target in linkables_om:iterate { + Constraint { "item.node.type", "=", "device" }, + Constraint { "item.node.direction", "=", target_direction }, + Constraint { "media.type", "=", si_props["media.type"] }, + } do + local si_target_props = si_target.properties + local si_target_node_id = si_target_props["node.id"] + local priority = tonumber(si_target_props["priority.session"]) or 0 + + Log.debug(string.format("Looking at: %s (%s)", + tostring(si_target_props["node.name"]), + tostring(si_target_node_id))) + + if not canLink (si_props, si_target) then + Log.debug("... cannot link, skip linkable") + goto skip_linkable + end + + if not haveAvailableRoutes(si_target_props) then + Log.debug("... does not have routes, skip linkable") + goto skip_linkable + end + + local passthrough_compatible, can_passthrough = + checkPassthroughCompatibility (si, si_target) + if not passthrough_compatible then + Log.debug("... passthrough is not compatible, skip linkable") + goto skip_linkable + end + + local plugged = tonumber(si_target_props["item.plugged.usec"]) or 0 + + Log.debug("... priority:"..tostring(priority)..", plugged:"..tostring(plugged)) + + -- (target_picked == NULL) --> make sure atleast one target is picked. + -- (priority > target_priority) --> pick the highest priority linkable(node) + -- target. + -- (priority == target_priority and plugged > target_plugged) --> pick the + -- latest connected/plugged(in time) linkable(node) target. + if (target_picked == nil or + priority > target_priority or + (priority == target_priority and plugged > target_plugged)) then + Log.debug("... picked") + target_picked = si_target + target_can_passthrough = can_passthrough + target_priority = priority + target_plugged = plugged + end + ::skip_linkable:: + end + + if target_picked then + Log.info(string.format("... best target picked: %s (%s), can_passthrough:%s", + tostring(target_picked.properties["node.name"]), + tostring(target_picked.properties["node.id"]), + tostring(target_can_passthrough))) + return target_picked, target_can_passthrough + else + return nil, nil + end + +end + +function findUndefinedTarget (si) + -- Just find the best linkable if default nodes module is not loaded + if default_nodes == nil then + return findBestLinkable (si) + end + + -- Otherwise find the default linkable. If the default linkable is not + -- compatible, we find the best one instead. We return nil if the default + -- linkable does not exist. + local si_target = findDefaultLinkable (si) + if si_target then + local passthrough_compatible, can_passthrough = + checkPassthroughCompatibility (si, si_target) + if canLink (si.properties, si_target) and passthrough_compatible then + Log.info(string.format("... default target picked: %s (%s), can_passthrough:%s", + tostring(si_target.properties["node.name"]), + tostring(si_target.properties["node.id"]), + tostring(can_passthrough))) + return si_target, can_passthrough + else + return findBestLinkable (si) + end + end + return nil, nil +end + +function lookupLink (si_id, si_target_id) + local link = links_om:lookup { + Constraint { "out.item.id", "=", si_id }, + Constraint { "in.item.id", "=", si_target_id } + } + if not link then + link = links_om:lookup { + Constraint { "in.item.id", "=", si_id }, + Constraint { "out.item.id", "=", si_target_id } + } + end + return link +end + +function checkLinkable(si, handle_nonstreams) + -- only handle stream session items + local si_props = si.properties + if not si_props or (si_props["item.node.type"] ~= "stream" + and not handle_nonstreams) then + return false + end + + -- Determine if we can handle item by this policy + if endpoints_om:get_n_objects () > 0 and + si_props["item.factory.name"] == "si-audio-adapter" then + return false + end + + return true, si_props +end + +si_flags = {} + +function checkPending () + local pending_linkables = pending_linkables_om:get_n_objects () + + -- We cannot process linkables if some of them are pending activation, + -- because linkables do not appear in the same order as nodes, + -- and we cannot resolve target node references until all linkables + -- have appeared. + + if self.pending_error_timer then + self.pending_error_timer:destroy () + self.pending_error_timer = nil + end + + if pending_linkables ~= 0 then + -- Wait for linkables to get it sync + Log.debug(string.format("pending %d linkable not ready", + pending_linkables)) + self.events_skipped = true + + -- To make bugs in activation easier to debug, emit an error message + -- if they occur. policy-node should never be suspended for 20sec. + self.pending_error_timer = Core.timeout_add(20000, function() + self.pending_error_timer = nil + if pending_linkables ~= 0 then + Log.message(string.format("%d pending linkable(s) not activated in 20sec. " + .. "This should never happen.", pending_linkables)) + end + end) + + return true + elseif self.events_skipped then + Log.debug("pending linkables ready") + self.events_skipped = false + scheduleRescan () + return true + end + + return false +end + +function checkFollowDefault (si, si_target, has_node_defined_target) + -- If it got linked to the default target that is defined by node + -- props but not metadata, start ignoring the node prop from now on. + -- This is what Pulseaudio does. + -- + -- Pulseaudio skips here filter streams (i->origin_sink and + -- o->destination_source set in PA). Pipewire does not have a flag + -- explicitly for this, but we can use presence of node.link-group. + if not has_node_defined_target then + return + end + + local si_props = si.properties + local target_props = si_target.properties + local reconnect = not parseBool(si_props["node.dont-reconnect"]) + local is_filter = (si_props["node.link-group"] ~= nil) + + if config.follow and default_nodes ~= nil and reconnect and not is_filter then + local def_id = getDefaultNode(si_props, getTargetDirection(si_props)) + + if target_props["node.id"] == tostring(def_id) then + local metadata = metadata_om:lookup() + -- Set target.node, for backward compatibility + metadata:set(tonumber(si_props["node.id"]), "target.node", "Spa:Id", "-1") + Log.info (si, "... set metadata to follow default") + end + end +end + +function handleLinkable (si) + if checkPending () then + return + end + + local valid, si_props = checkLinkable(si) + if not valid then + return + end + + -- check if we need to link this node at all + local autoconnect = parseBool(si_props["node.autoconnect"]) + if not autoconnect then + Log.debug (si, tostring(si_props["node.name"]) .. " does not need to be autoconnected") + return + end + + Log.info (si, string.format("handling item: %s (%s)", + tostring(si_props["node.name"]), tostring(si_props["node.id"]))) + + ensureSiFlags(si) + + -- get other important node properties + local reconnect = not parseBool(si_props["node.dont-reconnect"]) + local exclusive = parseBool(si_props["node.exclusive"]) + local si_must_passthrough = parseBool(si_props["item.node.encoded-only"]) + + -- find defined target + local si_target, has_defined_target, has_node_defined_target + = findDefinedTarget(si_props) + local can_passthrough = si_target and canPassthrough(si, si_target) + + if si_target and si_must_passthrough and not can_passthrough then + si_target = nil + end + + -- if the client has seen a target that we haven't yet prepared, schedule + -- a rescan one more time and hope for the best + local si_id = si.id + if has_defined_target + and not si_target + and not si_flags[si_id].was_handled + and not si_flags[si_id].done_waiting then + Log.info (si, "... waiting for target") + si_flags[si_id].done_waiting = true + scheduleRescan() + return + end + + -- find fallback target + if not si_target and (reconnect or not has_defined_target) then + si_target, can_passthrough = findUndefinedTarget(si) + end + + -- Check if item is linked to proper target, otherwise re-link + if si_flags[si_id].peer_id then + if si_target and si_flags[si_id].peer_id == si_target.id then + Log.debug (si, "... already linked to proper target") + -- Check this also here, in case in default targets changed + checkFollowDefault (si, si_target, has_node_defined_target) + return + end + local link = lookupLink (si_id, si_flags[si_id].peer_id) + if reconnect then + if link ~= nil then + -- remove old link + if ((link:get_active_features() & Feature.SessionItem.ACTIVE) == 0) then + -- Link not yet activated. We don't want to remove it now, as that + -- may cause problems. Instead, give up for now. A rescan is scheduled + -- once the link activates. + Log.info (link, "Link to be moved was not activated, will wait for it.") + return + end + si_flags[si_id].peer_id = nil + link:remove () + Log.info (si, "... moving to new target") + end + else + if link ~= nil then + Log.info (si, "... dont-reconnect, not moving") + return + end + end + end + + -- if the stream has dont-reconnect and was already linked before, + -- don't link it to a new target + if not reconnect and si_flags[si.id].was_handled then + si_target = nil + end + + -- check target's availability + if si_target then + local target_is_linked, target_is_exclusive = isLinked(si_target) + if target_is_exclusive then + Log.info(si, "... target is linked exclusively") + si_target = nil + end + + if target_is_linked then + if exclusive or si_must_passthrough then + Log.info(si, "... target is already linked, cannot link exclusively") + si_target = nil + else + -- disable passthrough, we can live without it + can_passthrough = false + end + end + end + + if not si_target then + Log.info (si, "... target not found, reconnect:" .. tostring(reconnect)) + + local node = si:get_associated_proxy ("node") + if not reconnect then + Log.info (si, "... destroy node") + node:request_destroy() + elseif si_flags[si.id].was_handled then + Log.info (si, "... waiting reconnect") + return + end + + local client_id = node.properties["client.id"] + if client_id then + local client = clients_om:lookup { + Constraint { "bound-id", "=", client_id, type = "gobject" } + } + if client then + client:send_error(node["bound-id"], -2, "no node available") + end + end + else + createLink (si, si_target, can_passthrough, exclusive) + si_flags[si.id].was_handled = true + + checkFollowDefault (si, si_target, has_node_defined_target) + end +end + +function unhandleLinkable (si) + local valid, si_props = checkLinkable(si, true) + if not valid then + return + end + + Log.info (si, string.format("unhandling item: %s (%s)", + tostring(si_props["node.name"]), tostring(si_props["node.id"]))) + + -- remove any links associated with this item + for silink in links_om:iterate() do + local out_id = tonumber (silink.properties["out.item.id"]) + local in_id = tonumber (silink.properties["in.item.id"]) + if out_id == si.id or in_id == si.id then + if out_id == si.id and + si_flags[in_id] and si_flags[in_id].peer_id == out_id then + si_flags[in_id].peer_id = nil + elseif in_id == si.id and + si_flags[out_id] and si_flags[out_id].peer_id == in_id then + si_flags[out_id].peer_id = nil + end + silink:remove () + Log.info (silink, "... link removed") + end + end + + si_flags[si.id] = nil +end + +default_nodes = Plugin.find("default-nodes-api") + +metadata_om = ObjectManager { + Interest { + type = "metadata", + Constraint { "metadata.name", "=", "default" }, + } +} + +endpoints_om = ObjectManager { Interest { type = "SiEndpoint" } } + +clients_om = ObjectManager { Interest { type = "client" } } + +devices_om = ObjectManager { Interest { type = "device" } } + +linkables_om = ObjectManager { + Interest { + type = "SiLinkable", + -- only handle si-audio-adapter and si-node + Constraint { "item.factory.name", "c", "si-audio-adapter", "si-node" }, + Constraint { "active-features", "!", 0, type = "gobject" }, + } +} + +pending_linkables_om = ObjectManager { + Interest { + type = "SiLinkable", + -- only handle si-audio-adapter and si-node + Constraint { "item.factory.name", "c", "si-audio-adapter", "si-node" }, + Constraint { "active-features", "=", 0, type = "gobject" }, + } +} + +links_om = ObjectManager { + Interest { + type = "SiLink", + -- only handle links created by this policy + Constraint { "is.policy.item.link", "=", true }, + } +} + +-- listen for default node changes if config.follow is enabled +if config.follow and default_nodes ~= nil then + default_nodes:connect("changed", function () + scheduleRescan () + end) +end + +-- listen for target.node metadata changes if config.move is enabled +if config.move then + metadata_om:connect("object-added", function (om, metadata) + metadata:connect("changed", function (m, subject, key, t, value) + if key == "target.node" or key == "target.object" then + scheduleRescan () + end + end) + end) +end + +function findAssociatedLinkGroupNode (si) + local si_props = si.properties + local node = si:get_associated_proxy ("node") + local link_group = node.properties["node.link-group"] + if link_group == nil then + return nil + end + + -- get the associated media class + local assoc_direction = getTargetDirection(si_props) + local assoc_media_class = + si_props["media.type"] .. + (assoc_direction == "input" and "/Sink" or "/Source") + + -- find the linkable with same link group and matching assoc media class + for assoc_si in linkables_om:iterate() do + local assoc_node = assoc_si:get_associated_proxy ("node") + local assoc_link_group = assoc_node.properties["node.link-group"] + if assoc_link_group == link_group and + assoc_media_class == assoc_node.properties["media.class"] then + return assoc_si + end + end + + return nil +end + +function onLinkGroupPortsStateChanged (si, old_state, new_state) + local new_str = tostring(new_state) + local si_props = si.properties + + -- only handle items with configured ports state + if new_str ~= "configured" then + return + end + + Log.info (si, "ports format changed on " .. si_props["node.name"]) + + -- find associated device + local si_device = findAssociatedLinkGroupNode (si) + if si_device ~= nil then + local device_node_name = si_device.properties["node.name"] + + -- get the stream format + local f, m = si:get_ports_format() + + -- unregister the device + Log.info (si_device, "unregistering " .. device_node_name) + si_device:remove() + + -- set new format in the device + Log.info (si_device, "setting new format in " .. device_node_name) + si_device:set_ports_format(f, m, function (item, e) + if e ~= nil then + Log.warning (item, "failed to configure ports in " .. + device_node_name .. ": " .. e) + end + + -- register back the device + Log.info (item, "registering " .. device_node_name) + item:register() + end) + end +end + +function ensureSiFlags (si) + -- prepare flags table + if not si_flags[si.id] then + si_flags[si.id] = {} + end +end + +function checkFiltersPortsState (si) + local si_props = si.properties + local node = si:get_associated_proxy ("node") + local link_group = node.properties["node.link-group"] + + ensureSiFlags(si) + + -- only listen for ports state changed on audio filter streams + if si_flags[si.id].ports_state_signal ~= true and + si_props["item.factory.name"] == "si-audio-adapter" and + si_props["item.node.type"] == "stream" and + link_group ~= nil then + si:connect("adapter-ports-state-changed", onLinkGroupPortsStateChanged) + si_flags[si.id].ports_state_signal = true + Log.info (si, "listening ports state changed on " .. si_props["node.name"]) + end +end + +linkables_om:connect("object-added", function (om, si) + local si_props = si.properties + + -- Forward filters ports format to associated virtual devices if enabled + if config.filter_forward_format then + checkFiltersPortsState (si) + end + + if si_props["item.node.type"] ~= "stream" then + scheduleRescan () + else + handleLinkable (si) + end +end) + +linkables_om:connect("object-removed", function (om, si) + unhandleLinkable (si) + scheduleRescan () +end) + +devices_om:connect("object-added", function (om, device) + device:connect("params-changed", function (d, param_name) + scheduleRescan () + end) +end) + +metadata_om:activate() +endpoints_om:activate() +clients_om:activate() +linkables_om:activate() +pending_linkables_om:activate() +links_om:activate() +devices_om:activate() diff --git a/.config/wireplumber/scripts/restore-stream.lua b/.config/wireplumber/scripts/restore-stream.lua new file mode 100644 index 0000000..06867d4 --- /dev/null +++ b/.config/wireplumber/scripts/restore-stream.lua @@ -0,0 +1,499 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- Based on restore-stream.c from pipewire-media-session +-- Copyright © 2020 Wim Taymans +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local config = ... or {} +config.properties = config.properties or {} +config_restore_props = config.properties["restore-props"] or false +config_restore_target = config.properties["restore-target"] or false +config_default_channel_volume = config.properties["default-channel-volume"] or 1.0 + +-- preprocess rules and create Interest objects +for _, r in ipairs(config.rules or {}) do + r.interests = {} + for _, i in ipairs(r.matches) do + local interest_desc = { type = "properties" } + for _, c in ipairs(i) do + c.type = "pw" + table.insert(interest_desc, Constraint(c)) + end + local interest = Interest(interest_desc) + table.insert(r.interests, interest) + end + r.matches = nil +end + +-- applies properties from config.rules when asked to +function rulesApplyProperties(properties) + for _, r in ipairs(config.rules or {}) do + if r.apply_properties then + for _, interest in ipairs(r.interests) do + if interest:matches(properties) then + for k, v in pairs(r.apply_properties) do + properties[k] = v + end + end + end + end + end +end + +-- the state storage +state = State("restore-stream") +state_table = state:load() + +-- simple serializer {"foo", "bar"} -> "foo;bar;" +function serializeArray(a) + local str = "" + for _, v in ipairs(a) do + str = str .. tostring(v):gsub(";", "\\;") .. ";" + end + return str +end + +-- simple deserializer "foo;bar;" -> {"foo", "bar"} +function parseArray(str, convert_value, with_type) + local array = {} + local val = "" + local escaped = false + for i = 1, #str do + local c = str:sub(i,i) + if c == '\\' then + escaped = true + elseif c == ';' and not escaped then + val = convert_value and convert_value(val) or val + table.insert(array, val) + val = "" + else + val = val .. tostring(c) + escaped = false + end + end + if with_type then + array["pod_type"] = "Array" + end + return array +end + +function parseParam(param, id) + local route = param:parse() + if route.pod_type == "Object" and route.object_id == id then + return route.properties + else + return nil + end +end + +function storeAfterTimeout() + if timeout_source then + timeout_source:destroy() + end + timeout_source = Core.timeout_add(1000, function () + local saved, err = state:save(state_table) + if not saved then + Log.warning(err) + end + timeout_source = nil + end) +end + +function findSuitableKey(properties) + local keys = { + "media.role", + "application.id", + "application.name", + "media.name", + "node.name", + } + local key = nil + + for _, k in ipairs(keys) do + local p = properties[k] + if p then + key = string.format("%s:%s:%s", + properties["media.class"]:gsub("^Stream/", ""), k, p) + break + end + end + return key +end + +function saveTarget(subject, target_key, type, value) + if target_key ~= "target.node" and target_key ~= "target.object" then + return + end + + local node = streams_om:lookup { + Constraint { "bound-id", "=", subject, type = "gobject" } + } + if not node then + return + end + + local stream_props = node.properties + rulesApplyProperties(stream_props) + + if stream_props["state.restore-target"] == false then + return + end + + local key_base = findSuitableKey(stream_props) + if not key_base then + return + end + + local target_value = value + local target_name = nil + + if not target_value then + local metadata = metadata_om:lookup() + if metadata then + target_value = metadata:find(node["bound-id"], target_key) + end + end + if target_value and target_value ~= "-1" then + local target_node + if target_key == "target.object" then + target_node = allnodes_om:lookup { + Constraint { "object.serial", "=", target_value, type = "pw-global" } + } + else + target_node = allnodes_om:lookup { + Constraint { "bound-id", "=", target_value, type = "gobject" } + } + end + if target_node then + target_name = target_node.properties["node.name"] + end + end + state_table[key_base .. ":target"] = target_name + + Log.info(node, "saving stream target for " .. + tostring(stream_props["node.name"]) .. + " -> " .. tostring(target_name)) + + storeAfterTimeout() +end + +function restoreTarget(node, target_name) + + local stream_props = node.properties + local target_in_props = nil + + if stream_props ["target.object"] ~= nil or + stream_props ["node.target"] ~= nil then + target_in_props = stream_props ["target.object"] or + stream_props ["node.target"] + + Log.debug (string.format ("%s%s%s%s", + "Not restoring the target for ", + stream_props ["node.name"], + " because it is already set to ", + target_in_props)) + + return + end + + local target_node = allnodes_om:lookup { + Constraint { "node.name", "=", target_name, type = "pw" } + } + + if target_node then + local metadata = metadata_om:lookup() + if metadata then + metadata:set(node["bound-id"], "target.node", "Spa:Id", + target_node["bound-id"]) + end + end +end + +function jsonTable(val, name) + local tmp = "" + local count = 0 + + if name then tmp = tmp .. string.format("%q", name) .. ": " end + + if type(val) == "table" then + if val["pod_type"] == "Array" then + tmp = tmp .. "[" + for _, v in ipairs(val) do + if count > 0 then tmp = tmp .. "," end + tmp = tmp .. jsonTable(v) + count = count + 1 + end + tmp = tmp .. "]" + else + tmp = tmp .. "{" + for k, v in pairs(val) do + if count > 0 then tmp = tmp .. "," end + tmp = tmp .. jsonTable(v, k) + count = count + 1 + end + tmp = tmp .. "}" + end + elseif type(val) == "number" then + tmp = tmp .. tostring(val) + elseif type(val) == "string" then + tmp = tmp .. string.format("%q", val) + elseif type(val) == "boolean" then + tmp = tmp .. (val and "true" or "false") + else + tmp = tmp .. "\"[type:" .. type(val) .. "]\"" + end + return tmp +end + +function moveToMetadata(key_base, metadata) + local route_table = { } + local count = 0 + + key = "restore.stream." .. key_base + key = string.gsub(key, ":", ".", 1); + + local str = state_table[key_base .. ":volume"] + if str then + route_table["volume"] = tonumber(str) + count = count + 1; + end + local str = state_table[key_base .. ":mute"] + if str then + route_table["mute"] = str == "true" + count = count + 1; + end + local str = state_table[key_base .. ":channelVolumes"] + if str then + route_table["volumes"] = parseArray(str, tonumber, true) + count = count + 1; + end + local str = state_table[key_base .. ":channelMap"] + if str then + route_table["channels"] = parseArray(str, nil, true) + count = count + 1; + end + + if count > 0 then + metadata:set(0, key, "Spa:String:JSON", jsonTable(route_table)); + end +end + + +function saveStream(node) + local stream_props = node.properties + rulesApplyProperties(stream_props) + + if config_restore_props and stream_props["state.restore-props"] ~= false then + local key_base = findSuitableKey(stream_props) + if not key_base then + return + end + + Log.info(node, "saving stream props for " .. + tostring(stream_props["node.name"])) + + for p in node:iterate_params("Props") do + local props = parseParam(p, "Props") + if not props then + goto skip_prop + end + + if props.volume then + state_table[key_base .. ":volume"] = tostring(props.volume) + end + if props.mute ~= nil then + state_table[key_base .. ":mute"] = tostring(props.mute) + end + if props.channelVolumes then + state_table[key_base .. ":channelVolumes"] = serializeArray(props.channelVolumes) + end + if props.channelMap then + state_table[key_base .. ":channelMap"] = serializeArray(props.channelMap) + end + + ::skip_prop:: + end + + storeAfterTimeout() + end +end + +function build_default_channel_volumes (node) + local def_vol = config_default_channel_volume + local channels = 2 + local res = {} + + local str = node.properties["state.default-channel-volume"] + if str ~= nil then + def_vol = tonumber (str) + end + + for pod in node:iterate_params("Format") do + local pod_parsed = pod:parse() + if pod_parsed ~= nil then + channels = pod_parsed.properties.channels + break + end + end + + while (#res < channels) do + table.insert(res, def_vol) + end + + return res; +end + +function restoreStream(node) + local stream_props = node.properties + rulesApplyProperties(stream_props) + + local key_base = findSuitableKey(stream_props) + if not key_base then + return + end + + if config_restore_props and stream_props["state.restore-props"] ~= false then + local props = { "Spa:Pod:Object:Param:Props", "Props" } + + local str = state_table[key_base .. ":volume"] + props.volume = str and tonumber(str) or nil + + local str = state_table[key_base .. ":mute"] + props.mute = str and (str == "true") or nil + + local str = state_table[key_base .. ":channelVolumes"] + props.channelVolumes = str and parseArray(str, tonumber) or + build_default_channel_volumes (node) + + local str = state_table[key_base .. ":channelMap"] + props.channelMap = str and parseArray(str) or nil + + -- convert arrays to Spa Pod + if props.channelVolumes then + table.insert(props.channelVolumes, 1, "Spa:Float") + props.channelVolumes = Pod.Array(props.channelVolumes) + end + if props.channelMap then + table.insert(props.channelMap, 1, "Spa:Enum:AudioChannel") + props.channelMap = Pod.Array(props.channelMap) + end + + Log.info(node, "restore values from " .. key_base) + local param = Pod.Object(props) + Log.debug(param, "setting props on " .. tostring(node)) + node:set_param("Props", param) + end + + if config_restore_target and stream_props["state.restore-target"] ~= false then + local str = state_table[key_base .. ":target"] + if str then + restoreTarget(node, str) + end + end +end + +if config_restore_target then + metadata_om = ObjectManager { + Interest { + type = "metadata", + Constraint { "metadata.name", "=", "default" }, + } + } + + metadata_om:connect("object-added", function (om, metadata) + -- process existing metadata + for s, k, t, v in metadata:iterate(Id.ANY) do + saveTarget(s, k, t, v) + end + -- and watch for changes + metadata:connect("changed", function (m, subject, key, type, value) + saveTarget(subject, key, type, value) + end) + end) + metadata_om:activate() +end + +function handleRouteSettings(subject, key, type, value) + if type ~= "Spa:String:JSON" then + return + end + if string.find(key, "^restore.stream.") == nil then + return + end + if value == nil then + return + end + local json = Json.Raw (value); + if json == nil or not json:is_object () then + return + end + + local vparsed = json:parse() + local key_base = string.sub(key, string.len("restore.stream.") + 1) + local str; + + key_base = string.gsub(key_base, "%.", ":", 1); + + if vparsed.volume ~= nil then + state_table[key_base .. ":volume"] = tostring (vparsed.volume) + end + if vparsed.mute ~= nil then + state_table[key_base .. ":mute"] = tostring (vparsed.mute) + end + if vparsed.channels ~= nil then + state_table[key_base .. ":channelMap"] = serializeArray (vparsed.channels) + end + if vparsed.volumes ~= nil then + state_table[key_base .. ":channelVolumes"] = serializeArray (vparsed.volumes) + end + + storeAfterTimeout() +end + + +rs_metadata = ImplMetadata("route-settings") +rs_metadata:activate(Features.ALL, function (m, e) + if e then + Log.warning("failed to activate route-settings metadata: " .. tostring(e)) + return + end + + -- copy state into the metadata + moveToMetadata("Output/Audio:media.role:Notification", m) + -- watch for changes + m:connect("changed", function (m, subject, key, type, value) + handleRouteSettings(subject, key, type, value) + end) +end) + +allnodes_om = ObjectManager { Interest { type = "node" } } +allnodes_om:activate() + +streams_om = ObjectManager { + -- match stream nodes + Interest { + type = "node", + Constraint { "media.class", "matches", "Stream/*", type = "pw-global" }, + }, + -- and device nodes that are not associated with any routes + Interest { + type = "node", + Constraint { "media.class", "matches", "Audio/*", type = "pw-global" }, + Constraint { "device.routes", "is-absent", type = "pw" }, + }, + Interest { + type = "node", + Constraint { "media.class", "matches", "Audio/*", type = "pw-global" }, + Constraint { "device.routes", "equals", "0", type = "pw" }, + }, +} +streams_om:connect("object-added", function (streams_om, node) + node:connect("params-changed", saveStream) + restoreStream(node) +end) +streams_om:activate() diff --git a/.config/wireplumber/scripts/static-endpoints.lua b/.config/wireplumber/scripts/static-endpoints.lua new file mode 100644 index 0000000..5f9a975 --- /dev/null +++ b/.config/wireplumber/scripts/static-endpoints.lua @@ -0,0 +1,36 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author Julian Bouzas +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local endpoints_config = ... + +function createEndpoint (factory_name, properties) + -- create endpoint + local ep = SessionItem ( factory_name ) + if not ep then + Log.warning (ep, "could not create endpoint of type " .. factory_name) + return + end + + -- configure endpoint + if not ep:configure(properties) then + Log.warning(ep, "failed to configure endpoint " .. properties.name) + return + end + + -- activate and register endpoint + ep:activate (Features.ALL, function (item) + item:register () + Log.info(item, "registered endpoint " .. properties.name) + end) +end + + +for name, properties in pairs(endpoints_config) do + properties["name"] = name + createEndpoint ("si-audio-endpoint", properties) +end diff --git a/.config/wireplumber/scripts/suspend-node.lua b/.config/wireplumber/scripts/suspend-node.lua new file mode 100644 index 0000000..b68d3d0 --- /dev/null +++ b/.config/wireplumber/scripts/suspend-node.lua @@ -0,0 +1,56 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +om = ObjectManager { + Interest { type = "node", + Constraint { "media.class", "matches", "Audio/*" } + }, + Interest { type = "node", + Constraint { "media.class", "matches", "Video/*" } + }, +} + +sources = {} + +om:connect("object-added", function (om, node) + node:connect("state-changed", function (node, old_state, cur_state) + -- Always clear the current source if any + local id = node["bound-id"] + if sources[id] then + sources[id]:destroy() + sources[id] = nil + end + + -- Add a timeout source if idle for at least 5 seconds + if cur_state == "idle" or cur_state == "error" then + -- honor "session.suspend-timeout-seconds" if specified + local timeout = + tonumber(node.properties["session.suspend-timeout-seconds"]) or 5 + + if timeout == 0 then + return + end + + -- add idle timeout; multiply by 1000, timeout_add() expects ms + sources[id] = Core.timeout_add(timeout * 1000, function() + -- Suspend the node + Log.info(node, "was idle for a while; suspending ...") + node:send_command("Suspend") + + -- Unref the source + sources[id] = nil + + -- false (== G_SOURCE_REMOVE) destroys the source so that this + -- function does not get fired again after 5 seconds + return false + end) + end + + end) +end) + +om:activate() diff --git a/.config/wireplumber/wireplumber.conf b/.config/wireplumber/wireplumber.conf new file mode 100644 index 0000000..35473e2 --- /dev/null +++ b/.config/wireplumber/wireplumber.conf @@ -0,0 +1,93 @@ +# WirePlumber daemon context configuration # + +context.properties = { + ## Properties to configure the PipeWire context and some modules + + #application.name = WirePlumber + log.level = 2 + wireplumber.script-engine = lua-scripting + #wireplumber.export-core = true + + #mem.mlock-all = false + #support.dbus = true +} + +context.spa-libs = { + # = + # + # Used to find spa factory names. It maps an spa factory name + # regular expression to a library name that should contain + # that factory. + # + api.alsa.* = alsa/libspa-alsa + api.bluez5.* = bluez5/libspa-bluez5 + api.v4l2.* = v4l2/libspa-v4l2 + api.libcamera.* = libcamera/libspa-libcamera + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + #{ name = + # [ args = { = ... } ] + # [ flags = [ [ ifexists ] [ nofail ] ] + #} + # + # PipeWire modules to load. + # If ifexists is given, the module is ignored when it is not found. + # If nofail is given, module initialization failures are ignored. + # + + # Uses RTKit to boost the data thread priority. + { name = libpipewire-module-rt + args = { + nice.level = -11 + #rt.prio = 88 + #rt.time.soft = -1 + #rt.time.hard = -1 + } + flags = [ ifexists nofail ] + } + + # The native communication protocol. + { name = libpipewire-module-protocol-native } + + # Allows creating nodes that run in the context of the + # client. Is used by all clients that want to provide + # data to PipeWire. + { name = libpipewire-module-client-node } + + # Allows creating devices that run in the context of the + # client. Is used by the session manager. + { name = libpipewire-module-client-device } + + # Makes a factory for wrapping nodes in an adapter with a + # converter and resampler. + { name = libpipewire-module-adapter } + + # Allows applications to create metadata objects. It creates + # a factory for Metadata objects. + { name = libpipewire-module-metadata } + + # Provides factories to make session manager objects. + { name = libpipewire-module-session-manager } + + # Provides factories to make SPA node objects. + { name = libpipewire-module-spa-node-factory } +] + +wireplumber.components = [ + #{ name = , type = } + # + # WirePlumber components to load + # + + # The lua scripting engine + { name = libwireplumber-module-lua-scripting, type = module } + + # The lua configuration file(s) + # Other components are loaded from there + { name = main.lua, type = config/lua } + { name = policy.lua, type = config/lua } + { name = bluetooth.lua, type = config/lua } +] diff --git a/.config/wofi/style.css b/.config/wofi/style.css new file mode 100644 index 0000000..6603510 --- /dev/null +++ b/.config/wofi/style.css @@ -0,0 +1,42 @@ +window { + border: 0px solid #ca93f9; + font-family: FiraCode Nerd Font; + font-size: 16px; + border-radius: 12px; + padding: 10px; + background: linear-gradient(#e66465, #9198e5); +} + +#input { + margin: 5px; + border: none; + color: #f8f8f2; + background-color: #44475a; +} + +#inner-box { + margin: 5px; + border: none; + border-radius: 12px; + background-color: #282a36; +} + +#outer-box { + margin: 5px; + border-radius: 12px; + background-color: #282a36; +} + +#text { + margin: 5px; + border: none; + color: #f8f8f2; +} + +#entry { + border-radius: 12px; +} + +#entry:selected { + background-color: #b767d9; +} diff --git a/.stow-local-ignore b/.stow-local-ignore index 2d2ecd6..c548fe8 100644 --- a/.stow-local-ignore +++ b/.stow-local-ignore @@ -1 +1,8 @@ -.git/ +\.git +\.gitignore + +^/README.* +^/LICENSE.* +^/COPYING + +/linux-guide diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg new file mode 100644 index 0000000..f359a70 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png new file mode 100644 index 0000000..8e6925a Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png new file mode 100644 index 0000000..e9df425 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/bullet@2-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg b/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg new file mode 100644 index 0000000..27c620d --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png new file mode 100644 index 0000000..9144bcd Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/check-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png new file mode 100644 index 0000000..c0baa3c Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/check@2-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg new file mode 100644 index 0000000..de3638d --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png new file mode 100644 index 0000000..3afcfd6 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png new file mode 100644 index 0000000..9cb5994 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/dash@2-symbolic.symbolic.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png new file mode 100644 index 0000000..bb01fab Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..a9dd44d Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..774644b Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..b307ea4 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..f6a9c36 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..bf88b80 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png new file mode 100644 index 0000000..451b5d9 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png new file mode 100644 index 0000000..8292a90 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png new file mode 100644 index 0000000..d6fe329 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..c570548 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..55e73d4 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..68a8d1d Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..c3cdf8f Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..57b5265 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png new file mode 100644 index 0000000..09a3a58 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png new file mode 100644 index 0000000..fd81609 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png new file mode 100644 index 0000000..02645ec Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png new file mode 100644 index 0000000..748f160 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png new file mode 100644 index 0000000..fc30eda Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png new file mode 100644 index 0000000..bc69354 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png new file mode 100644 index 0000000..2028ef7 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png new file mode 100644 index 0000000..daef066 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png new file mode 100644 index 0000000..f7d335a Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png new file mode 100644 index 0000000..496101b Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png new file mode 100644 index 0000000..dc07324 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png new file mode 100644 index 0000000..eba7322 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png new file mode 100644 index 0000000..312d33a Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png new file mode 100644 index 0000000..a80fa89 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png new file mode 100644 index 0000000..bf546b1 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png new file mode 100644 index 0000000..743e044 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png new file mode 100644 index 0000000..0c19143 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png new file mode 100644 index 0000000..bb94b0d Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png new file mode 100644 index 0000000..ef29a0d Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png new file mode 100644 index 0000000..cbd5b7b Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png new file mode 100644 index 0000000..58c01fd Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png new file mode 100644 index 0000000..188c227 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/tab-border-light@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png new file mode 100644 index 0000000..534dbb3 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png new file mode 100644 index 0000000..43da0e4 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png new file mode 100644 index 0000000..84e80de Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png new file mode 100644 index 0000000..2661b18 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-end@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png new file mode 100644 index 0000000..3097368 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png new file mode 100644 index 0000000..d1c1853 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start-dark@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png new file mode 100644 index 0000000..28634f0 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png new file mode 100644 index 0000000..306e954 Binary files /dev/null and b/.themes/adw-gtk3-dark/gtk-3.0/assets/text-select-start@2.png differ diff --git a/.themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css b/.themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css new file mode 100644 index 0000000..9eb5890 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/gtk-dark.css @@ -0,0 +1,3214 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color sidebar_bg_color #303030; +@define-color sidebar_fg_color white; +@define-color sidebar_backdrop_color #2a2a2a; +@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); +@define-color incognito_bg_color #1c2438; +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,0.97); background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } + +.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } + +.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } + +list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } + +list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } + +list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } + +list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } + +spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } + +.sidebar:backdrop { background-color: @sidebar_backdrop_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.85); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.85); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @sidebar_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: @accent_color; } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } + +button.emoji-section:checked { border-color: alpha(currentColor,0.1); } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } + +popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } + +popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.85); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight rgba(0, 0, 0, 0); +@define-color wm_borders_edge alpha(@window_fg_color,0.07); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg shade(@view_bg_color,0.94); +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.1); } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.04); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(@accent_bg_color,0.25); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(@accent_bg_color,0.32); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } + +.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } + +.titlebar.tweak-titlebar-left button { background-color: transparent; } + +.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } + +.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } + +.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } + +.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } + +.navigation-sidebar { background-color: @sidebar_bg_color; } + +.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } + +.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } + +.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } + +.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } + +.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } + +.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +.xfce4-panel.background progressbar { margin: 0; } + +.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } + +.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } + +.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } + +.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } + +.xfce4-panel.background progressbar progress { border-radius: 0px; } + +.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } + +wnck-pager { background-color: alpha(@panel_fg_color,0.1); } + +wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } + +wnck-pager:hover { background-color: @accent_bg_color; } + +#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } + +#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } + +window#whiskermenu-window button { transition: none; } + +#whiskermenu-button { transition: none; } + +#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +window.background.chromium menuitem { border-radius: 0; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background menuitem { border-radius: 0; } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } + +#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } + +window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } + +.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } + +.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.903); } + +.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } + +.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.963),0.903); } + +.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } + +.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +gnc-id-sheet-list { background-color: @window_bg_color; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +.geary-folder, .geary-folder:backdrop { background-color: @window_bg_color; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } + +.budgie-panel button.flat.launcher { padding: 0; } + +.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } + +.budgie-panel.vertical button { padding: 4px 0; } + +.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/.themes/adw-gtk3-dark/gtk-3.0/gtk.css b/.themes/adw-gtk3-dark/gtk-3.0/gtk.css new file mode 100644 index 0000000..9eb5890 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/gtk.css @@ -0,0 +1,3214 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color sidebar_bg_color #303030; +@define-color sidebar_fg_color white; +@define-color sidebar_backdrop_color #2a2a2a; +@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); +@define-color incognito_bg_color #1c2438; +* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: @error_bg_color; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 4px; -gtk-secondary-caret-color: @accent_bg_color; } + +.background { color: @window_fg_color; background-color: @window_bg_color; } + +.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; } + +*:disabled { -gtk-icon-effect: dim; } + +.gtkstyle-fallback { color: @window_fg_color; background-color: @window_bg_color; } + +.gtkstyle-fallback:hover { color: @window_fg_color; background-color: shade(@window_bg_color,1.1); } + +.gtkstyle-fallback:active { color: @window_fg_color; background-color: shade(@window_bg_color,0.9); } + +.gtkstyle-fallback:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.gtkstyle-fallback:selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +.view, iconview, .nautilus-window notebook, .nautilus-window notebook > stack:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar, .view text, iconview text, textview text { color: @view_fg_color; caret-color: shade(@view_fg_color,0.97); background-color: @view_bg_color; } + +.view:disabled, iconview:disabled, .nautilus-window notebook:disabled, .nautilus-window notebook > stack:disabled:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, .view:selected, iconview:selected, .nautilus-window notebook:selected, .nautilus-window notebook > stack:selected:not(:only-child), .nautilus-window notebook > stack:not(:only-child) searchbar:selected, .view text:selected, iconview text:selected, textview text:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } + +textview border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +.rubberband, rubberband, XfdesktopIconView.view .rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox flowboxchild { padding: 3px; } + +flowbox flowboxchild:selected { outline-offset: -2px; } + +.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; } + +.content-view .tile:backdrop { background-color: mix(black,@window_bg_color,0.95); } + +.content-view .tile:active, .content-view .tile:selected { background-color: @accent_bg_color; } + +.content-view .tile:disabled { background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +label { caret-color: currentColor; } + +label selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +label:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled { color: inherit; } + +label:disabled:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +button label:disabled:backdrop { color: inherit; } + +label.error { color: @error_bg_color; } + +label.error:disabled { color: alpha(@error_bg_color,0.5); } + +label.error:disabled:backdrop { color: alpha(@error_bg_color,0.4); } + +.dim-label, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, .welcome .dim-label, .welcome label.separator, .welcome headerbar .subtitle, headerbar .welcome .subtitle, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; } + +assistant .sidebar { background-color: @view_bg_color; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +assistant .sidebar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +assistant.csd .sidebar { border-top-style: none; } + +assistant .sidebar label { padding: 6px 12px; } + +assistant .sidebar label.highlight { background-color: mix(@window_bg_color,@window_fg_color,0.2); } + +.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +.large-title { font-weight: 300; font-size: 24pt; } + +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption { font-weight: 400; font-size: 9pt; } + +spinbutton:not(.vertical), entry { min-height: 34px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: @view_fg_color; border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.903); box-shadow: inset 0 0 0 1px alpha(alpha(@accent_color,0.5),0); } + +spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; } + +spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; } + +spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); border-color: alpha(@accent_color,0.5); transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton:disabled:not(.vertical), entry:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(currentColor,@window_bg_color,0.9); } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.error:not(.vertical) selection, entry.error selection { background-color: @error_bg_color; } + +spinbutton.warning:not(.vertical), entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: @warning_bg_color; } + +spinbutton:not(.vertical) image, entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +spinbutton:not(.vertical) image:hover, entry image:hover { color: @window_fg_color; } + +spinbutton:not(.vertical) image:active, entry image:active { color: @accent_bg_color; } + +spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: @accent_bg_color; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px alpha(@accent_color,0.5); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: @error_bg_color; } + +.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: @accent_bg_color; } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.7); } + +.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.7); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: @accent_bg_color; } + +.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: alpha(@accent_color,0.5); } + +.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: @error_bg_color; } + +.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: @accent_bg_color; } + +spinbutton.error:not(.vertical), entry.error { color: @error_bg_color; } + +treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus, treeview entry:focus { border-color: @accent_bg_color; } + +.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: @view_bg_color; background-color: mix(@window_fg_color,@view_bg_color,0.5); } + +:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; } + +:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; } + +.entry-tag:hover { background-color: mix(white,mix(@window_fg_color,@view_bg_color,0.5),0.9); } + +:backdrop .entry-tag { color: @window_bg_color; background-color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +.entry-tag.button { background-color: transparent; color: alpha(@view_bg_color,0.7); } + +:not(:backdrop) .entry-tag.button:hover { border: 1px solid mix(@window_fg_color,@view_bg_color,0.5); color: @view_bg_color; } + +:not(:backdrop) .entry-tag.button:active { background-color: mix(@window_fg_color,@view_bg_color,0.5); color: alpha(@view_bg_color,0.7); } + +@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(mix(white,@accent_bg_color,0.85)), to(transparent)); } + to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); } } + +notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 10px; border: 1px solid; border-color: transparent; border-radius: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); font-weight: bold; outline-style: solid; outline-offset: -2px; outline-width: 2px; -gtk-outline-radius: 4px; color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition: none; } + +button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; } + +button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:hover, button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; -gtk-icon-effect: highlight; } + +notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; } + +notebook > header > tabs > arrow:active:hover, notebook > header > tabs > arrow:checked:hover, button:active:hover, button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { transition: 200ms ease-out; -gtk-icon-effect: none; } + +button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header > tabs > arrow:disabled, button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 10px; padding-right: 10px; } + +notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 4px; padding-right: 4px; } + +notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 4px; padding-right: 4px; } + +combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: @window_fg_color; border-color: transparent; } + +button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); border-radius: 5px; color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd.image-button { min-width: 34px; } + +button.osd:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:active, button.osd:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); border: none; box-shadow: none; } + +button.osd:disabled:backdrop, button.osd:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +button.osd:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; } + +.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; } + +.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; } + +.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +button.suggested-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +button.suggested-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @accent_bg_color; } + +button.suggested-action:hover { color: white; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +button.suggested-action:active, button.suggested-action:checked { color: white; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.suggested-action:active:hover, button.suggested-action:checked:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +button.suggested-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@accent_bg_color,0.8); } + +button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: mix(white,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.osd button.suggested-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.suggested-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@accent_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action { color: white; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +button.destructive-action.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: @destructive_bg_color; } + +button.destructive-action:hover { color: white; background-color: mix(currentColor,@destructive_bg_color,0.85); box-shadow: none; } + +button.destructive-action:active, button.destructive-action:checked { color: white; background-color: mix(currentColor,@destructive_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +button.destructive-action:active:hover, button.destructive-action:checked:hover { background-color: mix(currentColor,@destructive_bg_color,0.653); } + +button.destructive-action.flat:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@destructive_bg_color,0.8); } + +button.destructive-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: mix(white,shade(mix(@destructive_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@destructive_bg_color,0.7); box-shadow: none; } + +.osd button.destructive-action { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd button.destructive-action:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(alpha(@destructive_bg_color,0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.stack-switcher > button { outline-offset: -3px; } + +.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; } + +.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; } + +.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; } + +.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; } + +.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; } + +button.font separator, button.file separator { background-color: transparent; } + +button.font > box > box > label { font-weight: bold; } + +.primary-toolbar button { -gtk-icon-shadow: none; } + +button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; background-origin: padding-box, border-box; background-clip: padding-box, border-box; } + +button.circular label { padding: 0; } + +button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: transparent; } + +button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: transparent; } + +stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +.inline-toolbar toolbutton > button { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +.inline-toolbar toolbutton > button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:active:hover, .inline-toolbar toolbutton > button:checked:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.inline-toolbar toolbutton > button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); box-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.inline-toolbar toolbutton > button:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:first-child, headerbar .linked button:first-child:not(:only-child), .titlebar .linked button:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-left-color: transparent; border-top-left-radius: 6px; border-bottom-left-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-bottom-left-radius: 6px; } + +.linked:not(.vertical) > combobox:first-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):last-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):first-child, .xfce4-panel.background button menu .linked button:not(button):focus:first-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:first-child, headerbar .linked button:not(button):focus:first-child:not(:only-child), .titlebar .linked button:not(button):focus:first-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:first-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:first-child, .inline-toolbar button:not(button):focus:first-child, .linked > button:not(button):focus:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat:not(button):focus { border-left-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:last-child, headerbar .linked button:last-child:not(:only-child), .titlebar .linked button:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-color: transparent; border-right-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-top-right-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked:not(.vertical) > combobox:last-child > box > button.combo:not(button):focus, combobox.linked button:not(button):focus:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:not(button):focus:dir(rtl):first-child, filechooser .path-bar.linked > button:not(button):focus:dir(ltr):last-child, .xfce4-panel.background button menu .linked button:not(button):focus:last-child, .nautilus-window .titlebar :not(.raised) .linked > button:not(button):focus:last-child, headerbar .linked button:not(button):focus:last-child:not(:only-child), .titlebar .linked button:not(button):focus:last-child:not(:only-child), .linked:not(.vertical) > spinbutton:not(button):focus:last-child:not(.vertical), .linked:not(.vertical) > entry:not(button):focus:last-child, .inline-toolbar button:not(button):focus:last-child, .linked > button:not(button):focus:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat:not(button):focus { border-right-color: alpha(@accent_color,0.5); } + +.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .xfce4-panel.background button menu .linked button:only-child, .nautilus-window .titlebar :not(.raised) .linked > button:only-child, headerbar .linked button:only-child:not(:only-child), .titlebar .linked button:only-child:not(:only-child), .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.xfce4-panel.background button menu .linked button, .nautilus-window .titlebar :not(.raised) .linked > button, headerbar .linked.raised button:not(:only-child), headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button:not(:only-child), .titlebar .linked.raised button:not(:only-child), .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button:not(:only-child), .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button { border-left-color: alpha(currentColor,0.15); border-right-color: alpha(currentColor,0.15); } + +.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); border-style: solid none none none; border-radius: 0; -gtk-outline-radius: 0; } + +.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-color: transparent; border-top-left-radius: 6px; border-top-right-radius: 6px; -gtk-outline-top-left-radius: 6px; -gtk-outline-top-right-radius: 6px; } + +.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-color: transparent; border-bottom-style: solid; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; -gtk-outline-bottom-left-radius: 6px; -gtk-outline-bottom-right-radius: 6px; } + +.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 6px; -gtk-outline-radius: 6px; } + +.linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-top-color: alpha(currentColor,0.15); border-bottom-color: alpha(currentColor,0.15); } + +.scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +modelbutton.flat, .menuitem.button.flat { min-height: 32px; padding-left: 5px; padding-right: 5px; border-radius: 6px; outline-offset: -2px; } + +modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: alpha(currentColor,0.1); } + +modelbutton.flat:selected, .menuitem.button.flat:selected { background-color: alpha(currentColor,0.1); } + +modelbutton.flat arrow { background: none; } + +modelbutton.flat arrow:hover { background: none; } + +modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +button.color { padding: 4px; } + +button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; } + +list row button.image-button:not(.flat):hover { background-color: alpha(currentColor,0.04); } + +list row button.image-button:not(.flat):active { background-color: alpha(currentColor,0.08); } + +list row button.image-button:not(.flat):checked { background-color: alpha(@accent_bg_color,0.25); } + +list row button.image-button:not(.flat):checked:hover { background-color: alpha(@accent_bg_color,0.32); } + +list row button.image-button:not(.flat):checked:active { background-color: alpha(@accent_bg_color,0.39); } + +button:link > label, button:visited > label, button:link, button:visited, *:link { color: @accent_color; } + +button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: mix(@accent_color,@view_fg_color,0.2); } + +*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: mix(@accent_fg_color,mix(@accent_color,@view_fg_color,0.2),0.4); } + +button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: mix(white,@accent_color,0.9); } + +*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: mix(@accent_fg_color,mix(white,@accent_color,0.9),0.1); } + +button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: @accent_color; } + +*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: mix(@accent_fg_color,@accent_color,0.2); } + +button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: alpha(@accent_color,0.9); } + +button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: alpha(mix(white,black,0.5),0.8); } + +.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: mix(@accent_fg_color,@accent_color,0.2); } + +button:link, button:visited { text-shadow: none; font-weight: 400; } + +button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; } + +button:link > label, button:visited > label { text-decoration-line: underline; } + +spinbutton { font-feature-settings: "tnum"; } + +spinbutton:not(.vertical) { padding: 0; } + +.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; } + +spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: mix(@window_fg_color,@view_bg_color,0.1); background-color: transparent; border-style: none none none solid; border-color: alpha(currentColor,0.15); border-radius: 0; box-shadow: none; } + +spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +spinbutton:not(.vertical) button:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: transparent; } + +spinbutton:not(.vertical) button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: alpha(currentColor,0.15); } + +spinbutton:not(.vertical) button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +.osd spinbutton:not(.vertical) button { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-style: none none none solid; border-color: alpha(rgba(0, 0, 0, 0.9),0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; } + +.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; } + +.osd spinbutton:not(.vertical) button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); background-color: alpha(rgba(255, 255, 255, 0.9),0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: rgba(255, 255, 255, 0.9); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: alpha(black,0.5); -gtk-icon-shadow: none; box-shadow: none; } + +.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; } + +spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; } + +spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; } + +spinbutton.vertical button.up { border-color: alpha(currentColor,0.15); border-radius: 6px 6px 0 0; border-style: none none solid none; } + +spinbutton.vertical button.down { border-color: alpha(currentColor,0.15); border-radius: 0 0 6px 6px; border-style: solid none none none; } + +.osd spinbutton.vertical button:first-child { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:hover { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.15),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd spinbutton.vertical button:first-child:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd spinbutton.vertical button:first-child:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; } + +combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +combobox:drop(active) { box-shadow: none; } + +searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: @window_bg_color; } + +searchbar > revealer > box:backdrop, .location-bar:backdrop, .inline-toolbar:backdrop, toolbar:backdrop { background-color: @window_bg_color; } + +toolbar { padding: 4px 3px 3px 4px; } + +.osd toolbar { background-color: transparent; } + +toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); } + +toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; } + +toolbar.horizontal separator { margin: 0 7px 1px 6px; } + +toolbar.vertical separator { margin: 6px 1px 7px 0; } + +toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; } + +.inline-toolbar { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); border-style: solid; padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; } + +searchbar > revealer > box, .location-bar { border-width: 0 0 1px; border-style: solid; border-color: mix(currentColor,@window_bg_color,0.85); padding: 3px; } + +searchbar > revealer > box { margin: -6px; padding: 6px; } + +.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: @headerbar_shade_color; border-radius: 0; background: @headerbar_bg_color linear-gradient(to top, @headerbar_bg_color, @headerbar_bg_color); } + +.titlebar:backdrop:not(headerbar), headerbar:backdrop { background-color: @headerbar_backdrop_color; background-image: none; transition: 200ms ease-out; } + +.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: @accent_fg_color; border-color: mix(black,@accent_bg_color,0.7); background: @accent_bg_color linear-gradient(to top, @accent_bg_color, @accent_bg_color); } + +.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: @accent_bg_color; background-image: none; box-shadow: inset 0 1px mix(alpha(@window_fg_color,0.07),@accent_bg_color,0.4); } + +.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: @accent_fg_color; } + +.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode button.flat { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:active:hover, .selection-mode .titlebar:not(headerbar) button:checked:hover, .selection-mode.titlebar:not(headerbar) button:active:hover, .selection-mode.titlebar:not(headerbar) button:checked:hover, .selection-mode headerbar button:active:hover, .selection-mode headerbar button:checked:hover, .selection-mode headerbar button.toggle:checked:hover, .selection-mode headerbar button.toggle:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.toggle:checked:hover, headerbar.selection-mode button.toggle:active:hover { background-color: mix(currentColor,@accent_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { color: mix(@accent_fg_color,@accent_bg_color,0.2); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; -gtk-icon-effect: none; border-color: transparent; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); } + +.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: mix(@accent_fg_color,mix(@accent_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@accent_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: mix(@accent_fg_color,shade(mix(@accent_bg_color,@view_bg_color,0.15),0.94),0.4); background-color: mix(currentColor,@accent_bg_color,0.7); box-shadow: none; } + +.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:active:hover, .selection-mode headerbar button.suggested-action:active:hover, headerbar.selection-mode button.suggested-action:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-color: mix(black,@accent_bg_color,0.7); } + +.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: alpha(@accent_bg_color,0); background-color: alpha(@accent_bg_color,0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; } + +.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; } + +.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: alpha(@accent_fg_color,0.5); -gtk-icon-shadow: none; } + +.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; } + +.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 36px; padding: 0 6px 0 6px; } + +.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { border-radius: 100%; background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:hover, headerbar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:active, headerbar.default-decoration button.titlebutton:hover:active, headerbar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop, headerbar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.default-decoration.titlebar:not(headerbar) button.titlebutton:backdrop:hover, headerbar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; } + +.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; } + +headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; } + +headerbar switch { margin-top: 9px; margin-bottom: 9px; } + +headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; } + +.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; } + +window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 12px; } + +window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 12px; } + +window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; } + +window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; } + +.titlebar:not(headerbar) separator { background-color: mix(currentColor,@window_bg_color,0.85); } + +.titlebar:not(headerbar) separator:backdrop { background-color: mix(currentColor,@window_bg_color,0.73); } + +window.devel headerbar.titlebar:not(.selection-mode) { background: @window_bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, alpha(@accent_bg_color,0.1)), linear-gradient(to top, mix(white,@headerbar_bg_color,0.97) 3px, mix(white,@headerbar_bg_color,0.95)); } + +window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: @headerbar_backdrop_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(@headerbar_backdrop_color); } + +.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; } + +.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; } + +.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; } + +.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; } + +.path-bar button image { padding-left: 4px; padding-right: 4px; } + +.path-bar button.slider-button { padding-left: 0; padding-right: 0; } + +treeview.view { border-left-color: mix(@window_fg_color,@view_bg_color,0.5); border-top-color: @window_bg_color; } + +* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; } + +treeview.view:selected:focus, treeview.view:selected { border-radius: 0; } + +treeview.view:selected:backdrop, treeview.view:selected { border-left-color: mix(@accent_fg_color,@accent_bg_color,0.5); border-top-color: alpha(@window_fg_color,0.1); } + +treeview.view:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +treeview.view:disabled:selected { color: mix(@accent_fg_color,@accent_bg_color,0.6); } + +treeview.view:disabled:selected:backdrop { color: mix(mix(@view_fg_color,@window_bg_color,0.5),@accent_bg_color,0.7); } + +treeview.view.separator { min-height: 2px; color: @window_bg_color; } + +treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: mix(black,@accent_bg_color,0.7); } + +treeview.view:drop(active).after { border-top-style: none; } + +treeview.view:drop(active).before { border-bottom-style: none; } + +treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: mix(@view_fg_color,@view_bg_color,0.3); } + +treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover { color: @view_fg_color; } + +treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.progressbar { background-color: @accent_bg_color; background-image: image(@accent_bg_color); box-shadow: none; } + +treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(@view_bg_color); } + +treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: @window_bg_color; } + +treeview.view.progressbar:backdrop { border-color: @window_bg_color; background-image: none; box-shadow: none; } + +treeview.view.trough { background-color: alpha(@window_fg_color,0.1); } + +treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: mix(black,@accent_bg_color,0.9); } + +treeview.view header button { color: mix(@window_fg_color,@view_bg_color,0.5); background-color: @view_bg_color; font-weight: bold; font-size: small; text-shadow: none; box-shadow: none; } + +treeview.view header button:hover { color: mix(mix(@window_fg_color,@view_bg_color,0.5),@window_fg_color,0.5); box-shadow: none; transition: none; } + +treeview.view header button:active { color: @window_fg_color; transition: none; } + +treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: @view_bg_color; background-image: none; background-color: @accent_bg_color; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px @view_bg_color; text-shadow: none; transition: none; } + +treeview.view acceleditor > label { background-color: @accent_bg_color; } + +treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: alpha(currentColor,0.15); border-radius: 0; text-shadow: none; } + +treeview.view header button:disabled { border-color: @window_bg_color; background-image: none; } + +treeview.view header button:last-child { border-right-style: none; } + +menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0; } + +menubar:backdrop, .menubar:backdrop { background-color: @window_bg_color; } + +menubar > menuitem, .menubar > menuitem { border-radius: 6px; min-height: 16px; padding: 4px 8px; } + +menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 8px; padding: 6px; } + +menubar > menuitem menu:dir(rtl) menuitem, menubar > menuitem menu:dir(ltr) menuitem, .menubar > menuitem menu:dir(rtl) menuitem, .menubar > menuitem menu:dir(ltr) menuitem { border-radius: 6px; } + +menubar > menuitem:hover, .menubar > menuitem:hover { background-color: alpha(currentColor,0.1); } + +menubar > menuitem:disabled, .menubar > menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); box-shadow: none; } + +menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 8px; } + +.background.popup { background-color: transparent; } + +menu, .menu, .context-menu { margin: 4px; padding: 6px; background-color: @popover_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +menu separator, .menu separator, .context-menu separator { margin: 6px 0; } + +.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 8px; } + +menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; font-weight: normal; border-radius: 6px; } + +menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: @window_fg_color; background-color: alpha(currentColor,0.1); } + +menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; } + +menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; } + +menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; } + +menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; } + +menu > arrow, .menu > arrow, .context-menu > arrow { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; min-height: 16px; min-width: 16px; padding: 4px; background-color: @popover_bg_color; border-radius: 0; } + +menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-top-right-radius: 8px; border-top-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid mix(@window_fg_color,@view_bg_color,0.9); border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: mix(@window_fg_color,@view_bg_color,0.9); } + +menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; } + +menuitem accelerator { color: alpha(currentColor,0.55); } + +menuitem check, menuitem radio { min-height: 16px; min-width: 16px; } + +menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; } + +menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; } + +popover.background { padding: 2px; background-color: @popover_bg_color; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 8px 3px rgba(0, 0, 0, 0.05); } + +.csd popover.background, popover.background { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-radius: 12px; } + +.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.14); } + +popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; } + +.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); } + +popover.background separator { margin: 6px 0; } + +popover.background list separator { margin: 0px; } + +notebook > header { padding: 0px; border-color: alpha(currentColor,0.15); border-width: 0px; background-color: @window_bg_color; box-shadow: none; } + +notebook > header.top { box-shadow: inset 0 -1px alpha(currentColor,0.15); } + +notebook > header.bottom { box-shadow: inset 0 1px alpha(currentColor,0.15); } + +notebook > header.left { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +notebook > header.right { box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +notebook > header tabs { margin: 0px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: 0px; } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.top > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: 0px; } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.bottom > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: 0px; } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.left > tabs > tab:not(.reorderable-page):checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: 0px; } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:not(.reorderable-page):hover:not(:checked) { background-color: alpha(currentColor,0.04); } + +notebook > header.right > tabs > tab:not(.reorderable-page):checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; } + +notebook > header > tabs > arrow:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: @window_fg_color; font-weight: normal; border-width: 0px; border-color: transparent; } + +notebook > header tab.reorderable-page { background-color: mix(currentColor,@window_bg_color,0.99); box-shadow: inset -1px -1px alpha(currentColor,0.15); border: none; } + +notebook > header tab:hover { color: @window_fg_color; } + +notebook > header tab:hover.reorderable-page { border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.963); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(currentColor,0.15); transition: background-color 150ms ease-in-out; } + +notebook > header tab:hover.reorderable-page:backdrop { background-color: mix(currentColor,@window_bg_color,1.017); } + +notebook > header tab:backdrop.reorderable-page { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.4); border-color: transparent; background-color: mix(currentColor,@window_bg_color,1.07); box-shadow: inset -1px -1px alpha(currentColor,0.15); } + +notebook > header tab:checked { color: @window_fg_color; } + +notebook > header tab:checked.reorderable-page { border-width: 0; border-color: alpha(currentColor,0.15); background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px @accent_bg_color; } + +notebook > header tab:checked.reorderable-page:hover { background-color: shade(mix(currentColor,@window_bg_color,0.943),1.11); } + +notebook > header tab:backdrop:checked.reorderable-page { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: alpha(currentColor,0.15); box-shadow: inset -1px -1px alpha(currentColor,0.15), inset 0 -4px alpha(@accent_bg_color,0.5); background-color: @window_bg_color; } + +notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; border-radius: 100%; } + +notebook > header tab button.flat:hover { color: currentColor; background-color: alpha(currentColor,0.15); } + +notebook > header tab button.flat:active { background-color: alpha(currentColor,0.3); } + +notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); } + +notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 0px; padding-right: 0px; } + +notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; margin-left: 0px; margin-right: 0px; } + +notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: none solid; margin-top: 0px; margin-bottom: 0px; } + +notebook > header.top tab { padding-bottom: 4px; } + +notebook > header.bottom tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +scrollbar { background-color: @view_bg_color; transition: all 200ms linear; } + +* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; } + +scrollbar slider { color: @window_fg_color; min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: alpha(currentColor,0.2); transition: all 200ms linear; } + +scrollbar slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar slider:hover:active { background-color: alpha(currentColor,0.6); } + +scrollbar slider:disabled { background-color: transparent; } + +scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: alpha(@accent_color,0.6); } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; transition-property: background-color, min-height, min-width; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: @window_fg_color; border: 1px solid black; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: @window_fg_color; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider { margin: 0 2px; min-width: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button { margin: 1px 2px; min-width: 5px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider { margin: 2px 0; min-height: 40px; } + +scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button { margin: 2px 1px; min-height: 5px; } + +scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; } + +scrollbar.horizontal slider { min-width: 40px; } + +scrollbar.vertical slider { min-height: 40px; } + +scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar button:hover { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.4); } + +scrollbar button:active, scrollbar button:checked { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.6); } + +scrollbar button:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(currentColor,0.2); } + +scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +treeview ~ scrollbar.vertical { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); margin-top: -1px; } + +switch { outline-offset: -4px; padding: 2px; border-radius: 14px; color: @window_fg_color; background-color: alpha(currentColor,0.15); } + +switch:hover:not(:checked) { background-color: alpha(currentColor,0.2); } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:hover:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked:disabled { background-color: alpha(@accent_bg_color,0.5); } + +switch:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: transparent; background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; } + +switch slider { margin: 0px; min-width: 20px; min-height: 20px; background-color: mix(white,@view_bg_color,0.2); border: 1px solid transparent; border-radius: 50%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; } + +switch image { color: transparent; } + +switch:hover slider { background-color: white; } + +switch:checked > slider { background-color: white; } + +switch:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: none; } + +.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; } + +.view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: @accent_bg_color; border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), .content-view:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.7); background-color: alpha(@window_fg_color,0.5); border-radius: 5px; background-image: none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; } + +checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; } + +checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; } + +checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; } + +check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 2px solid; -gtk-icon-source: none; padding: 1px; } + +check:only-child, radio:only-child { margin: 0; } + +popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; } + +popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; } + +check, radio { background-clip: padding-box; background-image: image(transparent); border-color: alpha(currentColor,0.15); box-shadow: none; color: @window_fg_color; } + +check:hover:not(:checked):not(:indeterminate), radio:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:active, radio:active { box-shadow: none; } + +check:disabled, radio:disabled { box-shadow: none; background-image: image(transparent); color: alpha(@window_fg_color,0.5); border-color: alpha(currentColor,0.15); } + +check:checked, radio:checked { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:checked:hover:not(:checked):not(:indeterminate), radio:checked:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:checked:active, radio:checked:active { box-shadow: none; } + +check:checked:disabled, radio:checked:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: image(@accent_bg_color); border-color: @accent_bg_color; box-shadow: none; color: @accent_fg_color; } + +check:indeterminate:hover:not(:checked):not(:indeterminate), radio:indeterminate:hover:not(:checked):not(:indeterminate) { border-color: alpha(currentColor,0.2); } + +check:indeterminate:active, radio:indeterminate:active { box-shadow: none; } + +check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; background-image: image(@accent_bg_color); color: alpha(@accent_fg_color,0.5); border-color: @accent_bg_color; } + +.osd check, .osd radio { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:hover, .osd radio:hover { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: rgba(0, 0, 0, 0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:active, .osd radio:active { color: white; border-color: transparent; background-color: alpha(mix(black,currentColor,0.25),0.65); background-clip: padding-box; outline-color: rgba(255, 255, 255, 0.2); } + +.osd check:backdrop, .osd radio:backdrop { color: rgba(255, 255, 255, 0.9); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.osd check:disabled, .osd radio:disabled { color: mix(rgba(255, 255, 255, 0.9),black,0.5); border-color: transparent; background-color: transparent; background-image: image(rgba(0, 0, 0, 0.65)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +menu menuitem check, menu menuitem radio { margin: 0; padding: 0; } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:not(:checked), menu menuitem check:not(:checked):hover, menu menuitem check:not(:checked):disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:not(:checked), menu menuitem radio:not(:checked):hover, menu menuitem radio:not(:checked):disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; padding: 1px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-width: 1px; border-color: mix(currentColor,transparent,0.4); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); } + +check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled { border: none; } + +treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; } + +treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); } + +treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); } + +menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } + +treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: @accent_fg_color; } + +progressbar trough, scale fill, scale trough { border-radius: 6px; background-color: alpha(currentColor,0.15); } + +progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: alpha(alpha(currentColor,0.15),0.5); } + +row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.9); background-color: rgba(0, 0, 0, 0.7); } + +.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(0, 0, 0, 0.65); } + +progressbar progress, scale highlight { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +progressbar progress:disabled, scale highlight:disabled { background-color: mix(@accent_bg_color,@view_bg_color,0.5); border-color: transparent; } + +row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: mix(black,@accent_bg_color,0.7); } + +.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.9); } + +.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale slider { min-height: 18px; min-width: 18px; margin: -9px; } + +scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; } + +scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; } + +scale.fine-tune slider { margin: -6px; } + +scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; } + +scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; } + +scale.horizontal trough { min-height: 4px; } + +scale.vertical trough { min-width: 4px; } + +scale fill:backdrop, scale fill { background-color: mix(currentColor,@window_bg_color,0.85); } + +scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; } + +.osd scale fill { background-color: mix(rgba(255, 255, 255, 0.9),rgba(0, 0, 0, 0.9),0.75); } + +.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; } + +scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; } + +scale slider:hover { background-color: white; } + +scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.5); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15); } + +scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); } + +row:selected scale slider:disabled, row:selected scale slider { border-color: mix(black,@accent_bg_color,0.7); } + +.osd scale slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25); border: 1px solid transparent; } + +.osd scale slider:hover { background-color: white; } + +.osd scale slider:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop { transition: 200ms ease-out; box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); } + +.osd scale slider:backdrop:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); } + +scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; } + +scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; } + +scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; } + +scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; } + +scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; } + +scale.vertical marks.top { margin-right: 6px; margin-left: -12px; } + +scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; } + +scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; } + +scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; } + +scale.horizontal indicator { min-height: 6px; min-width: 1px; } + +scale.horizontal.fine-tune indicator { min-height: 3px; } + +scale.vertical indicator { min-height: 1px; min-width: 6px; } + +scale.vertical.fine-tune indicator { min-width: 3px; } + +scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover, scale.horizontal.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:hover:hover, scale.horizontal.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); } + +scale.horizontal.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-top: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover, scale.horizontal.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:hover:hover, scale.horizontal.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 28px; min-width: 23px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); } + +scale.horizontal.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-bottom: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover, scale.vertical.marks-before:not(.marks-after) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:hover:hover, scale.vertical.marks-before:not(.marks-after) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:hover, scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); } + +scale.vertical.marks-before:not(.marks-after).fine-tune slider { margin: -7px; margin-left: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover, scale.vertical.marks-after:not(.marks-before) slider:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:hover:hover, scale.vertical.marks-after:not(.marks-before) slider:hover:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 23px; min-width: 28px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; } + +scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:hover, scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled:active { background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); } + +scale.vertical.marks-after:not(.marks-before).fine-tune slider { margin: -7px; margin-right: -11px; } + +scale.color { min-height: 0; min-width: 0; } + +scale.color trough { background-image: image(mix(currentColor,@window_bg_color,0.85)); background-repeat: no-repeat; } + +scale.color.horizontal { padding: 0 0 15px 0; } + +scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; } + +scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; } + +scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; } + +scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; } + +scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; } + +scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; } + +scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; } + +scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; } + +scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; } + +scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; } + +scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; } + +scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; } + +scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; } + +scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; } + +scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; } + +progressbar { font-size: smaller; color: alpha(@window_fg_color,0.4); font-feature-settings: "tnum"; } + +progressbar.horizontal trough, progressbar.horizontal progress { min-height: 8px; } + +progressbar.vertical trough, progressbar.vertical progress { min-width: 8px; } + +progressbar.horizontal progress { margin: 0 -1px; } + +progressbar.vertical progress { margin: -1px 0; } + +progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; } + +progressbar progress { border-radius: 8px; } + +progressbar progress.left { border-top-left-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar progress.right { border-top-right-radius: 8px; border-bottom-right-radius: 8px; } + +progressbar progress.top { border-top-right-radius: 8px; border-top-left-radius: 8px; } + +progressbar progress.bottom { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } + +progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; } + +progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd progress { border-style: none; border-radius: 0; } + +progressbar trough.empty progress { all: unset; } + +levelbar.horizontal block { min-height: 8px; } + +levelbar.horizontal.continuous block:first-child, levelbar.horizontal.continuous block:last-child { border-radius: 8px; } + +levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; } + +levelbar.horizontal.discrete block:first-child { border-radius: 8px 0 0 8px; } + +levelbar.horizontal.discrete block:last-child { border-radius: 0 8px 8px 0; } + +levelbar.vertical block { min-width: 8px; } + +levelbar.vertical.continuous block:first-child, levelbar.vertical.continuous block:last-child { border-radius: 8px; } + +levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; } + +levelbar.vertical.discrete block:first-child { border-radius: 8px 8px 0 0; } + +levelbar.vertical.discrete block:last-child { border-radius: 0 0 8px 8px; } + +levelbar:backdrop { transition: 200ms ease-out; } + +levelbar trough { border: 0px solid; padding: 0; border-radius: 8px; background-color: alpha(currentColor,0.15); } + +levelbar trough:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +levelbar block { border: 0px solid; border-radius: 0; } + +levelbar block.low { border-color: @warning_bg_color; background-color: @warning_bg_color; } + +levelbar block.low:backdrop { border-color: @warning_bg_color; } + +levelbar block.high, levelbar block:not(.empty) { border-color: @accent_bg_color; background-color: @accent_bg_color; } + +levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: @accent_bg_color; } + +levelbar block.full { border-color: @success_bg_color; background-color: @success_bg_color; } + +levelbar block.full:backdrop { border-color: @success_bg_color; } + +levelbar block.empty { background-color: transparent; border-color: alpha(@window_fg_color,0.1); } + +levelbar block.empty:backdrop { border-color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.15); } + +printdialog paper { color: @window_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); background: white; padding: 0; } + +printdialog paper:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +printdialog .dialog-action-box { margin: 12px; } + +frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +frame > border.flat, .frame.flat { border-style: none; } + +actionbar > revealer > box { padding: 6px; border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +scrolledwindow viewport.frame { border-style: none; } + +scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(shade(mix(currentColor,@window_bg_color,0.85),0.9)), to(alpha(shade(mix(currentColor,@window_bg_color,0.85),0.9),0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(alpha(@window_fg_color,0.07)), to(alpha(@window_fg_color,0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(mix(currentColor,@window_bg_color,0.73)), to(alpha(mix(currentColor,@window_bg_color,0.73),0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, mix(currentColor,@window_bg_color,0.85) 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: @view_bg_color; } + +scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; } + +separator { background: mix(currentColor,@window_bg_color,0.85); min-width: 1px; min-height: 1px; } + +list { color: @view_fg_color; background-color: @view_bg_color; border-color: @card_shade_color; } + +list row { padding: 2px; outline-color: alpha(@accent_color,0.5); outline-style: solid; outline-offset: -3px; outline-width: 2px; -gtk-outline-radius: 6px; } + +row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:hover { transition: none; } + +row:backdrop { transition: 200ms ease-out; } + +row.activatable.has-open-popup, row.activatable:hover { background-color: alpha(currentColor,0.07); } + +row.activatable:active { background-color: alpha(currentColor,0.16); } + +row.activatable:backdrop:hover { background-color: transparent; } + +row.activatable:selected { color: @window_fg_color; } + +row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: alpha(currentColor,0.13); color: @window_fg_color; } + +row.activatable:selected:backdrop { background-color: alpha(currentColor,0.07); color: @window_fg_color; } + +row:selected { background-color: alpha(currentColor,0.1); } + +.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; border: none; } + +.app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms ease-out; } + +.app-notification border, .app-notification.frame border { border: none; } + +expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander title > arrow:hover { color: mix(white,@window_fg_color,0.7); } + +expander title > arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +expander title > arrow:disabled:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +calendar { color: @view_fg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +calendar:selected { border-radius: 6px; } + +calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); } + +calendar.button { color: alpha(@window_fg_color,0.45); } + +calendar.button:hover { color: @window_fg_color; } + +calendar.button:backdrop { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.button:disabled { color: alpha(mix(@window_fg_color,@window_bg_color,0.5),0.45); } + +calendar.highlight { color: mix(@window_fg_color,@window_bg_color,0.5); } + +calendar.highlight:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +calendar:backdrop { color: mix(@view_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); } + +calendar:indeterminate { color: alpha(currentColor,0.1); } + +messagedialog .titlebar, messagedialog .titlebar:backdrop { min-height: 20px; background-image: none; background: @dialog_bg_color; color: @dialog_fg_color; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +messagedialog.csd.background { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; background-color: @dialog_bg_color; color: @dialog_fg_color; } + +messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; background-color: @dialog_bg_color; color: @dialog_fg_color; border-top: 1px solid alpha(currentColor,0.15); border-left: 1px solid alpha(currentColor,0.15); } + +messagedialog.csd .dialog-action-area button:hover { background: alpha(currentColor,0.04); } + +messagedialog.csd .dialog-action-area button:active { background: alpha(currentColor,0.08); } + +messagedialog.csd .dialog-action-area button.suggested-action { color: @accent_color; } + +messagedialog.csd .dialog-action-area button.destructive-action { color: @destructive_color; } + +messagedialog.csd .dialog-action-area button:checked { background: alpha(@accent_bg_color,0.25); } + +messagedialog.csd .dialog-action-area button:checked:hover { background: alpha(@accent_bg_color,0.32); } + +messagedialog.csd .dialog-action-area button:checked:active { background: alpha(@accent_bg_color,0.39); } + +messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 11px; -gtk-outline-bottom-left-radius: 11px; } + +messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 11px; -gtk-outline-bottom-right-radius: 11px; } + +filechooser .dialog-action-box { border-top: 1px solid mix(currentColor,@window_bg_color,0.85); } + +filechooser #pathbarbox { border-bottom: 1px solid @window_bg_color; } + +filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; } + +.sidebar { border-style: none; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } + +.sidebar:backdrop { background-color: @sidebar_backdrop_color; } + +stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid mix(currentColor,@window_bg_color,0.85); border-left-style: none; } + +stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid mix(currentColor,@window_bg_color,0.85); border-right-style: none; } + +.sidebar list { background-color: transparent; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.sidebar row { border-radius: 6px; } + +.sidebar row:backdrop { color: @sidebar_fg_color; } + +.sidebar row, .sidebar separator { margin: 0 4px; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +separator.sidebar { background-color: mix(currentColor,@window_bg_color,0.85); } + +separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: shade(@accent_bg_color,0.8); } + +row image.sidebar-icon { opacity: 0.7; } + +placessidebar > viewport.frame { border-style: none; } + +placessidebar row { min-height: 36px; padding: 0px; } + +placessidebar row > revealer { padding: 0 14px; } + +placessidebar row:selected { color: @accent_fg_color; } + +placessidebar row:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:selected { color: mix(@view_fg_color,@window_bg_color,0.5); } + +placessidebar row:backdrop:disabled { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); } + +placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; } + +button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; } + +placessidebar row:selected:active { box-shadow: none; } + +placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar row.sidebar-new-bookmark-row { color: @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 1px @accent_bg_color, inset 0 -1px @accent_bg_color; } + +placessidebar row:drop(active):not(:disabled):selected { color: @accent_fg_color; background-color: @accent_bg_color; } + +placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); } + +placesview row.activatable:hover { background-color: transparent; } + +placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; } + +paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px; } + +paned > separator:selected { background-image: image(@accent_bg_color); } + +paned > separator:backdrop { background-image: image(mix(currentColor,@window_bg_color,0.73)); } + +paned > separator.wide { min-width: 5px; min-height: 5px; background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.85)), image(mix(currentColor,@window_bg_color,0.85)); background-size: 1px 1px, 1px 1px; } + +paned > separator.wide:backdrop { background-color: @window_bg_color; background-image: image(mix(currentColor,@window_bg_color,0.73)), image(mix(currentColor,@window_bg_color,0.73)); } + +paned.horizontal > separator { background-repeat: repeat-y; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; } + +paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; } + +paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; } + +infobar { border-style: none; } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.info > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.info button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.info button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.info button:checked, infobar.info button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.info button:backdrop:not(:disabled) label, infobar.info button:backdrop:not(:disabled), infobar.info button:not(:disabled) label, infobar.info button:not(:disabled) { color: @window_fg_color; } + +infobar.info button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.info button:disabled label, infobar.info button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.info:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.question > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.question button { background-color: mix(@accent_bg_color,@window_bg_color,0.5); } + +infobar.question button:hover { background-color: mix(@accent_bg_color,@window_bg_color,0.35); } + +infobar.question button:checked, infobar.question button:active { background-color: mix(@accent_bg_color,@window_bg_color,0.2); } + +infobar.question button:backdrop:not(:disabled) label, infobar.question button:backdrop:not(:disabled), infobar.question button:not(:disabled) label, infobar.question button:not(:disabled) { color: @window_fg_color; } + +infobar.question button:disabled { background-color: mix(@accent_bg_color,@window_bg_color,0.6); } + +infobar.question button:disabled label, infobar.question button:disabled { color: alpha(mix(@window_fg_color,@accent_bg_color,0.3),0.6); } + +infobar.action.question:hover > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@accent_bg_color,@window_bg_color,0.3); } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.warning > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.warning button { background-color: mix(@warning_bg_color,@window_bg_color,0.5); } + +infobar.warning button:hover { background-color: mix(@warning_bg_color,@window_bg_color,0.35); } + +infobar.warning button:checked, infobar.warning button:active { background-color: mix(@warning_bg_color,@window_bg_color,0.2); } + +infobar.warning button:backdrop:not(:disabled) label, infobar.warning button:backdrop:not(:disabled), infobar.warning button:not(:disabled) label, infobar.warning button:not(:disabled) { color: @window_fg_color; } + +infobar.warning button:disabled { background-color: mix(@warning_bg_color,@window_bg_color,0.6); } + +infobar.warning button:disabled label, infobar.warning button:disabled { color: alpha(mix(@window_fg_color,@warning_bg_color,0.3),0.6); } + +infobar.action.warning:hover > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@warning_bg_color,@window_bg_color,0.3); } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; text-shadow: none; } + +infobar.error > revealer > box:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); } + +infobar.error button { background-color: mix(@error_bg_color,@window_bg_color,0.5); } + +infobar.error button:hover { background-color: mix(@error_bg_color,@window_bg_color,0.35); } + +infobar.error button:checked, infobar.error button:active { background-color: mix(@error_bg_color,@window_bg_color,0.2); } + +infobar.error button:backdrop:not(:disabled) label, infobar.error button:backdrop:not(:disabled), infobar.error button:not(:disabled) label, infobar.error button:not(:disabled) { color: @window_fg_color; } + +infobar.error button:disabled { background-color: mix(@error_bg_color,@window_bg_color,0.6); } + +infobar.error button:disabled label, infobar.error button:disabled { color: alpha(mix(@window_fg_color,@error_bg_color,0.3),0.6); } + +infobar.action.error:hover > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.6); box-shadow: inset 0 -1px mix(@error_bg_color,@window_bg_color,0.3); } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +infobar selection { background-color: shade(@window_bg_color,0.9); } + +infobar *:link { color: @accent_color; } + +tooltip { padding: 4px; border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); } + +tooltip decoration { background-color: transparent; } + +tooltip * { padding: 4px; background-color: transparent; color: white; } + +colorswatch:drop(active), colorswatch { border-style: none; } + +colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; } + +colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; } + +colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; } + +colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; } + +colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; } + +colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); } + +colorswatch.dark overlay { color: white; } + +colorswatch.dark overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); } + +colorswatch.light overlay { color: black; } + +colorswatch.light overlay:hover { border-color: mix(currentColor,@window_bg_color,0.85); } + +colorswatch:drop(active) { box-shadow: none; } + +colorswatch:drop(active).light overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch:drop(active).dark overlay { border-color: @accent_bg_color; box-shadow: inset 0 0 0 2px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 1px @accent_bg_color; } + +colorswatch overlay { border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); } + +colorswatch#add-color-button { border-radius: 5px 5px 0 0; } + +colorswatch#add-color-button:only-child { border-radius: 5px; } + +colorswatch#add-color-button overlay { color: @window_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@window_bg_color,0.903); } + +colorswatch#add-color-button overlay:hover { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; } + +colorswatch:disabled { opacity: 0.5; } + +colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; } + +row:selected colorswatch { box-shadow: 0 0 0 2px @accent_fg_color; } + +colorswatch#editor-color-sample { border-radius: 4px; } + +colorswatch#editor-color-sample overlay { border-radius: 4.5px; } + +colorchooser .popover.osd { border-radius: 5px; } + +.content-view { background-color: shade(@window_bg_color,0.93); } + +.content-view:hover { -gtk-icon-effect: highlight; } + +.osd .scale-popup button.flat { border-style: none; border-radius: 5px; } + +.scale-popup button:hover { background-color: alpha(@window_fg_color,0.1); border-radius: 5px; } + +decoration { border-radius: 12px 12px 0 0; border-width: 0px; box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); margin: 10px; } + +decoration:backdrop { box-shadow: 0 3px 12px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.14), 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); transition: 200ms ease-out; } + +.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; } + +.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86), 0 0 0 20px transparent; } + +.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7), 0 0 0 20px transparent; } + +.popup decoration { box-shadow: none; } + +.ssd decoration { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.86); } + +.ssd decoration:backdrop { box-shadow: 0 0 0 1px shade(mix(currentColor,@window_bg_color,0.85),0.7); } + +.ssd.maximized decoration, .ssd.maximized decoration:backdrop { box-shadow: none; } + +.csd.popup decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +tooltip.csd decoration { border-radius: 5px; box-shadow: none; } + +messagedialog.csd decoration { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px alpha(shade(mix(currentColor,@window_bg_color,0.85),0.86),0.9); } + +.solid-csd decoration { margin: 0; padding: 4px; background-color: mix(currentColor,@window_bg_color,0.85); border: solid 1px mix(currentColor,@window_bg_color,0.85); border-radius: 0; box-shadow: inset 0 0 0 5px mix(currentColor,@window_bg_color,0.85), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px mix(currentColor,@window_bg_color,0.85); } + +.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px @window_bg_color; } + +button.titlebutton { padding: 2px; margin: 0; box-shadow: none; border: none; background: none; text-shadow: none; } + +button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 0px; margin: 0 4px; min-width: 24px; min-height: 24px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:not(.appmenu):hover:active { background-color: alpha(currentColor,0.3); } + +button.titlebutton:not(.appmenu):backdrop { background-color: alpha(currentColor,0.1); } + +button.titlebutton:not(.appmenu):backdrop:hover { background-color: alpha(currentColor,0.15); } + +button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; } + +headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { background-color: alpha(@accent_bg_color,0.25); } + +label:selected, .selection-mode button.titlebutton, headerbar entry selection, .titlebar entry selection, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview text selection:focus, iconview text selection, flowbox flowboxchild:selected, entry selection, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, calendar:selected { color: @window_fg_color; } + +.monospace { font-family: monospace; } + +cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; } + +cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; } + +cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); } + +.context-menu { font: initial; } + +.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: @window_fg_color; background-color: @view_bg_color; border: 1px solid; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 5px; box-shadow: inset 0 -3px mix(mix(currentColor,@window_bg_color,0.85),@view_bg_color,0.4); font-size: smaller; } + +.keycap:backdrop { background-color: @window_bg_color; color: mix(@window_fg_color,@window_bg_color,0.5); transition: 200ms ease-out; } + +:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +stackswitcher button.text-button { min-width: 100px; } + +stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +popover.emoji-picker { padding-left: 0; padding-right: 0; } + +popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; } + +button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; } + +button.emoji-section:first-child { margin-left: 7px; } + +button.emoji-section:last-child { margin-right: 7px; } + +button.emoji-section:backdrop:not(:checked) { border-color: transparent; } + +button.emoji-section:hover { border-color: alpha(@window_fg_color,0.1); } + +button.emoji-section:checked { border-color: alpha(currentColor,0.1); } + +button.emoji-section label { padding: 0; opacity: 0.55; } + +button.emoji-section:hover label { opacity: 0.775; } + +button.emoji-section:checked label { opacity: 1; } + +popover.emoji-picker .emoji { font-size: x-large; padding: 6px; border-radius: 6px; } + +popover.emoji-picker .emoji :focus, popover.emoji-picker .emoji :hover { background: alpha(currentColor,0.07); } + +popover.emoji-picker .emoji :active { background: alpha(currentColor,0.16); } + +popover.emoji-completion arrow { border: none; background: none; } + +popover.emoji-completion contents row box { padding: 2px 10px; } + +popover.emoji-completion .emoji:hover { background: alpha(currentColor,0.04); } + +@define-color theme_fg_color @window_fg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_bg_color @window_bg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color theme_unfocused_fg_color mix(@window_fg_color,@window_bg_color,0.5); +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_base_color @window_bg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); +@define-color borders mix(currentColor,@window_bg_color,0.85); +@define-color unfocused_borders mix(currentColor,@window_bg_color,0.73); +@define-color warning_color @warning_color; +@define-color error_color @error_color; +@define-color success_color @success_color; +@define-color wm_title shade(@window_fg_color, 1.8); +@define-color wm_unfocused_title mix(@window_fg_color,@window_bg_color,0.5); +@define-color wm_highlight rgba(0, 0, 0, 0); +@define-color wm_borders_edge alpha(@window_fg_color,0.07); +@define-color wm_bg_a shade(@window_bg_color, 1.2); +@define-color wm_bg_b @window_bg_color; +@define-color wm_shadow alpha(black, 0.35); +@define-color wm_border alpha(black, 0.18); +@define-color wm_button_hover_color_a shade(@window_bg_color, 1.3); +@define-color wm_button_hover_color_b @window_bg_color; +@define-color wm_button_active_color_a shade(@window_bg_color, 0.85); +@define-color wm_button_active_color_b shade(@window_bg_color, 0.89); +@define-color wm_button_active_color_c shade(@window_bg_color, 0.9); +@define-color content_view_bg @view_bg_color; +@define-color text_view_bg shade(@view_bg_color,0.94); +.nautilus-window .thumbnail, .checkerboard { background-position: 0px 0px, 10px 10px; background-size: 20px 20px; background-image: linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, transparent 25%, transparent 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%), linear-gradient(45deg, mix(currentColor,@window_bg_color,0.85) 25%, @view_bg_color 25%, @view_bg_color 75%, mix(currentColor,@window_bg_color,0.85) 75%, mix(currentColor,@window_bg_color,0.85) 100%); } + +.org-gnome-Calendar .titlebar .text-button, .nautilus-window .linked entry ~ .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup, headerbar .linked entry ~ .image-button, .titlebar .linked entry ~ .image-button, headerbar .linked.raised button, headerbar .linked button:not(:only-child), headerbar > .stack-switcher.linked > button, .titlebar .linked.raised button, .titlebar .linked button:not(:only-child), .titlebar > .stack-switcher.linked > button, headerbar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .text-button:backdrop, .nautilus-window .linked entry ~ .image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop, headerbar .linked entry ~ .image-button:backdrop, .titlebar .linked entry ~ .image-button:backdrop, headerbar .linked.raised button:backdrop, headerbar .linked button:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop, .titlebar .linked.raised button:backdrop, .titlebar .linked button:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop, headerbar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.97),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.97),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover, .nautilus-window .linked entry ~ .image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover, headerbar .linked entry ~ .image-button:hover, .titlebar .linked entry ~ .image-button:hover, headerbar .linked.raised button:hover, headerbar .linked button:hover:not(:only-child), headerbar > .stack-switcher.linked > button:hover, .titlebar .linked.raised button:hover, .titlebar .linked button:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:hover, headerbar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.993),0.85); box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:hover:backdrop, .nautilus-window .linked entry ~ .image-button:hover:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:hover:backdrop, headerbar .linked entry ~ .image-button:hover:backdrop, .titlebar .linked entry ~ .image-button:hover:backdrop, headerbar .linked.raised button:hover:backdrop, headerbar .linked button:hover:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:hover:backdrop, .titlebar .linked.raised button:hover:backdrop, .titlebar .linked button:hover:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:hover:backdrop, headerbar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:hover:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,0.88),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.88),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active, .nautilus-window .linked entry ~ .image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active, headerbar .linked entry ~ .image-button:active, .titlebar .linked entry ~ .image-button:active, headerbar .linked.raised button:active, headerbar .linked button:active:not(:only-child), headerbar > .stack-switcher.linked > button:active, .titlebar .linked.raised button:active, .titlebar .linked button:active:not(:only-child), .titlebar > .stack-switcher.linked > button:active, headerbar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked, .nautilus-window .linked entry ~ .image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked, headerbar .linked entry ~ .image-button:checked, .titlebar .linked entry ~ .image-button:checked, headerbar .linked.raised button:checked, headerbar .linked button:checked:not(:only-child), headerbar > .stack-switcher.linked > button:checked, .titlebar .linked.raised button:checked, .titlebar .linked button:checked:not(:only-child), .titlebar > .stack-switcher.linked > button:checked, headerbar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.997),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:hover, .nautilus-window .linked entry ~ .image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover, headerbar .linked entry ~ .image-button:active:hover, .titlebar .linked entry ~ .image-button:active:hover, headerbar .linked.raised button:active:hover, headerbar .linked button:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover, .titlebar .linked.raised button:active:hover, .titlebar .linked button:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover, headerbar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover, headerbar .linked entry ~ .image-button:checked:hover, .titlebar .linked entry ~ .image-button:checked:hover, headerbar .linked.raised button:checked:hover, headerbar .linked button:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover, .titlebar .linked.raised button:checked:hover, .titlebar .linked button:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover, headerbar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:active:hover:hover, .nautilus-window .linked entry ~ .image-button:active:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:hover:hover, headerbar .linked entry ~ .image-button:active:hover:hover, .titlebar .linked entry ~ .image-button:active:hover:hover, headerbar .linked.raised button:active:hover:hover, headerbar .linked button:active:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:active:hover:hover, .titlebar .linked.raised button:active:hover:hover, .titlebar .linked button:active:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:active:hover:hover, headerbar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:hover:hover, .nautilus-window .linked entry ~ .image-button:checked:hover:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:hover:hover, headerbar .linked entry ~ .image-button:checked:hover:hover, .titlebar .linked entry ~ .image-button:checked:hover:hover, headerbar .linked.raised button:checked:hover:hover, headerbar .linked button:checked:hover:hover:not(:only-child), headerbar > .stack-switcher.linked > button:checked:hover:hover, .titlebar .linked.raised button:checked:hover:hover, .titlebar .linked button:checked:hover:hover:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:hover:hover, headerbar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:hover:hover:not(.suggested-action):not(.destructive-action):not(:disabled) { background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.99),0.653); } + +.org-gnome-Calendar .titlebar .text-button:active:backdrop, .nautilus-window .linked entry ~ .image-button:active:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:active:backdrop, headerbar .linked entry ~ .image-button:active:backdrop, .titlebar .linked entry ~ .image-button:active:backdrop, headerbar .linked.raised button:active:backdrop, headerbar .linked button:active:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:active:backdrop, .titlebar .linked.raised button:active:backdrop, .titlebar .linked button:active:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:active:backdrop, headerbar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:active:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .text-button:checked:backdrop, .nautilus-window .linked entry ~ .image-button:checked:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:checked:backdrop, headerbar .linked entry ~ .image-button:checked:backdrop, .titlebar .linked entry ~ .image-button:checked:backdrop, headerbar .linked.raised button:checked:backdrop, headerbar .linked button:checked:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button:checked:backdrop, .titlebar .linked.raised button:checked:backdrop, .titlebar .linked button:checked:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button:checked:backdrop, headerbar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:checked:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,0.89),0.903); } + +.org-gnome-Calendar .titlebar .text-button:disabled, .nautilus-window .linked entry ~ .image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:disabled, headerbar .linked entry ~ .image-button:disabled, .titlebar .linked entry ~ .image-button:disabled, headerbar .linked.raised button:disabled, headerbar .linked button:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:disabled, .titlebar .linked.raised button:disabled, .titlebar .linked button:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:disabled, headerbar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Calendar .titlebar .text-button:backdrop:disabled, .nautilus-window .linked entry ~ .image-button:backdrop:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .toggle.popup:backdrop:disabled, headerbar .linked entry ~ .image-button:backdrop:disabled, .titlebar .linked entry ~ .image-button:backdrop:disabled, headerbar .linked.raised button:backdrop:disabled, headerbar .linked button:backdrop:disabled:not(:only-child), headerbar > .stack-switcher.linked > button:backdrop:disabled, .titlebar .linked.raised button:backdrop:disabled, .titlebar .linked button:backdrop:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button:backdrop:disabled, headerbar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.text-button:backdrop:disabled:not(.suggested-action):not(.destructive-action):not(:disabled) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.65); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.org-gnome-Calendar .titlebar .default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .nautilus-window .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .default.toggle.popup:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked entry ~ .default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), headerbar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked.raised button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), .titlebar .linked button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .titlebar > .stack-switcher.linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.default.text-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:disabled) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.org-gnome-Calendar .titlebar .flat.text-button:not(:hover):not(:active), .nautilus-window .linked entry ~ .flat.image-button:not(:hover):not(:active):not(:checked):not(.model), .nautilus-window .search + .flat.toggle.popup:not(:hover):not(:active), headerbar .linked entry ~ .flat.image-button:not(:hover):not(:active), .titlebar .linked entry ~ .flat.image-button:not(:hover):not(:active), headerbar .linked.raised button.flat:not(:hover):not(:active), headerbar .linked button.flat:not(:hover):not(:active):not(:only-child), headerbar > .stack-switcher.linked > button.flat:not(:hover):not(:active), .titlebar .linked.raised button.flat:not(:hover):not(:active), .titlebar .linked button.flat:not(:hover):not(:active):not(:only-child), .titlebar > .stack-switcher.linked > button.flat:not(:hover):not(:active), headerbar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.flat.text-button:not(:hover):not(:active):not(.suggested-action):not(.destructive-action):not(:disabled) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover, headerbar viewswitcher button.radio:hover:checked, .titlebar viewswitcher button.radio:hover:checked, headerbar button:hover:not(.titlebutton), .titlebar button:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,1.03),0.903); } + +.nautilus-window .linked.raised button.image-button:hover:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:hover:backdrop, headerbar viewswitcher button.radio:hover:backdrop:checked, .titlebar viewswitcher button.radio:hover:backdrop:checked, headerbar button:hover:backdrop:not(.titlebutton), .titlebar button:hover:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@headerbar_backdrop_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@headerbar_backdrop_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active, headerbar button:active:not(.titlebutton), .titlebar button:active:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked, headerbar viewswitcher button.radio:checked, .titlebar viewswitcher button.radio:checked, headerbar button:checked:not(.titlebutton), .titlebar button:checked:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:hover, headerbar button:active:hover:not(.titlebutton), .titlebar button:active:hover:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:hover, headerbar viewswitcher button.radio:checked:hover, .titlebar viewswitcher button.radio:checked:hover, headerbar button:checked:hover:not(.titlebutton), .titlebar button:checked:hover:not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@headerbar_bg_color,0.963),0.903); } + +.nautilus-window .linked.raised button.image-button:active:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:active:backdrop, headerbar button:active:backdrop:not(.titlebutton), .titlebar button:active:backdrop:not(.titlebutton), .nautilus-window .linked.raised button.image-button:checked:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button:checked:backdrop, headerbar viewswitcher button.radio:checked:backdrop, .titlebar viewswitcher button.radio:checked:backdrop, headerbar button:checked:backdrop:not(.titlebutton), .titlebar button:checked:backdrop:not(.titlebutton) { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window .linked.raised button.default.image-button:not(:backdrop):not(.suggested-action):not(.destructive-action):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.default:not(:backdrop):not(.suggested-action):not(.destructive-action), headerbar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, .titlebar viewswitcher button.default.radio:not(:backdrop):not(.suggested-action):not(.destructive-action):checked, headerbar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton), .titlebar button.default:not(:backdrop):not(.suggested-action):not(.destructive-action):not(.titlebutton) { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window .linked.raised button.flat.image-button:not(:hover):not(:active):not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.flat:not(:hover):not(:active), headerbar viewswitcher button.flat.radio:not(:hover):not(:active):checked, .titlebar viewswitcher button.flat.radio:not(:hover):not(:active):checked, headerbar button.flat:not(:hover):not(:active):not(.titlebutton), .titlebar button.flat:not(:hover):not(:active):not(.titlebutton) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action, .content list button.suggested-action, .content list > row:not(:selected):hover button.suggested-action, list.content button.suggested-action, list.content > row:not(:selected):hover button.suggested-action, list.view.frame button.suggested-action, list.view.frame > row:not(:selected):hover button.suggested-action, headerbar.selection-mode button, headerbar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button, .titlebar.selection-mode button.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button, .nautilus-window .linked entry ~ .suggested-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup, headerbar .linked entry ~ .suggested-action.image-button, .titlebar .linked entry ~ .suggested-action.image-button, headerbar .linked.raised button.suggested-action, headerbar .linked button.suggested-action:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action, .titlebar .linked.raised button.suggested-action, .titlebar .linked button.suggested-action:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action, headerbar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:not(.titlebutton), .titlebar button.suggested-action:not(.titlebutton), headerbar button.text-button.suggested-action:not(.titlebutton) { color: @accent_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@accent_bg_color,0.903); } + +popover.background button.suggested-action:hover, .content list button.suggested-action:hover, .content list > row:not(:selected):hover button.suggested-action:hover, list.content button.suggested-action:hover, list.content > row:not(:selected):hover button.suggested-action:hover, list.view.frame button.suggested-action:hover, list.view.frame > row:not(:selected):hover button.suggested-action:hover, headerbar.selection-mode button:hover, headerbar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:hover, .titlebar.selection-mode button.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:hover, headerbar .linked entry ~ .suggested-action.image-button:hover, .titlebar .linked entry ~ .suggested-action.image-button:hover, headerbar .linked.raised button.suggested-action:hover, headerbar .linked button.suggested-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:hover, .titlebar .linked.raised button.suggested-action:hover, .titlebar .linked button.suggested-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:hover, headerbar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:hover, headerbar viewswitcher button.suggested-action.radio:hover:checked, .titlebar viewswitcher button.suggested-action.radio:hover:checked, headerbar button.suggested-action:hover:not(.titlebutton), .titlebar button.suggested-action:hover:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,@accent_bg_color,0.85); box-shadow: none; } + +popover.background button.suggested-action:active, .content list button.suggested-action:active, .content list > row:not(:selected):hover button.suggested-action:active, list.content button.suggested-action:active, list.content > row:not(:selected):hover button.suggested-action:active, list.view.frame button.suggested-action:active, list.view.frame > row:not(:selected):hover button.suggested-action:active, headerbar.selection-mode button:active, headerbar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active, .titlebar.selection-mode button.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active, .nautilus-window .linked entry ~ .suggested-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active, headerbar .linked entry ~ .suggested-action.image-button:active, .titlebar .linked entry ~ .suggested-action.image-button:active, headerbar .linked.raised button.suggested-action:active, headerbar .linked button.suggested-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active, .titlebar .linked.raised button.suggested-action:active, .titlebar .linked button.suggested-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active, headerbar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active, headerbar button.suggested-action:active:not(.titlebutton), .titlebar button.suggested-action:active:not(.titlebutton), popover.background button.suggested-action:checked, .content list button.suggested-action:checked, .content list > row:not(:selected):hover button.suggested-action:checked, list.content button.suggested-action:checked, list.content > row:not(:selected):hover button.suggested-action:checked, list.view.frame button.suggested-action:checked, list.view.frame > row:not(:selected):hover button.suggested-action:checked, headerbar.selection-mode button:checked, headerbar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked, .titlebar.selection-mode button.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked, headerbar .linked entry ~ .suggested-action.image-button:checked, .titlebar .linked entry ~ .suggested-action.image-button:checked, headerbar .linked.raised button.suggested-action:checked, headerbar .linked button.suggested-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked, .titlebar .linked.raised button.suggested-action:checked, .titlebar .linked button.suggested-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked, headerbar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked, headerbar viewswitcher button.suggested-action.radio:checked, .titlebar viewswitcher button.suggested-action.radio:checked, headerbar button.suggested-action:checked:not(.titlebutton), .titlebar button.suggested-action:checked:not(.titlebutton) { color: @accent_fg_color; background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:active:hover, .content list button.suggested-action:active:hover, .content list > row:not(:selected):hover button.suggested-action:active:hover, list.content button.suggested-action:active:hover, list.content > row:not(:selected):hover button.suggested-action:active:hover, list.view.frame button.suggested-action:active:hover, headerbar.selection-mode button:active:hover, headerbar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:active:hover, .titlebar.selection-mode button.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:active:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:active:hover, headerbar .linked entry ~ .suggested-action.image-button:active:hover, .titlebar .linked entry ~ .suggested-action.image-button:active:hover, headerbar .linked.raised button.suggested-action:active:hover, headerbar .linked button.suggested-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:active:hover, .titlebar .linked.raised button.suggested-action:active:hover, .titlebar .linked button.suggested-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:active:hover, headerbar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:active:hover, headerbar button.suggested-action:active:hover:not(.titlebutton), .titlebar button.suggested-action:active:hover:not(.titlebutton), popover.background button.suggested-action:checked:hover, .content list button.suggested-action:checked:hover, .content list > row:not(:selected):hover button.suggested-action:checked:hover, list.content button.suggested-action:checked:hover, list.content > row:not(:selected):hover button.suggested-action:checked:hover, list.view.frame button.suggested-action:checked:hover, headerbar.selection-mode button:checked:hover, headerbar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:checked:hover, .titlebar.selection-mode button.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:checked:hover, .nautilus-window .linked entry ~ .suggested-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:checked:hover, headerbar .linked entry ~ .suggested-action.image-button:checked:hover, .titlebar .linked entry ~ .suggested-action.image-button:checked:hover, headerbar .linked.raised button.suggested-action:checked:hover, headerbar .linked button.suggested-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:checked:hover, .titlebar .linked.raised button.suggested-action:checked:hover, .titlebar .linked button.suggested-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:checked:hover, headerbar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:checked:hover, headerbar viewswitcher button.suggested-action.radio:checked:hover, .titlebar viewswitcher button.suggested-action.radio:checked:hover, headerbar button.suggested-action:checked:hover:not(.titlebutton), .titlebar button.suggested-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.653); } + +popover.background button.suggested-action:backdrop, .content list button.suggested-action:backdrop, .content list > row:not(:selected):hover button.suggested-action:backdrop, list.content button.suggested-action:backdrop, list.content > row:not(:selected):hover button.suggested-action:backdrop, list.view.frame button.suggested-action:backdrop, list.view.frame > row:not(:selected):hover button.suggested-action:backdrop, headerbar.selection-mode button:backdrop, headerbar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:backdrop, .titlebar.selection-mode button.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:backdrop, headerbar .linked entry ~ .suggested-action.image-button:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:backdrop, headerbar .linked.raised button.suggested-action:backdrop, headerbar .linked button.suggested-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:backdrop, .titlebar .linked.raised button.suggested-action:backdrop, .titlebar .linked button.suggested-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:backdrop, headerbar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:backdrop, headerbar viewswitcher button.suggested-action.radio:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:backdrop:checked, headerbar button.suggested-action:backdrop:not(.titlebutton), .titlebar button.suggested-action:backdrop:not(.titlebutton) { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.suggested-action:disabled, .content list button.suggested-action:disabled, .content list > row:not(:selected):hover button.suggested-action:disabled, list.content button.suggested-action:disabled, list.content > row:not(:selected):hover button.suggested-action:disabled, list.view.frame button.suggested-action:disabled, list.view.frame > row:not(:selected):hover button.suggested-action:disabled, headerbar.selection-mode button:disabled, headerbar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled, .titlebar.selection-mode button.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled, headerbar .linked entry ~ .suggested-action.image-button:disabled, .titlebar .linked entry ~ .suggested-action.image-button:disabled, headerbar .linked.raised button.suggested-action:disabled, headerbar .linked button.suggested-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled, .titlebar .linked.raised button.suggested-action:disabled, .titlebar .linked button.suggested-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled, headerbar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled, headerbar viewswitcher button.suggested-action.radio:disabled:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:checked, headerbar button.suggested-action:disabled:not(.titlebutton), .titlebar button.suggested-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.suggested-action:disabled:backdrop, .content list button.suggested-action:disabled:backdrop, .content list > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.content button.suggested-action:disabled:backdrop, list.content > row:not(:selected):hover button.suggested-action:disabled:backdrop, list.view.frame button.suggested-action:disabled:backdrop, headerbar.selection-mode button:disabled:backdrop, headerbar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar.selection-mode button:disabled:backdrop, .titlebar.selection-mode button.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .org-gnome-Calendar .titlebar .suggested-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .suggested-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .suggested-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .suggested-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .suggested-action.image-button:disabled:backdrop, headerbar .linked.raised button.suggested-action:disabled:backdrop, headerbar .linked button.suggested-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, .titlebar .linked.raised button.suggested-action:disabled:backdrop, .titlebar .linked button.suggested-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.suggested-action:disabled:backdrop, headerbar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.suggested-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.suggested-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.suggested-action:disabled:backdrop, headerbar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.suggested-action.radio:disabled:backdrop:checked, headerbar button.suggested-action:disabled:backdrop:not(.titlebutton), .titlebar button.suggested-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action, .content list button.destructive-action, .content list > row:not(:selected):hover button.destructive-action, list.content button.destructive-action, list.content > row:not(:selected):hover button.destructive-action, list.view.frame button.destructive-action, list.view.frame > row:not(:selected):hover button.destructive-action, .org-gnome-Calendar .titlebar .destructive-action.text-button, .nautilus-window .linked entry ~ .destructive-action.image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup, headerbar .linked entry ~ .destructive-action.image-button, .titlebar .linked entry ~ .destructive-action.image-button, headerbar .linked.raised button.destructive-action, headerbar .linked button.destructive-action:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action, .titlebar .linked.raised button.destructive-action, .titlebar .linked button.destructive-action:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action, headerbar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:not(.titlebutton), .titlebar button.destructive-action:not(.titlebutton), headerbar button.text-button.destructive-action:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:hover, .content list button.destructive-action:hover, .content list > row:not(:selected):hover button.destructive-action:hover, list.content button.destructive-action:hover, list.content > row:not(:selected):hover button.destructive-action:hover, list.view.frame button.destructive-action:hover, list.view.frame > row:not(:selected):hover button.destructive-action:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:hover, headerbar .linked entry ~ .destructive-action.image-button:hover, .titlebar .linked entry ~ .destructive-action.image-button:hover, headerbar .linked.raised button.destructive-action:hover, headerbar .linked button.destructive-action:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:hover, .titlebar .linked.raised button.destructive-action:hover, .titlebar .linked button.destructive-action:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:hover, headerbar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:hover, headerbar viewswitcher button.destructive-action.radio:hover:checked, .titlebar viewswitcher button.destructive-action.radio:hover:checked, headerbar button.destructive-action:hover:not(.titlebutton), .titlebar button.destructive-action:hover:not(.titlebutton) { color: @destructive_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@destructive_bg_color,0.903); } + +popover.background button.destructive-action:active, .content list button.destructive-action:active, .content list > row:not(:selected):hover button.destructive-action:active, list.content button.destructive-action:active, list.content > row:not(:selected):hover button.destructive-action:active, list.view.frame button.destructive-action:active, list.view.frame > row:not(:selected):hover button.destructive-action:active, .org-gnome-Calendar .titlebar .destructive-action.text-button:active, .nautilus-window .linked entry ~ .destructive-action.image-button:active:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active, headerbar .linked entry ~ .destructive-action.image-button:active, .titlebar .linked entry ~ .destructive-action.image-button:active, headerbar .linked.raised button.destructive-action:active, headerbar .linked button.destructive-action:active:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active, .titlebar .linked.raised button.destructive-action:active, .titlebar .linked button.destructive-action:active:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active, headerbar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active, headerbar button.destructive-action:active:not(.titlebutton), .titlebar button.destructive-action:active:not(.titlebutton), popover.background button.destructive-action:checked, .content list button.destructive-action:checked, .content list > row:not(:selected):hover button.destructive-action:checked, list.content button.destructive-action:checked, list.content > row:not(:selected):hover button.destructive-action:checked, list.view.frame button.destructive-action:checked, list.view.frame > row:not(:selected):hover button.destructive-action:checked, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked, headerbar .linked entry ~ .destructive-action.image-button:checked, .titlebar .linked entry ~ .destructive-action.image-button:checked, headerbar .linked.raised button.destructive-action:checked, headerbar .linked button.destructive-action:checked:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked, .titlebar .linked.raised button.destructive-action:checked, .titlebar .linked button.destructive-action:checked:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked, headerbar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked, headerbar viewswitcher button.destructive-action.radio:checked, .titlebar viewswitcher button.destructive-action.radio:checked, headerbar button.destructive-action:checked:not(.titlebutton), .titlebar button.destructive-action:checked:not(.titlebutton) { color: @destructive_fg_color; background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:active:hover, .content list button.destructive-action:active:hover, .content list > row:not(:selected):hover button.destructive-action:active:hover, list.content button.destructive-action:active:hover, list.content > row:not(:selected):hover button.destructive-action:active:hover, list.view.frame button.destructive-action:active:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:active:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:active:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:active:hover, headerbar .linked entry ~ .destructive-action.image-button:active:hover, .titlebar .linked entry ~ .destructive-action.image-button:active:hover, headerbar .linked.raised button.destructive-action:active:hover, headerbar .linked button.destructive-action:active:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:active:hover, .titlebar .linked.raised button.destructive-action:active:hover, .titlebar .linked button.destructive-action:active:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:active:hover, headerbar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:active:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:active:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:active:hover, headerbar button.destructive-action:active:hover:not(.titlebutton), .titlebar button.destructive-action:active:hover:not(.titlebutton), popover.background button.destructive-action:checked:hover, .content list button.destructive-action:checked:hover, .content list > row:not(:selected):hover button.destructive-action:checked:hover, list.content button.destructive-action:checked:hover, list.content > row:not(:selected):hover button.destructive-action:checked:hover, list.view.frame button.destructive-action:checked:hover, .org-gnome-Calendar .titlebar .destructive-action.text-button:checked:hover, .nautilus-window .linked entry ~ .destructive-action.image-button:checked:hover:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:checked:hover, headerbar .linked entry ~ .destructive-action.image-button:checked:hover, .titlebar .linked entry ~ .destructive-action.image-button:checked:hover, headerbar .linked.raised button.destructive-action:checked:hover, headerbar .linked button.destructive-action:checked:hover:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:checked:hover, .titlebar .linked.raised button.destructive-action:checked:hover, .titlebar .linked button.destructive-action:checked:hover:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:checked:hover, headerbar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:checked:hover:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:checked:hover:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:checked:hover, headerbar viewswitcher button.destructive-action.radio:checked:hover, .titlebar viewswitcher button.destructive-action.radio:checked:hover, headerbar button.destructive-action:checked:hover:not(.titlebutton), .titlebar button.destructive-action:checked:hover:not(.titlebutton) { background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.653); } + +popover.background button.destructive-action:backdrop, .content list button.destructive-action:backdrop, .content list > row:not(:selected):hover button.destructive-action:backdrop, list.content button.destructive-action:backdrop, list.content > row:not(:selected):hover button.destructive-action:backdrop, list.view.frame button.destructive-action:backdrop, list.view.frame > row:not(:selected):hover button.destructive-action:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:backdrop, headerbar .linked entry ~ .destructive-action.image-button:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:backdrop, headerbar .linked.raised button.destructive-action:backdrop, headerbar .linked button.destructive-action:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:backdrop, .titlebar .linked.raised button.destructive-action:backdrop, .titlebar .linked button.destructive-action:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:backdrop, headerbar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:backdrop, headerbar viewswitcher button.destructive-action.radio:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:backdrop:checked, headerbar button.destructive-action:backdrop:not(.titlebutton), .titlebar button.destructive-action:backdrop:not(.titlebutton) { color: mix(@destructive_fg_color,alpha(@destructive_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@destructive_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button.destructive-action:disabled, .content list button.destructive-action:disabled, .content list > row:not(:selected):hover button.destructive-action:disabled, list.content button.destructive-action:disabled, list.content > row:not(:selected):hover button.destructive-action:disabled, list.view.frame button.destructive-action:disabled, list.view.frame > row:not(:selected):hover button.destructive-action:disabled, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled, headerbar .linked entry ~ .destructive-action.image-button:disabled, .titlebar .linked entry ~ .destructive-action.image-button:disabled, headerbar .linked.raised button.destructive-action:disabled, headerbar .linked button.destructive-action:disabled:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled, .titlebar .linked.raised button.destructive-action:disabled, .titlebar .linked button.destructive-action:disabled:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled, headerbar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled, headerbar viewswitcher button.destructive-action.radio:disabled:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:checked, headerbar button.destructive-action:disabled:not(.titlebutton), .titlebar button.destructive-action:disabled:not(.titlebutton) { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +popover.background button.destructive-action:disabled:backdrop, .content list button.destructive-action:disabled:backdrop, .content list > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.content button.destructive-action:disabled:backdrop, list.content > row:not(:selected):hover button.destructive-action:disabled:backdrop, list.view.frame button.destructive-action:disabled:backdrop, .org-gnome-Calendar .titlebar .destructive-action.text-button:disabled:backdrop, .nautilus-window .linked entry ~ .destructive-action.image-button:disabled:backdrop:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .search + .destructive-action.toggle.popup:disabled:backdrop, headerbar .linked entry ~ .destructive-action.image-button:disabled:backdrop, .titlebar .linked entry ~ .destructive-action.image-button:disabled:backdrop, headerbar .linked.raised button.destructive-action:disabled:backdrop, headerbar .linked button.destructive-action:disabled:backdrop:not(:only-child), headerbar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, .titlebar .linked.raised button.destructive-action:disabled:backdrop, .titlebar .linked button.destructive-action:disabled:backdrop:not(:only-child), .titlebar > .stack-switcher.linked > button.destructive-action:disabled:backdrop, headerbar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .titlebar button.destructive-action.text-button:disabled:backdrop:not(.suggested-action):not(.destructive-action):not(:disabled), .nautilus-window .linked.raised button.destructive-action.image-button:disabled:backdrop:not(:only-child), .nautilus-window .titlebar :not(.raised) .linked > button.destructive-action:disabled:backdrop, headerbar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, .titlebar viewswitcher button.destructive-action.radio:disabled:backdrop:checked, headerbar button.destructive-action:disabled:backdrop:not(.titlebutton), .titlebar button.destructive-action:disabled:backdrop:not(.titlebutton) { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar { box-shadow: 0 1px alpha(@headerbar_shade_color,0.1); } + +headerbar:not(.selection-mode), headerbar:not(.selection-mode) entry, .titlebar:not(.selection-mode), .titlebar:not(.selection-mode) entry { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode):backdrop, headerbar:not(.selection-mode) entry:backdrop, .titlebar:not(.selection-mode):backdrop, .titlebar:not(.selection-mode) entry:backdrop { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) entry:disabled, .titlebar:not(.selection-mode) entry:disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action), .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action) { color: @headerbar_fg_color; } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +headerbar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled, .titlebar:not(.selection-mode) button:not(.suggested-action):not(.destructive-action):disabled { color: mix(@headerbar_fg_color,@headerbar_bg_color,0.5); } + +headerbar:not(.selection-mode) switch image, .titlebar:not(.selection-mode) switch image { color: transparent; } + +headerbar button:not(.titlebutton), headerbar button:not(.titlebutton):backdrop, .titlebar button:not(.titlebutton), .titlebar button:not(.titlebutton):backdrop { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar .linked.raised button:not(:only-child):not(:first-child), headerbar .linked button:not(:only-child):not(:first-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:first-child), .titlebar .linked.raised button:not(:only-child):not(:first-child), .titlebar .linked button:not(:only-child):not(:first-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):not(:last-child), headerbar .linked button:not(:only-child):not(:last-child), headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child), .titlebar .linked.raised button:not(:only-child):not(:last-child), .titlebar .linked button:not(:only-child):not(:last-child), .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child) { border-right-color: alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child, headerbar .linked button:not(:only-child):first-child, headerbar > .stack-switcher.linked > button:not(:only-child):first-child, .titlebar .linked.raised button:not(:only-child):first-child, .titlebar .linked button:not(:only-child):first-child, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child { border-left-color: transparent; } + +headerbar .linked.raised button:not(:only-child):last-child, headerbar .linked button:not(:only-child):last-child, headerbar > .stack-switcher.linked > button:not(:only-child):last-child, .titlebar .linked.raised button:not(:only-child):last-child, .titlebar .linked button:not(:only-child):last-child, .titlebar > .stack-switcher.linked > button:not(:only-child):last-child { border-right-color: transparent; } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active { box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar .linked button:not(:only-child):first-child:not(:backdrop):active + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, headerbar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked.raised button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar .linked button:not(:only-child):not(:last-child):not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):first-child:not(:backdrop):active + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):checked + button, .titlebar > .stack-switcher.linked > button:not(:only-child):not(:last-child):not(:backdrop):active + button { border-left-color: transparent; } + +headerbar.selection-mode button:hover:backdrop, .titlebar.selection-mode button:hover:backdrop { color: mix(@accent_fg_color,alpha(@accent_bg_color,0.5),0.2); background-color: mix(currentColor,alpha(@accent_bg_color,0.5),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry, .titlebar entry { min-height: 32px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +headerbar entry:backdrop, .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +headerbar entry:disabled, .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@headerbar_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry:disabled:backdrop, .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar entry image, .titlebar entry image { color: mix(@window_fg_color,@view_bg_color,0.2); } + +headerbar entry image.left, .titlebar entry image.left { margin-right: 6px; } + +headerbar entry image.right, .titlebar entry image.right { margin-left: 6px; } + +headerbar entry image:hover, .titlebar entry image:hover { color: @headerbar_fg_color; } + +headerbar entry image:active, .titlebar entry image:active { color: @accent_bg_color; } + +headerbar entry image:backdrop, .titlebar entry image:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),@window_bg_color,0.2); } + +headerbar entry.error, .titlebar entry.error { color: @error_bg_color; border-color: @error_bg_color; } + +headerbar entry.error:focus, .titlebar entry.error:focus { box-shadow: inset 0 0 0 1px @error_bg_color; border-color: @error_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.error selection, .titlebar entry.error selection { background-color: @error_bg_color; } + +headerbar entry.warning, .titlebar entry.warning { color: @warning_bg_color; border-color: @warning_bg_color; } + +headerbar entry.warning:focus, .titlebar entry.warning:focus { box-shadow: inset 0 0 0 1px @warning_bg_color; border-color: @warning_bg_color; transition: 300ms ease-in-out; transition-property: border, box-shadow; } + +headerbar entry.warning selection, .titlebar entry.warning selection { background-color: @warning_bg_color; } + +headerbar entry.flat:focus, headerbar entry.flat:backdrop, headerbar entry.flat:disabled, headerbar entry.flat:backdrop:disabled, headerbar entry.flat, .titlebar entry.flat:focus, .titlebar entry.flat:backdrop, .titlebar entry.flat:disabled, .titlebar entry.flat:backdrop:disabled, .titlebar entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; } + +headerbar entry:drop(active):focus, headerbar entry:drop(active), .titlebar entry:drop(active):focus, .titlebar entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +headerbar entry progress, .titlebar entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +headerbar entry progress:backdrop, .titlebar entry progress:backdrop { background-color: transparent; } + +headerbar .linked entry:not(:first-child), .titlebar .linked entry:not(:first-child) { border-left-color: alpha(currentColor,0.15); } + +headerbar .linked entry:not(:first-child):backdrop, .titlebar .linked entry:not(:first-child):backdrop { border-left-color: alpha(currentColor,0.15); } + +headerbar switch:backdrop, .titlebar switch:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); text-shadow: none; transition: 200ms ease-out; } + +headerbar switch:backdrop:checked, .titlebar switch:backdrop:checked { background-color: alpha(@accent_bg_color,0.5); } + +headerbar switch:backdrop:checked:disabled, .titlebar switch:backdrop:checked:disabled { background-color: alpha(@accent_bg_color,0.3); } + +headerbar switch:backdrop:disabled, .titlebar switch:backdrop:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +headerbar switch:backdrop slider, .titlebar switch:backdrop slider { transition: 200ms ease-out; background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:checked > slider, .titlebar switch:backdrop:checked > slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.7); } + +headerbar switch:backdrop:disabled slider, .titlebar switch:backdrop:disabled slider { background-color: mix(@view_bg_color,mix(white,@view_bg_color,0.2),0.4); } + +headerbar switch:disabled, .titlebar switch:disabled { background-color: shade(mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3),0.96); } + +headerbar switch:disabled:backdrop, .titlebar switch:disabled:backdrop { background-color: mix(mix(currentColor,@window_bg_color,0.73),@window_bg_color,0.3); } + +headerbar:not(:backdrop), .titlebar:not(:backdrop) { transition: 50ms ease-in; transition-property: background-color, background-image, box-shadow, border-color, color, text-shadow; } + +headerbar .right, .titlebar .right { margin-left: -4px; } + +headerbar .right separator, .titlebar .right separator { min-width: 0; } + +headerbar .left, .titlebar .left { margin-right: -4px; } + +headerbar .left separator, .titlebar .left separator { min-width: 0; } + +.content list button, .content list > row:not(:selected):hover button, list.content button, list.content > row:not(:selected):hover button, list.view.frame button, list.view.frame > row:not(:selected):hover button { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list button.flat:not(:hover):not(:active), .content list > row:not(:selected):hover button.flat:not(:hover):not(:active), list.content button.flat:not(:hover):not(:active), list.content > row:not(:selected):hover button.flat:not(:hover):not(:active), list.view.frame button.flat:not(:hover):not(:active), list.view.frame > row:not(:selected):hover button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:hover, .content list > row:not(:selected):hover button:hover, list.content button:hover, list.content > row:not(:selected):hover button:hover, list.view.frame button:hover, list.view.frame > row:not(:selected):hover button:hover { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.85); box-shadow: none; } + +.content list button:active, .content list button:checked, .content list > row:not(:selected):hover button:active, .content list > row:not(:selected):hover button:checked, list.content button:active, list.content button:checked, list.content > row:not(:selected):hover button:active, list.content > row:not(:selected):hover button:checked, list.view.frame button:active, list.view.frame button:checked, list.view.frame > row:not(:selected):hover button:active, list.view.frame > row:not(:selected):hover button:checked { color: @card_fg_color; background-color: mix(currentColor,@card_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.content list button:active:hover, .content list button:checked:hover, .content list > row:not(:selected):hover button:active:hover, .content list > row:not(:selected):hover button:checked:hover, list.content button:active:hover, list.content button:checked:hover, list.content > row:not(:selected):hover button:active:hover, list.content > row:not(:selected):hover button:checked:hover, list.view.frame button:active:hover, list.view.frame button:checked:hover, list.view.frame > row:not(:selected):hover button:active:hover, list.view.frame > row:not(:selected):hover button:checked:hover { background-color: mix(currentColor,@card_bg_color,0.653); } + +.content list button:disabled, .content list > row:not(:selected):hover button:disabled, list.content button:disabled, list.content > row:not(:selected):hover button:disabled, list.view.frame button:disabled, list.view.frame > row:not(:selected):hover button:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry, list.content entry, list.view.frame entry { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +.content list entry:disabled, list.content entry:disabled, list.view.frame entry:disabled { color: mix(@card_fg_color,@card_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +popover.background button { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background button.flat:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:hover { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.85); box-shadow: none; } + +popover.background button:active, popover.background button:checked { color: @popover_fg_color; background-color: mix(currentColor,@popover_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +popover.background button:active:hover, popover.background button:checked:hover { background-color: mix(currentColor,@popover_bg_color,0.653); } + +popover.background button:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry { color: @popover_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +popover.background entry:disabled { color: mix(@popover_fg_color,@popover_bg_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +button.toggle:not(.image-button) { padding-left: 8px; padding-right: 8px; } + +.flat.popup:not(.title) { font-weight: normal; } + +statusbar { font-size: small; } + +scrolledwindow list:not(.content) { padding: 6px 0; } + +scrolledwindow list row { margin: 0 6px; border-radius: 6px; } + +scrolledwindow list separator.horizontal { margin: 6px; } + +list.content .horizontal spinbutton entry { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +list.view.frame { border-radius: 12px; } + +list.view.frame, list.view.frame:backdrop { background-color: @card_bg_color; } + +.ssd .titlebar { border-width: 0; padding: 0px 4px; min-height: 36px; border-bottom: 1px solid @headerbar_shade_color; } + +.ssd .titlebar.default-decoration button.titlebutton { background-color: alpha(currentColor,0.1); min-height: 24px; min-width: 24px; margin: 0 4px 0 4px; padding: 0; } + +.ssd .titlebar.default-decoration button.titlebutton:hover { background-color: alpha(currentColor,0.15); } + +.ssd .titlebar.default-decoration button.titlebutton:hover:active, .ssd .titlebar.default-decoration button.titlebutton:active { background-color: alpha(currentColor,0.3); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop { background: alpha(currentColor,0.1); } + +.ssd .titlebar.default-decoration button.titlebutton:backdrop:hover { background: alpha(currentColor,0.15); } + +.default-decoration .title { color: @headerbar_fg_color; } + +.default-decoration .title:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); } + +treeview.view:not(:backdrop):not(:selected):hover { background-color: alpha(currentColor,0.04); } + +.preferences scrolledwindow > .frame > clamp.large, .preferences scrolledwindow > .frame > clamp.medium, .preferences scrolledwindow > .frame > clamp.small { padding-bottom: 30px; } + +.osd .linked > button { border-color: transparent; } + +.primary-toolbar, .toolbar { background-color: @window_bg_color; } + +.primary-toolbar:backdrop, .toolbar:backdrop { background-color: @window_bg_color; } + +popover.background modelbutton.flat { padding-left: 16px; padding-right: 16px; } + +popover.background modelbutton.flat, popover.background .menuitem.button.flat { color: @popover_fg_color; } + +popover.background modelbutton.flat:disabled label, popover.background .menuitem.button.flat:disabled label { color: mix(@popover_fg_color,@popover_bg_color,0.5); } + +popover.background modelbutton.flat:backdrop:hover, popover.background .menuitem.button.flat:backdrop:hover { background-color: alpha(currentColor,0.04); } + +popover.menu > stack { margin: -6px; } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 12px; } + +window.csd.unified scrollbar { background-color: @view_bg_color; color: @window_fg_color; } + +window.csd.unified scrollbar trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; background-color: alpha(currentColor,0.15); } + +window.csd.unified scrollbar trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; } + +window.csd.unified scrollbar.horizontal trough { margin-top: 6px; margin-bottom: 6px; } + +window.csd.unified scrollbar.vertical trough { margin-left: 6px; margin-right: 6px; } + +window.csd.unified scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +window.csd.unified scrollbar.overlay-indicator:not(.hovering) trough { background-color: transparent; } + +window.csd.unified scrollbar.overlay-indicator.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal.hovering trough > slider { min-height: 8px; } + +window.csd.unified scrollbar.overlay-indicator.horizontal:not(.hovering) trough { margin-top: 3px; margin-bottom: 3px; } + +window.csd.unified scrollbar.overlay-indicator.vertical trough > slider { min-height: 40px; } + +window.csd.unified scrollbar.overlay-indicator.vertical.hovering trough > slider { min-width: 8px; } + +window.csd.unified scrollbar.overlay-indicator.vertical:not(.hovering) trough { margin-left: 3px; margin-right: 3px; } + +window.csd.unified scrollbar.horizontal trough > slider { min-width: 40px; } + +window.csd.unified scrollbar.vertical trough > slider { min-height: 40px; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; min-width: 200px; margin-top: 6px; margin-bottom: 6px; } + +popover.combo list > row { padding: 0px 8px 0px 8px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(mix(currentColor,@window_bg_color,0.85), 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: transparent; border-radius: 0; border: none; } + +row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; border-radius: 0; border-top: 1px solid alpha(currentColor,0.15); } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_bg_color; } + +row.expander image.expander-row-arrow:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); } + +list.content { background-color: transparent; color: @card_fg_color; border-radius: 12px; } + +list.content list { background-color: transparent; border-radius: 12px; } + +list.content > row { background-color: @card_bg_color; color: @card_fg_color; margin: 0; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { box-shadow: inset 0 -1px @card_shade_color; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +list.content > row:not(:first-child):not(:last-child) { border-radius: 0; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0; } + +list.content > row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; border-top: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 12px 12px 0 0; } + +list.content > row:last-child { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom: 1px solid @card_shade_color; border-left: 1px solid @card_shade_color; border-right: 1px solid @card_shade_color; -gtk-outline-radius: 0 0 12px 12px; } + +list.content > row:only-child { border: 1px solid @card_shade_color; border-radius: 12px; -gtk-outline-radius: 12px; } + +list.content > row:not(.expander):not(:active):hover.activatable:not(:selected), list.content > row.expander row.header:not(:active):hover.activatable:not(:selected) { background-color: mix(@card_fg_color, @card_bg_color, 0.954); } + +button.list-button:not(:active):not(:checked):not(:hover) { color: @card_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@card_bg_color,0.903); } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; border-width: 0; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.85); box-shadow: none; background-image: none; } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: alpha(currentColor,0.15); } + +viewswitcher button:not(:checked):hover:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: none; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(black,@headerbar_bg_color,0.87),0.903); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: alpha(currentColor,0.15); } + +headerbar viewswitcher button:not(:checked):hover:backdrop { color: mix(mix(@window_fg_color,@window_bg_color,0.5),mix(black,@headerbar_backdrop_color,0.9),0.2); background-color: mix(currentColor,mix(black,@headerbar_backdrop_color,0.9),0.9); text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked, viewswitcher button:active { color: @window_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; } + +viewswitcher button:checked:hover, viewswitcher button:active:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +viewswitcher button:checked:backdrop, viewswitcher button:active:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.7); background-image: none; } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide image:dir(ltr) { padding-left: 7px; } + +viewswitcher button > stack > box.wide image:dir(rtl) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@accent_bg_color), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { color: alpha(@window_fg_color,0.5); } + +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; } + +statuspage > scrolledwindow > viewport > box > clamp:not(:last-child) > box { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .title:not(:last-child) { margin-bottom: 12px; } + +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +tabbar .box { min-height: 38px; background: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; } + +tabbar .box:backdrop { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: @headerbar_backdrop_color; } + +tabbar scrolledwindow.pinned undershoot { border: 0 solid mix(black,@window_bg_color,0.82); } + +tabbar scrolledwindow.pinned:dir(rtl) undershoot.left { border-left-width: 1px; } + +tabbar scrolledwindow.pinned:dir(ltr) undershoot.right { border-right-width: 1px; } + +tabbar scrolledwindow.pinned:backdrop undershoot { border-color: mix(currentColor,@window_bg_color,0.73); } + +tabbar scrolledwindow.pinned tabbox:dir(ltr) { padding-right: 1px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +tabbar scrolledwindow.pinned tabbox:dir(rtl) { padding-left: 1px; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +tabbar undershoot { transition: none; } + +tabbar undershoot.left { background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar undershoot.right { background: linear-gradient(to left, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 20px); } + +tabbar .needs-attention-left undershoot.left { background: linear-gradient(to right, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar .needs-attention-right undershoot.right { background: linear-gradient(to left, alpha(@accent_bg_color,0.7), alpha(@accent_bg_color,0.5) 1px, alpha(@accent_bg_color,0) 20px); } + +tabbar tab { margin: 4px 3px; border-style: none; border-radius: 6px; transition: background-color 150ms ease-in-out; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +tabbar tab:first-child { background-image: none; } + +tabbar tab:hover { background-color: alpha(currentColor,0.04); } + +tabbar tab:hover, tabbar tab:hover + tab { background-image: none; } + +tabbar tab:checked { background-color: alpha(@accent_bg_color,0.25); } + +tabbar tab:checked, tabbar tab:checked + tab { background-image: none; } + +tabbar tab:checked:hover { background-color: alpha(@accent_bg_color,0.32); } + +tabbar .start-action, tabbar .end-action { background-color: @headerbar_bg_color; border-color: transparent; border-style: solid; transition: background-color 150ms ease-in-out; } + +tabbar .start-action:backdrop, tabbar .end-action:backdrop { border-color: transparent; background-color: @headerbar_backdrop_color; } + +tabbar .start-action button, tabbar .end-action button { border: none; border-radius: 0; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { border-right-width: 1px; } + +tabbar .start-action:dir(ltr) > *, tabbar .end-action:dir(rtl) > * { margin-right: 1px; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { border-left-width: 1px; } + +tabbar .start-action:dir(rtl) > *, tabbar .end-action:dir(ltr) > * { margin-left: 1px; } + +.tab-drag-icon tab { min-height: 26px; background-color: mix(currentColor,@window_bg_color,0.943); box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.25), 0 0 0 1px alpha(mix(currentColor,@window_bg_color,0.85),0.9), inset 0 1px alpha(@window_fg_color,0.07); margin: 25px; } + +tabbar tab, .tab-drag-icon tab { padding: 6px; } + +tabbar tab.needs-attention, .tab-drag-icon tab.needs-attention { background-image: radial-gradient(ellipse at bottom, rgba(255, 255, 255, 0.8), alpha(@accent_bg_color,0.2) 15%, alpha(@accent_bg_color,0) 15%); } + +tabbar tab .tab-close-button, tabbar tab .tab-indicator, .tab-drag-icon tab .tab-close-button, .tab-drag-icon tab .tab-indicator { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; border: none; box-shadow: none; -gtk-icon-shadow: none; text-shadow: none; background: none; } + +tabbar tab .tab-close-button:hover, tabbar tab .tab-indicator.clickable:hover, .tab-drag-icon tab .tab-close-button:hover, .tab-drag-icon tab .tab-indicator.clickable:hover { background: alpha(@window_fg_color, 0.15); } + +tabbar tab .tab-close-button:active, tabbar tab .tab-indicator.clickable:active, .tab-drag-icon tab .tab-close-button:active, .tab-drag-icon tab .tab-indicator.clickable:active { background: alpha(black, 0.2); } + +flap > dimming, deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +flap > border, deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +flap > shadow, deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.right, deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.up, deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > shadow.down, deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +flap > outline, deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp, preferencespage > scrolledwindow > viewport > clamp { margin: 0 12px; } + +window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > list, window.preferences > deck > deck > box > stack > stack > scrolledwindow > viewport > clamp > box > preferencesgroup, preferencespage > scrolledwindow > viewport > clamp > list, preferencespage > scrolledwindow > viewport > clamp > box > preferencesgroup { margin-top: 24px; } + +preferencesgroup > box > label:not(:first-child) { margin-top: 6px; } + +preferencesgroup > box > box:not(:first-child) { margin-top: 12px; } + +tabbar .tab-indicator:not(.clickable) { background: none; box-shadow: none; border-color: transparent; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +.heading.h4 { color: @window_fg_color; } + +window.rounded, window.rounded actionbar { border-radius: 0 0 12px 12px; } + +window.rounded decoration, window.rounded actionbar decoration { border-radius: 12px; } + +window.flat headerbar { box-shadow: none; } + +.accent { color: @accent_bg_color; } + +.h1 { font-size: 20pt; font-weight: 300; } + +.h2 { font-size: 16pt; font-weight: 200; } + +.h3 { font-size: 11pt; } + +.h4, .category-label { color: shade(@window_fg_color,1.2); font-weight: 700; } + +.h4 { padding-top: 0.5em; padding-bottom: 0.5em; } + +list .h4 { padding-left: 0.5em; } + +.storage-bar .trough { padding: 8px 6px; border: none; border-radius: 6px 6px 0 0; background-image: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.storage-bar .fill-block { padding: 8px 6px; border: 1px solid rgba(0, 0, 0, 0.35); border-top-width: 0; border-right-width: 0; border-bottom-width: 1px; border-left-width: 0; border-radius: 0; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.75); background-color: shade(@view_bg_color,0.85); } + +.storage-bar .fill-block:first-child { border-radius: 6px 0 0; } + +.storage-bar .fill-block:last-child { border-radius: 0 6px 0 0; } + +.storage-bar .fill-block:only-child { border-radius: 6px 6px 0 0; } + +.storage-bar .fill-block image { -gtk-icon-style: symbolic; } + +.storage-bar .empty-block { border-bottom-width: 1px; border-bottom-color: shade(mix(currentColor,@window_bg_color,0.85),0.6); background-color: shade(@view_bg_color,0.95); } + +.storage-bar .empty-block image { color: black; } + +.storage-bar .app { border-bottom-width: 1px; border-bottom-color: shade(#dc8add,0.7); background-color: #dc8add; } + +.storage-bar .app image { color: white; } + +.storage-bar .audio { border-bottom-width: 1px; border-bottom-color: shade(#ffa348,0.8); background-color: #ffa348; } + +.storage-bar .audio image { color: black; } + +.storage-bar .files { border-bottom-width: 1px; border-bottom-color: shade(#99c1f1,0.8); background-color: #99c1f1; } + +.storage-bar .files image { color: black; } + +.storage-bar .photo { border-bottom-width: 1px; border-bottom-color: shade(#57e389,0.7); background-color: #57e389; } + +.storage-bar .photo image { color: black; } + +.storage-bar .video { border-bottom-width: 1px; border-bottom-color: shade(#f66151,0.8); background-color: #f66151; } + +.storage-bar .video image { color: white; } + +.storage-bar .legend { padding: 8px; border-radius: 50%; } + +.storage-bar .legend image { color: black; } + +.storage-bar .disk-bar { padding: 0; border-radius: 6px; background-color: #cdab8f; } + +.storage-bar .ext2, .storage-bar .ext3, .storage-bar .ext4, .storage-bar .fat16, .storage-bar .fat32, .storage-bar .btrfs, .storage-bar .xfs, .storage-bar .ntfs, .storage-bar .luks, .storage-bar .lvm, .storage-bar .none, .storage-bar .swap, .storage-bar .unused { border: none; box-shadow: inset 0 -2px rgba(94, 92, 100, 0.5), inset 1px 0 rgba(94, 92, 100, 0.5), inset -1px 0 rgba(94, 92, 100, 0.5); } + +.storage-bar .swap { background-color: #a51d2d; } + +.storage-bar .swap image { color: white; } + +.storage-bar .ext4 { background-color: #57e389; } + +.storage-bar .ext4 image { color: black; } + +.storage-bar .ext3 { background-color: #26a269; } + +.storage-bar .ext3 image { color: white; } + +.storage-bar .ext2 { background-color: #8ff0a4; } + +.storage-bar .ext2 image { color: black; } + +.storage-bar .fat16, .storage-bar .fat32 { background-color: #f8e45c; } + +.storage-bar .fat16 image, .storage-bar .fat32 image { color: black; } + +.storage-bar .btrfs { background-color: #1a5fb4; } + +.storage-bar .btrfs image { color: white; } + +.storage-bar .xfs { background-color: #99c1f1; } + +.storage-bar .xfs image { color: black; } + +.storage-bar .ntfs { background-color: #ffa348; } + +.storage-bar .ntfs image { color: black; } + +.storage-bar .luks { background-color: #c061cb; } + +.storage-bar .luks image { color: black; } + +.storage-bar .lvm { background-color: #dc8add; } + +.storage-bar .lvm image { color: black; } + +.storage-bar .none { background-color: #99c1f1; } + +.storage-bar .none image { color: black; } + +.storage-bar .unused { background-color: #cdab8f; } + +.storage-bar .unused image { color: black; } + +.storage-bar .legend { box-shadow: none; } + +GraniteWidgetsPopOver { -GraniteWidgetsPopOver-arrow-width: 21; -GraniteWidgetsPopOver-arrow-height: 10; -GraniteWidgetsPopOver-border-radius: 12px; -GraniteWidgetsPopOver-border-width: 0; -GraniteWidgetsPopOver-shadow-size: 12; border: 1px solid @view_bg_color; background: @view_bg_color; color: @window_fg_color; } + +GraniteWidgetsPopOver .button { background-image: none; background: none; border: none; } + +GraniteWidgetsPopOver .button:active, GraniteWidgetsPopOver .button:active:hover { color: @accent_bg_color; } + +GraniteWidgetsPopOver > .frame { border: none; } + +GraniteWidgetsPopOver .sidebar.view, GraniteWidgetsPopOver iconview.sidebar { border: none; background: none; } + +GraniteWidgetsStaticNotebook .frame { border: none; } + +.popover_bg { background-color: @view_bg_color; background-image: none; border: 1px solid @view_bg_color; color: @window_fg_color; } + +.deck { background-color: @view_bg_color; } + +paper, .card { transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1); border: none; background-color: @view_bg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +paper, paper.rounded, .card, .card.rounded { border-radius: 12px; } + +paper.collapsed, .card.collapsed { background-color: @window_bg_color; } + +.source-list { -GtkTreeView-horizontal-separator: 1px; -GtkTreeView-vertical-separator: 6px; background-color: @window_bg_color; border: solid mix(currentColor,@window_bg_color,0.85); color: @window_fg_color; border-right-width: 1px; } + +.source-list .category-expander { color: transparent; } + +.source-list .badge { background-image: none; background-color: rgba(0, 0, 0, 0.4); color: @window_bg_color; border-radius: 10px; padding: 0 6px; margin: 0 3px; border-width: 0; } + +.source-list .badge:selected:backdrop, .source-list .badge:selected:hover:backdrop { background-color: rgba(0, 0, 0, 0.2); color: shade(@window_bg_color,0.95); } + +.source-list row, .source-list .list-row { border: none; padding: 0; } + +.source-list row > GtkLabel, .source-list row > label, .source-list .list-row > GtkLabel, .source-list .list-row > label { padding-left: 6px; padding-right: 6px; } + +.avatar { border-radius: 999px; box-shadow: none; } + +.overlay-bar { padding: 4px; } + +.dynamic-notebook tab.reorderable-page { padding: 8px; } + +scale.temperature trough { background-image: linear-gradient(to right, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.temperature:dir(rtl) trough { background-image: linear-gradient(to left, rgba(153, 193, 241, 0.4), #c0bfbc, #f9f06b); } + +scale.warmth trough { background-image: linear-gradient(to right, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +scale.warmth:dir(rtl) trough { background-image: linear-gradient(to left, rgba(249, 240, 107, 0.4), rgba(229, 165, 10, 0.6)); } + +.terminal, .terminal text { background-color: #3d3846; color: white; font-family: monospace; } + +.terminal selection, .terminal text selection { background-color: @accent_bg_color; color: white; } + +.terminal:backdrop, .terminal text:backdrop { background-color: #5e5c64; color: white; } + +label.terminal { padding: 1em; } + +.welcome { font-size: 10pt; text-shadow: none; } + +.welcome .h1, .welcome .h3 { color: shade(@window_fg_color,1.2); } + +button.back-button, button.back-button.text-button { padding-right: 8px; padding-left: 36px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button, .titlebar button.back-button.text-button { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); background-color: @headerbar_bg_color; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; padding-left: 36px; } + +.titlebar button.back-button:hover, .titlebar button.back-button.text-button:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active, .titlebar button.back-button.text-button:active { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: -gtk-icontheme("go-previous-symbolic"); background-repeat: no-repeat no-repeat; background-position: 5px 50%; background-size: 21px; } + +.titlebar button.back-button:active:hover, .titlebar button.back-button.text-button:active:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +button.back-button:dir(rtl), button.back-button.text-button:dir(rtl) { padding: 0.5em 0.6em; padding-right: 36px; padding-left: 8px; background-image: -gtk-icontheme("go-next-symbolic"); background-repeat: no-repeat no-repeat; background-position: 90% 50%; } + +.checkerboard { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.org-gnome-gedit notebook > header, .gedit-side-panel-paned notebook > header, .nautilus-window notebook > header { background-color: @headerbar_bg_color; border-bottom: 1px solid @headerbar_shade_color; box-shadow: none; } + +.org-gnome-gedit notebook > header:backdrop, .gedit-side-panel-paned notebook > header:backdrop, .nautilus-window notebook > header:backdrop { background-color: @headerbar_backdrop_color; box-shadow: none; } + +.org-gnome-gedit notebook arrow.down + tab.reorderable-page, .gedit-side-panel-paned notebook arrow.down + tab.reorderable-page, .nautilus-window notebook arrow.down + tab.reorderable-page, .org-gnome-gedit notebook tab:first-child.reorderable-page, .gedit-side-panel-paned notebook tab:first-child.reorderable-page, .nautilus-window notebook tab:first-child.reorderable-page { background-image: none; box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page, .gedit-side-panel-paned notebook tab.reorderable-page, .nautilus-window notebook tab.reorderable-page { -gtk-outline-radius: 8px; outline-width: 2px; outline-style: solid; outline-color: alpha(@accent_color,0.5); min-height: 37px; padding: 4px 0 0 0; box-shadow: none; border: none; color: @headerbar_fg_color; background-color: @headerbar_bg_color; background-image: -gtk-scaled(url("assets/tab-border-dark.png"), url("assets/tab-border-dark@2.png")); background-position: left; background-repeat: no-repeat; } + +.org-gnome-gedit notebook tab.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab.reorderable-page:backdrop, .nautilus-window notebook tab.reorderable-page:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab.reorderable-page > box, .gedit-side-panel-paned notebook tab.reorderable-page > box, .nautilus-window notebook tab.reorderable-page > box { margin: 0 3px 3px 3px; padding-right: 8px; border-radius: 6px; } + +.org-gnome-gedit notebook tab.reorderable-page > box > label, .gedit-side-panel-paned notebook tab.reorderable-page > box > label, .nautilus-window notebook tab.reorderable-page > box > label { padding-left: 8px; } + +.org-gnome-gedit notebook tab.reorderable-page > box button, .gedit-side-panel-paned notebook tab.reorderable-page > box button, .nautilus-window notebook tab.reorderable-page > box button { margin: 8px 0; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page > box, .gedit-side-panel-paned notebook tab:hover.reorderable-page > box, .nautilus-window notebook tab:hover.reorderable-page > box { background-color: alpha(currentColor,0.07); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:hover.reorderable-page, .gedit-side-panel-paned notebook tab:hover.reorderable-page, .nautilus-window notebook tab:hover.reorderable-page, .org-gnome-gedit notebook tab:hover.reorderable-page + tab, .gedit-side-panel-paned notebook tab:hover.reorderable-page + tab, .nautilus-window notebook tab:hover.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:hover.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:hover.reorderable-page:backdrop, .nautilus-window notebook tab:hover.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.org-gnome-gedit notebook tab:backdrop.reorderable-page, .gedit-side-panel-paned notebook tab:backdrop.reorderable-page, .nautilus-window notebook tab:backdrop.reorderable-page { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page { color: @headerbar_fg_color; background-color: transparent; box-shadow: none; border: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page > box, .nautilus-window notebook tab:checked.reorderable-page > box { background-color: alpha(currentColor,0.1); transition: background-color 150ms ease-in-out; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover, .nautilus-window notebook tab:checked.reorderable-page:hover, .org-gnome-gedit notebook tab:checked.reorderable-page:active, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active, .nautilus-window notebook tab:checked.reorderable-page:active { box-shadow: none; background-color: transparent; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover > box, .nautilus-window notebook tab:checked.reorderable-page:hover > box, .org-gnome-gedit notebook tab:checked.reorderable-page:active > box, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active > box, .nautilus-window notebook tab:checked.reorderable-page:active > box { background-color: alpha(currentColor,0.13); } + +.org-gnome-gedit notebook tab:checked.reorderable-page:hover:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:hover:backdrop, .nautilus-window notebook tab:checked.reorderable-page:hover:backdrop, .org-gnome-gedit notebook tab:checked.reorderable-page:active:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:active:backdrop, .nautilus-window notebook tab:checked.reorderable-page:active:backdrop { box-shadow: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page, .gedit-side-panel-paned notebook tab:checked.reorderable-page, .nautilus-window notebook tab:checked.reorderable-page, .org-gnome-gedit notebook tab:checked.reorderable-page + tab, .gedit-side-panel-paned notebook tab:checked.reorderable-page + tab, .nautilus-window notebook tab:checked.reorderable-page + tab { background-image: none; } + +.org-gnome-gedit notebook tab:checked.reorderable-page:backdrop, .gedit-side-panel-paned notebook tab:checked.reorderable-page:backdrop, .nautilus-window notebook tab:checked.reorderable-page:backdrop { background-color: transparent; box-shadow: none; } + +.nautilus-window headerbar .path-bar-box, .nautilus-window .titlebar .path-bar-box { border-radius: 6px; border: none; padding-right: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); } + +.nautilus-window headerbar .path-bar-box:backdrop, .nautilus-window .titlebar .path-bar-box:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar, .nautilus-window .titlebar .nautilus-path-bar { border-radius: 6px; color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); min-height: 34px; } + +.nautilus-window headerbar .nautilus-path-bar:backdrop, .nautilus-window .titlebar .nautilus-path-bar:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton) { margin: 0; padding-left: 8px; padding-right: 8px; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).current-dir, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).current-dir { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir), .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir) { border-width: 0px; border-radius: 6px; background-color: transparent; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover { color: @headerbar_fg_color; background-color: mix(currentColor,@window_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:hover { background-color: mix(currentColor,@window_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover *, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover * { opacity: 1; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton):not(.current-dir):hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),shade(mix(@headerbar_backdrop_color,@view_bg_color,0.15),0.96),0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.7); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_bg_color,0.903); border-radius: 0 6px 6px 0; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup image, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup image { color: @headerbar_fg_color; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:hover { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.85); box-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked { color: @headerbar_fg_color; background-color: mix(currentColor,@headerbar_bg_color,0.703); box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:checked:hover { background-color: mix(currentColor,@headerbar_bg_color,0.653); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@headerbar_backdrop_color,0.2); background-color: mix(currentColor,@headerbar_backdrop_color,0.9); text-shadow: none; -gtk-icon-shadow: none; border-left: 1px solid alpha(currentColor,0.15); } + +.nautilus-window headerbar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover, .nautilus-window .titlebar .nautilus-path-bar button:not(.titlebutton).toggle.popup:backdrop:hover { color: mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5); outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@headerbar_backdrop_color,0.903); } + +.nautilus-window .path-buttons-box { border: 2px solid transparent; } + +.nautilus-window .path-buttons-box button { min-height: 22px; } + +.nautilus-window .linked.raised button.image-button:not(:only-child), .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop, .nautilus-window .linked.raised button.image-button:not(:only-child):disabled, .nautilus-window .linked.raised button.image-button:not(:only-child):backdrop:disabled { border: none; } + +.nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active), .nautilus-window .linked button.disclosure-button:not(:hover):not(:checked):not(:active):backdrop, .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model), .nautilus-window .linked .image-button:not(:hover):not(:checked):not(:active):not(.model):backdrop { background-color: transparent; } + +.nautilus-window .search + .toggle.popup { border-left-color: alpha(currentColor,0.15); } + +.nautilus-window .view .dim-label, .nautilus-window .view dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window .view .subtitle, .nautilus-window iconview .dim-label, .nautilus-window iconview dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .nautilus-window iconview .subtitle, .nautilus-window .view label.separator, .nautilus-window iconview label.separator, .nautilus-window .view headerbar .subtitle, headerbar .nautilus-window .view .subtitle, .nautilus-window iconview headerbar .subtitle, headerbar .nautilus-window iconview .subtitle, .nautilus-window .view .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window .view .subtitle, .nautilus-window iconview .titlebar:not(headerbar) .subtitle, .titlebar:not(headerbar) .nautilus-window iconview .subtitle { color: alpha(@window_fg_color,0.55); } + +.nautilus-window .thumbnail { box-shadow: 0px 1px 2px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 0px 0px 1px alpha(mix(currentColor,@window_bg_color,0.85),0.5), 0px 2px 0px 0px alpha(mix(currentColor,@window_bg_color,0.85),0.5); border-radius: 2px; } + +.nautilus-window .operations-list, .nautilus-window .operations-list > :hover { background: none; } + +.nautilus-window .nautilus-canvas-item { border-radius: 0px; } + +.nautilus-window .nautilus-canvas-item.label-text { border-radius: 6px; } + +.nautilus-window .nautilus-list-view .view:selected, .nautilus-window .nautilus-list-view iconview:selected { background-color: alpha(@accent_bg_color,0.25); color: @view_fg_color; } + +.nautilus-window .nautilus-list-view .view:selected:hover, .nautilus-window .nautilus-list-view iconview:selected:hover { background-color: alpha(@accent_bg_color,0.32); } + +.nautilus-window .nautilus-list-view .view:hover, .nautilus-window .nautilus-list-view iconview:hover { background-color: alpha(currentColor,0.04); } + +.nautilus-window entry.search > :not(.csd) { margin: 5px; } + +.nautilus-window entry.search > :not(.csd):not(image), .nautilus-window entry.search > :not(.csd):backdrop:not(image) { color: @accent_fg_color; background-color: @accent_bg_color; } + +.floating-bar { padding: 3px; background-color: @view_bg_color; border-width: 1px; border-style: solid solid none; border-color: mix(currentColor,@window_bg_color,0.85); border-radius: 8px 0 0 0; } + +.floating-bar.bottom.left { border-left-style: none; border-top-left-radius: 0; } + +.floating-bar.bottom.right { border-right-style: none; border-top-right-radius: 0; } + +.floating-bar:backdrop { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.floating-bar button { padding: 0px; } + +.disk-space-display { border-style: solid; border-width: 2px; } + +.disk-space-display.unknown { background-color: #888a85; border-color: shade(#888a85, 0.7); color: #888a85; } + +.disk-space-display.unknown.border { color: shade(#888a85, 0.7); } + +.disk-space-display.used { background-color: #729fcf; border-color: shade(#729fcf, 0.7); color: #729fcf; } + +.disk-space-display.used.border { color: shade(#729fcf, 0.7); } + +.disk-space-display.free { background-color: #eeeeec; border-color: shade(#eeeeec, 0.7); color: #eeeeec; } + +.disk-space-display.free.border { color: shade(#eeeeec, 0.7); } + +.gedit-search-slider { background: @window_bg_color; border: 1px solid mix(currentColor,@window_bg_color,0.85); border-top-style: none; padding: 4px 8px; border-radius: 0 0 6px 6px; } + +.gedit-search-slider button { padding-top: 7px; padding-bottom: 7px; } + +.gedit-document-panel { background-color: @window_bg_color; } + +.gedit-document-panel row.activatable { padding: 6px; } + +.gedit-document-panel row button { min-width: 22px; min-height: 22px; padding: 0; margin: 0; border: none; } + +.gedit-document-panel row:hover button:hover { background-color: alpha(currentColor,0.15); } + +.gedit-document-panel row:hover button:active { background-color: alpha(currentColor,0.3); } + +.gedit-document-panel row:hover:selected button:hover { color: @window_fg_color; } + +.titlebar.tweak-titlebar-left { background-image: none; background-color: @sidebar_bg_color; border-bottom-color: transparent; } + +.titlebar.tweak-titlebar-left:backdrop { background-color: @sidebar_backdrop_color; } + +.titlebar.tweak-titlebar-left button { background-color: transparent; } + +.titlebar.tweak-titlebar-left button:hover { background-color: alpha(currentColor,0.15); } + +.titlebar.tweak-titlebar-left button:hover:active, .titlebar.tweak-titlebar-left button:active, .titlebar.tweak-titlebar-left button:hover:checked, .titlebar.tweak-titlebar-left button:checked { background-color: alpha(currentColor,0.3); } + +.titlebar.tweak-titlebar-left button:backdrop { background: alpha(currentColor,0.1); } + +.titlebar.tweak-titlebar-left button:backdrop:hover { background: alpha(currentColor,0.15); } + +.titlebar.tweak-titlebar-right { background-image: none; background-color: @window_bg_color; border-bottom-color: transparent; } + +.navigation-sidebar { background-color: @sidebar_bg_color; } + +.navigation-sidebar:backdrop { background-color: @sidebar_backdrop_color; } + +.navigation-sidebar separator.horizontal { margin: 2px 0; padding: 0; background-color: transparent; } + +list.tweak-categories separator.horizontal { background: transparent; margin: 2px 0; } + +.tweak-group .tweak list { border-radius: 12px; border: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.org-gnome-Todo taskrow.activatable.new-task-row button.popup.toggle { border-radius: 0px; border: none; border-left: 1px solid mix(currentColor,@window_bg_color,0.85); padding-left: 10px; padding-right: 10px; -gtk-outline-radius: 0px; } + +.org-gnome-Todo viewport.view, .org-gnome-Todo listbox.transparent { background-color: shade(@view_bg_color,0.95); } + +.org-gnome-Todo viewport.view:backdrop, .org-gnome-Todo listbox.transparent:backdrop { background-color: @window_bg_color; } + +window#guake-terminal notebook header { background: @headerbar_bg_color; } + +.XfceHeading { background-color: @view_bg_color; margin: 0; padding: 0; border-width: 0; } + +XfdesktopIconView.view { background: transparent; color: rgba(255, 255, 255, 0.9); border-radius: 6px; } + +XfdesktopIconView.view:active { background: alpha(mix(black,@accent_bg_color,0.85),0.5); text-shadow: 0 1px 1px black; } + +XfdesktopIconView.view .label { text-shadow: 1px 1px 2px black; } + +XfdesktopIconView.view .rubberband { border-radius: 0; } + +@define-color panel_bg_color black; +@define-color panel_fg_color white; +.xfce4-panel.background { border: none; background-color: @panel_bg_color; color: @panel_fg_color; transition-duration: 250ms; } + +.xfce4-panel.background .tasklist button, .xfce4-panel.background #actions-button, .xfce4-panel.background #clock-button { margin: 0 1px; } + +.xfce4-panel.background.horizontal .tasklist button { margin: 0 1px; } + +.xfce4-panel.background.horizontal .tasklist button label { padding-right: 3px; } + +.xfce4-panel.background.vertical .tasklist button { margin: 1px 0; } + +.xfce4-panel.background.vertical .tasklist button label { padding-bottom: 3px; } + +.xfce4-panel.background .tasklist image { margin-left: 2px; margin-right: 2px; } + +.xfce4-panel.background button label { padding-left: 6px; padding-right: 6px; } + +.xfce4-panel.background button { padding: 0 6px; min-height: 12px; min-width: 12px; border-radius: 24px; color: @panel_fg_color; transition-duration: 250ms; border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.xfce4-panel.background button:disabled { background-color: transparent; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:hover:not(:active):not(:checked) { color: @panel_fg_color; background-color: alpha(@panel_fg_color,0.25); background-image: none; } + +.xfce4-panel.background button:checked { background-color: alpha(@panel_fg_color,0.2); color: @panel_fg_color; } + +.xfce4-panel.background button:checked:hover { background-color: alpha(@panel_fg_color,0.35); } + +.xfce4-panel.background button:checked:disabled { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; color: alpha(@panel_fg_color,0.2); } + +.xfce4-panel.background button:drop(active) { color: @accent_bg_color; border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +.xfce4-panel.background button entry { caret-color: @view_fg_color; } + +.xfce4-panel.background button menu { -gtk-icon-effect: none; text-shadow: none; } + +.xfce4-panel.background button menu .linked button { color: @view_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@popover_bg_color,0.903); } + +.xfce4-panel.background button menu .linked button:disabled { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: mix(currentColor,@window_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; border-color: alpha(mix(currentColor,@window_bg_color,0.85),0.5); } + +.xfce4-panel.background progressbar { margin: 0; } + +.xfce4-panel.background progressbar.horizontal trough { min-height: 6px; padding: 0; } + +.xfce4-panel.background progressbar.horizontal progress { min-height: 4px; } + +.xfce4-panel.background progressbar.vertical trough { min-width: 6px; padding: 0; } + +.xfce4-panel.background progressbar.vertical progress { min-width: 4px; } + +.xfce4-panel.background progressbar progress { border-radius: 0px; } + +.xfce4-panel.background progressbar trough { background: shade(@panel_bg_color,0.7); border-radius: 0px; border-color: shade(@panel_bg_color,0.4); } + +wnck-pager { background-color: alpha(@panel_fg_color,0.1); } + +wnck-pager:selected { background-color: shade(@accent_bg_color,0.88); } + +wnck-pager:hover { background-color: @accent_bg_color; } + +#xfwm-tabwin { padding: 12px; border-radius: 12px; -XfwmTabwinWidget-icon-size: 64px; -XfwmTabwinWidget-preview-size: 128px; } + +#xfwm-tabwin .tabwin-app-grid button { min-width: 96px; min-height: 96px; } + +window#whiskermenu-window button { transition: none; } + +#whiskermenu-button { transition: none; } + +#XfceNotifyWindow { border-radius: 8px; background-color: @view_bg_color; } + +.caja-desktop.caja-canvas-item, .nemo-desktop.nemo-canvas-item { color: @accent_fg_color; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } + +.nemo-properties-dialog .dialog-action-box .dialog-action-area { margin: 2px 6px 4px; } + +.nemo-properties-dialog toolbar stackswitcher.linked button { margin-right: 0; } + +.nemo-properties-dialog toolbar stackswitcher.linked button:backdrop { color: mix(@window_fg_color,@window_bg_color,0.5); background-color: @window_bg_color; } + +.nemo-window .sidebar scrolledwindow.frame.nemo-places-sidebar { border: none; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview { background-image: image(@window_bg_color); border-radius: 0; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:selected { background: @accent_bg_color; } + +.nemo-window .sidebar viewport.frame box.vertical treeview.view.places-treeview:not(:selected):not(:backdrop):hover { background-image: image(alpha(@window_fg_color,0.05)); } + +.nemo-window .nemo-inactive-pane .view, .nemo-window .nemo-inactive-pane iconview { background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry { border: 1px solid; border-radius: 3px; color: @window_fg_color; border-color: @accent_bg_color; background-color: @window_bg_color; } + +.nemo-window .nemo-window-pane widget.entry:selected { border: 1px solid; border-radius: 3px; color: @accent_fg_color; border-color: @accent_bg_color; background-color: @accent_bg_color; } + +.nemo-window toolbar.horizontal.primary-toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:first-child widget { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar widget.linked.raised button:last-child widget { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +.nemo-window toolbar.horizontal.primary-toolbar toolitem box widget * { min-height: 0; min-width: 0; } + +.nemo-window toolbar.horizontal.primary-toolbar .linked button { margin-right: 0; } + +#dialog-action_area3 { margin: 5px; } + +window.background.chromium { background-color: mix(currentColor,@window_bg_color,0.9); } + +window.background.chromium entry, window.background.chromium > button { border-color: mix(currentColor,@window_bg_color,0.73); background-color: mix(currentColor,@window_bg_color,0.8); } + +window.background.chromium textview.view { background-color: @view_bg_color; } + +window.background.chromium menuitem { border-radius: 0; } + +#MozillaGtkWidget.background button { font-weight: initial; } + +#MozillaGtkWidget.background check, #MozillaGtkWidget.background radio { padding: 0; min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background menuitem { border-radius: 0; } + +#MozillaGtkWidget.background menuitem check, #MozillaGtkWidget.background menuitem radio { min-height: 12px; min-width: 12px; } + +#MozillaGtkWidget.background { background-color: @headerbar_bg_color; } + +#MozillaGtkWidget > widget border { border-color: mix(currentColor,@window_bg_color,0.85); } + +window.background.chromium selection:focus, window.background.chromium selection, #MozillaGtkWidget.background selection:focus, #MozillaGtkWidget.background selection { background-color: @accent_bg_color; color: @accent_fg_color; } + +button .download_progress trough { min-height: 2px; } + +.titlebar .navigation-box.linked button:not(:only-child):not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):disabled:not(:hover):not(:active), .titlebar .navigation-box.linked button:not(:only-child):backdrop:not(:hover):not(:active) { border-color: transparent; background-color: transparent; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; } + +.titlebar .navigation-box.linked button:not(:only-child):last-child, .titlebar .navigation-box.linked button:not(:only-child):disabled:last-child, .titlebar .navigation-box.linked button:not(:only-child):backdrop:last-child { border-left-color: transparent; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected, dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected:hover { background-color: @accent_bg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected .subtitle { color: @accent_fg_color; } + +dzlsuggestionpopover > revealer > box > elastic > scrolledwindow > viewport > list > row:selected image { color: @accent_fg_color; } + +.incognito-mode headerbar, .incognito-mode headerbar.titlebar, .incognito-mode .titlebar { background: @incognito_bg_color; } + +.incognito-mode headerbar:backdrop, .incognito-mode headerbar.titlebar:backdrop, .incognito-mode .titlebar:backdrop { background: mix(@incognito_bg_color,@window_bg_color,0.5); } + +.incognito-mode headerbar button.image-button:hover, .incognito-mode headerbar.titlebar button.image-button:hover, .incognito-mode .titlebar button.image-button:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.03),0.903); } + +.incognito-mode headerbar button.image-button:hover:backdrop, .incognito-mode headerbar.titlebar button.image-button:hover:backdrop, .incognito-mode .titlebar button.image-button:hover:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(currentColor,@incognito_bg_color,1.01),0.2); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,1.01),0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar button.image-button:active, .incognito-mode headerbar button.image-button:checked, .incognito-mode headerbar.titlebar button.image-button:active, .incognito-mode headerbar.titlebar button.image-button:checked, .incognito-mode .titlebar button.image-button:active, .incognito-mode .titlebar button.image-button:checked { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } + +.incognito-mode headerbar button.image-button:active:hover, .incognito-mode headerbar button.image-button:checked:hover, .incognito-mode headerbar.titlebar button.image-button:active:hover, .incognito-mode headerbar.titlebar button.image-button:checked:hover, .incognito-mode .titlebar button.image-button:active:hover, .incognito-mode .titlebar button.image-button:checked:hover { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,mix(currentColor,@incognito_bg_color,0.963),0.903); } + +.incognito-mode headerbar button.image-button:active:backdrop, .incognito-mode headerbar button.image-button:checked:backdrop, .incognito-mode headerbar.titlebar button.image-button:active:backdrop, .incognito-mode headerbar.titlebar button.image-button:checked:backdrop, .incognito-mode .titlebar button.image-button:active:backdrop, .incognito-mode .titlebar button.image-button:checked:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar entry, .incognito-mode headerbar.titlebar entry, .incognito-mode .titlebar entry { color: @headerbar_fg_color; outline-color: alpha(@accent_color,0.5); background-color: mix(currentColor,@incognito_bg_color,0.903); } + +.incognito-mode headerbar entry:backdrop, .incognito-mode headerbar.titlebar entry:backdrop, .incognito-mode .titlebar entry:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),@incognito_bg_color,0.2); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; } + +.incognito-mode headerbar entry:disabled, .incognito-mode headerbar.titlebar entry:disabled, .incognito-mode .titlebar entry:disabled { color: mix(mix(@headerbar_fg_color,@headerbar_bg_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.incognito-mode headerbar entry:disabled:backdrop, .incognito-mode headerbar.titlebar entry:disabled:backdrop, .incognito-mode .titlebar entry:disabled:backdrop { color: mix(mix(@headerbar_fg_color,@headerbar_backdrop_color,0.5),mix(@incognito_bg_color,@view_bg_color,0.15),0.5); background-color: mix(currentColor,@incognito_bg_color,0.9); text-shadow: none; -gtk-icon-shadow: none; box-shadow: none; } + +.org-gnome-Builder .dzlmenubuttonitem { font-weight: normal; min-height: 32px; } + +terminal-window notebook > header.top tabs:not(:only-child):first-child, terminal-window notebook > header.bottom tabs:not(:only-child):first-child { margin-left: 0px; } + +terminal-window notebook > header.top tabs:not(:only-child):last-child, terminal-window notebook > header.bottom tabs:not(:only-child):last-child { margin-right: 0px; } + +terminal-window notebook scrollbar slider { margin: 0; border-width: 3px; } + +window.background.caja-navigation-window #Toolbar { border-bottom: 1px solid mix(currentColor,@window_bg_color,0.85); } + +window.background.caja-navigation-window #Toolbar:backdrop { background-color: @window_bg_color; border-color: mix(currentColor,@window_bg_color,0.73); } + +.caja-pathbar button { min-width: 32px; border-radius: 0; border-right-width: 0; margin-right: -3px; } + +.caja-pathbar button.slider-button:nth-child(odd) { border-radius: 6px 0px 0px 6px; } + +.caja-pathbar button.slider-button:nth-child(even) { border-radius: 0 6px 6px 0; border-right-width: 1px; } + +.caja-side-pane .frame { border-style: solid none none none; } + +.caja-notebook .view, .caja-notebook iconview, .caja-notebook .view.frame, .caja-notebook .frame { border-left: 0; border-right: 0; } + +.caja-side-pane + separator + box:backdrop { background: @window_bg_color; } + +.caja-navigation-window widget.view widget.entry, .caja-desktop-window widget.view widget.entry { background: mix(currentColor,@window_bg_color,0.95); color: @window_fg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.caja-navigation-window widget.view widget.entry:selected, .caja-desktop-window widget.view widget.entry:selected { background: @accent_bg_color; color: @accent_fg_color; } + +#gnc-id-main-window treeview.view:not(:selected):hover { background-color: mix(currentColor,@view_bg_color,0.93); } + +gnc-id-sheet-list { background-color: @window_bg_color; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content { background-color: @window_bg_color; border: none; border-radius: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable { border: 1px solid mix(currentColor,@window_bg_color,0.85); border-bottom-width: 0; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content > row.activatable:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content .geary-attachment-pane actionbar.background > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background { background-color: transparent; } + +geary-conversation-viewer#conversation_viewer list.background.conversation-listbox.content geary-composer-editor > box.background > actionbar > revealer > box { border-radius: 0 0 12px 12px; } + +geary-conversation-viewer#conversation_viewer searchbar > revealer > box { background-color: @view_bg_color; border-color: mix(currentColor,@window_bg_color,0.85); } + +.geary-folder-popover-list-row { border-radius: 0; margin: 0; } + +.geary-folder, .geary-folder:backdrop { background-color: @window_bg_color; } + +#DialogNotebook treeview.view:hover { background-color: alpha(@accent_bg_color,0.5); } + +.budgie-panel button { min-height: 16px; min-width: 16px; padding: 0; border-radius: 0; } + +.budgie-panel button.flat.launcher { padding: 0; } + +.budgie-panel.horizontal button, .budgie-panel #tasklist-button { padding: 0 4px; } + +.budgie-panel.vertical button { padding: 4px 0; } + +.budgie-panel.vertical #tasklist-button { min-height: 32px; } diff --git a/.themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css b/.themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css new file mode 100644 index 0000000..f30fdf1 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/libadwaita-tweaks.css @@ -0,0 +1,9 @@ +/* + This file will fix some legacy widget styles that aren't styled in libadwaita +*/ + +/* add a bg color to notebook headers */ +notebook > header { + background-color: @headerbar_bg_color; + border-color: mix(currentColor,@window_bg_color,0.85); +} diff --git a/.themes/adw-gtk3-dark/gtk-3.0/libadwaita.css b/.themes/adw-gtk3-dark/gtk-3.0/libadwaita.css new file mode 100644 index 0000000..a19df46 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-3.0/libadwaita.css @@ -0,0 +1,2458 @@ +@define-color blue_1 #99c1f1; +@define-color blue_2 #62a0ea; +@define-color blue_3 #3584e4; +@define-color blue_4 #1c71d8; +@define-color blue_5 #1a5fb4; +@define-color green_1 #8ff0a4; +@define-color green_2 #57e389; +@define-color green_3 #33d17a; +@define-color green_4 #2ec27e; +@define-color green_5 #26a269; +@define-color yellow_1 #f9f06b; +@define-color yellow_2 #f8e45c; +@define-color yellow_3 #f6d32d; +@define-color yellow_4 #f5c211; +@define-color yellow_5 #e5a50a; +@define-color orange_1 #ffbe6f; +@define-color orange_2 #ffa348; +@define-color orange_3 #ff7800; +@define-color orange_4 #e66100; +@define-color orange_5 #c64600; +@define-color red_1 #f66151; +@define-color red_2 #ed333b; +@define-color red_3 #e01b24; +@define-color red_4 #c01c28; +@define-color red_5 #a51d2d; +@define-color purple_1 #dc8add; +@define-color purple_2 #c061cb; +@define-color purple_3 #9141ac; +@define-color purple_4 #813d9c; +@define-color purple_5 #613583; +@define-color brown_1 #cdab8f; +@define-color brown_2 #b5835a; +@define-color brown_3 #986a44; +@define-color brown_4 #865e3c; +@define-color brown_5 #63452c; +@define-color light_1 #ffffff; +@define-color light_2 #f6f5f4; +@define-color light_3 #deddda; +@define-color light_4 #c0bfbc; +@define-color light_5 #9a9996; +@define-color dark_1 #77767b; +@define-color dark_2 #5e5c64; +@define-color dark_3 #3d3846; +@define-color dark_4 #241f31; +@define-color dark_5 #000000; +.background { color: @window_fg_color; background-color: @window_bg_color; } + +dnd { color: @window_fg_color; } + +.normal-icons { -gtk-icon-size: 16px; } + +.large-icons { -gtk-icon-size: 32px; } + +.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents, toast, .app-notification, .osd { color: rgba(255, 255, 255, 0.9); border: none; background-color: rgba(0, 0, 0, 0.7); background-clip: padding-box; } + +/* Text selection */ +selection { background-color: alpha(@view_fg_color,0.1); color: transparent; } + +selection:focus-within { background-color: alpha(@accent_bg_color,0.3); } + +:not(window):drop(active):focus, :not(window):drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; caret-color: @accent_bg_color; } + +.navigation-sidebar :not(window):drop(active):focus, .navigation-sidebar :not(window):drop(active), placessidebar :not(window):drop(active):focus, placessidebar :not(window):drop(active), stackswitcher :not(window):drop(active):focus, stackswitcher :not(window):drop(active), expander-widget :not(window):drop(active):focus, expander-widget :not(window):drop(active) { box-shadow: none; } + +/* Outline for low res icons */ +.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +/* Drop shadow for large icons */ +.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); } + +@keyframes needs_attention { from { background-image: radial-gradient(farthest-side, @accent_color 0%, transparent 0%); } + to { background-image: radial-gradient(farthest-side, @accent_color 95%, transparent); } } + +stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label, stackswitcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, @accent_color 96%, transparent); background-size: 6px 6px; background-repeat: no-repeat; background-position: right 3px; } + +stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > image:dir(rtl) { background-position: left 3px; } + +avatar { border-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: white; } + +avatar.image { background: none; } + +notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { min-height: 24px; min-width: 16px; padding: 5px 10px; border-radius: 6px; font-weight: bold; } + +notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook > header > tabs > arrow:focus:focus-visible, row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:focus:focus-visible, button:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd notebook > header > tabs > arrow:focus:focus-visible, .osd row.spin spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, .osd row.spin spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd colorswatch#add-color-button > overlay:focus:focus-visible, .osd button:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +actionbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar popover menubutton.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay, button { background-color: alpha(currentColor,0.1); } + +actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:hover, button:hover { background-color: alpha(currentColor,0.15); } + +actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.arrow-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.keyboard-activating.image-text-button:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.keyboard-activating, notebook > header > tabs > arrow:active, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:active, button.keyboard-activating, button:active { background-color: alpha(currentColor,0.3); } + +actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked, button:checked { background-color: alpha(currentColor,0.3); } + +actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, row.spin spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:hover, button:checked:hover { background-color: alpha(currentColor,0.35); } + +actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar popover menubutton:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.arrow-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar popover button.image-text-button:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.raised > button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .linked button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, row.spin spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked.keyboard-activating, notebook > header > tabs > arrow:checked:active, row.spin spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:checked:active, button:checked.keyboard-activating, button:checked:active { background-color: alpha(currentColor,0.4); } + +notebook > header > tabs > arrow:disabled, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:disabled, button:disabled { filter: opacity(0.5); } + +notebook > header > tabs > arrow:disabled label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) label, row.spin spinbutton > button.image-button.up:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:disabled:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, colorswatch#add-color-button > overlay:disabled label, button:disabled label { filter: none; } + +notebook > header > tabs > arrow.image-button, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; } + +notebook > header > tabs > arrow.text-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button, button.text-button { padding-left: 17px; padding-right: 17px; } + +notebook > header > tabs > arrow.text-button.image-button, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.text-button.image-button, notebook > header > tabs > arrow.image-text-button, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.image-text-button, button.text-button.image-button, button.image-text-button { padding-left: 9px; padding-right: 9px; } + +notebook > header > tabs > arrow.text-button.image-button > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.text-button.image-button > box, notebook > header > tabs > arrow.text-button.image-button > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.text-button.image-button > box > box, notebook > header > tabs > arrow.image-text-button > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.image-text-button > box, notebook > header > tabs > arrow.image-text-button > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box, colorswatch#add-color-button > overlay.image-text-button > box > box, button.text-button.image-button > box, button.text-button.image-button > box > box, button.image-text-button > box, button.image-text-button > box > box { border-spacing: 4px; } + +notebook > header > tabs > arrow.text-button.image-button > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > label, notebook > header > tabs > arrow.text-button.image-button > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.text-button.image-button > box > box > label, notebook > header > tabs > arrow.image-text-button > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > label, colorswatch#add-color-button > overlay.image-text-button > box > label, notebook > header > tabs > arrow.image-text-button > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box > box > label, row.spin spinbutton > button.image-text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box > box > label, colorswatch#add-color-button > overlay.image-text-button > box > box > label, button.text-button.image-button > box > label, button.text-button.image-button > box > box > label, button.image-text-button > box > label, button.image-text-button > box > box > label { padding-left: 2px; padding-right: 2px; } + +notebook > header > tabs > arrow.arrow-button, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay.arrow-button, button.arrow-button { padding-left: 9px; padding-right: 9px; } + +notebook > header > tabs > arrow.arrow-button > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr) > box, row.spin spinbutton > button.arrow-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button > box, button.arrow-button > box { border-spacing: 4px; } + +notebook > header > tabs > arrow.arrow-button.text-button > box, row.spin spinbutton > button.arrow-button.text-button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child > box, row.spin spinbutton > button.arrow-button.text-button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child > box, colorswatch#add-color-button > overlay.arrow-button.text-button > box, button.arrow-button.text-button > box { border-spacing: 4px; } + +dropdown:drop(active) button.combo, combobox:drop(active) button.combo, searchbar > revealer > box .close:drop(active), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:drop(active), actionbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), window.dialog.message.csd .dialog-action-area > button:drop(active), popover.menu box.circular-buttons button.circular.image-button.model:drop(active), popover.menu box.inline-buttons button.image-button.model:drop(active), filechooser #pathbarbox > stack > box > button:drop(active), filechooser #pathbarbox > stack > box > box > button:drop(active), filechooser #pathbarbox > stack > box > menubutton > button:drop(active), button.sidebar-button:drop(active), button.emoji-section.image-button:drop(active):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:drop(active), calendar > header > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:drop(active), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:drop(active), splitbutton.flat > button:drop(active), splitbutton.flat > menubutton > button:drop(active), menubutton.flat > button:drop(active), button.flat:drop(active), menubutton.osd > button:drop(active), button.osd:drop(active), notebook > header > tabs > arrow:drop(active), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr), row.spin spinbutton > button.image-button.up:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:drop(active):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, colorswatch#add-color-button > overlay:drop(active), button:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 2px @accent_bg_color; } + +menubutton.osd > button, button.osd { min-width: 32px; min-height: 32px; color: rgba(255, 255, 255, 0.9); background-color: rgba(0, 0, 0, 0.65); } + +menubutton.osd > button, button.osd { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +menubutton.osd > button:focus:focus-visible, button.osd:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } + +menubutton.osd > button:hover, button.osd:hover { color: white; background-color: alpha(mix(black,currentColor,0.15),0.65); } + +menubutton.osd > button.keyboard-activating, menubutton.osd > button:active, button.osd.keyboard-activating, button.osd:active { color: white; background-color: alpha(mix(black,currentColor,0.25),0.65); } + +menubutton.osd > button:checked, button.osd:checked { background-color: alpha(mix(black,currentColor,0.2),0.65); } + +menubutton.osd > button:checked:hover, button.osd:checked:hover { background-color: alpha(mix(black,currentColor,0.25),0.65); } + +menubutton.osd > button:checked.keyboard-activating, menubutton.osd > button:checked:active, button.osd:checked.keyboard-activating, button.osd:checked:active { background-color: alpha(mix(black,currentColor,0.35),0.65); } + +menubutton.osd > button:focus:focus-visible, .osd button.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { box-shadow: none; } + +actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button, splitbutton.suggested-action > menubutton > button, splitbutton.destructive-action > button, splitbutton.destructive-action > menubutton > button, splitbutton.opaque > button, splitbutton.opaque > menubutton > button, menubutton.suggested-action > button, menubutton.destructive-action > button, menubutton.opaque > button, button.suggested-action, button.destructive-action, button.opaque { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:focus:focus-visible, splitbutton.suggested-action > menubutton > button:focus:focus-visible, splitbutton.destructive-action > button:focus:focus-visible, splitbutton.destructive-action > menubutton > button:focus:focus-visible, splitbutton.opaque > button:focus:focus-visible, splitbutton.opaque > menubutton > button:focus:focus-visible, menubutton.suggested-action > button:focus:focus-visible, menubutton.destructive-action > button:focus:focus-visible, menubutton.opaque > button:focus:focus-visible, button.suggested-action:focus:focus-visible, button.destructive-action:focus:focus-visible, button.opaque:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } + +.osd actionbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.suggested-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.destructive-action > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd menubutton.opaque > button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd splitbutton.suggested-action > button:focus:focus-visible, .osd splitbutton.suggested-action > menubutton > button:focus:focus-visible, .osd splitbutton.destructive-action > button:focus:focus-visible, .osd splitbutton.destructive-action > menubutton > button:focus:focus-visible, .osd splitbutton.opaque > button:focus:focus-visible, .osd splitbutton.opaque > menubutton > button:focus:focus-visible, .osd menubutton.suggested-action > button:focus:focus-visible, .osd menubutton.destructive-action > button:focus:focus-visible, .osd menubutton.opaque > button:focus:focus-visible, .osd button.suggested-action:focus:focus-visible, .osd button.destructive-action:focus:focus-visible, .osd button.opaque:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +actionbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:hover, splitbutton.suggested-action > menubutton > button:hover, splitbutton.destructive-action > button:hover, splitbutton.destructive-action > menubutton > button:hover, splitbutton.opaque > button:hover, splitbutton.opaque > menubutton > button:hover, menubutton.suggested-action > button:hover, menubutton.destructive-action > button:hover, menubutton.opaque > button:hover, button.suggested-action:hover, button.destructive-action:hover, button.opaque:hover { background-image: image(alpha(currentColor,0.1)); } + +actionbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button.keyboard-activating, splitbutton.suggested-action > menubutton > button.keyboard-activating, splitbutton.destructive-action > button.keyboard-activating, splitbutton.destructive-action > menubutton > button.keyboard-activating, splitbutton.opaque > button.keyboard-activating, splitbutton.opaque > menubutton > button.keyboard-activating, menubutton.suggested-action > button.keyboard-activating, menubutton.destructive-action > button.keyboard-activating, menubutton.opaque > button.keyboard-activating, button.keyboard-activating.suggested-action, button.keyboard-activating.destructive-action, button.keyboard-activating.opaque, actionbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:active, splitbutton.suggested-action > menubutton > button:active, splitbutton.destructive-action > button:active, splitbutton.destructive-action > menubutton > button:active, splitbutton.opaque > button:active, splitbutton.opaque > menubutton > button:active, menubutton.suggested-action > button:active, menubutton.destructive-action > button:active, menubutton.opaque > button:active, button.suggested-action:active, button.destructive-action:active, button.opaque:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +actionbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button:checked, menubutton.suggested-action > button:checked, menubutton.destructive-action > button:checked, menubutton.opaque > button:checked, button.suggested-action:checked, button.destructive-action:checked, button.opaque:checked { background-image: image(rgba(0, 0, 0, 0.15)); } + +actionbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:hover, splitbutton.suggested-action > menubutton > button:checked:hover, splitbutton.destructive-action > button:checked:hover, splitbutton.destructive-action > menubutton > button:checked:hover, splitbutton.opaque > button:checked:hover, splitbutton.opaque > menubutton > button:checked:hover, menubutton.suggested-action > button:checked:hover, menubutton.destructive-action > button:checked:hover, menubutton.opaque > button:checked:hover, button.suggested-action:checked:hover, button.destructive-action:checked:hover, button.opaque:checked:hover { background-image: image(rgba(0, 0, 0, 0.05)); } + +actionbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked.keyboard-activating, splitbutton.suggested-action > menubutton > button:checked.keyboard-activating, splitbutton.destructive-action > button:checked.keyboard-activating, splitbutton.destructive-action > menubutton > button:checked.keyboard-activating, splitbutton.opaque > button:checked.keyboard-activating, splitbutton.opaque > menubutton > button:checked.keyboard-activating, menubutton.suggested-action > button:checked.keyboard-activating, menubutton.destructive-action > button:checked.keyboard-activating, menubutton.opaque > button:checked.keyboard-activating, button.suggested-action:checked.keyboard-activating, button.destructive-action:checked.keyboard-activating, button.opaque:checked.keyboard-activating, actionbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.suggested-action > button:checked:active, splitbutton.suggested-action > menubutton > button:checked:active, splitbutton.destructive-action > button:checked:active, splitbutton.destructive-action > menubutton > button:checked:active, splitbutton.opaque > button:checked:active, splitbutton.opaque > menubutton > button:checked:active, menubutton.suggested-action > button:checked:active, menubutton.destructive-action > button:checked:active, menubutton.opaque > button:checked:active, button.suggested-action:checked:active, button.destructive-action:checked:active, button.opaque:checked:active { background-image: image(rgba(0, 0, 0, 0.3)); } + +button.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } + +button.destructive-action { color: @destructive_fg_color; } + +button.destructive-action, button.destructive-action:checked { background-color: @destructive_bg_color; } + +button.suggested-action { color: @accent_fg_color; } + +button.suggested-action, button.suggested-action:checked { background-color: @accent_bg_color; } + +searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { background: transparent; box-shadow: none; } + +searchbar > revealer > box .close, actionbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar menubutton.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow, window.dialog.message.csd .dialog-action-area > button, popover.menu box.circular-buttons button.circular.image-button.model, popover.menu box.inline-buttons button.image-button.model, filechooser #pathbarbox > stack > box > button, filechooser #pathbarbox > stack > box > box > button, filechooser #pathbarbox > stack > box > menubutton > button, button.sidebar-button, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close, calendar > header > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button, menubutton.flat > button, button.flat { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +searchbar > revealer > box .close:focus:focus-visible, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:focus:focus-visible, window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, button.sidebar-button:focus:focus-visible, button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:focus:focus-visible, calendar > header > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, splitbutton.flat > button:focus:focus-visible, splitbutton.flat > menubutton > button:focus:focus-visible, menubutton.flat > button:focus:focus-visible, button.flat:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd searchbar > revealer > box .close:focus:focus-visible, searchbar > revealer > box .osd .close:focus:focus-visible, .osd actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, actionbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, searchbar > revealer > box .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .toolbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, headerbar .osd menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:focus:focus-visible, .osd actionbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.arrow-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd actionbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd searchbar > revealer > box button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd .toolbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd headerbar button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar .osd button.image-text-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.up:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd spinbutton > button.image-button.down:focus:focus-visible:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd notebook > header > tabs > arrow:focus:focus-visible, .osd window.dialog.message.csd .dialog-action-area > button:focus:focus-visible, window.dialog.message.csd .osd .dialog-action-area > button:focus:focus-visible, .osd popover.menu box.circular-buttons button.circular.image-button.model:focus:focus-visible, popover.menu box.circular-buttons .osd button.circular.image-button.model:focus:focus-visible, .osd popover.menu box.inline-buttons button.image-button.model:focus:focus-visible, popover.menu box.inline-buttons .osd button.image-button.model:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > box > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > box > button:focus:focus-visible, .osd filechooser #pathbarbox > stack > box > menubutton > button:focus:focus-visible, filechooser .osd #pathbarbox > stack > box > menubutton > button:focus:focus-visible, .osd button.sidebar-button:focus:focus-visible, .osd button.emoji-section.image-button:focus:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .osd infobar .close:focus:focus-visible, infobar .osd .close:focus:focus-visible, .osd calendar > header > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:focus:focus-visible, .osd actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, actionbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, searchbar > revealer > box .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .toolbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, headerbar .osd splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:focus:focus-visible, .osd splitbutton.flat > button:focus:focus-visible, .osd splitbutton.flat > menubutton > button:focus:focus-visible, .osd menubutton.flat > button:focus:focus-visible, .osd button.flat:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +searchbar > revealer > box .close:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:hover, actionbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:hover, window.dialog.message.csd .dialog-action-area > button:hover, popover.menu box.circular-buttons button.circular.image-button.model:hover, popover.menu box.inline-buttons button.image-button.model:hover, filechooser #pathbarbox > stack > box > button:hover, filechooser #pathbarbox > stack > box > box > button:hover, filechooser #pathbarbox > stack > box > menubutton > button:hover, button.sidebar-button:hover, button.emoji-section.image-button:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:hover, calendar > header > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:hover, splitbutton.flat > button:hover, splitbutton.flat > menubutton > button:hover, menubutton.flat > button:hover, button.flat:hover { background: alpha(currentColor,0.07); } + +searchbar > revealer > box .keyboard-activating.close, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button.keyboard-activating, actionbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.arrow-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.keyboard-activating.image-text-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.keyboard-activating.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow.keyboard-activating, window.dialog.message.csd .dialog-action-area > button.keyboard-activating, popover.menu box.circular-buttons button.keyboard-activating.circular.image-button.model, popover.menu box.inline-buttons button.keyboard-activating.image-button.model, filechooser #pathbarbox > stack > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > box > button.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button.keyboard-activating, button.keyboard-activating.sidebar-button, button.keyboard-activating.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .keyboard-activating.close, calendar > header > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button.keyboard-activating, splitbutton.flat > button.keyboard-activating, splitbutton.flat > menubutton > button.keyboard-activating, menubutton.flat > button.keyboard-activating, searchbar > revealer > box .close:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:active, actionbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:active, window.dialog.message.csd .dialog-action-area > button:active, popover.menu box.circular-buttons button.circular.image-button.model:active, popover.menu box.inline-buttons button.image-button.model:active, filechooser #pathbarbox > stack > box > button:active, filechooser #pathbarbox > stack > box > box > button:active, filechooser #pathbarbox > stack > box > menubutton > button:active, button.sidebar-button:active, button.emoji-section.image-button:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:active, calendar > header > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:active, splitbutton.flat > button:active, splitbutton.flat > menubutton > button:active, menubutton.flat > button:active, button.flat.keyboard-activating, button.flat:active { background: alpha(currentColor,0.16); } + +searchbar > revealer > box .close:checked, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked, actionbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked, window.dialog.message.csd .dialog-action-area > button:checked, popover.menu box.circular-buttons button.circular.image-button.model:checked, popover.menu box.inline-buttons button.image-button.model:checked, filechooser #pathbarbox > stack > box > button:checked, filechooser #pathbarbox > stack > box > box > button:checked, filechooser #pathbarbox > stack > box > menubutton > button:checked, button.sidebar-button:checked, button.emoji-section.image-button:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked, calendar > header > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked, splitbutton.flat > button:checked, splitbutton.flat > menubutton > button:checked, menubutton.flat > button:checked, button.flat:checked { background: alpha(currentColor,0.1); } + +searchbar > revealer > box .close:checked:hover, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:hover, actionbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:hover:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:hover, window.dialog.message.csd .dialog-action-area > button:checked:hover, popover.menu box.circular-buttons button.circular.image-button.model:checked:hover, popover.menu box.inline-buttons button.image-button.model:checked:hover, filechooser #pathbarbox > stack > box > button:checked:hover, filechooser #pathbarbox > stack > box > box > button:checked:hover, filechooser #pathbarbox > stack > box > menubutton > button:checked:hover, button.sidebar-button:checked:hover, button.emoji-section.image-button:checked:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:hover, calendar > header > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:hover, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:hover, splitbutton.flat > button:checked:hover, splitbutton.flat > menubutton > button:checked:hover, menubutton.flat > button:checked:hover, button.flat:checked:hover { background: alpha(currentColor,0.13); } + +searchbar > revealer > box .close:checked.keyboard-activating, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked.keyboard-activating, actionbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked.keyboard-activating:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked.keyboard-activating, window.dialog.message.csd .dialog-action-area > button:checked.keyboard-activating, popover.menu box.circular-buttons button.circular.image-button.model:checked.keyboard-activating, popover.menu box.inline-buttons button.image-button.model:checked.keyboard-activating, filechooser #pathbarbox > stack > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > box > button:checked.keyboard-activating, filechooser #pathbarbox > stack > box > menubutton > button:checked.keyboard-activating, button.sidebar-button:checked.keyboard-activating, button.emoji-section.image-button:checked.keyboard-activating:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked.keyboard-activating, calendar > header > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked.keyboard-activating, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked.keyboard-activating, splitbutton.flat > button:checked.keyboard-activating, splitbutton.flat > menubutton > button:checked.keyboard-activating, menubutton.flat > button:checked.keyboard-activating, searchbar > revealer > box .close:checked:active, actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:checked:active, actionbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:checked:active:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:checked:active, window.dialog.message.csd .dialog-action-area > button:checked:active, popover.menu box.circular-buttons button.circular.image-button.model:checked:active, popover.menu box.inline-buttons button.image-button.model:checked:active, filechooser #pathbarbox > stack > box > button:checked:active, filechooser #pathbarbox > stack > box > box > button:checked:active, filechooser #pathbarbox > stack > box > menubutton > button:checked:active, button.sidebar-button:checked:active, button.emoji-section.image-button:checked:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:checked:active, calendar > header > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:checked:active, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:checked:active, splitbutton.flat > button:checked:active, splitbutton.flat > menubutton > button:checked:active, menubutton.flat > button:checked:active, button.flat:checked.keyboard-activating, button.flat:checked:active { background: alpha(currentColor,0.19); } + +searchbar > revealer > box .close:disabled:not(:checked), actionbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), searchbar > revealer > box menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), .toolbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), headerbar menubutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque).image-button > button:disabled:not(:checked), actionbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.arrow-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar button.image-text-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.up:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:disabled:not(:checked):not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), notebook > header > tabs > arrow:disabled:not(:checked), window.dialog.message.csd .dialog-action-area > button:disabled:not(:checked), popover.menu box.circular-buttons button.circular.image-button.model:disabled:not(:checked), popover.menu box.inline-buttons button.image-button.model:disabled:not(:checked), filechooser #pathbarbox > stack > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > box > button:disabled:not(:checked), filechooser #pathbarbox > stack > box > menubutton > button:disabled:not(:checked), button.sidebar-button:disabled:not(:checked), button.emoji-section.image-button:disabled:not(:checked):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), infobar .close:disabled:not(:checked), calendar > header > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled:not(:checked), actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled:not(:checked), splitbutton.flat > button:disabled:not(:checked), splitbutton.flat > menubutton > button:disabled:not(:checked), menubutton.flat > button:disabled:not(:checked), button.flat:disabled:not(:checked) { filter: opacity(0.3); } + +stackswitcher > button > label { padding: 0 6px; margin: 0 -6px; } + +stackswitcher > button > image { padding: 3px 6px; margin: -3px -6px; } + +stackswitcher > button.text-button { min-width: 100px; } + +button.font separator { background-color: transparent; } + +button.font > box { border-spacing: 6px; } + +button.font > box > box > label { font-weight: bold; } + +row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), menubutton.circular > button, button.circular { min-width: 34px; min-height: 34px; padding: 0; border-radius: 9999px; } + +row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child label, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child label, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child label, button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) label, menubutton.circular > button label, button.circular label { padding: 0; } + +menubutton.pill > button, button.pill { padding: 10px 32px; border-radius: 9999px; } + +button.card { background-color: @card_bg_color; background-clip: padding-box; font-weight: inherit; padding: 0; } + +button.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +button.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } + +button.card:hover { background-image: image(alpha(currentColor,0.04)); } + +button.card.keyboard-activating, button.card:active { background-image: image(alpha(currentColor,0.08)); } + +button.card:checked { background-color: @card_bg_color; background-image: image(alpha(@accent_bg_color,0.25)); } + +button.card:checked:hover { background-image: image(alpha(@accent_bg_color,0.32)); } + +button.card:checked.keyboard-activating, button.card:checked:active { background-image: image(alpha(@accent_bg_color,0.39)); } + +button.card:checked.has-open-popup { background-image: image(alpha(@accent_bg_color,0.32)); } + +.osd button.card:checked { background-color: alpha(currentColor,0.1); } + +button.card:drop(active) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +popover.menu modelbutton, button.link, button.link:hover, button.link:active, button.link:checked, columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { background-color: transparent; } + +button.color { padding: 5px; } + +button.color > colorswatch:only-child { border-radius: 2.5px; } + +button.color > colorswatch:only-child > overlay { border-radius: 2px; } + +button.color > colorswatch:only-child:disabled { filter: none; } + +button.color > colorswatch:only-child.light > overlay { border-color: alpha(@view_fg_color,0.1); } + +menubutton.osd { background: none; color: inherit; } + +menubutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } + +menubutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } + +menubutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } + +menubutton.suggested-action, menubutton.destructive-action, menubutton.opaque { border-radius: 6px; } + +menubutton.suggested-action.circular, menubutton.suggested-action.pill, menubutton.destructive-action.circular, menubutton.destructive-action.pill, menubutton.opaque.circular, menubutton.opaque.pill { border-radius: 9999px; } + +menubutton.suggested-action > button, menubutton.suggested-action > button:checked, menubutton.destructive-action > button, menubutton.destructive-action > button:checked, menubutton.opaque > button, menubutton.opaque > button:checked { background-color: transparent; color: inherit; } + +menubutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } + +menubutton.card > button { border-radius: 12px; } + +menubutton arrow { min-height: 16px; min-width: 16px; } + +menubutton arrow.none { -gtk-icon-source: -gtk-icontheme("open-menu-symbolic"); } + +menubutton arrow.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +menubutton arrow.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +menubutton arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +menubutton arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +splitbutton { border-radius: 6px; } + +splitbutton, splitbutton > separator { transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background; } + +splitbutton > separator { margin-top: 6px; margin-bottom: 6px; background: none; } + +splitbutton > menubutton > button { padding-left: 4px; padding-right: 4px; } + +splitbutton.image-button > button { min-width: 24px; padding-left: 5px; padding-right: 5px; } + +splitbutton.text-button.image-button > button, splitbutton.image-text-button > button { padding-left: 9px; padding-right: 9px; } + +splitbutton.text-button.image-button > button > box, splitbutton.image-text-button > button > box { border-spacing: 6px; } + +splitbutton:disabled { filter: opacity(0.5); } + +splitbutton:disabled > button, splitbutton:disabled > menubutton > button { filter: none; } + +splitbutton > button:dir(ltr), splitbutton > menubutton > button:dir(rtl) { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: -1px; } + +splitbutton > button:dir(rtl), splitbutton > menubutton > button:dir(ltr) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat > separator { background: alpha(currentColor,0.3); } + +actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:hover, splitbutton.flat:active, splitbutton.flat:checked { background: alpha(currentColor,0.07); } + +actionbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:hover:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:active:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, actionbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:checked:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:hover > separator, splitbutton.flat:active > separator, splitbutton.flat:checked > separator { background: none; } + +actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), splitbutton.flat:disabled { filter: opacity(0.3); } + +actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button:disabled, actionbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, searchbar > revealer > box splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, .toolbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, headerbar splitbutton:disabled:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button:disabled, splitbutton.flat:disabled > button:disabled, splitbutton.flat:disabled > menubutton > button:disabled { filter: none; } + +actionbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, searchbar > revealer > box splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, .toolbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, headerbar splitbutton:focus-within:focus-visible:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > separator, splitbutton.flat:focus-within:focus-visible > separator { background: none; } + +actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > button, actionbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, searchbar > revealer > box splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, .toolbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, headerbar splitbutton:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) > menubutton > button, splitbutton.flat > button, splitbutton.flat > menubutton > button { border-radius: 6px; } + +splitbutton.suggested-action { background-color: @accent_bg_color; color: @accent_fg_color; } + +splitbutton.destructive-action { background-color: @destructive_bg_color; color: @destructive_fg_color; } + +splitbutton.opaque { background-color: mix(@window_bg_color,@window_fg_color,0.15); color: @window_fg_color; } + +splitbutton.suggested-action > button, splitbutton.suggested-action > button:checked, splitbutton.suggested-action > menubutton > button, splitbutton.suggested-action > menubutton > button:checked, splitbutton.destructive-action > button, splitbutton.destructive-action > button:checked, splitbutton.destructive-action > menubutton > button, splitbutton.destructive-action > menubutton > button:checked, splitbutton.opaque > button, splitbutton.opaque > button:checked, splitbutton.opaque > menubutton > button, splitbutton.opaque > menubutton > button:checked { color: inherit; background-color: transparent; } + +splitbutton.suggested-action > menubutton > button:dir(ltr), splitbutton.destructive-action > menubutton > button:dir(ltr), splitbutton.opaque > menubutton > button:dir(ltr) { box-shadow: inset 1px 0 alpha(currentColor,0.3); } + +splitbutton.suggested-action > menubutton > button:dir(rtl), splitbutton.destructive-action > menubutton > button:dir(rtl), splitbutton.opaque > menubutton > button:dir(rtl) { box-shadow: inset -1px 0 alpha(currentColor,0.3); } + +splitbutton > menubutton > button > arrow.none { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +buttoncontent { border-spacing: 6px; } + +buttoncontent > label { font-weight: bold; } + +buttoncontent > label:dir(ltr) { padding-right: 2px; } + +buttoncontent > label:dir(rtl) { padding-left: 2px; } + +.arrow-button > box > buttoncontent > label:dir(ltr), splitbutton > button > buttoncontent > label:dir(ltr) { padding-right: 0; } + +.arrow-button > box > buttoncontent > label:dir(rtl), splitbutton > button > buttoncontent > label:dir(rtl) { padding-left: 0; } + +tabbutton label { font-weight: 800; font-size: 8pt; } + +tabbutton label.small { font-size: 6pt; } + +tabbutton indicatorbin > indicator, tabbutton indicatorbin > mask { transform: translate(-1px, 1px); } + +calendar { color: @view_fg_color; background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); font-feature-settings: "tnum"; } + +calendar > header { border-bottom: 1px solid alpha(currentColor,0.15); } + +calendar > header > button { border-radius: 0; } + +calendar > grid { padding-left: 3px; padding-bottom: 3px; } + +calendar > grid > label.today { box-shadow: inset 0px -2px alpha(currentColor,0.15); } + +calendar > grid > label.today:selected { box-shadow: none; } + +calendar > grid > label { margin-top: 3px; margin-right: 3px; } + +calendar > grid > label { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +calendar > grid > label:focus { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +calendar > grid > label.day-number { padding: 3px; } + +calendar > grid > label.day-number:checked { border-radius: 6px; background-color: alpha(@accent_bg_color,0.3); } + +calendar > grid > label.day-number:selected { border-radius: 6px; background-color: @accent_bg_color; color: @accent_fg_color; } + +calendar > grid > label.day-number.other-month { color: alpha(currentColor,0.3); } + +checkbutton { border-spacing: 4px; border-radius: 9px; padding: 3px; } + +checkbutton { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +checkbutton:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd checkbutton:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +checkbutton.text-button { padding: 4px; } + +check, radio { min-height: 14px; min-width: 14px; -gtk-icon-size: 14px; padding: 3px; box-shadow: inset 0 0 0 2px alpha(currentColor,0.15); } + +check:not(:checked):not(:indeterminate):hover, radio:not(:checked):not(:indeterminate):hover { box-shadow: inset 0 0 0 2px alpha(currentColor,0.2); } + +check:not(:checked):not(:indeterminate):active, radio:not(:checked):not(:indeterminate):active { background-color: alpha(currentColor,0.25); box-shadow: none; } + +check:checked, check:indeterminate, radio:checked, radio:indeterminate { background-color: @accent_bg_color; color: @accent_fg_color; box-shadow: none; } + +check:checked:hover, check:indeterminate:hover, radio:checked:hover, radio:indeterminate:hover { background-image: image(alpha(currentColor,0.1)); } + +check:checked:active, check:indeterminate:active, radio:checked:active, radio:indeterminate:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +check:disabled, radio:disabled { filter: opacity(0.5); } + +.osd check:checked, .osd check:indeterminate, .osd radio:checked, .osd radio:indeterminate { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } + +check { border-radius: 6px; } + +check:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/check-symbolic.symbolic.png")), -gtk-recolor(url("assets/check@2-symbolic.symbolic.png"))); } + +radio { border-radius: 100%; } + +radio:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/bullet-symbolic.symbolic.png")), -gtk-recolor(url("assets/bullet@2-symbolic.symbolic.png"))); } + +check:indeterminate, radio:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); } + +checkbutton.selection-mode { border-radius: 100px; } + +checkbutton.selection-mode check, checkbutton.selection-mode radio { padding: 7px; border-radius: 100px; } + +checkbutton.selection-mode label:dir(ltr) { margin-right: 6px; } + +checkbutton.selection-mode label:dir(rtl) { margin-left: 6px; } + +colorswatch { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +colorswatch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 4px; outline-offset: -2px; } + +colorswatch.top { border-top-left-radius: 6.5px; border-top-right-radius: 6.5px; } + +colorswatch.top > overlay { border-top-left-radius: 6px; border-top-right-radius: 6px; } + +colorswatch.bottom { border-bottom-left-radius: 6.5px; border-bottom-right-radius: 6.5px; } + +colorswatch.bottom > overlay { border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; } + +colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 6.5px; border-bottom-left-radius: 6.5px; } + +colorswatch.left > overlay, colorswatch:first-child:not(.top) > overlay { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } + +colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 6.5px; border-bottom-right-radius: 6.5px; } + +colorswatch.right > overlay, colorswatch:last-child:not(.bottom) > overlay { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } + +colorswatch.dark > overlay { color: white; } + +colorswatch.light > overlay { color: rgba(0, 0, 0, 0.75); box-shadow: inset 0 0 0 1px alpha(@view_fg_color,0.1); } + +colorswatch:drop(active).light > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } + +colorswatch:drop(active).dark > overlay { box-shadow: inset 0 0 0 2px @accent_bg_color; } + +colorswatch#add-color-button > overlay { border-radius: 6px 0 0 6px; } + +colorswatch#add-color-button:only-child > overlay { border-radius: 6px; } + +colorswatch:disabled { filter: opacity(0.5); } + +colorswatch#editor-color-sample { border-radius: 6px; } + +colorswatch#editor-color-sample > overlay { border-radius: 6.5px; } + +plane { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +plane:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 2px; } + +colorchooser .popover.osd { border-radius: 12px; } + +columnview, treeview.view, window.print treeview.dialog-action-box { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +columnview:focus:focus-visible, treeview.view:focus:focus-visible, window.print treeview.dialog-action-box:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +columnview:drop(active), treeview.view:drop(active), window.print treeview.dialog-action-box:drop(active) { box-shadow: none; } + +columnview > header > button, treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-top: 3px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; border-radius: 0; box-shadow: none; line-height: 100%; border-left: 1px solid transparent; } + +columnview > header > button:first-child, treeview.view > header > button:first-child, window.print treeview.dialog-action-box > header > button:first-child { border-left-width: 0; } + +columnview > header > button > box, treeview.view > header > button > box, window.print treeview.dialog-action-box > header > button > box { color: alpha(currentColor,0.4); font-weight: 700; font-size: 9pt; border-spacing: 6px; } + +columnview > header > button:hover > box, treeview.view > header > button:hover > box, window.print treeview.dialog-action-box > header > button:hover > box { color: alpha(currentColor,0.7); box-shadow: none; } + +columnview > header > button:active > box, treeview.view > header > button:active > box, window.print treeview.dialog-action-box > header > button:active > box { color: currentColor; } + +columnview > header > button sort-indicator, treeview.view > header > button sort-indicator, window.print treeview.dialog-action-box > header > button sort-indicator { min-height: 16px; min-width: 16px; } + +columnview > header > button sort-indicator.ascending, treeview.view > header > button sort-indicator.ascending, window.print treeview.dialog-action-box > header > button sort-indicator.ascending { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +columnview > header > button sort-indicator.descending, treeview.view > header > button sort-indicator.descending, window.print treeview.dialog-action-box > header > button sort-indicator.descending { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +columnview button.dnd:active, columnview button.dnd:selected, columnview button.dnd:hover, columnview button.dnd, treeview.view button.dnd, window.print treeview.dialog-action-box button.dnd, columnview header.button.dnd:active, columnview header.button.dnd:selected, columnview header.button.dnd:hover, columnview header.button.dnd, treeview.view header.button.dnd, window.print treeview.dialog-action-box header.button.dnd { color: @accent_fg_color; background-color: @accent_bg_color; transition: none; } + +columnview.view > listview.view, treeview.view > listview.view, window.print columnview.dialog-action-box > listview.view, window.print treeview.dialog-action-box > listview.view, window.print columnview.view > listview.dialog-action-box, window.print treeview.view > listview.dialog-action-box, window.print columnview.dialog-action-box > listview.dialog-action-box, window.print treeview.dialog-action-box > listview.dialog-action-box { background: none; color: inherit; } + +columnview > listview > row, treeview.view > listview > row, window.print treeview.dialog-action-box > listview > row { padding: 0; } + +columnview > listview > row > cell, treeview.view > listview > row > cell, window.print treeview.dialog-action-box > listview > row > cell { padding: 8px 6px; } + +columnview > listview > row > cell:not(:first-child), treeview.view > listview > row > cell:not(:first-child), window.print treeview.dialog-action-box > listview > row > cell:not(:first-child) { border-left: 1px solid transparent; } + +columnview.column-separators > listview > row > cell, treeview.column-separators.view > listview > row > cell, window.print treeview.column-separators.dialog-action-box > listview > row > cell, columnview.column-separators > header > button, treeview.column-separators.view > header > button, window.print treeview.column-separators.dialog-action-box > header > button { border-left-color: alpha(currentColor,0.15); } + +columnview > listview:not(.horizontal).separators > row:not(.separator), treeview.view > listview:not(.horizontal).separators > row:not(.separator), window.print treeview.dialog-action-box > listview:not(.horizontal).separators > row:not(.separator) { border-top: 1px solid alpha(currentColor,0.15); border-bottom: none; } + +columnview.data-table > listview > row > cell, treeview.data-table.view > listview > row > cell, window.print treeview.data-table.dialog-action-box > listview > row > cell { padding-top: 2px; padding-bottom: 2px; } + +columnview ~ undershoot.top, treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } + +columnview row:not(:selected) cell editablelabel:not(.editing):focus-within, treeview.view row:not(:selected) cell editablelabel:not(.editing):focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel:not(.editing):focus-within { outline: 2px solid alpha(@accent_color,0.5); } + +columnview row:not(:selected) cell editablelabel.editing:focus-within, treeview.view row:not(:selected) cell editablelabel.editing:focus-within, window.print treeview.dialog-action-box row:not(:selected) cell editablelabel.editing:focus-within { outline: 2px solid @accent_color; } + +treeexpander { border-spacing: 4px; } + +.dialog-action-area { margin: 6px; border-spacing: 6px; } + +/**************** Print dialog * */ +window.print drawing { color: @window_fg_color; background: none; border: none; padding: 0; } + +window.print drawing paper { background-color: white; color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid alpha(currentColor,0.15); } + +/******************** Page setup dalog * */ +/****************** GtkAboutDialog * */ +window.aboutdialog image.large-icons { -gtk-icon-size: 128px; } + +/************************* GtkColorChooserDialog * */ +/*********************** GtkAppChooserDialog * */ +window.appchooser headerbar.titlebar > windowhandle { padding-top: 3px; } + +window.appchooser headerbar.titlebar box.start + box { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } + +window.appchooser searchbar { background: none; } + +window.appchooser .dialog-vbox > box > box:not(.dialog-action-area) { margin: 6px; } + +window.appchooser .dialog-action-area { margin-top: 0; } + +/**************** GtkAssistant * */ +window.assistant .sidebar { padding: 6px; background-color: @sidebar_bg_color; color: @sidebar_fg_color; } + +window.assistant .sidebar:not(separator):dir(ltr) { border-right: none; box-shadow: inset -1px 0 @sidebar_shade_color; } + +window.assistant .sidebar:not(separator):dir(rtl) { box-shadow: inset 1px 0 @sidebar_shade_color; } + +window.assistant .sidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } + +window.assistant .sidebar > label { padding: 6px 12px; border-radius: 6px; } + +window.assistant .sidebar > label.highlight { background-color: alpha(currentColor,0.1); } + +/*************** GtkComboBox * */ +combobox button { padding-top: 2px; padding-bottom: 2px; min-height: 30px; } + +/*************** GtkIconView * */ +iconview { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +iconview:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +iconview:drop(active) { box-shadow: none; } + +iconview > dndtarget:drop(active) { border-style: solid; border-width: 1px; border-color: @accent_bg_color; } + +/************** GtkInfoBar * */ +infobar > revealer > box { padding: 6px; padding-bottom: 7px; border-spacing: 6px; box-shadow: inset 0 -1px @shade_color; } + +infobar > revealer > box > box { border-spacing: 6px; } + +infobar.action:hover > revealer > box { background-image: image(alpha(currentColor,0.05)); } + +infobar.action:active > revealer > box { background-image: image(alpha(currentColor,0.1)); } + +infobar.info > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } + +infobar.question > revealer > box { background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; } + +infobar.warning > revealer > box { background-color: mix(@warning_bg_color,@window_bg_color,0.7); color: @window_fg_color; } + +infobar.error > revealer > box { background-color: mix(@error_bg_color,@window_bg_color,0.7); color: @window_fg_color; } + +infobar .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +/**************** GtkStatusBar * */ +statusbar { padding: 6px 10px 6px 10px; } + +/*************** GtkTreeView * */ +treeview.view, window.print treeview.dialog-action-box { border-left-color: mix(currentColor,@view_bg_color,0.8); border-top-color: mix(currentColor,@view_bg_color,0.8); } + +treeview.view:selected:focus, treeview.view:selected, window.print treeview.dialog-action-box:selected { border-radius: 0; } + +treeview.view.separator, window.print treeview.separator.dialog-action-box { min-height: 2px; color: alpha(currentColor,0.15); } + +treeview.view.expander, window.print treeview.expander.dialog-action-box { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: alpha(currentColor,0.7); } + +treeview.view.expander:dir(rtl), window.print treeview.expander.dialog-action-box:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +treeview.view.expander:hover, window.print treeview.expander.dialog-action-box:hover, treeview.view.expander:active, window.print treeview.expander.dialog-action-box:active { color: currentColor; } + +treeview.view.expander:checked, window.print treeview.expander.dialog-action-box:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +treeview.view.expander:disabled, window.print treeview.expander.dialog-action-box:disabled { color: alpha(currentColor,0.5); } + +treeview.view > dndtarget:drop(active), window.print treeview.dialog-action-box > dndtarget:drop(active) { border-style: solid none; border-width: 1px; border-color: @accent_bg_color; } + +treeview.view > dndtarget:drop(active).after, window.print treeview.dialog-action-box > dndtarget:drop(active).after { border-top-style: none; } + +treeview.view > dndtarget:drop(active).before, window.print treeview.dialog-action-box > dndtarget:drop(active).before { border-bottom-style: none; } + +treeview.view > header > button, window.print treeview.dialog-action-box > header > button { padding-left: 4px; padding-right: 4px; border-bottom: 1px solid alpha(currentColor,0.15); } + +treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box { box-shadow: none; } + +treeview.view.progressbar, window.print treeview.progressbar.dialog-action-box, treeview.view.progressbar:selected { background-color: @accent_bg_color; color: @accent_fg_color; } + +treeview.view.trough, window.print treeview.trough.dialog-action-box { background-color: alpha(currentColor,0.1); } + +treeview.view ~ undershoot.top, window.print treeview.dialog-action-box ~ undershoot.top { box-shadow: none; background: none; } + +treeview.view acceleditor > label, window.print treeview.dialog-action-box acceleditor > label { background-color: mix(currentColor,@view_bg_color,0.9); } + +treeview.navigation-sidebar { padding: 0; } + +treeview.navigation-sidebar:selected:focus, treeview.navigation-sidebar:selected { background-color: alpha(currentColor,0.1); } + +treeview entry:focus-within:dir(rtl), treeview entry:focus-within:dir(ltr) { background-color: @view_bg_color; transition-property: color, background; } + +treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: @view_bg_color; } + +treeview entry.flat:focus-within, treeview entry:focus-within { border-color: @accent_color; } + +treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; } + +treeview spinbutton:not(.vertical) > text { min-height: 0; padding: 1px 2px; } + +.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) { border-right: 1px solid alpha(currentColor,0.15); border-left-style: none; } + +.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid alpha(currentColor,0.15); border-right-style: none; } + +.sidebar listview.view, .sidebar window.print listview.dialog-action-box, window.print .sidebar listview.dialog-action-box, .sidebar list { background-color: transparent; color: inherit; } + +paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; } + +.large-title { font-weight: 300; font-size: 24pt; } + +dropdown > button > box, combobox > button > box { border-spacing: 6px; } + +dropdown > button > box > stack > row.activatable:hover, combobox > button > box > stack > row.activatable:hover, dropdown > button > box > stack > row.activatable:active, combobox > button > box > stack > row.activatable:active { background: none; } + +dropdown arrow, combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; } + +dropdown:drop(active), combobox:drop(active) { box-shadow: none; } + +dropdown popover.menu, combobox popover.menu { padding-top: 6px; } + +dropdown popover.menu listview > row, combobox popover.menu listview > row { min-width: 0; } + +dropdown popover.menu .dropdown-searchbar, combobox popover.menu .dropdown-searchbar { padding: 6px; } + +dropdown popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top, combobox popover.menu .dropdown-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover.emoji-picker > contents { padding: 0; } + +.emoji-searchbar { padding: 6px; } + +.emoji-toolbar { padding: 3px; } + +button.emoji-section.image-button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-width: 32px; min-height: 32px; } + +popover.emoji-picker emoji { font-size: x-large; padding: 6px; border-radius: 6px; } + +popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover { background: alpha(currentColor,0.07); } + +popover.emoji-picker emoji:active { background: alpha(currentColor,0.16); } + +popover.emoji-picker scrolledwindow.view, popover.emoji-picker window.print scrolledwindow.dialog-action-box, window.print popover.emoji-picker scrolledwindow.dialog-action-box { background: none; color: inherit; } + +popover.emoji-picker scrolledwindow.view > undershoot.top, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.top, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover.emoji-picker scrolledwindow.view > undershoot.bottom, popover.emoji-picker window.print scrolledwindow.dialog-action-box > undershoot.bottom, window.print popover.emoji-picker scrolledwindow.dialog-action-box > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover.emoji-completion > contents { padding: 6px; padding-bottom: 4px; } + +emoji-completion-row { padding: 6px; margin-bottom: 2px; border-radius: 6px; } + +emoji-completion-row:dir(ltr) { padding-right: 12px; } + +emoji-completion-row:dir(rtl) { padding-left: 12px; } + +emoji-completion-row > box { border-spacing: 6px; } + +emoji-completion-row:focus, emoji-completion-row:hover { background-color: alpha(currentColor,0.1); color: @popover_fg_color; } + +emoji-completion-row:active { background-color: alpha(currentColor,0.16); } + +spinbutton, entry { min-height: 34px; padding-left: 9px; padding-right: 9px; border-radius: 6px; border-spacing: 6px; background-color: alpha(currentColor,0.1); background-clip: padding-box; caret-color: currentColor; } + +spinbutton, entry { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +spinbutton:focus-within, entry:focus-within { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd spinbutton:focus-within, .osd entry:focus-within { outline-color: rgba(255, 255, 255, 0.5); } + +spinbutton > text > block-cursor, entry > text > block-cursor { color: @view_bg_color; background-color: @view_fg_color; } + +spinbutton.flat, entry.flat:focus-within, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; box-shadow: none; border-radius: 0; } + +spinbutton:disabled, entry:disabled { filter: opacity(0.5); } + +spinbutton.error, entry.error { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +spinbutton.error:focus-within, entry.error:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } + +spinbutton.error > text > selection:focus-within, entry.error > text > selection:focus-within { background-color: alpha(@error_color,0.2); } + +spinbutton.error > text > cursor-handle > contents, entry.error > text > cursor-handle > contents { background-color: currentColor; } + +spinbutton.error > progress > trough > progress, entry.error > progress > trough > progress { border-color: currentColor; } + +spinbutton.warning, entry.warning { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +spinbutton.warning:focus-within, entry.warning:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } + +spinbutton.warning > text > selection:focus-within, entry.warning > text > selection:focus-within { background-color: alpha(@warning_color,0.2); } + +spinbutton.warning > text > cursor-handle > contents, entry.warning > text > cursor-handle > contents { background-color: currentColor; } + +spinbutton.warning > progress > trough > progress, entry.warning > progress > trough > progress { border-color: currentColor; } + +spinbutton.success, entry.success { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +spinbutton.success:focus-within, entry.success:focus-within { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -2px; } + +spinbutton.success > text > selection:focus-within, entry.success > text > selection:focus-within { background-color: alpha(@success_color,0.2); } + +spinbutton.success > text > cursor-handle > contents, entry.success > text > cursor-handle > contents { background-color: currentColor; } + +spinbutton.success > progress > trough > progress, entry.success > progress > trough > progress { border-color: currentColor; } + +spinbutton > image, entry > image { opacity: 0.7; } + +spinbutton > image:hover, entry > image:hover { opacity: 1; } + +spinbutton > image:active, entry > image:active { opacity: 0.8; } + +spinbutton > image.left, entry > image.left { margin-right: 6px; } + +spinbutton > image.right, entry > image.right { margin-left: 6px; } + +spinbutton.password image.caps-lock-indicator, entry.password image.caps-lock-indicator { opacity: 0.3; } + +spinbutton:drop(active), entry:drop(active):focus-within, entry:drop(active) { border-color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +spinbutton > progress, entry > progress { margin-bottom: 3px; } + +spinbutton > progress > trough > progress, entry > progress > trough > progress { background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: @accent_bg_color; border-style: solid; box-shadow: none; } + +.osd spinbutton > progress > trough > progress, .osd entry > progress > trough > progress { border-color: rgba(255, 255, 255, 0.75); } + +expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); } + +expander:disabled { filter: opacity(0.5); } + +expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +expander-widget > box > title { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +expander-widget:focus:focus-visible > box > title { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +expander-widget > box > title { border-radius: 6px; } + +expander-widget > box > title > expander { opacity: .7; } + +expander-widget > box > title:hover > expander, expander-widget > box > title:active > expander { opacity: 1; } + +placessidebar .navigation-sidebar > row { padding: 0; } + +placessidebar .navigation-sidebar > row > revealer { padding: 0 14px; } + +placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) { padding-right: 8px; } + +placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) { padding-left: 8px; } + +placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) { padding-right: 2px; } + +placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) { padding-left: 2px; } + +button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; } + +placessidebar .navigation-sidebar > row:selected:active { box-shadow: none; } + +placessidebar .navigation-sidebar > row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(@accent_bg_color); background-clip: content-box; } + +placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row { color: @accent_color; } + +placessidebar .navigation-sidebar > row:drop(active):not(:disabled) { color: @accent_bg_color; box-shadow: inset 0 0 0 1px @accent_bg_color; } + +row image.sidebar-icon { opacity: 0.7; } + +row .sidebar-button { opacity: 0.7; } + +row .sidebar-button:hover, row .sidebar-button:active, row .sidebar-button.keyboard-activating { opacity: 1; } + +placesview .server-list-button > image { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); } + +placesview .server-list-button:checked > image { -gtk-icon-transform: rotate(-0.5turn); } + +placesview > actionbar > revealer > box > box { border-spacing: 6px; } + +filechooser { box-shadow: 0 1px alpha(currentColor,0.15); } + +filechooser pathbar button:not(.image-button) { padding-left: 9px; padding-right: 9px; } + +filechooser pathbar button > box { border-spacing: 4px; } + +filechooser pathbar button > box > label { padding-left: 2px; padding-right: 2px; } + +filechooser columnview > listview > row > cell, filechooser treeview.view > listview > row > cell, filechooser window.print treeview.dialog-action-box > listview > row > cell, window.print filechooser treeview.dialog-action-box > listview > row > cell { padding: 0; } + +filechooser columnview > listview > row > cell > filelistcell, filechooser treeview.view > listview > row > cell > filelistcell, filechooser window.print treeview.dialog-action-box > listview > row > cell > filelistcell, window.print filechooser treeview.dialog-action-box > listview > row > cell > filelistcell { padding: 8px 6px; } + +filechooser gridview { padding: 15px; } + +filechooser gridview ~ undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } + +filechooser gridview > child { border-radius: 12px; padding: 0; margin: 3px; } + +filechooser gridview > child > filelistcell { padding: 6px 12px; } + +filechooser gridview > child filethumbnail image { filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3)); } + +filechooser gridview > child box { border-spacing: 6px; } + +filechooser > box > actionbar { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } + +filechooser > box > actionbar > revealer > box { box-shadow: none; padding-top: 6px; } + +filechooser scrolledwindow + actionbar > revealer > box { background-color: mix(@accent_bg_color,@view_bg_color,0.7); color: @window_fg_color; box-shadow: none; padding-top: 6px; font-weight: bold; } + +filechooser scrolledwindow + actionbar > revealer > box:backdrop { background-color: mix(@accent_bg_color,@view_bg_color,0.85); } + +filechooser placesview > stack > scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } + +filechooser placesview > actionbar > revealer > box { background: @view_bg_color; color: @view_fg_color; box-shadow: none; padding-top: 6px; } + +filechooser placesview > actionbar > revealer > box:backdrop { background: @view_bg_color; transition: none; } + +filechooser placessidebar { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } + +filechooser placessidebar:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } + +filechooser paned.horizontal > separator:dir(ltr) { box-shadow: inset 1px 0 @sidebar_bg_color, inset 1px 0 @sidebar_shade_color; } + +filechooser paned.horizontal > separator:dir(ltr):backdrop { box-shadow: inset 1px 0 @sidebar_backdrop_color, inset 1px 0 @sidebar_shade_color; } + +filechooser paned.horizontal > separator:dir(rtl) { box-shadow: inset -1px 0 @sidebar_bg_color, inset -1px 0 @sidebar_shade_color; } + +filechooser paned.horizontal > separator:dir(rtl):backdrop { box-shadow: inset -1px 0 @sidebar_backdrop_color, inset -1px 0 @sidebar_shade_color; } + +filechooser paned.horizontal > separator:backdrop { transition: box-shadow 200ms ease-out; } + +/* Fix header bar height in the file chooser */ +window.filechooser headerbar box.start + box.vertical { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } + +headerbar { min-height: 47px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color, inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); margin-left: -1px; margin-right: -1px; } + +headerbar > windowhandle > box { padding: 6px 7px 7px 7px; } + +headerbar > windowhandle > box > box.start, headerbar > windowhandle > box > box.end { border-spacing: 6px; } + +headerbar > windowhandle > box > box.start:dir(ltr), headerbar > windowhandle > box > box.end:dir(rtl), headerbar > windowhandle > box > widget > box.start:dir(ltr), headerbar > windowhandle > box > widget > box.end:dir(rtl) { margin-right: 6px; } + +headerbar > windowhandle > box > box.start:dir(rtl), headerbar > windowhandle > box > box.end:dir(ltr), headerbar > windowhandle > box > widget > box.start:dir(rtl), headerbar > windowhandle > box > widget > box.end:dir(ltr) { margin-left: 6px; } + +headerbar:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } + +headerbar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } + +headerbar.default-decoration { min-height: 37px; } + +headerbar.default-decoration > windowhandle > box { padding: 3px 4px 4px 4px; } + +headerbar.default-decoration windowcontrols > button { min-height: 22px; min-width: 22px; padding: 4px; } + +headerbar.default-decoration windowcontrols > .icon { margin: 7px; } + +window > .titlebar:not(.flat) { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } + +window > .titlebar headerbar:not(.flat) { box-shadow: inset 1px 0 alpha(@headerbar_border_color,0.15), inset -1px 0 alpha(@headerbar_border_color,0.15); } + +window > headerbar.titlebar, window > .titlebar headerbar { min-height: 46px; } + +window > headerbar.titlebar > windowhandle > box, window > .titlebar headerbar > windowhandle > box { padding-bottom: 6px; } + +window > headerbar.titlebar.default-decoration, window > .titlebar headerbar.default-decoration { min-height: 36px; } + +window > headerbar.titlebar.default-decoration > windowhandle > box, window > .titlebar headerbar.default-decoration > windowhandle > box { padding-bottom: 3px; } + +toolbarview > .top-bar headerbar, toolbarview > .bottom-bar headerbar, headerbar.flat, window.shortcuts headerbar.titlebar, window.print headerbar.titlebar, window.pagesetup headerbar.titlebar, window.aboutdialog headerbar.titlebar, window.colorchooser headerbar.titlebar, window.appchooser headerbar.titlebar { background: none; box-shadow: none; color: inherit; min-height: 46px; } + +toolbarview > .top-bar headerbar > windowhandle > box, toolbarview > .bottom-bar headerbar > windowhandle > box, headerbar.flat > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.print headerbar.titlebar > windowhandle > box, window.pagesetup headerbar.titlebar > windowhandle > box, window.aboutdialog headerbar.titlebar > windowhandle > box, window.colorchooser headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-bottom: 6px; } + +toolbarview > .top-bar headerbar.default-decoration, toolbarview > .bottom-bar headerbar.default-decoration, headerbar.default-decoration.flat, window.shortcuts headerbar.default-decoration.titlebar, window.print headerbar.default-decoration.titlebar, window.pagesetup headerbar.default-decoration.titlebar, window.aboutdialog headerbar.default-decoration.titlebar, window.colorchooser headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 36px; } + +toolbarview > .top-bar headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar headerbar.default-decoration > windowhandle > box, headerbar.default-decoration.flat > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.print headerbar.default-decoration.titlebar > windowhandle > box, window.pagesetup headerbar.default-decoration.titlebar > windowhandle > box, window.aboutdialog headerbar.default-decoration.titlebar > windowhandle > box, window.colorchooser headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-bottom: 3px; } + +toolbarview > .top-bar headerbar:backdrop, toolbarview > .bottom-bar headerbar:backdrop { transition: none; } + +toolbarview > .top-bar headerbar:backdrop > windowhandle, toolbarview > .bottom-bar headerbar:backdrop > windowhandle { filter: none; transition: none; } + +window.devel toolbarview > .top-bar headerbar > windowhandle, toolbarview > .top-bar window.devel headerbar > windowhandle, window.devel toolbarview > .bottom-bar headerbar > windowhandle, toolbarview > .bottom-bar window.devel headerbar > windowhandle { background-image: none; } + +toolbarview > .top-bar .collapse-spacing headerbar, toolbarview > .bottom-bar .collapse-spacing headerbar, window.shortcuts headerbar.titlebar, window.appchooser headerbar.titlebar { min-height: 40px; } + +toolbarview > .top-bar .collapse-spacing headerbar > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar > windowhandle > box, window.shortcuts headerbar.titlebar > windowhandle > box, window.appchooser headerbar.titlebar > windowhandle > box { padding-top: 3px; padding-bottom: 3px; } + +toolbarview > .top-bar .collapse-spacing headerbar.default-decoration, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration, window.shortcuts headerbar.default-decoration.titlebar, window.appchooser headerbar.default-decoration.titlebar { min-height: 30px; } + +toolbarview > .top-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, toolbarview > .bottom-bar .collapse-spacing headerbar.default-decoration > windowhandle > box, window.shortcuts headerbar.default-decoration.titlebar > windowhandle > box, window.appchooser headerbar.default-decoration.titlebar > windowhandle > box { padding-top: 0px; padding-bottom: 0px; } + +.titlebar:not(headerbar) separator { background-color: alpha(@headerbar_border_color,0.15); } + +/********************* GtkWindowControls * */ +windowcontrols { border-spacing: 3px; } + +windowcontrols > button { min-width: 24px; padding: 5px; box-shadow: none; } + +windowcontrols > button > image { background-color: alpha(currentColor,0.1); border-radius: 100%; padding: 2px; transition: background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +windowcontrols > button, windowcontrols > button:hover, windowcontrols > button:active { background: none; } + +windowcontrols > button:hover > image { background-color: alpha(currentColor,0.15); } + +windowcontrols > button:active > image { background-color: alpha(currentColor,0.3); } + +windowcontrols > .icon { margin: 9px; } + +/****************** AdwWindowTitle * */ +headerbar .title, windowtitle .title { padding-left: 12px; padding-right: 12px; font-weight: bold; } + +headerbar .subtitle, windowtitle .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; } + +windowtitle { margin-top: -6px; margin-bottom: -6px; min-height: 12px; } + +window.devel headerbar > windowhandle { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } + +label { caret-color: currentColor; } + +label:disabled { filter: opacity(0.5); } + +.dim-label, scale > value, progressbar > text, row.expander image.expander-row-arrow, row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title, row label.subtitle, spinbutton > text > placeholder, entry > text > placeholder, headerbar .subtitle, windowtitle .subtitle, label.separator { opacity: 0.55; } + +.accent { color: @accent_color; } + +.success { color: @success_color; } + +.warning { color: @warning_color; } + +.error { color: @error_color; } + +/********************** General Typography * */ +.title-1 { font-weight: 800; font-size: 20pt; } + +.title-2 { font-weight: 800; font-size: 15pt; } + +.title-3 { font-weight: 700; font-size: 15pt; } + +.title-4 { font-weight: 700; font-size: 13pt; } + +.heading, listview > header { font-weight: 700; font-size: 11pt; } + +.body { font-weight: 400; font-size: 11pt; } + +.caption-heading { font-weight: 700; font-size: 9pt; } + +.caption, row.property > box.header > box.title > .title, row.expander.property box > list > row > box.header > box.title > .title { font-weight: 400; font-size: 9pt; } + +.monospace { font-family: monospace; } + +.numeric, spinbutton, scale > value, progressbar > text { font-feature-settings: "tnum"; } + +/******************* Editable Labels * */ +editablelabel > stack > text { color: @view_fg_color; background-color: @view_bg_color; } + +levelbar:disabled { filter: opacity(0.5); } + +levelbar.horizontal trough > block { min-height: 8px; border-radius: 99px; } + +levelbar.horizontal trough > block.empty, levelbar.horizontal trough > block.full { border-radius: 99px; } + +levelbar.horizontal.discrete > trough > block { min-height: 8px; margin-right: 2px; min-width: 26px; border-radius: 0; } + +levelbar.horizontal.discrete > trough > block:first-child { border-radius: 99px 0 0 99px; } + +levelbar.horizontal.discrete > trough > block:last-child { border-radius: 0 99px 99px 0; margin-right: 0; } + +levelbar.vertical trough > block { min-width: 8px; border-radius: 99px; } + +levelbar.vertical trough > block.empty, levelbar.vertical trough > block.full { border-radius: 99px; } + +levelbar.vertical.discrete > trough > block { min-width: 8px; margin-bottom: 2px; min-height: 26px; border-radius: 0; } + +levelbar.vertical.discrete > trough > block:first-child { border-radius: 99px 99px 0 0; } + +levelbar.vertical.discrete > trough > block:last-child { border-radius: 0 0 99px 99px; margin-bottom: 0; } + +levelbar > trough { padding: 0; } + +levelbar > trough > block.low { background-color: @warning_bg_color; } + +levelbar > trough > block.high, levelbar > trough > block:not(.empty) { background-color: @accent_bg_color; } + +levelbar > trough > block.full { background-color: @success_bg_color; } + +levelbar > trough > block.empty { background-color: alpha(currentColor,0.15); } + +.osd levelbar > trough > block.high, .osd levelbar > trough > block:not(.empty) { background-color: rgba(255, 255, 255, 0.75); } + +.linked:not(.vertical) > button:dir(ltr):not(:first-child), .linked:not(.vertical) > button:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > button:dir(ltr):not(:last-child), .linked:not(.vertical) > button:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical button:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical button:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > menubutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > menubutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > menubutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical menubutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical menubutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > dropdown:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > dropdown:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical dropdown:not(:first-child) > button, .linked.vertical combobox:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical dropdown:not(:last-child) > button, .linked.vertical combobox:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > colorbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > colorbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical colorbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical colorbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > fontbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > fontbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical fontbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical fontbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > tabbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:last-child) > button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > tabbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > tabbutton:dir(rtl):not(:first-child) > button { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical tabbutton:not(:first-child) > button { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical tabbutton:not(:last-child) > button { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > spinbutton:dir(ltr):not(:first-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > spinbutton:dir(ltr):not(:last-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical spinbutton:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical spinbutton:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > entry:dir(ltr):not(:first-child), .linked:not(.vertical) > entry:dir(rtl):not(:last-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > entry:dir(ltr):not(:last-child), .linked:not(.vertical) > entry:dir(rtl):not(:first-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical entry:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical entry:not(:last-child) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical combobox:not(:first-child) > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical combobox:not(:last-child) > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:first-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:last-child) > combobox > box > button.combo { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; } + +.linked:not(.vertical) > appchooserbutton:dir(ltr):not(:last-child) > combobox > box > button.combo, .linked:not(.vertical) > appchooserbutton:dir(rtl):not(:first-child) > combobox > box > button.combo { border-top-right-radius: 0; border-bottom-right-radius: 0; } + +.linked.vertical appchooserbutton:not(:first-child) > combobox > box > button.combo { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -1px; } + +.linked.vertical appchooserbutton:not(:last-child) > combobox > box > button.combo { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } + +link, button.link { color: @accent_color; text-decoration: underline; font-weight: inherit; } + +link:visited, button.link:visited { color: mix(@accent_color,@view_fg_color,0.2); } + +link:hover, button.link:hover { color: shade(@accent_color,1.1); } + +link:active, button.link:active { color: @accent_color; } + +link:disabled, button.link:disabled { color: alpha(currentColor,0.5); } + +.osd link, .osd button.link { color: mix(@accent_bg_color,white,0.5); } + +.osd link:visited, .osd button.link:visited { color: mix(@accent_bg_color,white,0.25); } + +.osd link:active, .osd button.link:active { color: mix(@accent_bg_color,white,0.5); } + +link { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +link:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd link:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +button.link > label { text-decoration: underline; } + +listview, list { color: @view_fg_color; background-color: @view_bg_color; background-clip: padding-box; border-color: alpha(currentColor,0.15); } + +listview > row, list > row { padding: 2px; background-clip: padding-box; } + +listview > row.expander, list > row.expander { padding: 0px; } + +listview > row.expander .row-header, list > row.expander .row-header { padding: 2px; } + +listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator), list.horizontal row.separator, list.separators.horizontal > row:not(.separator) { border-left: 1px solid alpha(currentColor,0.15); } + +listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator), list:not(.horizontal) row.separator, list.separators:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid alpha(currentColor,0.15); } + +listview > header { padding: 2px; padding-top: 18px; padding-bottom: 6px; } + +row { background-clip: padding-box; } + +row { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +.osd row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +.osd row.activatable:hover { background-color: alpha(currentColor,0.07); } + +.osd row.activatable:active { background-color: alpha(currentColor,0.16); } + +.osd row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } + +.osd row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } + +.osd row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +.osd row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } + +.osd row:selected { background-color: alpha(currentColor,0.1); } + +row.activatable:hover { background-color: alpha(currentColor,0.04); } + +row.activatable:active { background-color: alpha(currentColor,0.08); } + +row.activatable.has-open-popup { background-color: alpha(currentColor,0.04); } + +row.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } + +row.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } + +row.activatable:selected.has-open-popup { background-color: alpha(@accent_bg_color,0.32); } + +row:selected { background-color: alpha(@accent_bg_color,0.25); } + +/******************************************************* Rich Lists * Large list usually containing lots of widgets * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 * */ +.rich-list { /* rich lists usually containing other widgets than just labels/text */ } + +.rich-list > row { padding: 8px 12px; min-height: 32px; /* should be tall even when only containing a label */ } + +.rich-list > row > box { border-spacing: 12px; } + +.rich-list > header { padding-left: 12px; padding-right: 12px; } + +/**************** AdwActionRow * */ +row label.subtitle { font-size: smaller; } + +row > box.header { margin-left: 12px; margin-right: 12px; border-spacing: 6px; min-height: 50px; } + +row > box.header > .icon:disabled { filter: opacity(0.5); } + +row > box.header > box.title { margin-top: 6px; margin-bottom: 6px; border-spacing: 3px; padding: 0; } + +row > box.header > box.title, row > box.header > box.title > .title, row > box.header > box.title > .subtitle { padding: 0; font-weight: inherit; } + +row > box.header > .prefixes, row > box.header > .suffixes { border-spacing: 6px; } + +row > box.header > .icon:dir(ltr), row > box.header > .prefixes:dir(ltr) { margin-right: 6px; } + +row > box.header > .icon:dir(rtl), row > box.header > .prefixes:dir(rtl) { margin-left: 6px; } + +row.property > box.header > box.title > .subtitle, row.expander.property box > list > row > box.header > box.title > .subtitle { font-size: inherit; opacity: 1; } + +/****************************** AdwEntryRow and AdwSpinRow * */ +row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active { background-color: transparent; } + +row.entry:disabled text { opacity: 0.5; } + +row.entry:disabled .dim-label, row.entry:disabled scale > value, row.entry:disabled progressbar > text, row.entry:disabled row.expander image.expander-row-arrow, row.expander row.entry:disabled image.expander-row-arrow, row.entry:disabled spinbutton > text > placeholder, row.entry:disabled entry > text > placeholder, row.entry:disabled label.separator, row.entry:disabled row.property > box.header > box.title > .title, row.entry:disabled row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry:disabled box > list > row > box.header > box.title > .title, row.entry:disabled .subtitle { opacity: 1; } + +row.entry .edit-icon, row.entry .indicator { min-width: 24px; min-height: 24px; padding: 5px; } + +row.entry .edit-icon:disabled { opacity: 0.3; } + +row.entry .indicator { opacity: 0.3; } + +row.entry.monospace { font-family: inherit; } + +row.entry.monospace text { font-family: monospace; } + +row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } + +row.spin spinbutton { background: none; border-spacing: 6px; box-shadow: none; } + +row.spin spinbutton, row.spin spinbutton:focus { outline: none; } + +row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child, row.spin spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, row.spin spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { min-width: 30px; min-height: 30px; margin: 10px 2px; border: none; } + +row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child:dir(rtl):first-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child:disabled, row.spin:disabled spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child:disabled { filter: none; } + +row.entry, row.spin { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.entry.focused, row.spin.focused { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } + +row.entry:not(:selected).activatable.focused:hover, row.entry:not(:selected).activatable.focused:active, row.spin:not(:selected).activatable.focused:hover, row.spin:not(:selected).activatable.focused:active { background-color: transparent; } + +row.entry.error, row.spin.error { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.entry.error.focused, row.spin.error.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } + +row.entry.error text > selection:focus-within, row.spin.error text > selection:focus-within { background-color: alpha(@error_color,0.2); } + +row.entry.error text > cursor-handle > contents, row.spin.error text > cursor-handle > contents { background-color: currentColor; } + +row.entry.error .dim-label, row.entry.error scale > value, row.entry.error progressbar > text, row.entry.error row.expander image.expander-row-arrow, row.expander row.entry.error image.expander-row-arrow, row.entry.error spinbutton > text > placeholder, row.entry.error entry > text > placeholder, row.entry.error label.separator, row.entry.error row.property > box.header > box.title > .title, row.entry.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.error box > list > row > box.header > box.title > .title, row.entry.error .subtitle, row.spin.error .dim-label, row.spin.error scale > value, row.spin.error progressbar > text, row.spin.error row.expander image.expander-row-arrow, row.expander row.spin.error image.expander-row-arrow, row.spin.error spinbutton > text > placeholder, row.spin.error entry > text > placeholder, row.spin.error label.separator, row.spin.error row.property > box.header > box.title > .title, row.spin.error row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.error box > list > row > box.header > box.title > .title, row.spin.error .subtitle { opacity: 1; } + +row.entry.error .suggested-action, row.spin.error .suggested-action { background-color: @error_bg_color; color: @error_fg_color; } + +row.entry.warning, row.spin.warning { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.entry.warning.focused, row.spin.warning.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } + +row.entry.warning text > selection:focus-within, row.spin.warning text > selection:focus-within { background-color: alpha(@warning_color,0.2); } + +row.entry.warning text > cursor-handle > contents, row.spin.warning text > cursor-handle > contents { background-color: currentColor; } + +row.entry.warning .dim-label, row.entry.warning scale > value, row.entry.warning progressbar > text, row.entry.warning row.expander image.expander-row-arrow, row.expander row.entry.warning image.expander-row-arrow, row.entry.warning spinbutton > text > placeholder, row.entry.warning entry > text > placeholder, row.entry.warning label.separator, row.entry.warning row.property > box.header > box.title > .title, row.entry.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.warning box > list > row > box.header > box.title > .title, row.entry.warning .subtitle, row.spin.warning .dim-label, row.spin.warning scale > value, row.spin.warning progressbar > text, row.spin.warning row.expander image.expander-row-arrow, row.expander row.spin.warning image.expander-row-arrow, row.spin.warning spinbutton > text > placeholder, row.spin.warning entry > text > placeholder, row.spin.warning label.separator, row.spin.warning row.property > box.header > box.title > .title, row.spin.warning row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.warning box > list > row > box.header > box.title > .title, row.spin.warning .subtitle { opacity: 1; } + +row.entry.warning .suggested-action, row.spin.warning .suggested-action { background-color: @warning_bg_color; color: @warning_fg_color; } + +row.entry.success, row.spin.success { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.entry.success.focused, row.spin.success.focused { outline-color: alpha(currentColor,0.5); outline-width: 2px; outline-offset: -1px; } + +row.entry.success text > selection:focus-within, row.spin.success text > selection:focus-within { background-color: alpha(@success_color,0.2); } + +row.entry.success text > cursor-handle > contents, row.spin.success text > cursor-handle > contents { background-color: currentColor; } + +row.entry.success .dim-label, row.entry.success scale > value, row.entry.success progressbar > text, row.entry.success row.expander image.expander-row-arrow, row.expander row.entry.success image.expander-row-arrow, row.entry.success spinbutton > text > placeholder, row.entry.success entry > text > placeholder, row.entry.success label.separator, row.entry.success row.property > box.header > box.title > .title, row.entry.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.entry.success box > list > row > box.header > box.title > .title, row.entry.success .subtitle, row.spin.success .dim-label, row.spin.success scale > value, row.spin.success progressbar > text, row.spin.success row.expander image.expander-row-arrow, row.expander row.spin.success image.expander-row-arrow, row.spin.success spinbutton > text > placeholder, row.spin.success entry > text > placeholder, row.spin.success label.separator, row.spin.success row.property > box.header > box.title > .title, row.spin.success row.expander.property box > list > row > box.header > box.title > .title, row.expander.property row.spin.success box > list > row > box.header > box.title > .title, row.spin.success .subtitle { opacity: 1; } + +row.entry.success .suggested-action, row.spin.success .suggested-action { background-color: @success_bg_color; color: @success_fg_color; } + +/*************** AdwComboRow * */ +row.combo image.dropdown-arrow:disabled { filter: opacity(0.5); } + +row.combo listview.inline { background: none; border: none; box-shadow: none; color: inherit; } + +row.combo listview.inline, row.combo listview.inline:disabled { background: none; color: inherit; } + +row.combo popover > contents { min-width: 120px; } + +row.combo popover > contents .combo-searchbar { margin: 6px; } + +row.combo popover > contents .combo-searchbar + scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } + +/****************** AdwExpanderRow * */ +list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { border-bottom: 1px solid @card_shade_color; } + +list.boxed-list > row, list.content > row, list.boxed-list > row.expander row.header, list.content > row.expander row.header, row.expander list.nested > row { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), border-radius 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.boxed-list > row:focus:focus-visible, list.content > row:focus:focus-visible, list.boxed-list > row.expander row.header:focus:focus-visible, list.content > row.expander row.header:focus:focus-visible, row.expander list.nested > row:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } + +.osd list.boxed-list > row:focus:focus-visible, .osd list.content > row:focus:focus-visible, .osd list.boxed-list > row.expander row.header:focus:focus-visible, list.boxed-list > row.expander .osd row.header:focus:focus-visible, .osd list.content > row.expander row.header:focus:focus-visible, list.content > row.expander .osd row.header:focus:focus-visible, .osd row.expander list.nested > row:focus:focus-visible, row.expander .osd list.nested > row:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +list.boxed-list > row:not(:selected).activatable:hover, list.content > row:not(:selected).activatable:hover, list.boxed-list > row.expander row.header:not(:selected).activatable:hover, list.content > row.expander row.header:not(:selected).activatable:hover, row.expander list.nested > row:not(:selected).activatable:hover { background-color: alpha(currentColor,0.03); } + +list.boxed-list > row:not(:selected).activatable:active, list.content > row:not(:selected).activatable:active, list.boxed-list > row.expander row.header:not(:selected).activatable:active, list.content > row.expander row.header:not(:selected).activatable:active, row.expander list.nested > row:not(:selected).activatable:active { background-color: alpha(currentColor,0.08); } + +list.boxed-list > row:not(:selected).activatable.has-open-popup, list.content > row:not(:selected).activatable.has-open-popup, list.boxed-list > row.expander row.header:not(:selected).activatable.has-open-popup, list.content > row.expander row.header:not(:selected).activatable.has-open-popup, row.expander list.nested > row:not(:selected).activatable.has-open-popup { background-color: alpha(currentColor,0.03); } + +row.expander { background: none; padding: 0px; } + +row.expander > box > list { background: none; color: inherit; } + +row.expander list.nested { background-color: alpha(@card_shade_color,0.5); color: inherit; } + +row.expander image.expander-row-arrow { transition: -gtk-icon-transform 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +row.expander image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(0.5turn); } + +row.expander image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(-0.5turn); } + +row.expander image.expander-row-arrow:disabled { filter: opacity(0.5); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); opacity: 1; } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: @accent_color; } + +.osd row.expander:checked image.expander-row-arrow:not(:disabled) { color: inherit; } + +/***************** Boxed Lists * */ +list.boxed-list > row.expander, list.content > row.expander { border: none; } + +list.boxed-list > row:first-child, list.content > row:first-child, list.boxed-list > row:first-child.expander row.header, list.content > row:first-child.expander row.header { border-top-left-radius: 12px; border-top-right-radius: 12px; } + +list.boxed-list > row:last-child, list.content > row:last-child, list.boxed-list > row:last-child.expander:not(:checked), list.boxed-list > row:last-child.expander:not(:checked) row.header, list.content > row:last-child.expander:not(:checked) row.header, list.boxed-list > row:last-child.expander:checked list.nested, list.content > row:last-child.expander:checked list.nested, list.boxed-list > row:last-child.expander:checked list.nested > row:last-child, list.content > row:last-child.expander:checked list.nested > row:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; border-bottom-width: 0; } + +popover.menu > contents { min-width: 120px; } + +popover.menu scrollbar.vertical > range > trough > slider { min-height: 30px; } + +popover.menu box.inline-buttons { padding: 0 12px; } + +popover.menu box.inline-buttons button.image-button.model { min-height: 32px; min-width: 32px; padding: 0; border: none; outline: none; transition: none; } + +popover.menu box.inline-buttons button.image-button.model:selected { background-color: alpha(currentColor,0.1); } + +popover.menu box.inline-buttons button.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } + +popover.menu box.circular-buttons { padding: 12px 12px 6px; } + +popover.menu box.circular-buttons button.circular.image-button.model { outline: none; padding: 11px; box-shadow: inset 0 0 0 1px alpha(currentColor,0.15); } + +popover.menu box.circular-buttons button.circular.image-button.model:selected { background-color: alpha(currentColor,0.13); box-shadow: none; } + +popover.menu box.circular-buttons button.circular.image-button.model:selected:active { background-color: alpha(currentColor,0.19); } + +popover.menu > contents { padding: 0; } + +popover.menu > contents > stack > box, popover.menu > contents > scrolledwindow > viewport > stack > box { padding: 6px; } + +popover.menu separator { margin: 6px 0; } + +popover.menu list separator { margin: 0; } + +popover.menu accelerator { color: alpha(currentColor,0.55); } + +popover.menu accelerator:dir(ltr) { margin-left: 12px; } + +popover.menu accelerator:dir(rtl) { margin-right: 12px; } + +popover.menu check, popover.menu radio { min-width: 14px; min-height: 14px; -gtk-icon-size: 14px; padding: 2px; } + +popover.menu check, popover.menu check:hover:checked, popover.menu check:hover:indeterminate, popover.menu check:hover:not(:checked):not(:indeterminate), popover.menu check:active:checked, popover.menu check:active:indeterminate, popover.menu check:active:not(:checked):not(:indeterminate), popover.menu radio, popover.menu radio:hover:checked, popover.menu radio:hover:indeterminate, popover.menu radio:hover:not(:checked):not(:indeterminate), popover.menu radio:active:checked, popover.menu radio:active:indeterminate, popover.menu radio:active:not(:checked):not(:indeterminate) { background: none; box-shadow: none; color: inherit; } + +.osd popover.menu check, .osd popover.menu radio { background: none; color: inherit; } + +popover.menu radio { padding: 1px; border: 1px solid alpha(currentColor,0.3); } + +popover.menu check.left, popover.menu radio.left, popover.menu arrow.left { margin-left: -2px; margin-right: 6px; } + +popover.menu check.right, popover.menu radio.right, popover.menu arrow.right { margin-left: 6px; margin-right: -2px; } + +popover.menu modelbutton { min-height: 32px; min-width: 40px; padding: 0 12px; border-radius: 6px; } + +popover.menu modelbutton:hover, popover.menu modelbutton:selected { background-color: alpha(currentColor,0.1); } + +popover.menu modelbutton:active { background-color: alpha(currentColor,0.19); } + +popover.menu modelbutton arrow { background: none; min-width: 16px; min-height: 16px; opacity: 0.3; } + +popover.menu modelbutton arrow:hover { background: none; } + +popover.menu modelbutton arrow:disabled { filter: opacity(0.5); } + +popover.menu modelbutton arrow.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); } + +popover.menu modelbutton arrow.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); } + +popover.menu label.title { font-weight: bold; padding: 4px 32px; } + +popover.menu list, popover.menu listview { background: none; color: inherit; } + +popover.menu list > row, popover.menu listview > row { border-radius: 6px; padding: 0 12px; min-height: 32px; min-width: 40px; } + +popover.menu list > row:selected, popover.menu listview > row:selected { background: none; } + +popover.menu list > row:hover, popover.menu list > row:hover:selected.activatable, popover.menu listview > row:hover, popover.menu listview > row:hover:selected.activatable { background-color: alpha(currentColor,0.1); } + +popover.menu list > row:active, popover.menu list > row:active:selected.activatable, popover.menu listview > row:active, popover.menu listview > row:active:selected.activatable { background-color: alpha(currentColor,0.19); } + +popover.menu list > row.has-open-popup, popover.menu list > row.has-open-popup:selected.activatable, popover.menu listview > row.has-open-popup, popover.menu listview > row.has-open-popup:selected.activatable { background-color: alpha(currentColor,0.1); } + +popover.menu list > row > box, popover.menu listview > row > box { border-spacing: 6px; } + +popover.menu contents > list, popover.menu contents > listview, popover.menu scrolledwindow > viewport > list, popover.menu scrolledwindow > listview { padding: 6px 0; } + +popover.menu contents > list > row, popover.menu contents > listview > row, popover.menu scrolledwindow > viewport > list > row, popover.menu scrolledwindow > listview > row { margin: 0 6px; padding: 9px 12px; min-height: 0; } + +menubar { box-shadow: inset 0 -1px alpha(currentColor,0.15); padding-bottom: 1px; } + +menubar > item { min-height: 16px; padding: 4px 8px; border-radius: 6px; } + +menubar > item:selected { background-color: alpha(currentColor,0.1); } + +menubar > item popover.menu popover.menu { padding: 0 0 4px 0; } + +menubar > item popover.menu popover.menu > contents { margin: 0; border-radius: 12px; } + +toolbarview > .top-bar menubar, toolbarview > .bottom-bar menubar { box-shadow: none; padding-bottom: 0; } + +/******************** GtkMessageDialog * */ +window.dialog.message .titlebar { min-height: 20px; background: none; box-shadow: none; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; } + +window.dialog.message box.dialog-vbox.vertical { margin-top: 6px; border-spacing: 24px; } + +window.dialog.message box.dialog-vbox.vertical > box > box > box > label.title { font-weight: 800; font-size: 15pt; } + +window.dialog.message.csd { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; } + +window.dialog.message.csd .dialog-action-area { border-top: 1px solid alpha(currentColor,0.15); margin: 0; border-spacing: 0; } + +window.dialog.message.csd .dialog-action-area > button { padding: 10px 14px; border-radius: 0; border: none; background-clip: padding-box; border-left: 1px solid alpha(currentColor,0.15); } + +window.dialog.message.csd .dialog-action-area > button:first-child { border-bottom-left-radius: 13px; border-left: none; } + +window.dialog.message.csd .dialog-action-area > button:last-child { border-bottom-right-radius: 13px; } + +window.dialog.message.csd .dialog-action-area > button.suggested-action { color: @accent_color; } + +window.dialog.message.csd .dialog-action-area > button.destructive-action { color: @destructive_color; } + +/******************** AdwMessageDialog * */ +window.messagedialog { background-color: @dialog_bg_color; color: @dialog_fg_color; } + +window.messagedialog.csd { outline: none; } + +window.messagedialog .message-area { padding: 24px 30px; border-spacing: 24px; } + +window.messagedialog .message-area.has-heading.has-body { border-spacing: 10px; } + +window.messagedialog .response-area > button { padding: 10px 14px; border-radius: 0; } + +window.messagedialog .response-area > button.suggested { color: @accent_color; } + +window.messagedialog .response-area > button.destructive { color: @destructive_color; } + +window.messagedialog.csd:not(.solid-csd) { border-radius: 13px; } + +window.messagedialog.csd:not(.solid-csd) .response-area:not(.compact) > button { margin-top: -1px; margin-right: -1px; margin-left: -1px; } + +window.messagedialog.csd:not(.solid-csd) .response-area:not(.compact) > button:first-child:dir(ltr), window.messagedialog.csd:not(.solid-csd) .response-area:not(.compact) > button:last-child:dir(rtl) { border-bottom-left-radius: 13px; margin-left: 0; } + +window.messagedialog.csd:not(.solid-csd) .response-area:not(.compact) > button:last-child:dir(ltr), window.messagedialog.csd:not(.solid-csd) .response-area:not(.compact) > button:first-child:dir(rtl) { border-bottom-right-radius: 13px; margin-right: 0; } + +window.messagedialog.csd:not(.solid-csd) .response-area.compact > button { margin-top: -1px; margin-bottom: -1px; } + +window.messagedialog.csd:not(.solid-csd) .response-area.compact > button:first-child { border-bottom-left-radius: 13px; border-bottom-right-radius: 13px; margin-bottom: 0; } + +/********** Frames * */ +frame, .frame { border: 1px solid alpha(currentColor,0.15); } + +frame { border-radius: 12px; } + +frame > label { margin: 4px; } + +/************** Separators * */ +separator { background: alpha(currentColor,0.15); min-width: 1px; min-height: 1px; } + +separator.spacer { background: none; } + +separator.spacer.horizontal { min-width: 12px; } + +separator.spacer.vertical { min-height: 12px; } + +/********************* App Notifications * */ +.app-notification { padding: 10px; border-spacing: 10px; border-radius: 0 0 12px 12px; background-color: rgba(0, 0, 0, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; } + +.app-notification border { border: none; } + +/********** Toasts * */ +toast { margin: 12px; margin-bottom: 24px; border-radius: 150px; border-spacing: 6px; padding: 6px; } + +toast:dir(ltr) { padding-left: 12px; } + +toast:dir(rtl) { padding-right: 12px; } + +toast > widget { margin: 0 6px; } + +/************** GtkVideo * */ +video { background: black; } + +video image.osd { min-width: 64px; min-height: 64px; border-radius: 32px; } + +/****************** AdwAboutWindow * */ +window.about .main-page > viewport > clamp > box { margin: 12px; border-spacing: 6px; } + +window.about .main-page > viewport > clamp > box > box { margin-top: 18px; border-spacing: 18px; margin-bottom: 6px; } + +window.about .main-page .app-version { padding: 3px 18px; color: @accent_color; border-radius: 999px; margin-top: 3px; } + +window.about .subpage > viewport > clamp > box { margin: 18px 12px; border-spacing: 18px; } + +window.about .subpage > clamp > textview { background: none; color: inherit; } + +/***************** AdwStatusPage * */ +statuspage > scrolledwindow > viewport > box { margin: 36px 12px; border-spacing: 36px; } + +statuspage > scrolledwindow > viewport > box > clamp > box { border-spacing: 12px; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 128px; color: alpha(currentColor,0.55); } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:disabled { opacity: 0.5; } + +statuspage > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 24px; } + +statuspage.compact > scrolledwindow > viewport > box { margin: 24px 12px; border-spacing: 24px; } + +statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon { -gtk-icon-size: 96px; } + +statuspage.compact > scrolledwindow > viewport > box > clamp > box > .icon:not(:last-child) { margin-bottom: 12px; } + +statuspage.compact > scrolledwindow > viewport > box > clamp > box > .title { font-size: 18pt; } + +/* Cards */ +shortcut > .keycap, list.boxed-list, list.content, .card { background-color: @card_bg_color; color: @card_fg_color; border-radius: 12px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); } + +.osd shortcut > .keycap, .osd list.boxed-list, .osd list.content, shortcut > .osd.keycap, list.osd.boxed-list, list.osd.content, .osd .card, .card.osd { background-color: alpha(currentColor,0.1); color: inherit; box-shadow: none; } + +.card { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.card:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -1px; } + +.osd .card:focus:focus-visible, .card.osd:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +.card.activatable { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +.card.activatable:hover { background-image: image(alpha(currentColor,0.03)); } + +.card.activatable:active { background-image: image(alpha(currentColor,0.08)); } + +/* Transition shadows */ +flap > dimming, leaflet > dimming, navigation-view > dimming, overlay-split-view > dimming { background: @shade_color; } + +flap > shadow, leaflet > shadow, navigation-view > shadow, overlay-split-view > shadow { min-width: 56px; min-height: 56px; } + +flap > shadow.left, leaflet > shadow.left, navigation-view > shadow.left, overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to right, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } + +flap > shadow.right, leaflet > shadow.right, navigation-view > shadow.right, overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to left, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } + +flap > shadow.up, leaflet > shadow.up, navigation-view > shadow.up, overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to bottom, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } + +flap > shadow.down, leaflet > shadow.down, navigation-view > shadow.down, overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@shade_color,0.7), alpha(@shade_color,0.14) 40px, alpha(@shade_color,0) 56px), linear-gradient(to top, alpha(@shade_color,0.4), alpha(@shade_color,0.14) 7px, alpha(@shade_color,0) 24px); } + +notebook > header > tabs > tab:checked { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +notebook:focus:focus-visible > header > tabs > tab:checked { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +notebook > header { padding: 1px; border-color: alpha(currentColor,0.15); border-width: 1px; background-clip: padding-box; } + +notebook > header > tabs { margin: -1px; } + +notebook > header.top { border-bottom-style: solid; } + +notebook > header.top > tabs { margin-bottom: -2px; } + +notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px alpha(currentColor,0.15); } + +notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px @accent_bg_color; } + +notebook > header.bottom { border-top-style: solid; } + +notebook > header.bottom > tabs { margin-top: -2px; } + +notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px alpha(currentColor,0.15); } + +notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px @accent_bg_color; } + +notebook > header.left { border-right-style: solid; } + +notebook > header.left > tabs { margin-right: -2px; } + +notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 alpha(currentColor,0.15); } + +notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 @accent_bg_color; } + +notebook > header.right { border-left-style: solid; } + +notebook > header.right > tabs { margin-left: -2px; } + +notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 alpha(currentColor,0.15); } + +notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 @accent_bg_color; } + +notebook > header.top > tabs > arrow { border-top-style: none; } + +notebook > header.bottom > tabs > arrow { border-bottom-style: none; } + +notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); } + +notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); } + +notebook > header.left > tabs > arrow { border-left-style: none; } + +notebook > header.right > tabs > arrow { border-right-style: none; } + +notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); } + +notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } + +notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; } + +notebook > header > tabs > arrow:hover:not(:active) { box-shadow: none; } + +notebook > header > tabs > tab { transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 30px; min-width: 30px; padding: 3px 12px; font-weight: normal; } + +notebook > header > tabs > tab:hover, notebook > header > tabs > tab:active { background-color: alpha(currentColor,0.07); } + +notebook > header > tabs > tab:not(:checked) { outline-color: transparent; } + +notebook > header > tabs > tab:disabled { filter: opacity(0.5); } + +notebook > header > tabs > tab:disabled label, notebook > header > tabs > tab:disabled button { filter: none; } + +notebook > header > tabs > tab button.flat { color: alpha(currentColor,0.3); padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; } + +notebook > header > tabs > tab button.flat:hover, notebook > header > tabs > tab button.flat:active { color: currentColor; } + +notebook > header > tabs > tab button.flat:last-child { margin-left: 4px; margin-right: -4px; } + +notebook > header > tabs > tab button.flat:first-child { margin-left: -4px; margin-right: 4px; } + +notebook > header.top > tabs, notebook > header.bottom > tabs { padding-left: 4px; padding-right: 4px; } + +notebook > header.top > tabs:not(:only-child), notebook > header.bottom > tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; } + +notebook > header.top > tabs:not(:only-child):first-child, notebook > header.bottom > tabs:not(:only-child):first-child { margin-left: -1px; } + +notebook > header.top > tabs:not(:only-child):last-child, notebook > header.bottom > tabs:not(:only-child):last-child { margin-right: -1px; } + +notebook > header.top > tabs > tab, notebook > header.bottom > tabs > tab { margin-left: 4px; margin-right: 4px; } + +notebook > header.left > tabs, notebook > header.right > tabs { padding-top: 4px; padding-bottom: 4px; } + +notebook > header.left > tabs:not(:only-child), notebook > header.right > tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; } + +notebook > header.left > tabs:not(:only-child):first-child, notebook > header.right > tabs:not(:only-child):first-child { margin-top: -1px; } + +notebook > header.left > tabs:not(:only-child):last-child, notebook > header.right > tabs:not(:only-child):last-child { margin-bottom: -1px; } + +notebook > header.left > tabs > tab, notebook > header.right > tabs > tab { margin-top: 4px; margin-bottom: 4px; } + +notebook > header.top > tabs > tab { padding-bottom: 4px; } + +notebook > header.bottom > tabs > tab { padding-top: 4px; } + +notebook > stack:not(:only-child) { background-color: @view_bg_color; } + +paned > separator { min-width: 1px; min-height: 1px; background: none; background-size: 1px 1px; } + +paned > separator.wide { min-width: 5px; min-height: 5px; } + +paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; box-shadow: inset 1px 0 alpha(currentColor,0.15); } + +paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; box-shadow: inset -1px 0 alpha(currentColor,0.15); } + +paned.horizontal > separator.wide { margin: 0; padding: 0; box-shadow: inset 1px 0 alpha(currentColor,0.15), inset -1px 0 alpha(currentColor,0.15); } + +paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; box-shadow: inset 0 1px alpha(currentColor,0.15); } + +paned.vertical > separator.wide { margin: 0; padding: 0; box-shadow: inset 0 1px alpha(currentColor,0.15), inset 0 -1px alpha(currentColor,0.15); } + +toolbarview.undershoot-top popover scrolledwindow undershoot.top, toolbarview.undershoot-bottom popover scrolledwindow undershoot.bottom { background: none; box-shadow: none; } + +popover.background { background-color: transparent; font: initial; } + +popover > arrow, popover > contents { background-color: @popover_bg_color; color: @popover_fg_color; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), 0 2px 14px 3px rgba(0, 0, 0, 0.05); } + +popover > contents { padding: 8px; border-radius: 12px; } + +popover > contents > list, popover > contents > .view, window.print popover > contents > .dialog-action-box, popover > contents > toolbar { border-style: none; background-color: transparent; } + +.osd popover, popover.touch-selection, popover.magnifier { background-color: transparent; } + +.osd popover > arrow, .osd popover > contents, popover.touch-selection > arrow, popover.touch-selection > contents, popover.magnifier > arrow, popover.magnifier > contents { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: none; } + +popover toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@popover_shade_color,0.75); background: linear-gradient(to bottom, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@popover_shade_color,0.75); background: linear-gradient(to top, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to left, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@popover_shade_color,0.75); background: linear-gradient(to right, alpha(@popover_shade_color,0.75), transparent 4px); } + +popover flap > dimming, popover leaflet > dimming, popover navigation-view > dimming, popover overlay-split-view > dimming { background: @popover_shade_color; } + +popover flap > shadow, popover leaflet > shadow, popover navigation-view > shadow, popover overlay-split-view > shadow { min-width: 56px; min-height: 56px; } + +popover flap > shadow.left, popover leaflet > shadow.left, popover navigation-view > shadow.left, popover overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to right, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } + +popover flap > shadow.right, popover leaflet > shadow.right, popover navigation-view > shadow.right, popover overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to left, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } + +popover flap > shadow.up, popover leaflet > shadow.up, popover navigation-view > shadow.up, popover overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to bottom, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } + +popover flap > shadow.down, popover leaflet > shadow.down, popover navigation-view > shadow.down, popover overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@popover_shade_color,0.7), alpha(@popover_shade_color,0.14) 40px, alpha(@popover_shade_color,0) 56px), linear-gradient(to top, alpha(@popover_shade_color,0.4), alpha(@popover_shade_color,0.14) 7px, alpha(@popover_shade_color,0) 24px); } + +preferencespage > scrolledwindow > viewport > clamp > box { margin: 24px 12px; border-spacing: 24px; } + +preferencesgroup > box, preferencesgroup > box .labels { border-spacing: 6px; } + +preferencesgroup > box > box.header:not(.single-line) { margin-bottom: 6px; } + +preferencesgroup > box > box.single-line { min-height: 34px; } + +progressbar.horizontal > trough { min-width: 150px; } + +progressbar.horizontal > trough, progressbar.horizontal > trough > progress { min-height: 8px; } + +progressbar.vertical > trough { min-height: 80px; } + +progressbar.vertical > trough, progressbar.vertical > trough > progress { min-width: 8px; } + +progressbar > text { font-size: smaller; } + +progressbar:disabled { filter: opacity(0.5); } + +progressbar > trough > progress { /* share most of scales' */ border-radius: 99px; } + +progressbar > trough > progress.left { border-top-left-radius: 99px; border-bottom-left-radius: 99px; } + +progressbar > trough > progress.right { border-top-right-radius: 99px; border-bottom-right-radius: 99px; } + +progressbar > trough > progress.top { border-top-right-radius: 99px; border-top-left-radius: 99px; } + +progressbar > trough > progress.bottom { border-bottom-right-radius: 99px; border-bottom-left-radius: 99px; } + +progressbar.osd { min-width: 2px; min-height: 2px; background-color: transparent; color: inherit; } + +progressbar.osd > trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; } + +progressbar.osd > trough > progress { border-style: none; border-radius: 0; } + +progressbar.osd.horizontal > trough, progressbar.osd.horizontal > trough > progress { min-height: 2px; } + +progressbar.osd.vertical > trough, progressbar.osd.vertical > trough > progress { min-width: 2px; } + +progressbar > trough.empty > progress { all: unset; } + +.osd progressbar > trough > progress { background-color: rgba(255, 255, 255, 0.75); } + +scale > trough > fill, scale > trough, progressbar > trough { border-radius: 99px; background-color: alpha(currentColor,0.15); } + +scale > trough > highlight, progressbar > trough > progress { border-radius: 99px; background-color: @accent_bg_color; color: @accent_fg_color; } + +scale { min-height: 10px; min-width: 10px; padding: 12px; } + +scale > trough > slider { outline: 0 solid transparent; outline-offset: 6px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +scale:focus:focus-visible > trough > slider { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } + +scale > trough > slider { background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); border-radius: 100%; min-width: 20px; min-height: 20px; margin: -8px; } + +scale:hover > trough, scale:active > trough { background-color: alpha(currentColor,0.2); } + +scale:hover > trough > highlight, scale:active > trough > highlight { background-image: image(alpha(currentColor,0.1)); } + +scale:hover > trough > slider, scale:active > trough > slider { background-color: white; } + +.osd scale:focus:focus-visible > trough { outline-color: rgba(255, 255, 255, 0.5); } + +.osd scale > trough > highlight { background-color: rgba(255, 255, 255, 0.75); color: rgba(0, 0, 0, 0.75); } + +scale:disabled { filter: opacity(0.5); } + +scale:disabled > trough > slider { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px transparent; outline-color: rgba(0, 0, 0, 0.2); } + +scale.fine-tune { padding: 9px; } + +scale.fine-tune.horizontal { min-height: 16px; } + +scale.fine-tune.vertical { min-width: 16px; } + +scale.fine-tune > trough > slider { margin: -5px; } + +scale.marks-before:not(.marks-after) > trough > slider, scale.marks-after:not(.marks-before) > trough > slider { transform: rotate(45deg); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px rgba(0, 0, 0, 0.2); } + +scale.marks-before:not(.marks-after) > trough > slider:disabled, scale.marks-after:not(.marks-before) > trough > slider:disabled { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 1px 1px 4px transparent; } + +scale.horizontal > marks { color: alpha(currentColor,0.55); } + +scale.horizontal > marks.top { margin-bottom: 6px; } + +scale.horizontal > marks.bottom { margin-top: 6px; } + +scale.horizontal > marks indicator { background-color: currentColor; min-height: 6px; min-width: 1px; } + +scale.horizontal > value.left { margin-right: 9px; } + +scale.horizontal > value.right { margin-left: 9px; } + +scale.horizontal.fine-tune > marks.top { margin-top: 3px; } + +scale.horizontal.fine-tune > marks.bottom { margin-bottom: 3px; } + +scale.horizontal.fine-tune > marks indicator { min-height: 3px; } + +scale.horizontal.marks-before { padding-top: 0; } + +scale.horizontal.marks-before > trough > slider { border-top-left-radius: 0; } + +scale.horizontal.marks-after { padding-bottom: 0; } + +scale.horizontal.marks-after > trough > slider { border-bottom-right-radius: 0; } + +scale.horizontal.marks-before.marks-after > trough > slider { border-radius: 100%; } + +scale.vertical > marks { color: alpha(currentColor,0.55); } + +scale.vertical > marks.top { margin-right: 6px; } + +scale.vertical > marks.bottom { margin-left: 6px; } + +scale.vertical > marks indicator { background-color: currentColor; min-height: 1px; min-width: 6px; } + +scale.vertical > value.top { margin-bottom: 9px; } + +scale.vertical > value.bottom { margin-top: 9px; } + +scale.vertical.fine-tune > marks.top { margin-left: 3px; } + +scale.vertical.fine-tune > marks.bottom { margin-right: 3px; } + +scale.vertical.fine-tune > marks indicator { min-height: 3px; } + +scale.vertical.marks-before { padding-left: 0; } + +scale.vertical.marks-before > trough > slider { border-bottom-left-radius: 0; } + +scale.vertical.marks-after { padding-right: 0; } + +scale.vertical.marks-after > trough > slider { border-top-right-radius: 0; } + +scale.color { padding: 0; } + +scale.color > trough { border: none; background: none; border-radius: 10px; } + +scale.color > trough > slider { margin: 0; background-color: rgba(255, 255, 255, 0.8); } + +scale.color.fine-tune { padding: 2px; } + +scale.color.fine-tune > trough > slider { margin: -2px; } + +scrollbar > range > trough { margin: 7px; transition: all 200ms linear; border-radius: 10px; } + +scrollbar > range > trough > slider { min-width: 8px; min-height: 8px; margin: -6px; border: 6px solid transparent; border-radius: 10px; background-clip: padding-box; transition: all 200ms linear; background-color: alpha(currentColor,0.2); } + +scrollbar > range > trough > slider:hover { background-color: alpha(currentColor,0.4); } + +scrollbar > range > trough > slider:active { background-color: alpha(currentColor,0.6); } + +scrollbar > range > trough > slider:disabled { opacity: 0; } + +scrollbar.horizontal > range > trough { margin-top: 6px; margin-bottom: 6px; } + +scrollbar.vertical > range > trough { margin-left: 6px; margin-right: 6px; } + +scrollbar.overlay-indicator { background: none; color: inherit; box-shadow: none; padding: 0; } + +scrollbar.overlay-indicator > range > trough { outline: 1px solid transparent; } + +scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(@scrollbar_outline_color,0.6); outline-offset: -6px; } + +.osd scrollbar.overlay-indicator > range > trough > slider { outline: 1px solid alpha(rgba(0, 0, 0, 0.5),0.6); } + +scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { min-width: 3px; min-height: 3px; outline-color: alpha(@scrollbar_outline_color,0.35); } + +.osd scrollbar.overlay-indicator:not(.hovering) > range > trough > slider { outline-color: alpha(rgba(0, 0, 0, 0.5),0.35); } + +scrollbar.overlay-indicator.hovering > range > trough { background-color: alpha(currentColor,0.1); } + +scrollbar.overlay-indicator.horizontal > range > trough > slider { min-width: 40px; } + +scrollbar.overlay-indicator.horizontal.hovering > range > trough > slider { min-height: 8px; } + +scrollbar.overlay-indicator.horizontal:not(.hovering) > range > trough { margin-top: 3px; margin-bottom: 3px; } + +scrollbar.overlay-indicator.vertical > range > trough > slider { min-height: 40px; } + +scrollbar.overlay-indicator.vertical.hovering > range > trough > slider { min-width: 8px; } + +scrollbar.overlay-indicator.vertical:not(.hovering) > range > trough { margin-left: 3px; margin-right: 3px; } + +scrollbar.horizontal > range > trough > slider { min-width: 40px; } + +scrollbar.vertical > range > trough > slider { min-height: 40px; } + +scrollbar > range.fine-tune > trough > slider, scrollbar > range.fine-tune > trough > slider:hover, scrollbar > range.fine-tune > trough > slider:active { background-color: alpha(@accent_color,0.6); } + +scrolledwindow > overshoot.top { background-image: radial-gradient(farthest-side at top, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at top, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: top; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow > overshoot.bottom { background-image: radial-gradient(farthest-side at bottom, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at bottom, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: bottom; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow > overshoot.left { background-image: radial-gradient(farthest-side at left, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at left, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: left; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow > overshoot.right { background-image: radial-gradient(farthest-side at right, alpha(currentColor,0.12) 85%, alpha(currentColor,0)), radial-gradient(farthest-side at right, alpha(currentColor,0.05), alpha(currentColor,0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: right; background-color: transparent; border: none; box-shadow: none; } + +scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } + +scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } + +scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } + +scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } + +scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@shade_color,0.75); background: linear-gradient(to left, alpha(@shade_color,0.75), transparent 4px); } + +scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@shade_color,0.75); background: linear-gradient(to right, alpha(@shade_color,0.75), transparent 4px); } + +shortcuts-section { margin: 20px; } + +.shortcuts-search-results { margin: 20px; border-spacing: 24px; } + +shortcut { border-spacing: 6px; border-radius: 6px; } + +shortcut { outline: 0 solid transparent; outline-offset: 8px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +shortcut:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 4px; } + +shortcut > .keycap { min-width: 20px; min-height: 25px; padding: 2px 6px; border-radius: 6px; font-size: smaller; } + +shortcuts-section stackswitcher.circular { border-spacing: 12px; } + +shortcuts-section stackswitcher.circular > button.circular, shortcuts-section stackswitcher.circular > button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; } + +window.shortcuts headerbar.titlebar > windowhandle { padding-top: 3px; } + +window.shortcuts searchbar { background: none; } + +.sidebar-pane { background-color: @sidebar_bg_color; color: @sidebar_fg_color; } + +.sidebar-pane:backdrop { background-color: @sidebar_backdrop_color; transition: background-color 200ms ease-out; } + +.sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@sidebar_shade_color,0.75), transparent 4px); } + +.sidebar-pane flap > dimming, .sidebar-pane leaflet > dimming, .sidebar-pane navigation-view > dimming, .sidebar-pane overlay-split-view > dimming { background: @sidebar_shade_color; } + +.sidebar-pane flap > shadow, .sidebar-pane leaflet > shadow, .sidebar-pane navigation-view > shadow, .sidebar-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } + +.sidebar-pane flap > shadow.left, .sidebar-pane leaflet > shadow.left, .sidebar-pane navigation-view > shadow.left, .sidebar-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } + +.sidebar-pane flap > shadow.right, .sidebar-pane leaflet > shadow.right, .sidebar-pane navigation-view > shadow.right, .sidebar-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } + +.sidebar-pane flap > shadow.up, .sidebar-pane leaflet > shadow.up, .sidebar-pane navigation-view > shadow.up, .sidebar-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } + +.sidebar-pane flap > shadow.down, .sidebar-pane leaflet > shadow.down, .sidebar-pane navigation-view > shadow.down, .sidebar-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@sidebar_shade_color,0.7), alpha(@sidebar_shade_color,0.14) 40px, alpha(@sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@sidebar_shade_color,0.4), alpha(@sidebar_shade_color,0.14) 7px, alpha(@sidebar_shade_color,0) 24px); } + +.sidebar-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@sidebar_bg_color,0.7); color: @sidebar_fg_color; } + +.sidebar-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@sidebar_backdrop_color,0.85); } + +.sidebar-pane:dir(ltr), .sidebar-pane:dir(ltr) banner > revealer > widget, .sidebar-pane.end:dir(rtl), .sidebar-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @sidebar_shade_color; } + +.sidebar-pane:dir(rtl), .sidebar-pane:dir(rtl) banner > revealer > widget, .sidebar-pane.end:dir(ltr), .sidebar-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @sidebar_shade_color; } + +/* Middle pane in three-pane setups */ +.content-pane .sidebar-pane, .sidebar-pane .content-pane { background-color: @secondary_sidebar_bg_color; color: @secondary_sidebar_fg_color; } + +.content-pane .sidebar-pane:backdrop, .sidebar-pane .content-pane:backdrop { background-color: @secondary_sidebar_backdrop_color; transition: background-color 200ms ease-out; } + +.content-pane .sidebar-pane toolbarview.undershoot-top scrolledwindow > undershoot.top, .sidebar-pane .content-pane toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom, .sidebar-pane .content-pane toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-top > undershoot.top, .sidebar-pane .content-pane scrolledwindow.undershoot-top > undershoot.top { box-shadow: inset 0 1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-bottom > undershoot.bottom, .sidebar-pane .content-pane scrolledwindow.undershoot-bottom > undershoot.bottom { box-shadow: inset 0 -1px alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(ltr) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-start:dir(rtl) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(ltr) > undershoot.right { box-shadow: inset -1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left, .sidebar-pane .content-pane scrolledwindow.undershoot-end:dir(rtl) > undershoot.left { box-shadow: inset 1px 0 alpha(@secondary_sidebar_shade_color,0.75); background: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.75), transparent 4px); } + +.content-pane .sidebar-pane flap > dimming, .content-pane .sidebar-pane leaflet > dimming, .content-pane .sidebar-pane navigation-view > dimming, .content-pane .sidebar-pane overlay-split-view > dimming, .sidebar-pane .content-pane flap > dimming, .sidebar-pane .content-pane leaflet > dimming, .sidebar-pane .content-pane navigation-view > dimming, .sidebar-pane .content-pane overlay-split-view > dimming { background: @secondary_sidebar_shade_color; } + +.content-pane .sidebar-pane flap > shadow, .content-pane .sidebar-pane leaflet > shadow, .content-pane .sidebar-pane navigation-view > shadow, .content-pane .sidebar-pane overlay-split-view > shadow, .sidebar-pane .content-pane flap > shadow, .sidebar-pane .content-pane leaflet > shadow, .sidebar-pane .content-pane navigation-view > shadow, .sidebar-pane .content-pane overlay-split-view > shadow { min-width: 56px; min-height: 56px; } + +.content-pane .sidebar-pane flap > shadow.left, .content-pane .sidebar-pane leaflet > shadow.left, .content-pane .sidebar-pane navigation-view > shadow.left, .content-pane .sidebar-pane overlay-split-view > shadow.left, .sidebar-pane .content-pane flap > shadow.left, .sidebar-pane .content-pane leaflet > shadow.left, .sidebar-pane .content-pane navigation-view > shadow.left, .sidebar-pane .content-pane overlay-split-view > shadow.left { background-image: linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to right, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } + +.content-pane .sidebar-pane flap > shadow.right, .content-pane .sidebar-pane leaflet > shadow.right, .content-pane .sidebar-pane navigation-view > shadow.right, .content-pane .sidebar-pane overlay-split-view > shadow.right, .sidebar-pane .content-pane flap > shadow.right, .sidebar-pane .content-pane leaflet > shadow.right, .sidebar-pane .content-pane navigation-view > shadow.right, .sidebar-pane .content-pane overlay-split-view > shadow.right { background-image: linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to left, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } + +.content-pane .sidebar-pane flap > shadow.up, .content-pane .sidebar-pane leaflet > shadow.up, .content-pane .sidebar-pane navigation-view > shadow.up, .content-pane .sidebar-pane overlay-split-view > shadow.up, .sidebar-pane .content-pane flap > shadow.up, .sidebar-pane .content-pane leaflet > shadow.up, .sidebar-pane .content-pane navigation-view > shadow.up, .sidebar-pane .content-pane overlay-split-view > shadow.up { background-image: linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to bottom, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } + +.content-pane .sidebar-pane flap > shadow.down, .content-pane .sidebar-pane leaflet > shadow.down, .content-pane .sidebar-pane navigation-view > shadow.down, .content-pane .sidebar-pane overlay-split-view > shadow.down, .sidebar-pane .content-pane flap > shadow.down, .sidebar-pane .content-pane leaflet > shadow.down, .sidebar-pane .content-pane navigation-view > shadow.down, .sidebar-pane .content-pane overlay-split-view > shadow.down { background-image: linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.7), alpha(@secondary_sidebar_shade_color,0.14) 40px, alpha(@secondary_sidebar_shade_color,0) 56px), linear-gradient(to top, alpha(@secondary_sidebar_shade_color,0.4), alpha(@secondary_sidebar_shade_color,0.14) 7px, alpha(@secondary_sidebar_shade_color,0) 24px); } + +.content-pane .sidebar-pane banner > revealer > widget, .sidebar-pane .content-pane banner > revealer > widget { background-color: mix(@accent_bg_color,@secondary_sidebar_bg_color,0.7); color: @secondary_sidebar_fg_color; } + +.content-pane .sidebar-pane banner > revealer > widget:backdrop, .sidebar-pane .content-pane banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@secondary_sidebar_backdrop_color,0.85); } + +.content-pane .sidebar-pane:dir(ltr), .content-pane .sidebar-pane:dir(ltr) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(rtl), .content-pane .sidebar-pane.end:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane:dir(ltr), .sidebar-pane .content-pane:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(rtl), .sidebar-pane .content-pane.end:dir(rtl) banner > revealer > widget { box-shadow: inset -1px 0 @secondary_sidebar_shade_color; } + +.content-pane .sidebar-pane:dir(rtl), .content-pane .sidebar-pane:dir(rtl) banner > revealer > widget, .content-pane .sidebar-pane.end:dir(ltr), .content-pane .sidebar-pane.end:dir(ltr) banner > revealer > widget, .sidebar-pane .content-pane:dir(rtl), .sidebar-pane .content-pane:dir(rtl) banner > revealer > widget, .sidebar-pane .content-pane.end:dir(ltr), .sidebar-pane .content-pane.end:dir(ltr) banner > revealer > widget { box-shadow: inset 1px 0 @secondary_sidebar_shade_color; } + +.sidebar-pane .sidebar-pane { background-color: transparent; color: inherit; } + +stacksidebar row { padding: 10px 4px; } + +stacksidebar row > label { padding-left: 6px; padding-right: 6px; } + +stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; } + +/********************** Navigation Sidebar * */ +.navigation-sidebar { padding: 6px 0; } + +.navigation-sidebar, .navigation-sidebar.view, window.print .navigation-sidebar.dialog-action-box, .navigation-sidebar.view:disabled { background-color: transparent; color: inherit; } + +.navigation-sidebar.background, .navigation-sidebar.background:disabled { background-color: @window_bg_color; color: @window_fg_color; } + +.navigation-sidebar row.activatable:hover { background-color: alpha(currentColor,0.07); } + +.navigation-sidebar row.activatable:active { background-color: alpha(currentColor,0.16); } + +.navigation-sidebar row.activatable.has-open-popup { background-color: alpha(currentColor,0.07); } + +.navigation-sidebar row.activatable:selected:hover { background-color: alpha(currentColor,0.13); } + +.navigation-sidebar row.activatable:selected:active { background-color: alpha(currentColor,0.19); } + +.navigation-sidebar row.activatable:selected.has-open-popup { background-color: alpha(currentColor,0.13); } + +.navigation-sidebar row:selected { background-color: alpha(currentColor,0.1); } + +.navigation-sidebar > separator { margin: 6px; } + +.navigation-sidebar > row { min-height: 36px; padding: 0 8px; border-radius: 6px; margin: 0 6px 2px; } + +@keyframes spin { to { transform: rotate(1turn); } } + +spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); } + +spinner:checked { opacity: 1; animation: spin 1s linear infinite; } + +spinner:checked:disabled { opacity: 0.5; } + +spinbutton { padding: 0; border-spacing: 0; /* :not here just to bump specificity above that of the list button styling */ } + +spinbutton > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { margin: 0; border-radius: 0; box-shadow: none; border-style: solid; border-color: alpha(currentColor,0.1); } + +spinbutton:not(.vertical) { /* :not here just to bump specificity above that of the list button styling */ } + +spinbutton:not(.vertical) > text { min-width: 28px; padding: 6px; } + +spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { min-height: 16px; min-width: 22px; padding-bottom: 0; padding-top: 0; border-left-width: 1px; } + +spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl), spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl) { border-left-width: 0; border-right-width: 1px; } + +spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(ltr):last-child { border-radius: 0 6px 6px 0; } + +spinbutton:not(.vertical) > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child, spinbutton:not(.vertical) > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):dir(rtl):first-child { border-radius: 6px 0 0 6px; } + +spinbutton.vertical { /* :not here just to bump specificity above that of the list button styling */ } + +spinbutton.vertical > text { min-height: 30px; min-width: 30px; } + +spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):last-child { border-top-width: 1px; border-radius: 0 0 6px 6px; } + +spinbutton.vertical > button.image-button.up:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child, spinbutton.vertical > button.image-button.down:not(.flat):not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):first-child { border-bottom-width: 1px; border-radius: 6px 6px 0 0; } + +switch { border-radius: 14px; padding: 2px; background-color: alpha(currentColor,0.15); } + +switch:hover { background-color: alpha(currentColor,0.2); } + +switch:active { background-color: alpha(currentColor,0.25); } + +switch > image { color: transparent; } + +switch { outline: 0 solid transparent; outline-offset: 5px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +switch:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 1px; } + +switch:disabled { filter: opacity(0.5); } + +switch > slider { min-width: 22px; min-height: 22px; border-radius: 50%; background-color: mix(white,@view_bg_color,0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } + +switch > slider:disabled { box-shadow: 0 2px 4px transparent; } + +switch:hover > slider, switch:active > slider { background: white; } + +switch:checked { color: @accent_fg_color; background-color: @accent_bg_color; } + +switch:checked:hover { background-image: image(alpha(currentColor,0.1)); } + +switch:checked:active { background-image: image(rgba(0, 0, 0, 0.2)); } + +switch:checked > slider { background-color: white; } + +.osd switch:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +.osd switch:checked { background-color: rgba(255, 255, 255, 0.6); color: rgba(0, 0, 0, 0.75); } + +tabbar .box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; padding: 1px; padding-top: 0; } + +tabbar .box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } + +tabbar .box:backdrop > scrolledwindow, tabbar .box:backdrop > .start-action, tabbar .box:backdrop > .end-action { filter: opacity(0.5); transition: filter 200ms ease-out; } + +tabbar tabbox { padding-bottom: 6px; padding-top: 6px; min-height: 34px; } + +tabbar tabbox > tabboxchild { border-radius: 6px; } + +tabbar tabbox > tabboxchild { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +tabbar tabbox > tabboxchild:focus-within:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +tabbar tabbox > separator { margin-top: 3px; margin-bottom: 3px; transition: opacity 150ms ease-in-out; } + +tabbar tabbox > separator.hidden { opacity: 0; } + +tabbar tabbox > revealer > indicator { min-width: 2px; border-radius: 2px; margin: 3px 6px; background: alpha(@accent_color,0.5); } + +tabbar tab { transition: background 150ms ease-in-out; } + +tabbar tab:selected { background-color: alpha(currentColor,0.1); } + +tabbar tab:selected:hover { background-color: alpha(currentColor,0.13); } + +tabbar tab:selected:active { background-color: alpha(currentColor,0.19); } + +tabbar tab:hover { background-color: alpha(currentColor,0.07); } + +tabbar tab:active { background-color: alpha(currentColor,0.16); } + +tabbar tabbox.single-tab tab, tabbar tabbox.single-tab tab:hover, tabbar tabbox.single-tab tab:active { background: none; } + +tabbar .start-action, tabbar .end-action { padding: 6px 5px; } + +tabbar .start-action:dir(ltr), tabbar .end-action:dir(rtl) { padding-right: 0; } + +tabbar .start-action:dir(rtl), tabbar .end-action:dir(ltr) { padding-left: 0; } + +toolbarview > .top-bar tabbar .box, toolbarview > .bottom-bar tabbar .box, tabbar.inline .box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 0; } + +toolbarview > .top-bar tabbar .box:backdrop, toolbarview > .bottom-bar tabbar .box:backdrop, tabbar.inline .box:backdrop { background-color: transparent; transition: none; } + +toolbarview > .top-bar tabbar .box:backdrop > scrolledwindow, toolbarview > .bottom-bar tabbar .box:backdrop > scrolledwindow, tabbar.inline .box:backdrop > scrolledwindow, toolbarview > .top-bar tabbar .box:backdrop > .start-action, toolbarview > .bottom-bar tabbar .box:backdrop > .start-action, tabbar.inline .box:backdrop > .start-action, toolbarview > .top-bar tabbar .box:backdrop > .end-action, toolbarview > .bottom-bar tabbar .box:backdrop > .end-action, tabbar.inline .box:backdrop > .end-action { filter: none; transition: none; } + +toolbarview > .top-bar .collapse-spacing tabbar tabbox, toolbarview > .bottom-bar .collapse-spacing tabbar tabbox, toolbarview > .top-bar .collapse-spacing tabbar .start-action, toolbarview > .bottom-bar .collapse-spacing tabbar .start-action, toolbarview > .top-bar .collapse-spacing tabbar .end-action, toolbarview > .bottom-bar .collapse-spacing tabbar .end-action { padding-top: 3px; padding-bottom: 3px; } + +dnd tab { background-color: @headerbar_bg_color; background-image: image(alpha(currentColor,0.19)); color: @headerbar_fg_color; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07), 0 2px 6px 2px rgba(0, 0, 0, 0.03); margin: 25px; } + +tabbar tab, dnd tab { min-height: 26px; padding: 4px; border-radius: 6px; } + +tabbar tab button.image-button, dnd tab button.image-button { padding: 0; margin: 0; min-width: 24px; min-height: 24px; border-radius: 99px; } + +tabbar tab indicator, dnd tab indicator { min-height: 2px; border-radius: 2px; background: alpha(@accent_color,0.5); transform: translateY(4px); } + +tabgrid > tabgridchild .card { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +tabgrid > tabgridchild:focus:focus-visible .card { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: 0; } + +tabthumbnail { border-radius: 16px; transition: box-shadow 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +tabthumbnail > box { margin: 6px; } + +tabthumbnail:drop(active) { box-shadow: inset 0 0 0 2px alpha(@accent_bg_color,0.4); background-color: alpha(@accent_bg_color,0.1); } + +tabthumbnail .needs-attention:dir(ltr) { transform: translate(8px, -8px); } + +tabthumbnail .needs-attention:dir(rtl) { transform: translate(-8px, -8px); } + +tabthumbnail .needs-attention > widget { background: @accent_color; min-width: 12px; min-height: 12px; border-radius: 8px; margin: 3px; box-shadow: 0 1px 2px alpha(@accent_color,0.4); } + +tabthumbnail .card { background: none; color: inherit; } + +tabthumbnail .card picture { outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; border-radius: 12px; } + +tabthumbnail.pinned .card { background-color: @thumbnail_bg_color; color: @thumbnail_fg_color; } + +tabthumbnail .icon-title-box { border-spacing: 6px; } + +tabthumbnail .tab-unpin-icon { margin: 6px; min-width: 24px; min-height: 24px; } + +tabthumbnail button.circular { margin: 6px; background-color: alpha(@thumbnail_bg_color,0.75); min-width: 24px; min-height: 24px; } + +tabthumbnail button.circular:hover { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.1),0.75); } + +tabthumbnail button.circular:active { background-color: alpha(mix(@thumbnail_bg_color,currentColor,0.2),0.75); } + +taboverview > .overview .new-tab-button { margin: 18px; } + +tabview:drop(active), tabbox:drop(active), tabgrid:drop(active) { box-shadow: none; } + +cursor-handle { all: unset; padding: 24px 20px; } + +cursor-handle > contents { min-width: 20px; min-height: 20px; border-radius: 50%; background-color: @accent_bg_color; } + +cursor-handle.top > contents { border-top-right-radius: 0; } + +cursor-handle.bottom > contents { border-top-left-radius: 0; transform: translateX(1px); } + +cursor-handle.insertion-cursor > contents { border-top-left-radius: 0; transform: translateX(1px) translateY(4px) rotate(45deg); } + +magnifier { background-color: @view_bg_color; } + +actionbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, searchbar > revealer > box.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, .osd.toolbar button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible, headerbar.osd button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque):focus:focus-visible { outline-color: rgba(255, 255, 255, 0.5); } + +actionbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.suggested-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.destructive-action > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), actionbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), searchbar > revealer > box menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), .toolbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque), headerbar menubutton.opaque > button:not(.raised):not(.suggested-action):not(.destructive-action):not(.opaque) { color: inherit; background-color: transparent; } + +actionbar > revealer > box switch, searchbar > revealer > box switch, .toolbar switch, headerbar switch { margin-top: 4px; margin-bottom: 4px; } + +.toolbar { padding: 6px; border-spacing: 6px; } + +.toolbar.osd { padding: 12px; border-radius: 12px; } + +toolbarview > .top-bar .collapse-spacing .toolbar, toolbarview > .bottom-bar .collapse-spacing .toolbar { padding-top: 3px; padding-bottom: 3px; } + +/**************** GtkSearchBar * */ +searchbar > revealer > box { padding: 6px 6px 7px 6px; background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 -1px @headerbar_shade_color; } + +searchbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } + +searchbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } + +searchbar > revealer > box .close { min-width: 18px; min-height: 18px; padding: 4px; border-radius: 50%; } + +searchbar > revealer > box .close:dir(ltr) { margin-left: 10px; margin-right: 4px; } + +searchbar > revealer > box .close:dir(rtl) { margin-left: 4px; margin-right: 10px; } + +toolbarview > .top-bar searchbar > revealer > box, toolbarview > .bottom-bar searchbar > revealer > box, searchbar.inline > revealer > box, window.appchooser searchbar > revealer > box, window.shortcuts searchbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-bottom: 6px; } + +toolbarview > .top-bar searchbar > revealer > box:backdrop, toolbarview > .bottom-bar searchbar > revealer > box:backdrop, searchbar.inline > revealer > box:backdrop { background-color: transparent; transition: none; } + +toolbarview > .top-bar searchbar > revealer > box:backdrop > *, toolbarview > .bottom-bar searchbar > revealer > box:backdrop > *, searchbar.inline > revealer > box:backdrop > * { filter: none; transition: none; } + +toolbarview > .top-bar .collapse-spacing searchbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing searchbar > revealer > box, window.appchooser.csd searchbar > revealer > box, window.shortcuts searchbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } + +/**************** GtkActionBar * */ +actionbar > revealer > box { background-color: @headerbar_bg_color; color: @headerbar_fg_color; box-shadow: inset 0 1px @headerbar_shade_color; padding: 7px 6px 6px 6px; } + +actionbar > revealer > box, actionbar > revealer > box > box.start, actionbar > revealer > box > box.end { border-spacing: 6px; } + +actionbar > revealer > box:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } + +actionbar > revealer > box:backdrop > * { filter: opacity(0.5); transition: filter 200ms ease-out; } + +toolbarview > .top-bar actionbar > revealer > box, toolbarview > .bottom-bar actionbar > revealer > box { background-color: transparent; color: inherit; box-shadow: none; padding-top: 6px; } + +toolbarview > .top-bar actionbar > revealer > box:backdrop, toolbarview > .bottom-bar actionbar > revealer > box:backdrop { background-color: transparent; transition: none; } + +toolbarview > .top-bar actionbar > revealer > box:backdrop > *, toolbarview > .bottom-bar actionbar > revealer > box:backdrop > * { filter: none; transition: none; } + +toolbarview > .top-bar .collapse-spacing actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing actionbar > revealer > box { padding-top: 3px; padding-bottom: 3px; } + +/************* AdwBanner * */ +banner > revealer > widget { /* There are 2 more instances in _sidebars.css, keep in sync with that */ background-color: mix(@accent_bg_color,@window_bg_color,0.7); color: @window_fg_color; padding: 6px; } + +banner > revealer > widget:backdrop { background-color: mix(@accent_bg_color,@window_bg_color,0.85); transition: background-color 200ms ease-out; } + +banner > revealer > widget:backdrop > label, banner > revealer > widget:backdrop > button { filter: opacity(0.5); transition: filter 200ms ease-out; } + +/****************** AdwToolbarView * */ +toolbarview > .top-bar .collapse-spacing, toolbarview > .bottom-bar .collapse-spacing { padding-top: 3px; padding-bottom: 3px; } + +toolbarview > .top-bar.raised, toolbarview > .bottom-bar.raised { background-color: @headerbar_bg_color; color: @headerbar_fg_color; } + +toolbarview > .top-bar.raised:backdrop, toolbarview > .bottom-bar.raised:backdrop { background-color: @headerbar_backdrop_color; transition: background-color 200ms ease-out; } + +toolbarview > .top-bar:backdrop > windowhandle, toolbarview > .bottom-bar:backdrop > windowhandle { filter: opacity(0.5); transition: filter 200ms ease-out; } + +toolbarview > .top-bar.raised { box-shadow: 0 1px alpha(@headerbar_shade_color,0.5), 0 2px 4px alpha(@headerbar_shade_color,0.5); } + +toolbarview > .top-bar.raised.border { box-shadow: 0 1px @headerbar_darker_shade_color; } + +toolbarview > .bottom-bar.raised { box-shadow: 0 -1px alpha(@headerbar_shade_color,0.5), 0 -2px 4px alpha(@headerbar_shade_color,0.5); } + +toolbarview > .bottom-bar.raised.border { box-shadow: 0 -1px @headerbar_darker_shade_color; } + +toolbarview.undershoot-top scrolledwindow > undershoot.top { box-shadow: inset 0 1px alpha(@shade_color,0.75); background: linear-gradient(to bottom, alpha(@shade_color,0.75), transparent 4px); } + +toolbarview.undershoot-bottom scrolledwindow > undershoot.bottom { box-shadow: inset 0 -1px alpha(@shade_color,0.75); background: linear-gradient(to top, alpha(@shade_color,0.75), transparent 4px); } + +window.devel toolbarview > .top-bar { background-image: cross-fade(5% -gtk-recolor(url("assets/devel-symbolic.svg")), image(transparent)); background-repeat: repeat-x; } + +tooltip { padding: 6px 10px; border-radius: 9px; box-shadow: none; } + +tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); color: white; } + +tooltip > box { border-spacing: 6px; } + +.view, window.print .dialog-action-box, textview > text, iconview { color: @view_fg_color; background-color: @view_bg_color; } + +.view:disabled, window.print .dialog-action-box:disabled, textview > text:disabled, iconview:disabled { color: alpha(currentColor,0.5); background-color: mix(@window_bg_color,@view_bg_color,0.4); } + +.view:selected:focus, .view:selected, window.print .dialog-action-box:selected, textview > text:selected, iconview:selected { background-color: alpha(@accent_bg_color,0.25); border-radius: 6px; } + +textview { caret-color: currentColor; } + +textview > text { background-color: transparent; } + +textview > border { background-color: mix(@window_bg_color,@view_bg_color,0.5); } + +textview:drop(active) { caret-color: @accent_bg_color; } + +rubberband { border: 1px solid @accent_color; background-color: alpha(@accent_color,0.2); } + +flowbox > flowboxchild, gridview > child { padding: 3px; border-radius: 6px; } + +flowbox > flowboxchild, gridview > child { outline: 0 solid transparent; outline-offset: 4px; transition: outline-color 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +flowbox > flowboxchild:focus:focus-visible, gridview > child:focus:focus-visible { outline-color: alpha(@accent_color,0.5); outline-width: 2px; outline-offset: -2px; } + +flowbox > flowboxchild:selected, gridview > child:selected { background-color: alpha(@accent_bg_color,0.25); } + +gridview > child.activatable:hover { background-color: alpha(currentColor,0.04); } + +gridview > child.activatable:active { background-color: alpha(currentColor,0.08); } + +gridview > child.activatable:selected:hover { background-color: alpha(@accent_bg_color,0.32); } + +gridview > child.activatable:selected:active { background-color: alpha(@accent_bg_color,0.39); } + +viewswitcher { border-spacing: 3px; } + +viewswitcher.narrow { margin-top: -3px; margin-bottom: -3px; } + +viewswitcher button.toggle { padding: 0; } + +viewswitcher button.toggle > stack > box.narrow { font-size: 0.75rem; padding-top: 4px; } + +viewswitcher button.toggle > stack > box.narrow > label { min-height: 18px; padding-left: 3px; padding-right: 3px; padding-bottom: 2px; } + +viewswitcher button.toggle > stack > box.wide { padding: 2px 12px; border-spacing: 6px; } + +/********************** AdwViewSwitcherBar * */ +viewswitcherbar actionbar > revealer > box { padding-left: 0; padding-right: 0; padding-top: 7px; } + +toolbarview > .top-bar .collapse-spacing viewswitcherbar actionbar > revealer > box, toolbarview > .bottom-bar .collapse-spacing viewswitcherbar actionbar > revealer > box { padding-top: 6px; } + +/************************ AdwViewSwitcherTitle * */ +viewswitchertitle { margin-top: -6px; margin-bottom: -6px; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +viewswitchertitle viewswitcher.narrow { margin-top: 3px; margin-bottom: 3px; } + +viewswitchertitle viewswitcher.wide { margin-top: 6px; margin-bottom: 6px; } + +viewswitchertitle windowtitle { margin-top: 0; margin-bottom: 0; } + +/******************* AdwIndicatorBin * */ +indicatorbin > indicator, indicatorbin > mask { min-width: 6px; min-height: 6px; border-radius: 100px; } + +indicatorbin > indicator { margin: 1px; background: alpha(currentColor,0.4); } + +indicatorbin > mask { padding: 1px; background: black; } + +indicatorbin.needs-attention > indicator { background: @accent_color; } + +indicatorbin.badge > indicator, indicatorbin.badge > mask { min-height: 13px; } + +indicatorbin.badge > indicator > label { font-size: 0.6rem; font-weight: bold; padding-left: 4px; padding-right: 4px; color: white; } + +indicatorbin.badge.needs-attention > indicator { background: @accent_bg_color; } + +indicatorbin.badge.needs-attention > indicator > label { color: @accent_fg_color; } + +window.csd { box-shadow: 0 1px 3px 3px transparent, 0 2px 8px 2px rgba(0, 0, 0, 0.13), 0 3px 20px 10px rgba(0, 0, 0, 0.09), 0 6px 32px 16px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.05); margin: 0px; border-radius: 12px; outline: 1px solid rgba(255, 255, 255, 0.07); outline-offset: -1px; } + +window.csd:backdrop { box-shadow: 0 1px 3px 3px rgba(0, 0, 0, 0.09), 0 2px 14px 5px rgba(0, 0, 0, 0.05), 0 4px 28px 12px rgba(0, 0, 0, 0.03), 0 6px 32px 16px transparent, 0 0 0 1px rgba(0, 0, 0, 0.02); transition: box-shadow 200ms ease-out; } + +window.csd.dialog.message, window.csd.messagedialog { box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.07), 0 3px 20px 10px rgba(0, 0, 0, 0.05), 0 6px 32px 16px rgba(0, 0, 0, 0.02), 0 0 0 1px rgba(0, 0, 0, 0.05); } + +window.csd.tiled, window.csd.tiled-top, window.csd.tiled-left, window.csd.tiled-right, window.csd.tiled-bottom { border-radius: 0; outline: none; box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } + +window.csd.tiled:backdrop, window.csd.tiled-top:backdrop, window.csd.tiled-left:backdrop, window.csd.tiled-right:backdrop, window.csd.tiled-bottom:backdrop { box-shadow: 0 0 0 1px alpha(currentColor,0.15), 0 0 0 20px transparent; } + +window.csd.maximized, window.csd.fullscreen { border-radius: 0; outline: none; box-shadow: none; transition: none; } + +window.solid-csd { margin: 0; padding: 5px; border-radius: 0; box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_bg_color, inset 0 0 0 1px alpha(currentColor,0.15); } + +window.solid-csd:backdrop { box-shadow: inset 0 0 0 5px alpha(currentColor,0.15), inset 0 0 0 4px @headerbar_backdrop_color, inset 0 0 0 1px alpha(currentColor,0.15); } + +window.ssd { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05); } + +/* Public colors from Default */ +@define-color theme_bg_color @window_bg_color; +@define-color theme_fg_color @window_fg_color; +@define-color theme_base_color @view_bg_color; +@define-color theme_text_color @view_fg_color; +@define-color theme_selected_bg_color @accent_bg_color; +@define-color theme_selected_fg_color @accent_fg_color; +@define-color insensitive_bg_color mix(@window_bg_color,@view_bg_color,0.4); +@define-color insensitive_fg_color alpha(@window_fg_color,0.5); +@define-color insensitive_base_color @view_bg_color; +@define-color borders alpha(currentColor,0.15); +@define-color theme_unfocused_bg_color @window_bg_color; +@define-color theme_unfocused_fg_color @window_fg_color; +@define-color theme_unfocused_base_color @view_bg_color; +@define-color theme_unfocused_text_color @view_fg_color; +@define-color theme_unfocused_selected_bg_color @accent_bg_color; +@define-color theme_unfocused_selected_fg_color @accent_fg_color; +@define-color unfocused_insensitive_color @insensitive_bg_color; +@define-color unfocused_borders alpha(currentColor,0.15); diff --git a/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css b/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css new file mode 100644 index 0000000..31f6c77 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css @@ -0,0 +1,49 @@ +/* GTK NAMED COLORS ---------------- use responsibly! */ +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color sidebar_bg_color #303030; +@define-color sidebar_fg_color white; +@define-color sidebar_backdrop_color #2a2a2a; +@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color secondary_sidebar_bg_color #2a2a2a; +@define-color secondary_sidebar_fg_color white; +@define-color secondary_sidebar_backdrop_color #272727; +@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color popover_shade_color rgba(0, 0, 0, 0.36); +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); + +@import '../gtk-3.0/libadwaita.css'; +@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/.themes/adw-gtk3-dark/gtk-4.0/gtk.css b/.themes/adw-gtk3-dark/gtk-4.0/gtk.css new file mode 100644 index 0000000..31f6c77 --- /dev/null +++ b/.themes/adw-gtk3-dark/gtk-4.0/gtk.css @@ -0,0 +1,49 @@ +/* GTK NAMED COLORS ---------------- use responsibly! */ +@define-color accent_bg_color @blue_3; +@define-color accent_fg_color white; +@define-color accent_color #78aeed; +@define-color destructive_bg_color @red_4; +@define-color destructive_fg_color white; +@define-color destructive_color #ff7b63; +@define-color success_bg_color @green_5; +@define-color success_fg_color white; +@define-color success_color @green_1; +@define-color warning_bg_color #cd9309; +@define-color warning_fg_color rgba(0, 0, 0, 0.8); +@define-color warning_color @yellow_2; +@define-color error_bg_color @red_4; +@define-color error_fg_color white; +@define-color error_color #ff7b63; +@define-color window_bg_color #242424; +@define-color window_fg_color white; +@define-color view_bg_color #1e1e1e; +@define-color view_fg_color white; +@define-color headerbar_bg_color #303030; +@define-color headerbar_fg_color white; +@define-color headerbar_border_color white; +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.36); +@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); +@define-color sidebar_bg_color #303030; +@define-color sidebar_fg_color white; +@define-color sidebar_backdrop_color #2a2a2a; +@define-color sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color secondary_sidebar_bg_color #2a2a2a; +@define-color secondary_sidebar_fg_color white; +@define-color secondary_sidebar_backdrop_color #272727; +@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36); +@define-color card_bg_color rgba(255, 255, 255, 0.08); +@define-color card_fg_color white; +@define-color card_shade_color rgba(0, 0, 0, 0.36); +@define-color dialog_bg_color #383838; +@define-color dialog_fg_color white; +@define-color popover_bg_color #383838; +@define-color popover_fg_color white; +@define-color popover_shade_color rgba(0, 0, 0, 0.36); +@define-color thumbnail_bg_color #383838; +@define-color thumbnail_fg_color white; +@define-color shade_color rgba(0, 0, 0, 0.36); +@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); + +@import '../gtk-3.0/libadwaita.css'; +@import '../gtk-3.0/libadwaita-tweaks.css'; diff --git a/.themes/adw-gtk3-dark/index.theme b/.themes/adw-gtk3-dark/index.theme new file mode 100644 index 0000000..2ca916c --- /dev/null +++ b/.themes/adw-gtk3-dark/index.theme @@ -0,0 +1,6 @@ +[X-GNOME-Metatheme] +Name=adw-gtk3-dark +Type=X-GNOME-Metatheme +Comment=adw-gtk3-dark theme +Encoding=UTF-8 +GtkTheme=adw-gtk3-dark diff --git a/.wallpaper/.wallpaper/ChromeOSBlues-1.png b/.wallpaper/.wallpaper/ChromeOSBlues-1.png new file mode 100644 index 0000000..56d0b25 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSBlues-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSBlues-2.png b/.wallpaper/.wallpaper/ChromeOSBlues-2.png new file mode 100644 index 0000000..9468330 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSBlues-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSEarth-1.png b/.wallpaper/.wallpaper/ChromeOSEarth-1.png new file mode 100644 index 0000000..205da27 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSEarth-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSEarth-2.png b/.wallpaper/.wallpaper/ChromeOSEarth-2.png new file mode 100644 index 0000000..d29bedd Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSEarth-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSFire-1.png b/.wallpaper/.wallpaper/ChromeOSFire-1.png new file mode 100644 index 0000000..c3ad588 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSFire-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSFire-2.png b/.wallpaper/.wallpaper/ChromeOSFire-2.png new file mode 100644 index 0000000..03fa3e3 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSFire-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSGreens-1.png b/.wallpaper/.wallpaper/ChromeOSGreens-1.png new file mode 100644 index 0000000..a6a674c Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSGreens-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSGreens-2.png b/.wallpaper/.wallpaper/ChromeOSGreens-2.png new file mode 100644 index 0000000..8bf19f8 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSGreens-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSReds-1.png b/.wallpaper/.wallpaper/ChromeOSReds-1.png new file mode 100644 index 0000000..02bed99 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSReds-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSReds-2.png b/.wallpaper/.wallpaper/ChromeOSReds-2.png new file mode 100644 index 0000000..bd9147a Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSReds-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSWater-1.png b/.wallpaper/.wallpaper/ChromeOSWater-1.png new file mode 100644 index 0000000..de01bd6 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSWater-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSWater-2.png b/.wallpaper/.wallpaper/ChromeOSWater-2.png new file mode 100644 index 0000000..942ecdb Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSWater-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSWind-1.png b/.wallpaper/.wallpaper/ChromeOSWind-1.png new file mode 100644 index 0000000..d9ccaed Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSWind-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSWind-2.png b/.wallpaper/.wallpaper/ChromeOSWind-2.png new file mode 100644 index 0000000..5e6f086 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSWind-2.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSYellows-1.png b/.wallpaper/.wallpaper/ChromeOSYellows-1.png new file mode 100644 index 0000000..6040a4a Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSYellows-1.png differ diff --git a/.wallpaper/.wallpaper/ChromeOSYellows-2.png b/.wallpaper/.wallpaper/ChromeOSYellows-2.png new file mode 100644 index 0000000..a69c8b0 Binary files /dev/null and b/.wallpaper/.wallpaper/ChromeOSYellows-2.png differ diff --git a/.wallpaper/.wallpaper/DesertSands-1.png b/.wallpaper/.wallpaper/DesertSands-1.png new file mode 100644 index 0000000..12fb764 Binary files /dev/null and b/.wallpaper/.wallpaper/DesertSands-1.png differ diff --git a/.wallpaper/.wallpaper/DesertSands-2.png b/.wallpaper/.wallpaper/DesertSands-2.png new file mode 100644 index 0000000..09011f6 Binary files /dev/null and b/.wallpaper/.wallpaper/DesertSands-2.png differ diff --git a/.wallpaper/.wallpaper/DesertSands-3.png b/.wallpaper/.wallpaper/DesertSands-3.png new file mode 100644 index 0000000..c32605b Binary files /dev/null and b/.wallpaper/.wallpaper/DesertSands-3.png differ diff --git a/.wallpaper/.wallpaper/DesertSands-4.png b/.wallpaper/.wallpaper/DesertSands-4.png new file mode 100644 index 0000000..0ec3587 Binary files /dev/null and b/.wallpaper/.wallpaper/DesertSands-4.png differ diff --git a/.wallpaper/.wallpaper/FedeMarinMountain-0.png b/.wallpaper/.wallpaper/FedeMarinMountain-0.png new file mode 100644 index 0000000..00d2ee8 Binary files /dev/null and b/.wallpaper/.wallpaper/FedeMarinMountain-0.png differ diff --git a/.wallpaper/.wallpaper/Firewatch2-1.png b/.wallpaper/.wallpaper/Firewatch2-1.png new file mode 100644 index 0000000..c019be1 Binary files /dev/null and b/.wallpaper/.wallpaper/Firewatch2-1.png differ diff --git a/.wallpaper/.wallpaper/Fuji-1.png b/.wallpaper/.wallpaper/Fuji-1.png new file mode 100644 index 0000000..034ca49 Binary files /dev/null and b/.wallpaper/.wallpaper/Fuji-1.png differ diff --git a/.wallpaper/.wallpaper/Fuji-2.png b/.wallpaper/.wallpaper/Fuji-2.png new file mode 100644 index 0000000..374b9fa Binary files /dev/null and b/.wallpaper/.wallpaper/Fuji-2.png differ diff --git a/.wallpaper/.wallpaper/Lakeside-1.png b/.wallpaper/.wallpaper/Lakeside-1.png new file mode 100644 index 0000000..2c3c4ac Binary files /dev/null and b/.wallpaper/.wallpaper/Lakeside-1.png differ diff --git a/.wallpaper/.wallpaper/Lakeside-2.png b/.wallpaper/.wallpaper/Lakeside-2.png new file mode 100644 index 0000000..03714f8 Binary files /dev/null and b/.wallpaper/.wallpaper/Lakeside-2.png differ diff --git a/.wallpaper/.wallpaper/LakesideDeer-1.png b/.wallpaper/.wallpaper/LakesideDeer-1.png new file mode 100644 index 0000000..26cda7e Binary files /dev/null and b/.wallpaper/.wallpaper/LakesideDeer-1.png differ diff --git a/.wallpaper/.wallpaper/LakesideDeer-2.png b/.wallpaper/.wallpaper/LakesideDeer-2.png new file mode 100644 index 0000000..e10f06e Binary files /dev/null and b/.wallpaper/.wallpaper/LakesideDeer-2.png differ diff --git a/.wallpaper/.wallpaper/MountainsIsland-1.png b/.wallpaper/.wallpaper/MountainsIsland-1.png new file mode 100644 index 0000000..3226b24 Binary files /dev/null and b/.wallpaper/.wallpaper/MountainsIsland-1.png differ diff --git a/.wallpaper/.wallpaper/PadarIsland-0.png b/.wallpaper/.wallpaper/PadarIsland-0.png new file mode 100644 index 0000000..22eb2e8 Binary files /dev/null and b/.wallpaper/.wallpaper/PadarIsland-0.png differ diff --git a/.wallpaper/.wallpaper/PaintingStudio-01.png b/.wallpaper/.wallpaper/PaintingStudio-01.png new file mode 100644 index 0000000..4d659cb Binary files /dev/null and b/.wallpaper/.wallpaper/PaintingStudio-01.png differ diff --git a/.wallpaper/.wallpaper/PaintingStudio-02.png b/.wallpaper/.wallpaper/PaintingStudio-02.png new file mode 100644 index 0000000..fab4958 Binary files /dev/null and b/.wallpaper/.wallpaper/PaintingStudio-02.png differ diff --git a/.wallpaper/.wallpaper/PaintingStudio-03.png b/.wallpaper/.wallpaper/PaintingStudio-03.png new file mode 100644 index 0000000..e6962df Binary files /dev/null and b/.wallpaper/.wallpaper/PaintingStudio-03.png differ diff --git a/.wallpaper/.wallpaper/PlasticBeach-1.png b/.wallpaper/.wallpaper/PlasticBeach-1.png new file mode 100644 index 0000000..a89a2b9 Binary files /dev/null and b/.wallpaper/.wallpaper/PlasticBeach-1.png differ diff --git a/.wallpaper/.wallpaper/PlasticBeach-2.png b/.wallpaper/.wallpaper/PlasticBeach-2.png new file mode 100644 index 0000000..3cdde15 Binary files /dev/null and b/.wallpaper/.wallpaper/PlasticBeach-2.png differ diff --git a/.wallpaper/.wallpaper/Plateau-1.png b/.wallpaper/.wallpaper/Plateau-1.png new file mode 100644 index 0000000..69a2ec1 Binary files /dev/null and b/.wallpaper/.wallpaper/Plateau-1.png differ diff --git a/.wallpaper/.wallpaper/Rock-1.png b/.wallpaper/.wallpaper/Rock-1.png new file mode 100644 index 0000000..bbd0973 Binary files /dev/null and b/.wallpaper/.wallpaper/Rock-1.png differ diff --git a/.wallpaper/.wallpaper/Rocknegy-1.png b/.wallpaper/.wallpaper/Rocknegy-1.png new file mode 100644 index 0000000..aabc9e8 Binary files /dev/null and b/.wallpaper/.wallpaper/Rocknegy-1.png differ diff --git a/.wallpaper/.wallpaper/Rocknegy-2.png b/.wallpaper/.wallpaper/Rocknegy-2.png new file mode 100644 index 0000000..a895148 Binary files /dev/null and b/.wallpaper/.wallpaper/Rocknegy-2.png differ diff --git a/.wallpaper/.wallpaper/Rocksketto-1.png b/.wallpaper/.wallpaper/Rocksketto-1.png new file mode 100644 index 0000000..35c2c8c Binary files /dev/null and b/.wallpaper/.wallpaper/Rocksketto-1.png differ diff --git a/.wallpaper/.wallpaper/Rocksketto-2.png b/.wallpaper/.wallpaper/Rocksketto-2.png new file mode 100644 index 0000000..1cdadb5 Binary files /dev/null and b/.wallpaper/.wallpaper/Rocksketto-2.png differ diff --git a/.wallpaper/.wallpaper/SolidDesert-1.png b/.wallpaper/.wallpaper/SolidDesert-1.png new file mode 100644 index 0000000..f379caf Binary files /dev/null and b/.wallpaper/.wallpaper/SolidDesert-1.png differ diff --git a/.wallpaper/.wallpaper/SolidForest-1.png b/.wallpaper/.wallpaper/SolidForest-1.png new file mode 100644 index 0000000..d5c43fb Binary files /dev/null and b/.wallpaper/.wallpaper/SolidForest-1.png differ diff --git a/.wallpaper/.wallpaper/SolidIsland-1.png b/.wallpaper/.wallpaper/SolidIsland-1.png new file mode 100644 index 0000000..5227118 Binary files /dev/null and b/.wallpaper/.wallpaper/SolidIsland-1.png differ diff --git a/.wallpaper/.wallpaper/StevenUniverse-1.png b/.wallpaper/.wallpaper/StevenUniverse-1.png new file mode 100644 index 0000000..0c205b9 Binary files /dev/null and b/.wallpaper/.wallpaper/StevenUniverse-1.png differ diff --git a/.wallpaper/.wallpaper/StevenUniverse-2.png b/.wallpaper/.wallpaper/StevenUniverse-2.png new file mode 100644 index 0000000..568d97a Binary files /dev/null and b/.wallpaper/.wallpaper/StevenUniverse-2.png differ diff --git a/.wallpaper/.wallpaper/TokyoStreet-1.png b/.wallpaper/.wallpaper/TokyoStreet-1.png new file mode 100644 index 0000000..ca0fa1b Binary files /dev/null and b/.wallpaper/.wallpaper/TokyoStreet-1.png differ diff --git a/.wallpaper/.wallpaper/TokyoStreet-2.png b/.wallpaper/.wallpaper/TokyoStreet-2.png new file mode 100644 index 0000000..b8abeb9 Binary files /dev/null and b/.wallpaper/.wallpaper/TokyoStreet-2.png differ diff --git a/.wallpaper/.wallpaper/Wiravketto-1.png b/.wallpaper/.wallpaper/Wiravketto-1.png new file mode 100644 index 0000000..2478574 Binary files /dev/null and b/.wallpaper/.wallpaper/Wiravketto-1.png differ diff --git a/.wallpaper/.wallpaper/Wiravketto-2.png b/.wallpaper/.wallpaper/Wiravketto-2.png new file mode 100644 index 0000000..8def564 Binary files /dev/null and b/.wallpaper/.wallpaper/Wiravketto-2.png differ diff --git a/.wallpaper/.wallpaper/afternoon.png b/.wallpaper/.wallpaper/afternoon.png new file mode 100644 index 0000000..db64ff4 Binary files /dev/null and b/.wallpaper/.wallpaper/afternoon.png differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-0.jpg b/.wallpaper/.wallpaper/cyberpunk-01-0.jpg new file mode 100644 index 0000000..d442eb0 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-0.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-1.jpg b/.wallpaper/.wallpaper/cyberpunk-01-1.jpg new file mode 100644 index 0000000..00b033c Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-1.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-10.jpg b/.wallpaper/.wallpaper/cyberpunk-01-10.jpg new file mode 100644 index 0000000..15733a7 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-10.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-11.jpg b/.wallpaper/.wallpaper/cyberpunk-01-11.jpg new file mode 100644 index 0000000..e6a9582 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-11.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-12.jpg b/.wallpaper/.wallpaper/cyberpunk-01-12.jpg new file mode 100644 index 0000000..4eadb43 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-12.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-13.jpg b/.wallpaper/.wallpaper/cyberpunk-01-13.jpg new file mode 100644 index 0000000..175b421 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-13.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-14.jpg b/.wallpaper/.wallpaper/cyberpunk-01-14.jpg new file mode 100644 index 0000000..cd1863b Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-14.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-15.jpg b/.wallpaper/.wallpaper/cyberpunk-01-15.jpg new file mode 100644 index 0000000..c7384ca Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-15.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-2.jpg b/.wallpaper/.wallpaper/cyberpunk-01-2.jpg new file mode 100644 index 0000000..d7cabc5 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-2.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-3.jpg b/.wallpaper/.wallpaper/cyberpunk-01-3.jpg new file mode 100644 index 0000000..3cac01c Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-3.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-4.jpg b/.wallpaper/.wallpaper/cyberpunk-01-4.jpg new file mode 100644 index 0000000..f578750 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-4.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-5.jpg b/.wallpaper/.wallpaper/cyberpunk-01-5.jpg new file mode 100644 index 0000000..672def9 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-5.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-6.jpg b/.wallpaper/.wallpaper/cyberpunk-01-6.jpg new file mode 100644 index 0000000..d76b86c Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-6.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-7.jpg b/.wallpaper/.wallpaper/cyberpunk-01-7.jpg new file mode 100644 index 0000000..b1e9d3b Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-7.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-8.jpg b/.wallpaper/.wallpaper/cyberpunk-01-8.jpg new file mode 100644 index 0000000..66f2575 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-8.jpg differ diff --git a/.wallpaper/.wallpaper/cyberpunk-01-9.jpg b/.wallpaper/.wallpaper/cyberpunk-01-9.jpg new file mode 100644 index 0000000..4944cb8 Binary files /dev/null and b/.wallpaper/.wallpaper/cyberpunk-01-9.jpg differ diff --git a/.wallpaper/.wallpaper/late-morning.png b/.wallpaper/.wallpaper/late-morning.png new file mode 100644 index 0000000..c076c7c Binary files /dev/null and b/.wallpaper/.wallpaper/late-morning.png differ diff --git a/.wallpaper/.wallpaper/midday.png b/.wallpaper/.wallpaper/midday.png new file mode 100644 index 0000000..49dcd12 Binary files /dev/null and b/.wallpaper/.wallpaper/midday.png differ diff --git a/notkaramel-guide-to-linux/.github.md b/linux-guide/.github.md similarity index 100% rename from notkaramel-guide-to-linux/.github.md rename to linux-guide/.github.md diff --git a/notkaramel-guide-to-linux/Backend.md b/linux-guide/Backend.md similarity index 100% rename from notkaramel-guide-to-linux/Backend.md rename to linux-guide/Backend.md diff --git a/notkaramel-guide-to-linux/Database.md b/linux-guide/Database.md similarity index 100% rename from notkaramel-guide-to-linux/Database.md rename to linux-guide/Database.md diff --git a/notkaramel-guide-to-linux/Frontend.md b/linux-guide/Frontend.md similarity index 100% rename from notkaramel-guide-to-linux/Frontend.md rename to linux-guide/Frontend.md diff --git a/notkaramel-guide-to-linux/Home.md b/linux-guide/Home.md similarity index 100% rename from notkaramel-guide-to-linux/Home.md rename to linux-guide/Home.md diff --git a/notkaramel-guide-to-linux/_Sidebar.md b/linux-guide/_Sidebar.md similarity index 100% rename from notkaramel-guide-to-linux/_Sidebar.md rename to linux-guide/_Sidebar.md diff --git a/notkaramel-guide-to-linux/linux/ArchInstallation.md b/linux-guide/linux/ArchInstallation.md similarity index 100% rename from notkaramel-guide-to-linux/linux/ArchInstallation.md rename to linux-guide/linux/ArchInstallation.md diff --git a/notkaramel-guide-to-linux/linux/CorePackages.md b/linux-guide/linux/CorePackages.md similarity index 100% rename from notkaramel-guide-to-linux/linux/CorePackages.md rename to linux-guide/linux/CorePackages.md diff --git a/notkaramel-guide-to-linux/linux/NetworkConfiguration.md b/linux-guide/linux/NetworkConfiguration.md similarity index 100% rename from notkaramel-guide-to-linux/linux/NetworkConfiguration.md rename to linux-guide/linux/NetworkConfiguration.md diff --git a/notkaramel-guide-to-linux/linux/README.md b/linux-guide/linux/README.md similarity index 100% rename from notkaramel-guide-to-linux/linux/README.md rename to linux-guide/linux/README.md diff --git a/notkaramel-guide-to-linux/linux/SwayConfiguration.md b/linux-guide/linux/SwayConfiguration.md similarity index 100% rename from notkaramel-guide-to-linux/linux/SwayConfiguration.md rename to linux-guide/linux/SwayConfiguration.md diff --git a/notkaramel-guide-to-linux/linux/i3Configuration.md b/linux-guide/linux/i3Configuration.md similarity index 100% rename from notkaramel-guide-to-linux/linux/i3Configuration.md rename to linux-guide/linux/i3Configuration.md diff --git a/notkaramel-guide-to-linux/linux/linux.md b/linux-guide/linux/linux.md similarity index 100% rename from notkaramel-guide-to-linux/linux/linux.md rename to linux-guide/linux/linux.md diff --git a/notkaramel-guide-to-linux/notkaramel.github.io.md b/linux-guide/notkaramel.github.io.md similarity index 100% rename from notkaramel-guide-to-linux/notkaramel.github.io.md rename to linux-guide/notkaramel.github.io.md diff --git a/notkaramel-guide-to-linux/notkaramel.md b/linux-guide/notkaramel.md similarity index 100% rename from notkaramel-guide-to-linux/notkaramel.md rename to linux-guide/notkaramel.md