/*
 * vim: fdm=marker fdl=1
 * */

/* start flavours */
@define-color base00 #0c0c0c;
@define-color base01 #db4d6d;
@define-color base02 #5dac81;
@define-color base03 #fad689;
@define-color base04 #58b2dc;
@define-color base05 #69b0ac;
@define-color base06 #70649a;
@define-color base07 #bdc0ba;
@define-color base08 #1c1c1c;
@define-color base09 #cb1b45;
@define-color base0A #86c166;
@define-color base0B #f7d94c;
@define-color base0C #2ea9df;
@define-color base0D #81c7d4;
@define-color base0E #8a6bbe;
@define-color base0F #fffffb;

* {
    font-family: 'Noto Sans', FontAwesome, Material Design Icons;
    font-size: 12pt;
}
/* end flavours */

@define-color accent @base06;
@define-color accentdarker @base0E;
@define-color foreground @base07;
@define-color background @base00;
/* @define-color background rgba(12, 12, 12, 0.96); */
@define-color dimmed #5e5e5e;
@define-color dimmeddarker #434343;
@define-color urgent @base09;

* {
    border: none;
    border-radius: 0;
}

window#waybar {
    background: @background;
    color: @foreground;
    /* padding: 0 0.3rem; */
}

window#waybar.hidden {
    opacity: 0;
}


#window,
#mode,
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#idle_inhibitor,
#network,
#pulseaudio,
#wireplumber,
#custom-toggl,
#custom-gammastep,
#custom-weather,
#custom-mpris,
#custom-todo,
#custom-covid,
#custom-timetracked,
#tray {
    /* border-top: 1px solid @dimmeddarker; */
    padding: 0 0.1rem;
    margin: 0 0.2rem;
    color: @dimmed;
}

#cpu:hover,
#memory:hover,
#backlight:hover,
#idle_inhibitor:hover,
#network:hover,
#network.tailscale:hover,
#pulseaudio:hover,
#wireplumber:hover,
#custom-mpris:hover,
#custom-gammastep:hover,
#custom-todo:hover {
    color: @foreground;
    transition-property: background;
    transition-duration: 0.1s;
}

#tags button,
#workspaces button {
    padding: 0 5px;
    background: transparent;
    color: @dimmed;
    /* border-bottom: 3px solid transparent; */
}

#tags button {
    color: @dimmeddarker;
}

#tags button.occupied {
    color: @dimmed;
}

#workspaces button.visible {
    color: @dimmeddarker;
    background: @accentdarker;
}

#tags button.focused,
#workspaces button.focused {
    font-weight: bold;
    color: @foreground;
    background: @accent;
    transition-property: background;
    transition-duration: 0.01s;
}

#tags button.urgent,
#workspaces button.urgent {
    color: @background;
    background: @urgent;
}

#tags button:hover,
#tags button.focused:hover,
#workspaces button:hover,
#workspaces button.focused:hover {
    background: @accent;
    color: @foreground;
    transition-property: background, color;
    transition-duration: 0.01s;

    /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
    box-shadow: inherit;
    text-shadow: inherit;
}

#tags button.urgent:hover,
#workspaces button.urgent:hover {
    background: @foreground;
    transition-property: background;
    transition-duration: 0.01s;
}

#mode {
    /* font-style: italic; */
    color: @background;
    background: @base03;
    margin: 3px 6px;
    border-radius: 2px;
}

#clock {}

#clock.local {
    color: @foreground;
}

#clock.utc {}

#disk.root {}

#disk.home {
    /* margin-left: 0; */
    /* padding-left: 0; */
}

#battery {}

#battery.charging {
    color: @background;
    background: @base0A;
}

@keyframes blink {
    to {
        background: @foreground;
        color: @background;
    }
}

#battery.critical:not(.charging) {
    color: @foreground;
    background: @urgent;
    animation-name: blink;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

label:focus {
    background: @background;
}

#cpu {}

#memory {}

#backlight {}

#backlight.off {
    color: @dimmed;
}

#network {}

#network.disconnected {
    border-top: 1px solid @urgent;
    color: @dimmed;
}

#network.tailscale.disabled,
#network.tailscale.disconnected,
#network.mullvad.disabled,
#network.mullvad.disconnected {
    border-top: 1px solid @dimmeddarker;
}

#network.tailscale.ethernet,
#network.tailscale.linked,
#network.mullvad.ethernet,
#network.mullvad.linked {
    color: @foreground;
    border-top: 1px solid @base0E;
}

#pulseaudio {}

#pulseaudio.muted {
    border-top: 1px solid @urgent;
    color: @dimmed;
}

#pulseaudio.bluetooth {
    border-top: 1px solid @base04;
}

#wireplumber {}

#wireplumber.muted {
    border-top: 1px solid @urgent;
    color: @dimmed;
}

#wireplumber.bluetooth {
    border-top: 1px solid @base04;
}

#temperature {}

#temperature.critical {
    color: @foreground;
    background: @urgent;
    border-top: none;
}

#tray {}

#idle_inhibitor {}

#idle_inhibitor.activated {
    color: @foreground;
    border-top: 1px solid @base02;
}

#mpris {
    color: @foreground;
}

#mpris.playing,
#mpris.paused {
    border-top: 1px solid @base04;
}

#mpris.paused {
    font-style: italic;
}

#mpris.spotify {
    border-top: 1px solid #1db954;
}

#mpris.mpv {
    border-top: 1px solid #8f008f;
}

#custom-toggl {
    color: @foreground;
    border-top: 1px solid @urgent;
}

#custom-todo.off {
    color: @dimmed;
    border-top: 1px solid @dimmeddarker;
    padding: 0 0 0 0.4rem;
}

#custom-todo.on {
    color: @foreground;
    border-top: 1px solid @urgent;
    font-weight: bold;
    padding: 0 0.6rem 0 0.4rem;
}

#custom-todo.work {
    background: @urgent;
}

#custom-timetracked {
    color: @urgent;
    border-top: 1px solid @urgent;
}

@keyframes flash {
    50% {
        background: rgba(255, 174, 66, 0.7);
        color: @background;
    }
}

#custom-gamma.night {
    border-top: 1px solid @base0C;
    color: @foreground;
    animation-name: flash;
    animation-duration: 0.3s;
    animation-timing-function: linear;
    animation-iteration-count: 1;
}

#custom-gamma.day {
    color: @dimmed;
}

#custom-gamma.off {
    border-top: 1px solid @urgent;
    color: @dimmed;
}

#custom-weather {
    color: @dimmed;
}

#custom-covid.green {
    /* border-top: 1px solid #00cc00; */
    /* color: #00cc00; */
}

#custom-covid.yellow {
    /* border-top: 1px solid #f7dd31; */
    /* color: #f7dd31; */
}

#custom-covid.orange {
    /* border-top: 1px solid #faa31b; */
    /* color: #faa31b; */
}

#custom-covid.red {
    /* border-top: 1px solid #f92206; */
    /* color: #f92206; */
}

#custom-covid.darkred {
    /* border-top: 1px solid #c01a00; */
    /* color: #c01a00; */
}

#custom-covid.darkdarkred {
    /* border-top: 1px solid #941100; */
    /* color: #941100; */
}

#custom-hotspots {
    border-top: 1px solid @urgent;
    color: @dimmed;
}

#custom-hotspots.soon {
    color: @urgent;
}