#
# Common states
#
gtk-auto-mnemonics = 1
gtk-primary-button-warps-slider = 1

style "default" {
  xthickness = 0
  ythickness = 0

  #
  # Style Properties
  #
  GtkWidget::link-color = @link_color
  GtkWidget::visited-link-color = @visited_link_color
  GtkWidget::focus-line-width = 1
  GtkWidget::focus-padding = 1
  GtkMenuBar::window-dragging = 1
  GtkToolbar::window-dragging = 1
  GtkToolbar::internal-padding = 2
  GtkToolbar::space-size = 4
  GtkToolButton::icon-spacing = 2

  GtkWidget::tooltip-radius = 2
  GtkWidget::tooltip-alpha = 230
  GtkWidget::new-tooltip-style = 1 #for compatibility

  GtkSeparatorMenuItem::horizontal-padding = 1
  GtkSeparatorMenuItem::wide-separators = 1
  GtkSeparatorMenuItem::separator-height = 1

  GtkButton::child-displacement-y = 0
  GtkButton::default-border = { 0, 0, 0, 0 }
  GtkButton::default-outside_border = { 0, 0, 0, 0 }
  GtkButton::inner-border = { 2, 2, 2, 2 }

  GtkEntry::state-hint   = 1
  GtkEntry::inner-border = { 4, 4, 4, 4 }

  GtkScrollbar::trough-border = 0
  GtkRange::trough-border = 0
  GtkRange::slider-width = 13
  GtkRange::stepper-size = 0
  GtkRange::activate-slider = 1

  GtkScrollbar::activate-slider = 1
  GtkScrollbar::has-backward-stepper = 0  
  GtkScrollbar::has-forward-stepper = 0
  GtkScrollbar::min-slider-length = 24
  GtkScrollbar::slider-width = 8
  GtkScrolledWindow::scrollbar-spacing = 0
  GtkScrolledWindow::scrollbars-within-bevel = 1

  GtkScale::slider_length = 20
  GtkScale::slider_width = 20
  GtkScale::trough-side-details = 1

  GtkStatusbar::shadow_type = GTK_SHADOW_NONE
  GtkSpinButton::shadow_type = GTK_SHADOW_NONE
  GtkMenuBar::shadow-type = GTK_SHADOW_NONE
  GtkToolbar::shadow-type = GTK_SHADOW_NONE
  GtkMenuBar::internal-padding = 0 #( every window is misaligned for the sake of menus ):
  GtkMenu::horizontal-padding = 0
  GtkMenu::vertical-padding = 0

  GtkCheckButton::indicator-size = 16
  GtkCheckButton::indicator_spacing = 2
  GtkOptionMenu::indicator_spacing = { 0, 10, 0, 0 }

  GtkTreeView::row_ending_details = 0
  GtkTreeView::expander-size = 16
  GtkTreeView::vertical-separator = 2
  GtkTreeView::horizontal-separator = 2
  GtkTreeView::allow-rules = 1
  # Some file-managers apply these 'stripes'
  GtkTreeView::odd-row-color = mix(0.5, @bg_color, @base_color)
  GtkTreeView::even-row-color = @base_color

  GtkExpander::expander-size = 16

  GtkProgressBar::min-horizontal-bar-height = 4
  GtkProgressBar::min-vertical-bar-width = 4

  # For succinctness, all reasonable pixmap options remain here
  engine "pixmap" {

    #
    # Check Buttons
    #
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = NORMAL
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = PRELIGHT
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = ACTIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = INSENSITIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = SELECTED
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = NORMAL
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = PRELIGHT
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = ACTIVE
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = INSENSITIVE
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = SELECTED
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-dark.png"
      overlay_stretch   = FALSE
    }

    #
    # Radio Buttons
    #
    image {
      function          = OPTION
      state             = NORMAL
      shadow            = OUT
      overlay_file      = "Check-Radio/radio-off-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = PRELIGHT
      shadow            = OUT
      overlay_file      = "Check-Radio/radio-off-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = ACTIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/radio-off-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = INSENSITIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/radio-off-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = SELECTED
      shadow            = OUT
      overlay_file      = "Check-Radio/radio-off-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = NORMAL
      shadow            = IN
      overlay_file      = "Check-Radio/radio-on-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = PRELIGHT
      shadow            = IN
      overlay_file      = "Check-Radio/radio-on-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = ACTIVE
      shadow            = IN
      overlay_file      = "Check-Radio/radio-on-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = INSENSITIVE
      shadow            = IN
      overlay_file      = "Check-Radio/radio-on-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = SELECTED
      shadow            = IN
      overlay_file      = "Check-Radio/radio-on-dark.png"
      overlay_stretch   = FALSE
    }

    #
    # Arrows
    #
    image {
      function          = ARROW
      overlay_file      = "Arrows/up-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/up-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/up-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/up-insensitive-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = NORMAL
      overlay_file      = "Arrows/down-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/down-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/down-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/down-insensitive-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      overlay_file      = "Arrows/left-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/left-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/left-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/left-insensitive-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      overlay_file      = "Arrows/right-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/right-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/right-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/right-insensitive-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }

    #
    # Option Menu Arrows
    #
    image {
      function          = TAB
      state             = NORMAL
      overlay_file      = "Arrows/down-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
    }
    image {
      function          = TAB
      state             = PRELIGHT
      overlay_file      = "Arrows/down-dark.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
    }
    image {
      function          = TAB
      state             = INSENSITIVE
      overlay_file      = "Arrows/down-insensitive-dark.png"
      overlay_stretch   = FALSE
    }

    #
    # Lines
    #
    image {
      function          = VLINE
      file              = "Lines/v-line.png"
      border            = { 1, 0, 0, 0 }
      stretch           = TRUE
    }
    image {
      function          = HLINE
      file              = "Lines/h-line.png"
      border            = { 0, 0, 0, 1 }
      stretch           = TRUE
    }

    #
    # Focuslines
    #
    image {
      function          = FOCUS
      file              = "Others/focus-dark.png"
      border            = { 2, 2, 2, 2 }
      stretch           = TRUE
    }

    #
    # Handles
    #
    image {
      function          = HANDLE
      state             = NORMAL
      overlay_file      = "Handles/h-handle-dark.png"
      overlay_stretch   = FALSE
      orientation       = HORIZONTAL
    }
    image {
      function          = HANDLE
      state             = PRELIGHT
      overlay_file      = "Handles/h-handle-hover-dark.png"
      overlay_stretch   = FALSE
      orientation       = HORIZONTAL
    }
    image {
      function          = HANDLE
      state             = ACTIVE
      overlay_file      = "Handles/h-handle-active-dark.png"
      overlay_stretch   = FALSE
      orientation       = HORIZONTAL
    }
    image {
      function          = HANDLE
      state             = INSENSITIVE
      overlay_file      = "Handles/h-handle-insensitive-dark.png"
      overlay_stretch   = FALSE
      orientation       = HORIZONTAL
    }
    image {
      function          = HANDLE
      state             = NORMAL
      overlay_file      = "Handles/v-handle-dark.png"
      overlay_stretch   = FALSE
      orientation       = VERTICAL
    }
    image {
      function          = HANDLE
      state             = PRELIGHT
      overlay_file      = "Handles/v-handle-hover-dark.png"
      overlay_stretch   = FALSE
      orientation       = VERTICAL
    }
    image {
      function          = HANDLE
      state             = ACTIVE
      overlay_file      = "Handles/v-handle-active-dark.png"
      overlay_stretch   = FALSE
      orientation       = VERTICAL
    }
    image {
      function          = HANDLE
      state             = INSENSITIVE
      overlay_file      = "Handles/v-handle-insensitive-dark.png"
      overlay_stretch   = FALSE
      orientation       = VERTICAL
    }

    #
    # Expanders
    #
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt-dark.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt-hover-dark.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = COLLAPSED
      file              = "Arrows/right-dark.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt-insensitive-dark.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt-dark.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt-hover-dark.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-dark.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt-insensitive-dark.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = EXPANDED
      file              = "Arrows/down-alt-dark.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = EXPANDED
      file              = "Arrows/down-alt-hover-dark.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = EXPANDED
      file              = "Arrows/down-dark.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = EXPANDED
      file              = "Arrows/down-alt-insensitive-dark.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt-dark.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt-hover-dark.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-dark.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt-insensitive-dark.png"
    }

    #
    # Resize Grip
    #
    image {
      function          = RESIZE_GRIP
      state             = NORMAL
      detail            = "statusbar"
      overlay_file      = "Others/null.svg" 
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
    }

    #
    # Shadows ( this area needs help :P )
    #
    image {
      function          = SHADOW_GAP
      file              = "Others/null.svg"
      border            = { 0, 0, 0, 0 }
      stretch           = TRUE
    }
  }
}

