/* Top-level window frame */
.window-frame {
  background: black;
  color: white;
  padding: 15px;
  border-radius: 0px;
  border: none;
}

/* Top-level window content */
.window-content {
  padding: 15px;
  border: 2px solid #800000;
  border-radius: 20px;
}

/* Title of the window */
.window-title {
  font-size: large;
}

/* Links */
.linktext {
  color: #89CFF0;
}

/* Label above controls-content */
.controls-label {
  font-size: smaller;
  margin-top: -4px;
}

/* controls-content boxes */
.controls-content {
  background: #141414;
  padding: 10px;
  border: 1px solid #a00000;
  border-radius: 5px;
  color: #d0d0d0;
}

/* Tighten up routing groups and make the background a little lighter */
.window-routing .controls-content {
  background: #181818;
  padding: 5px;
}

/* Used when the controls content is at the top level */
.top-level-content {
  background: #141414;
}

.route-label {
  font-size: smaller;
  border-radius: 3px;
}

.route-label-hover {
  background: #801010;
  outline: 2px solid #801010;
}

.route-label:drop(active) {
  box-shadow: none;
  background: #801010;
}

.mixer-label {
}

.mixer-label-hover {
  font-weight: bold;
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

label.gain {
  font-size: smaller;
}

/* Default button style */
.window-frame button {
  border: 1px solid #303030;
  background: linear-gradient(175deg, #202020, #282828);
  box-shadow: none;
  font-weight: bold;
  color: #ffffff;
}

.window-frame button.toggle {
  color: #808080;
}

.window-frame button:focus:focus-visible {
  outline: 2px solid #801010;
}

/* padding doesn't work when selected with .window-frame, so use
 * .toggle instead
 */
button.toggle {
  padding: 0px 5px 0px 5px;
}

.window-frame button:checked {
  color: #ffffff;
  border: 1px solid #404040;
}

.window-frame button:hover {
  background: #303030;
}

.window-frame button:disabled {
  background: #202020;
  color: #505050;
}

/* Stop text shadows on buttons from being applied to the popup menu */
.window-frame button > label > * {
  text-shadow: none;
}

/* Button controls that are always disabled because they indicate status */
.window-frame button.fixed {
  color: #ffffff;
  filter: none;
}

.window-frame button.fixed label {
  color: #ffffff;
  filter: none;
}

/* Combobox controls that are always disabled because they indicate status */
.window-frame combobox.fixed > box > button {
  color: #ffffff;
}

/* Buttons that glow when on */
.window-frame button.sync-status {
  text-shadow: 0 0 5px #a00000, 0 0 15px #800000;
}

.window-frame button.sync-status:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.input-select:checked {
  color: #ffffff;
  text-shadow: 0 0 5px #00ff00, 0 0 10px #00ff00, 0 0 15px #00ff00;
  filter: none;
}

.window-frame button.input-link:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.autogain:checked {
  text-shadow: 0 0 5px #0000ff, 0 0 15px #0000ff;
}

.window-frame button.speaker-switching-enable:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.speaker-switching-alt {
  color: #ffffff;
  text-shadow: 0 0 5px #00ff00, 0 0 15px #00c000;
}

.window-frame button.speaker-switching-alt:checked {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
}

.window-frame button.talkback-enable:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.talk:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

/* orange */
.window-frame .vocaster button.autogain:checked {
  text-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
}

.window-frame button.safe:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.safe:checked:disabled {
  text-shadow: 0 0 5px #005000, 0 0 15px #005000;
}

.window-frame button.inst:checked {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #ff0000;
}

.window-frame .gen4 button.inst:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame .gen4 button.inst:checked:disabled {
  text-shadow: 0 0 5px #005000, 0 0 15px #005000;
}

.window-frame button.pcm-input-mix:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

/* Air Checked (Gen 3) */
.window-frame button.air:checked {
  text-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
}

/* Air Selections (Gen 4) */
.window-frame button.air.selected-presence > label {
  color: #ffffff;
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.air.selected-presencedrive > label {
  color: #ffffff;
  text-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
}

.window-frame button.air.selected-presence:disabled > label {
  color: #505050;
  text-shadow: 0 0 5px #005000, 0 0 15px #005000;
}

.window-frame button.air.selected-presencedrive:disabled > label {
  color: #505050;
  text-shadow: 0 0 5px #503c00, 0 0 15px #503c00;
}

.window-frame button.pad:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.gain-switch:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.phantom:checked {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
}

.window-frame .gen4 button.phantom:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame .gen4 button.phantom:checked:disabled {
  text-shadow: 0 0 5px #005000, 0 0 15px #005000;
}

.window-frame button.input-mute:checked {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
}

.window-frame button.dsp:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

/* Direct Monitor Checked (Solo) */
.window-frame .direct-monitor:checked {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

/* Direct Monitor Selections (2i2) */
.window-frame button.direct-monitor.selected-mono > label {
  color: #ffffff;
  text-shadow: 0 0 5px #c0c0c0, 0 0 15px #c0c0c0;
}

.window-frame button.direct-monitor.selected-stereo > label {
  color: #ffffff;
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

/* Sample Rates */
.window-frame button.sample-rate.sample-rate-44100 {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.sample-rate.sample-rate-48000 {
  text-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
}

.window-frame button.sample-rate.sample-rate-88200 {
  text-shadow: 0 0 5px #ff8000, 0 0 15px #ff8000;
}

.window-frame button.sample-rate.sample-rate-96000 {
  text-shadow: 0 0 5px #ff8000, 0 0 15px #ff8000;
}

.window-frame button.sample-rate.sample-rate-176400 {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
}

.window-frame button.sample-rate.sample-rate-192000 {
  text-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
}

/* Button controls where checked is dimmer */

/* Mute button */
.window-frame button.mute {
  color: #ffffff;
  -gtk-icon-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
  border-color: #404040;
}

.window-frame button.mute:checked {
  -gtk-icon-shadow: 0 0 5px #ff0000, 0 0 15px #c00000;
  border-color: #303030;
}

/* Dim button */
.window-frame button.dim {
  color: #ffffff;
  -gtk-icon-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
  border-color: #404040;
}

.window-frame button.dim:checked {
  -gtk-icon-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
  border-color: #303030;
}

/* SW/HW button */
.window-frame button.sw-hw {
  color: #ffffff;
  -gtk-icon-shadow: 0 0 5px #00c000, 0 0 15px #00c000;
  border-color: #404040;
}

.window-frame button.sw-hw:checked {
  color: #808080;
  -gtk-icon-shadow: 0 0 5px #ffc000, 0 0 15px #ffc000;
  border-color: #303030;
}

/* Textview used for long descriptions in the startup window */
.window-frame textview {
  color: #ffffff;
  background: none;
}

.window-frame textview > text {
  background: none;
}

/* Bigger buttons in the startup window */
.window-frame .window-startup button {
  padding: 5px;
}

/* Separators */
.window-frame separator {
  background: #800000;
}

.window-frame .big-padding {
  padding: 50px;
}

/* Bigger buttons in confirmation dialogs */
.window-frame .big-padding button {
  padding: 5px 30px;
}
