@mixin scale() {
  scale {
    min-height: 10px;
    min-width: 10px;
    padding: 12px;

    fill, trough {
      border: 1px solid $borders;
      border-radius: 4px;
      background-color: gtkalpha($dark_shadow, 0.1);
      background-image: linear-gradient(to bottom, gtkshade($bg_color, 0.9), gtkshade($bg_color, 0.93));
      box-shadow: inset 0 1px gtkalpha($dark_shadow, 0.1);
      outline-offset: 2px;
      -gtk-outline-radius: 0;

      &:backdrop {
        background-color: gtkshade($unfocused_bg_color, 0.85);
      }

      &:disabled {
        background-image: none;
        border-color: gtkshade($unfocused_borders, 0.9);
        background-color: $disabled_bg_color;

        &:backdrop {
          background-color: $unfocused_disabled_bg_color;
        }
      }

      &:backdrop {
        background-color: gtkalpha($dark_shadow, 0.1);
      }
    }

    highlight {
      box-shadow: 0 0 0 1px gtkshade($selected_bg_color, 0.9);
      border-radius: 4px;
      background-color: $selected_bg_color;

      &:disabled {
        box-shadow: none;
        background-color: $disabled_bg_color;

        &:backdrop {
          box-shadow: none;
          background-color: $unfocused_disabled_bg_color;
        }
      }

      &:backdrop {
        background-color: $unfocused_selected_bg_color;
        box-shadow: 0 0 0 1px gtkshade($unfocused_selected_bg_color, 0.9);
      }
    }

    &.horizontal {
      indicator {
        min-height: 6px;
        min-width: 1px;
      }

      &.fine-tune indicator {
        min-height: 3px;
      }
    }

    &.vertical {
      indicator {
        min-height: 1px;
        min-width: 6px;
      }

      &.fine-tune indicator {
        min-width: 3px;
      }
    }

    &.fine-tune {
      &.horizontal {
        padding-top: 10px;
        padding-bottom: 10px;
        min-height: 14px;
      }

      &.vertical {
        padding-left: 10px;
        padding-right: 10px;
        min-width: 14px;
      }

      slider {
        margin: -6px;
      }

      fill, trough, highlight {
        border-radius: 4px;
        -gtk-outline-radius: 0;
      }

      marks {
        &.top {
          margin-bottom: 8px;
          margin-top: -13px;
        }

        &.bottom {
          margin-top: 8px;
          margin-bottom: -13px;
        }

        &.top {
          margin-right: 8px;
          margin-left: -13px;
        }

        &.bottom {
          margin-left: 8px;
          margin-right: -13px;
        }
      }
    }

    slider {
      min-height: 18px;
      min-width: 14px;
      margin: -8px;
      border: none;
      border-radius: 0;
      color: $selected_fg_color;
      background-color: transparent;
      background-position: center center;
      background-repeat: no-repeat;
      background-image: gtkscale('assets/slider-horizontal', '.png');
      
      &:focus {
        background-image: gtkscale('assets/slider-horizontal-focused', '.png');

        &:hover {
          background-image: gtkscale('assets/slider-horizontal-focused-hover', '.png');
        }
      }

      &:disabled {
        -gtk-icon-shadow: none;
        background-image: gtkscale('assets/slider-horizontal-disabled', '.png');

        &:backdrop {
          -gtk-icon-shadow: none;
          background-image: gtkscale('assets/slider-horizontal-disabled', '.png');
        }
      }

      &:backdrop {
        color: $unfocused_selected_fg_color;
        background-image: gtkscale('assets/slider-horizontal-disabled', '.png');
      }
    }
    
    &.horizontal.marks-before {
      slider {
        background-image: gtkscale('assets/slider-horizontal-left', '.png');

        &:focus {
          background-image: gtkscale('assets/slider-horizontal-left-focused', '.png');
          
          &:hover {
            background-image: gtkscale('assets/slider-horizontal-left-focused-hover', '.png');
          }
        }

        &:disabled {
          background-image: gtkscale('assets/slider-horizontal-left-disabled', '.png');

          &:backdrop {
            background-image: gtkscale('assets/slider-horizontal-left-disabled', '.png');
          }
        }

        &:backdrop {
          background-image: gtkscale('assets/slider-horizontal-left-disabled', '.png');
        }
      }
    }

    &.vertical {
      slider {
        min-height: 14px;
        min-width: 18px;
        margin: -8px;
        background-image: gtkscale('assets/slider-vertical', '.png');

        &:focus {
          background-image: gtkscale('assets/slider-vertical-focused', '.png');
          
          &:hover {
            background-image: gtkscale('assets/slider-vertical-focused-hover', '.png');
          }
        }

        &:disabled {
          background-image: gtkscale('assets/slider-vertical-disabled', '.png');

          &:backdrop {
            background-image: gtkscale('assets/slider-vertical-disabled', '.png');
          }
        }

        &:backdrop {
          background-image: gtkscale('assets/slider-vertical-disabled', '.png');
        }
      }
      
      &.marks-before {
        background-image: gtkscale('assets/slider-vertical-left', '.png');

        &:hover {
          background-image: gtkscale('assets/slider-vertical-left-focused', '.png');
          
          &:hover {
            background-image: gtkscale('assets/slider-vertical-left-focused-hover', '.png');
          }
        }

        &:disabled {
          background-image: gtkscale('assets/slider-vertical-left-disabled', '.png');

          &:backdrop {
            background-image: gtkscale('assets/slider-vertical-left-disabled', '.png');
          }
        }

        &:backdrop {
          background-image: gtkscale('assets/slider-vertical-left-disabled', '.png');
        }
      }
    }

    value {
      color: gtkalpha(currentColor,0.55);
    }

    marks {
      color: gtkalpha(currentColor,0.55);

      &.top {
        margin-bottom: 6px;
        margin-top: -12px;
      }

      &.bottom {
        margin-top: 6px;
        margin-bottom: -12px;
      }

      &.top {
        margin-right: 6px;
        margin-left: -12px;
      }

      &.bottom {
        margin-left: 6px;
        margin-right: -12px;
      }
    }
  }
}