style "toplevel_hack" {
}

style "progressbar" {
  xthickness = 0
  ythickness = 0

  fg[NORMAL] = @fg_color
  fg[PRELIGHT] = @selected_fg_color

  engine "pixmap" {
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "ProgressBar/trough-dark.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "ProgressBar/trough-dark.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "bar"
      file        = "ProgressBar/bar.png"
      stretch     = TRUE
      border      = { 0, 0, 0, 0 }
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "bar"
      file        = "ProgressBar/bar.png"
      stretch     = TRUE
      border      = { 0, 0, 0, 0 }
      orientation = VERTICAL
    }
  }
}

style "range" {
  engine "pixmap" {
    image {
      function    = BOX
      state       = NORMAL
      detail      = "trough-upper"
      file        = "Range/h-scale-trough-dark.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = NORMAL
      detail      = "trough-lower"
      file        = "Range/h-scale-trough-active.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = PRELIGHT
      detail      = "trough-upper"
      file        = "Range/h-scale-trough-dark.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = PRELIGHT
      detail      = "trough-lower"
      file        = "Range/h-scale-trough-active.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = ACTIVE
      detail      = "trough-upper"
      file        = "Range/h-scale-trough-dark.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = ACTIVE
      detail      = "trough-lower"
      file        = "Range/h-scale-trough-active.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough-upper"
      file        = "Range/h-scale-trough-insensitive-dark.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough-lower"
      file        = "Range/h-scale-trough-dark.png"
      border      = { 8, 8, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = NORMAL
      detail      = "trough-upper"
      file        = "Range/v-scale-trough-dark.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = NORMAL
      detail      = "trough-lower"
      file        = "Range/v-scale-trough-active.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = PRELIGHT
      detail      = "trough-upper"
      file        = "Range/v-scale-trough-dark.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = PRELIGHT
      detail      = "trough-lower"
      file        = "Range/v-scale-trough-active.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = ACTIVE
      detail      = "trough-upper"
      file        = "Range/v-scale-trough-dark.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = ACTIVE
      detail      = "trough-lower"
      file        = "Range/v-scale-trough-active.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough-upper"
      file        = "Range/v-scale-trough-insensitive-dark.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough-lower"
      file        = "Range/v-scale-trough-dark.png"
      border      = { 0, 0, 8, 8 }
      stretch     = TRUE
      orientation = VERTICAL
    }

    #
    # Horizontal
    #
    image {
      function        = SLIDER
      state           = NORMAL
      detail          = "hscale"
      file            = "Range/scale-slider.png"
    }
    image {
      function        = SLIDER
      state           = PRELIGHT
      detail          = "hscale"
      file            = "Range/scale-slider-hover.png"
    }
    image {
      function        = SLIDER
      state           = ACTIVE
      detail          = "hscale"
      file            = "Range/scale-slider-active.png"
    }
    image {
      function        = SLIDER
      state           = INSENSITIVE
      detail          = "hscale"
      file            = "Range/scale-slider-insensitive-dark.png"
    }

    #
    # Vertical
    #
    image {
      function        = SLIDER
      state           = NORMAL
      detail          = "vscale"
      file            = "Range/scale-slider.png"
    }
    image {
      function        = SLIDER
      state           = PRELIGHT
      detail          = "vscale"
      file            = "Range/scale-slider-hover.png"
    }
    image {
      function        = SLIDER
      state           = ACTIVE
      detail          = "vscale"
      file            = "Range/scale-slider-active.png"
    }
    image {
      function        = SLIDER
      state           = INSENSITIVE
      detail          = "vscale"
      file            = "Range/scale-slider-insensitive-dark.png"
    }
  }
}

style "scrollbar" {
  engine "pixmap" {
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "Scrollbars/h-trough-dark.png"
      border      = { 0, 0, 1, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough"
      file        = "Scrollbars/h-trough-dark.png"
      border      = { 0, 0, 1, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "Scrollbars/v-trough-dark.png"
      border      = { 1, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough"
      file        = "Scrollbars/v-trough-dark.png"
      border      = { 1, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }

    #
    # Sliders
    #
    image {
      function    = SLIDER
      state       = NORMAL
      file        = "Scrollbars/h-slider-dark.png" 
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = SLIDER
      state       = PRELIGHT
      file        = "Scrollbars/h-slider-hover-dark.png" 
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = SLIDER
      state       = ACTIVE
      file        = "Scrollbars/h-slider-active-dark.png" 
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image 
    {
      function    = SLIDER
      state       = INSENSITIVE
      file        = "Scrollbars/h-slider-insensitive-dark.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }

    # X Verticals
    image {
      function    = SLIDER
      state       = NORMAL
      file        = "Scrollbars/v-slider-dark.png" 
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = SLIDER
      state       = PRELIGHT
      file        = "Scrollbars/v-slider-hover-dark.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = SLIDER
      state       = ACTIVE
      file        = "Scrollbars/v-slider-active-dark.png" 
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = SLIDER
      state       = INSENSITIVE
      file        = "Scrollbars/v-slider-insensitive-dark.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = VERTICAL
    }
  }
}

style "entry" {
  xthickness = 4
  ythickness = 4

  bg[NORMAL] = @bg_color
  bg[ACTIVE] = @bg_color
  bg[INSENSITIVE] = @bg_color
  base[NORMAL] = @bg_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @bg_color

  engine "pixmap" {
    image {
      function = SHADOW
      detail   = "entry"
      state    = NORMAL
      shadow   = IN
      file     = "Entry/entry-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = ACTIVE
      shadow   = IN
      file     = "Entry/entry-active-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = INSENSITIVE
      shadow   = IN
      file     = "Entry/entry-insensitive-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function        = FLAT_BOX
      detail          = "entry_bg"
      state           = NORMAL
      file            = "Entry/bg-dark.png"
    }
    image {
      function        = FLAT_BOX
      detail          = "entry_bg"
      state           = ACTIVE
      file            = "Entry/bg-active-dark.png"
    }
    image {
      function        = FLAT_BOX
      detail          = "entry_bg"
      state           = INSENSITIVE
      file            = "Entry/bg-insensitive-dark.png"
    }
  }
}

style "notebook_entry" = "entry" {
  bg[NORMAL] = @bg_color
  bg[ACTIVE] = @bg_color
  bg[INSENSITIVE] = @bg_color
  base[NORMAL] = @bg_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @bg_color
}

style "button" {
  xthickness = 4
  ythickness = 4

  bg[NORMAL] = @bg_color
  bg[ACTIVE] = @bg_color
  bg[INSENSITIVE] = @bg_color
  base[NORMAL] = @bg_color
  base[ACTIVE] = @bg_color
  base[INSENSITIVE] = @bg_color
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "Buttons/button-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = OUT
      file     = "Buttons/button-hover-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      shadow   = OUT
      file     = "Buttons/button-insensitive-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "Buttons/button-active-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = IN
      file     = "Buttons/button-active-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      shadow   = IN
      file     = "Buttons/button-insensitive-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
  }
}

style "button_label" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)
  font_name = "Bold"
}

style "misc_button_label" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)
  font_name = "Regular"
}

style "flat_button" {
  xthickness = 4
  ythickness = 4

  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "Others/null.svg"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = OUT
      file     = "Buttons/flat-button-hover-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      shadow   = OUT
      file     = "Others/null.svg"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "Buttons/flat-button-active-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      shadow   = IN
      file     = "Buttons/flat-button-hover-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      shadow   = IN
      file     = "Buttons/button-insensitive-dark.png"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }
  }
}

