/*
 * Colors
 */

@define-color bg rgb (50, 50, 50);
@define-color green rgb (147, 178, 89);
@define-color red rgb (248, 85, 81);
@define-color blue rgb (58, 148, 197);

/*
 * Keyframe functions
 */

@keyframes blink-warning {
    70% {
        color: white;
    }

    to {
        color: white;
        background-color: orange;
    }
}

@keyframes blink-critical {
    70% {
      color: white;
    }

    to {
        color: white;
        background-color: red;
    }
}

/*
 * Base config
 */

/* Reset all styles */
* {
    border: none;
    border-radius: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
}

/* The whole bar */
#waybar {
    background: @bg;
    color: white;
    font-family: SFMono Nerd Font;
    font-size: 13px;
}

/* All modules */
#idle_inhibitor,
#battery,
#backlight,
#clock,
#cpu,
#custom-keyboard-layout,
#memory,
#mode,
#network,
#pulseaudio,
#temperature,
#window,
#workspaces button,
#tray {
    padding: 10px
}

/*
 * Modules
 */

#workspaces {
    font-size: 14px;
}

#battery {
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

#battery.charging {
    border-left: 2px solid @green;
}

#battery.full {
    font-weight: bold;
}

#battery.good {
    color: @green;
}

#battery.ok{
    color: yellow;
}

#battery.warning {
    color: orange;
}

#battery.critical {
    color: red;
}

#battery.warning.discharging {
    animation-name: blink-warning;
    animation-duration: 3s;
}

#battery.critical.discharging {
    animation-name: blink-critical;
    animation-duration: 2s;
}

#clock.time {
    font-size: 14px;
    font-weight: bold;
    /* hack, cause width parameter is bugged */
    margin-left: 2px;
    margin-right: 2px;
}

#cpu {
  /* No styles */
}

#cpu.warning {
    color: orange;
}

#cpu.critical {
    color: red;
}

#memory {
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

#memory.warning {
    color: orange;
}

#memory.critical {
    color: red;
    animation-name: blink-critical;
    animation-duration: 2s;
}

#mode {
    background: #64727D;
    border-top: 2px solid white;
    /* To compensate for the top border and still have vertical centering */
    padding-bottom: 2px;
}

#network {
    /* No styles */
}

#network.disconnected {
    color: orange;
}

#pulseaudio {
    /* No styles */
}

#pulseaudio.muted {
    /* No styles */
}

#pulseaudio.mic {
    padding-top: 0px;
}

#temperature {
    /* No styles */
}

#temperature.critical {
    color: red;
}

#workspaces button {
    color: white;
}

#workspaces button.focused {
    border-left: 2px solid @green;
    color: #ffffff;
}

#workspaces button.urgent {
    border-left: 2px solid @red;
}

/* remove weird GTK hover effect */
#workspaces button:hover {
    box-shadow: inherit;
    text-shadow: inherit;
    background: #585858;
    border: #585858;
}

#workspaces button.focused:hover {
    border-left: 2px solid @green;
    background: #585858;
}

#workspaces button.urgent:hover {
    border-left: 2px solid @red;
    background: #585858;
}