style "location_button" {
  xthickness = 2
  ythickness = 3

  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "Others/null.svg"
      border   = { 2, 2, 3, 3 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      file     = "Buttons/flat-button-hover-dark.png"
      border   = { 2, 2, 3, 3 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "Others/top.png"
      border   = { 0, 0, 0, 2 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      file     = "Others/null.svg"
      border   = { 2, 2, 3, 3 }
      stretch  = TRUE
    }
  }
}

style "location_button_label" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color)
  font_name = "Bold"
}

style "button_check_radio" = "bg" {
  bg[PRELIGHT] = @bg_color
}

style "view_button_check_radio" = "bg" {
  bg[PRELIGHT] = @base_color
}

style "button_separator" {
  xthickness = 0
  ythickness = 0

  GtkWidget::wide-separators = 1
  GtkWidget::separator-height = 0
  GtkWidget::separator-width = 0
}

style "combobox_button" {
  xthickness = 4
  ythickness = 4
}

style "combobox_entry" {
  xthickness = 4
  ythickness = 4

  engine "pixmap" {
    # LTR version
    image {
      function  = SHADOW
      detail    = "entry"
      state     = NORMAL
      shadow    = IN
      file      = "Entry/ltr-entry-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = ACTIVE
      shadow    = IN
      file      = "Entry/ltr-entry-active-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = INSENSITIVE
      shadow    = IN
      file      = "Entry/ltr-entry-insensitive-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }

    # RTL version
    image {
      function  = SHADOW
      detail    = "entry"
      state     = NORMAL
      shadow    = IN
      file      = "Entry/rtl-entry-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = ACTIVE
      shadow    = IN
      file      = "Entry/rtl-entry-active-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = INSENSITIVE
      shadow    = IN
      file      = "Entry/rtl-entry-insensitive-dark.png"
      border    = { 4, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
  }
}

style "notebook_combobox_entry" {
  engine "pixmap" {
    # LTR version
    image {
      function  = SHADOW
      detail    = "entry"
      state     = NORMAL
      shadow    = IN
      file      = "Entry/ltr-entry-dark.png"
      border    = { 4, 0, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = ACTIVE
      shadow    = IN
      file      = "Entry/ltr-entry-active-dark.png"
      border    = { 4, 0, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = INSENSITIVE
      shadow    = IN
      file      = "Entry/ltr-entry-insensitive-dark.png"
      border    = { 4, 0, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }

    # RTL version
    image {
      function  = SHADOW
      detail    = "entry"
      state     = NORMAL
      shadow    = IN
      file      = "Entry/rtl-entry-dark.png"
      border    = { 0, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = ACTIVE
      shadow    = IN
      file      = "Entry/rtl-entry-active-dark.png"
      border    = { 0, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = INSENSITIVE
      shadow    = IN
      file      = "Entry/rtl-entry-insensitive-dark.png"
      border    = { 0, 4, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
  }
}

style "combobox_entry_button" {
  xthickness = 4
  ythickness = 4

  fg[ACTIVE] = @text_color

  engine "pixmap" {
    # LTR version
    image {
      function  = BOX
      state     = NORMAL
      file      = "Buttons/ltr-button-dark.png"
      border    = { 1, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = PRELIGHT
      file      = "Buttons/ltr-button-hover-dark.png"
      border    = { 1, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = ACTIVE
      file      = "Buttons/ltr-button-active-dark.png"
      border    = { 1, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = INSENSITIVE
      file      = "Buttons/ltr-button-insensitive-dark.png"
      border    = { 1, 4, 4, 4 }
      stretch   = TRUE
      direction = LTR
    }

    # RTL version
    image {
      function  = BOX
      state     = NORMAL
      file      = "Buttons/rtl-button-dark.png"
      border    = { 4, 1, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = BOX
      state     = PRELIGHT
      file      = "Buttons/rtl-button-hover-dark.png"
      border    = { 4, 1, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = BOX
      state     = ACTIVE
      file      = "Buttons/rtl-button-active-dark.png"
      border    = { 4, 1, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = BOX
      state     = INSENSITIVE
      file      = "Buttons/rtl-button-insensitive-dark.png"
      border    = { 4, 1, 4, 4 }
      stretch   = TRUE
      direction = RTL
    }
  }
}

style "combo_entry_button" {
  xthickness = 4
  ythickness = 4
}

style "spinbutton" {
  xthickness = 4
  ythickness = 4

  bg[NORMAL] = @bg_color

  engine "pixmap" {
    image {
      function = ARROW
    }

    # Spin-Up LTR
    image {
      function        = BOX
      state           = NORMAL
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-dark.png"
      border          = { 1, 4, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = PRELIGHT
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-hover-dark.png"
      border          = { 1, 4, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = ACTIVE
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-active-dark.png"
      border          = { 1, 4, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-insensitive-dark.png"
      border          = { 1, 4, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-insensitive-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }

    # Spin-Up RTL
    image {
      function        = BOX
      state           = NORMAL
      detail          = "spinbutton_up"
      file            = "Spin/rtl-up-dark.png"
      border          = { 4, 1, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image {
      function        = BOX
      state           = PRELIGHT
      detail          = "spinbutton_up"
      file            = "Spin/rtl-up-hover-dark.png"
      border          = { 4, 1, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image
    {
      function        = BOX
      state           = ACTIVE
      detail          = "spinbutton_up"
      file            = "Spin/rtl-up-active-dark.png"
      border          = { 4, 1, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_up"
      file            = "Spin/rtl-up-insensitive-dark.png"
      border          = { 4, 1, 4, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-insensitive-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }

    # Spin-Down LTR
    image {
      function        = BOX
      state           = NORMAL
      detail          = "spinbutton_down"
      file            = "Spin/ltr-down-dark.png"
      border          = { 1, 4, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = PRELIGHT
      detail          = "spinbutton_down"
      file            = "Spin/ltr-down-hover-dark.png"
      border          = { 1, 4, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = ACTIVE
      detail          = "spinbutton_down"
      file            = "Spin/ltr-down-active-dark.png"
      border          = { 1, 4, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_down"
      file            = "Spin/ltr-down-insensitive-dark.png"
      border          = { 1, 4, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-insensitive-dark.png"
      overlay_stretch = FALSE
      direction       = LTR
    }

    # Spin-Down RTL
    image {
      function        = BOX
      state           = NORMAL
      detail          = "spinbutton_down"
      file            = "Spin/rtl-down-dark.png"
      border          = { 4, 1, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image {
      function        = BOX
      state           = PRELIGHT
      detail          = "spinbutton_down"
      file            = "Spin/rtl-down-hover-dark.png"
      border          = { 4, 1, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image {
      function        = BOX
      state           = ACTIVE
      detail          = "spinbutton_down"
      file            = "Spin/rtl-down-active-dark.png"
      border          = { 4, 1, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_down"
      file            = "Spin/rtl-down-insensitive-dark.png"
      border          = { 4, 1, 1, 4 }
      stretch         = TRUE
      overlay_file    = "Arrows/down-insensitive-dark.png"
      overlay_stretch = FALSE
      direction       = RTL
    }
  }
}

style "standalone_entry" {
  bg[NORMAL] = @bg_color

  engine "pixmap" {
    image {
      function = FLAT_BOX
      detail   = "entry_bg"
      state    = NORMAL
      file     = "Others/null.svg"
      stretch  = TRUE
      border   = { 0, 0, 0, 0 }
    }
    image {
      function = FLAT_BOX
      detail   = "entry_bg"
      state    = ACTIVE
      file     = "Others/null.svg"
      stretch  = TRUE
      border   = { 0, 0, 0, 0 }
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = NORMAL
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = ACTIVE
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
    }
  }
}

style "menubar" {
  xthickness = 0
  ythickness = 0

  bg[NORMAL] = @inverted_dark_color
  fg[NORMAL] = mix(0.8, @selected_fg_color, shade(0.96, @bg_color))
  fg[PRELIGHT] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @bg_color)
}

style "menubar_item" {
  xthickness = 3
  ythickness = 6

  bg[NORMAL] = @inverted_dark_color
  bg[PRELIGHT] = @inverted_dark_color
  fg[NORMAL] = mix(0.8, @selected_fg_color, shade(0.96, @bg_color))
  fg[PRELIGHT] = @selected_fg_color
  fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @bg_color)

  engine "pixmap" {
    image {
      function    = BOX
      recolorable = TRUE
      state       = PRELIGHT
      file        = "Others/top.png"
      border      = { 0, 0, 0, 2 }
      stretch     = TRUE
    }
  }
}

style "menu" {
  xthickness = 0
  ythickness = 0

  GtkMenuItem::arrow-scaling = 0.4

  bg[NORMAL] = mix(0.5, @base_color, @bg_color)
  bg[PRELIGHT] = mix(0.5, @base_color, @bg_color)
  bg[INSENSITIVE] = mix(0.5, @base_color, @bg_color)
}

style "menu_framed_box" {
}

style "menu_item" {
  xthickness = 3
  ythickness = 3

  # HACK: Gtk doesn't actually read this value
  # while rendering the menu items, but Libreoffice
  # does; setting this value equal to the one in
  # fg[PRELIGHT] ensures a code path in the LO theming code
  # that falls back to a dark text color for menu item text
  # highlight. The price to pay is black text on menus as well,
  # but at least it's readable.
  # See https://bugs.freedesktop.org/show_bug.cgi?id=38038
  bg[SELECTED] = mix(0.9, @base_color, @fg_color)
  bg[PRELIGHT] = mix(0.9, @base_color, @fg_color)
  fg[PRELIGHT] = shade(1.04, @fg_color)
  fg[SELECTED] = shade(1.04, @fg_color)
  text[PRELIGHT] = shade(1.04, @fg_color)
  text[SELECTED] = shade(1.04, @fg_color)

  engine "pixmap" {

    # Check Buttons
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = NORMAL
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = PRELIGHT
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = ACTIVE
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = INSENSITIVE
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = NORMAL
      shadow          = IN
      overlay_file    = "Check-Radio/check-on-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = PRELIGHT
      shadow          = IN
      overlay_file    = "Check-Radio/check-on-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = ACTIVE
      shadow          = IN
      overlay_file    = "Check-Radio/check-on-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = INSENSITIVE
      shadow          = IN
      overlay_file    = "Check-Radio/check-on-insensitive-menuitem.png"
      overlay_stretch = FALSE
    }

    # Radio Buttons
    image {
      function        = OPTION
      state           = NORMAL
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = PRELIGHT
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = ACTIVE
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = INSENSITIVE
      shadow          = OUT
      overlay_file    = "Others/null.svg"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = NORMAL
      shadow          = IN
      overlay_file    = "Check-Radio/radio-on-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = PRELIGHT
      shadow          = IN
      overlay_file    = "Check-Radio/radio-on-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = ACTIVE
      shadow          = IN
      overlay_file    = "Check-Radio/radio-on-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = INSENSITIVE
      shadow          = IN
      overlay_file    = "Check-Radio/radio-on-insensitive-menuitem.png"
      overlay_stretch = FALSE
    }

    # This fixes boxy Qt menu items
    image {
      function = SHADOW
      file     = "Others/null.svg"
      border   = { 4, 4, 4, 4 }
      stretch  = TRUE
    }

    # Arrow Buttons
    image {
      function        = ARROW
      state           = NORMAL
      overlay_file    = "Arrows/right-alt-dark.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
    image {
      function        = ARROW
      state           = PRELIGHT
      overlay_file    = "Arrows/right-alt-hover-dark.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
    image {
      function        = ARROW
      state           = INSENSITIVE
      overlay_file    = "Arrows/right-alt-insensitive-dark.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
  }
}

style "separator_menu_item"  {
  xthickness = 0
  ythickness = 1

  # embedded blank area width = 20px
  engine "pixmap" {
    image {
      function  = BOX
      file      = "Lines/menu-line-ltr.png"
      border    = { 20, 0, 0, 0 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      file      = "Lines/menu-line-rtl.png"
      border    = { 0, 20, 0, 0 }
      stretch   = TRUE
      direction = RTL
    }
  }
}

style "notebook" {
  xthickness = 4
  ythickness = 4

  engine "pixmap" {
    image {
      function = EXTENSION
      state    = ACTIVE
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
      gap_side = TOP
    }
    image {
      function = EXTENSION
      state    = ACTIVE
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
      gap_side = BOTTOM
    }
    image {
      function = EXTENSION
      state    = ACTIVE
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
      gap_side = RIGHT
    }
    image {
      function = EXTENSION
      state    = ACTIVE
      file     = "Others/null.svg"
      border   = { 0, 0, 0, 0 }
      stretch  = TRUE
      gap_side = LEFT
    } 
    image {
      function = EXTENSION
      file     = "Others/top.png"
      border   = { 0, 0, 0, 2 }
      stretch  = TRUE
      gap_side = BOTTOM
    }
    image {
      function = EXTENSION
      file     = "Others/bottom.png"
      border   = { 0, 0, 2, 0 }
      stretch  = TRUE
      gap_side = TOP
    }
    image {
      function = EXTENSION
      file     = "Others/left.png"
      border   = { 0, 2, 0, 0 }
      stretch  = TRUE
      gap_side = RIGHT
    }
    image {
      function = EXTENSION
      file     = "Others/right.png"
      border   = { 2, 0, 0, 0 }
      stretch  = TRUE
      gap_side = LEFT
    }

    # How to draw boxes with a gap on one side (ie the page of a notebook)
    image {
      function   = BOX_GAP
      file       = "Shadows/frame.png" 
      border     = { 1, 1, 1, 1 }
      stretch    = TRUE
      gap_file   = "Others/null.svg"
      gap_border = { 1, 1, 0, 0 }
      gap_side   = TOP
    }
    image {
      function   = BOX_GAP
      file       = "Shadows/frame.png"
      border     = { 1, 1, 1, 1 }
      stretch    = TRUE
      gap_file   = "Others/null.svg"
      gap_border = { 1, 1, 0, 0 }
      gap_side   = BOTTOM
    }
    image {
      function   = BOX_GAP
      file       = "Shadows/frame.png"
      border     = { 1, 1, 1, 1 }
      stretch    = TRUE
      gap_file   = "Others/null.svg"
      gap_border = { 0, 0, 1, 1 }
      gap_side   = LEFT
    }
    image {
      function   = BOX_GAP
      file       = "Shadows/frame.png" 
      border     = { 1, 1, 1, 1 }
      stretch    = TRUE
      gap_file   = "Others/null.svg"
      gap_border = { 0, 0, 1, 1 }
      gap_side   = RIGHT
    }

    # How to draw the box of a notebook when it isnt attached to a tab
    image {
      function = BOX
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
    }
  }
}

style "notebook_viewport" {
  bg[NORMAL] = @base_color
}

style "notebook_tab_label" {
  fg[NORMAL] = @fg_color
  fg[ACTIVE] = mix(0.6, @fg_color, @bg_color)
  font_name = "Bold"
}

style "treeview_header" {
  xthickness = 2
  ythickness = 1

  fg[NORMAL] = mix(0.6, @text_color, @base_color)
  fg[PRELIGHT] = mix(0.8, @text_color, @base_color)
  fg[ACTIVE]  = @text_color
  fg[INSENSITIVE] = mix(0.24, @text_color, @base_color)
  font_name = "Medium"

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "Column/column-dark.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      file     = "Column/column-hover-dark.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "Column/column-active-dark.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      file     = "Column/column-insensitive-dark.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
  }
}

style "scrolled_window" {
  xthickness = 1
  ythickness = 1

  engine "pixmap" {
    image {
      function = SHADOW
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
    }
  }
}

# FIXME: needs for Inkskape's scrolled colour palette
style "scrolled_viewport" {
  xthickness = 0
  ythickness = 1

  engine "pixmap" {
    image {
      function = SHADOW
      file     = "Others/null.svg"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
    }
  }
}

style "frame" {
  xthickness = 1
  ythickness = 1

  engine "pixmap" {
    image {
      function = SHADOW
      shadow   = NONE
    }

    image {
      function = SHADOW
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
      shadow   = IN
    }
    image {
      function         = SHADOW_GAP
      file             = "Shadows/frame.png"
      border           = { 1, 1, 1, 1 }
      stretch          = TRUE
      gap_start_file   = "Shadows/gap.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file     = "Shadows/gap.png"
      gap_end_border   = { 0, 1, 0, 0 }
      shadow           = IN
    }
    image {
      function = SHADOW
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
      shadow   = OUT
    }
    image {
      function         = SHADOW_GAP
      file             = "Shadows/frame.png"
      border           = { 1, 1, 1, 1 }
      stretch          = TRUE
      gap_start_file   = "Shadows/gap.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file     = "Shadows/gap.png"
      gap_end_border   = { 0, 1, 0, 0 }
      shadow           = OUT
    }
    image {
      function = SHADOW
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
      shadow   = ETCHED_IN
    }
    image {
      function         = SHADOW_GAP
      file             = "Shadows/frame.png"
      border           = { 1, 1, 1, 1 }
      stretch          = TRUE
      gap_start_file   = "Shadows/gap.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file     = "Shadows/gap.png"
      gap_end_border   = { 0, 1, 0, 0 }
      shadow           = ETCHED_IN
    }
    image {
      function = SHADOW
      file     = "Shadows/frame.png"
      border   = { 1, 1, 1, 1 }
      stretch  = TRUE
      shadow   = ETCHED_OUT
    }
    image {
      function         = SHADOW_GAP
      file             = "Shadows/frame.png"
      border           = { 1, 1, 1, 1 }
      stretch          = TRUE
      gap_start_file   = "Shadows/gap.png"
      gap_start_border = { 1, 0, 0, 0 }
      gap_end_file     = "Shadows/gap.png"
      gap_end_border   = { 0, 1, 0, 0 }
      shadow           = ETCHED_OUT
    }
  }
}

style "handlebox" {
  engine "pixmap" {
    image {
      function = BOX
      file     = "Others/null.svg"
      border   = { 3, 3, 3, 3 }
      stretch  = TRUE
      detail   = "handlebox_bin"
      shadow   = IN
    }
    image {
      function = BOX
      file     = "Others/null.svg"
      border   = { 3, 3, 3, 3 }
      stretch  = TRUE
      detail   = "handlebox_bin"
      shadow   = OUT
    }
  }
}

style "toolbar" {
  engine "pixmap" {
    image {
      function = SHADOW
    }
  }
}

style "inline_toolbar" {
  GtkToolbar::button-relief = GTK_RELIEF_NORMAL

  engine "pixmap" {
    image {
      function    = BOX
      file        = "Toolbar/inline-toolbar-dark.png"
      border      = { 1, 1, 0, 1 }
      recolorable = TRUE
      stretch     = TRUE
    }
  }
}

style "bg" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  bg[NORMAL] = @bg_color
  bg[PRELIGHT] = @bg_color
  bg[ACTIVE] = @bg_color
  bg[INSENSITIVE] = @bg_color
}

style "base" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  bg[NORMAL] = @base_color
  bg[PRELIGHT] = @base_color
  bg[ACTIVE] = @base_color
  bg[INSENSITIVE] = @base_color
}

style "tooltips" {
  xthickness = 4
  ythickness = 4

  bg[NORMAL] = @tooltip_bg_color
  fg[NORMAL] = @tooltip_fg_color
  bg[SELECTED] = @tooltip_bg_color
}

style "text" {
  engine "murrine" { textstyle = 0 }
}

class "GtkWidget"            style "default"
class "GtkScrollbar"         style "scrollbar"
class "GtkButton"            style "button"
class "GtkEntry"             style "entry"
class "GtkOldEditable"       style "entry"
class "GtkSpinButton"        style "spinbutton"
class "GtkNotebook"          style "notebook"
class "GtkRange"             style "range"
class "GtkProgressBar"       style "progressbar"
class "GtkSeparatorMenuItem" style "separator_menu_item"
class "GtkScrolledWindow"    style "scrolled_window"
class "GtkFrame"             style "frame"
class "GtkToolbar"           style "toolbar"

widget_class "*<GtkButton>*<GtkLabel>"               style "button_label"
widget_class "*<GtkComboBox>*<GtkButton>*<GtkLabel>" style "misc_button_label"
widget_class "*<GtkCombo>*<GtkButton>*<GtkLabel>"    style "misc_button_label"
widget_class "*<GtkFontButton>*<GtkLabel>"           style "misc_button_label"
widget_class "*<GtkSpinButton>*<GtkLabel>"           style "misc_button_label"
widget_class "*<GtkCheckButton>*<GtkLabel>"          style "misc_button_label"

widget_class "*<GtkMenuBar>*"                    style "menubar"
widget_class "*<GtkMenu>*"                       style "menu"
widget_class "*<GtkMenuItem>*"                   style "menu_item"
widget_class "*<GtkMenuBar>.<GtkMenuItem>*"      style "menubar_item"
widget_class "*<GtkMenu>*<GtkSeparatorMenuItem>" style "separator_menu_item"

widget_class "*<GtkComboBox>*<GtkButton>"      style "combobox_button"
widget_class "*<GtkComboBoxEntry>*<GtkEntry>"  style "combobox_entry"
widget_class "*<GtkComboBoxEntry>*<GtkButton>" style "combobox_entry_button"
widget_class "*<GtkCombo>*<GtkEntry>"          style "combobox_entry"
widget_class "*<GtkCombo>*<GtkButton>"         style "combobox_entry_button"
widget_class "*<GtkCombo>*<GtkButton>"         style "combo_entry_button"

widget_class "*HandleBox"                                       style "handlebox"
widget_class "*<GtkTreeView>*<GtkButton>*"                      style "treeview_header"
widget_class "*<GtkFileChooserDefault>*<GtkToolbar>"            style "inline_toolbar"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>" style "notebook_viewport"

# FIXME: needs for Inkskape's scrolled colour palette
widget_class "*<GtkScrolledWindow>*<GtkViewport>"               style "scrolled_viewport"

widget_class "*<GtkComboBox>*<GtkSeparator>"          style "button_separator"
widget_class "*<GtkFontButton>*<GtkSeparator>"        style "button_separator"
widget_class "*<GtkFileChooserButton>*<GtkSeparator>" style "button_separator"

widget_class "*<GtkSpinButton>*"  style "bg"
widget_class "*<GtkCheckButton>*" style "bg"
widget_class "*<GtkExpander>*"    style "bg"
widget_class "*<GtkNotebook>*<GtkSpinButton>"                style "base"
widget_class "*<GtkNotebook>*<GtkCheckButton>"               style "button_check_radio"
widget_class "*<GtkNotebook>*<GtkViewport>*<GtkCheckButton>" style "view_button_check_radio"
widget_class "*<GtkNotebook>*<GtkExpander>"                  style "base"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkSpinButton>"  style "bg"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkCheckButton>" style "bg"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkExpander>"    style "bg"

widget_class "*<GtkToolbar>*<GtkButton>"            style "flat_button"
widget_class "*<GtkToolbar>*<GtkButton>*<GtkLabel>" style "button_label"
widget_class "*<GtkPathBar>*<GtkButton>"            style "location_button"
widget_class "*<GtkPathBar>*<GtkButton>*<GtkLabel>" style "location_button_label"

# Entries in notebooks draw with notebook's base color, but not if there's
# something else in the middle that draws gray again
widget_class "*<GtkNotebook>*<GtkEntry>"                          style "notebook_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>"            style "entry"

widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*<GtkEntry>"               style "notebook_combobox_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*<GtkEntry>" style "combobox_entry"

# We also need to avoid changing fg color for the inactive notebook tab labels
widget_class "*<GtkNotebook>.<GtkLabel>"                      style "notebook_tab_label"
widget_class "*<GtkNotebook>.<GtkWidget>.<GtkLabel>"          style "notebook_tab_label"
widget_class "*<GtkNotebook>.<GtkWidget>.<GtkBox>.<GtkLabel>" style "notebook_tab_label"

# GTK tooltips
widget "gtk-tooltip*" style "tooltips"

# Fixes insensitive text shadows
widget_class "*<GtkLabel>"                     style "text"
widget_class "*<GtkComboBox>*<GtkCellLayout>"  style "text"
widget_class "*<GtkNotebook>*<GtkLabel>"       style "text"
widget_class "*<GtkNotebook>*<GtkCellLayout>"  style "text"
