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

style "default" = "default_colors" {
  xthickness = 0
  ythickness = 0

  #
  # Style Properties
  #
  GnomeHRef::link_color = @link_color
  GtkHTML::link-color = @link_color
  GtkHTML::vlink-color = @visited_link_color
  GtkIMHtml::hyperlink-color = @link_color
  GtkIMHtml::hyperlink-visited-color = @visited_link_color
  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 = 7
  GtkToolButton::icon-spacing = 4

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

  GtkSeparatorMenuItem::horizontal-padding = 3
  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 = { 4, 4, 4, 4 }

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

  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 = 32
  GtkScrollbar::slider-width = 12
  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 = 4
  GtkTreeView::horizontal-separator = 4
  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
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = NORMAL
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/check-mixed-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = PRELIGHT
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/check-mixed-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = ACTIVE
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/check-mixed-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = INSENSITIVE
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/check-mixed-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = SELECTED
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/check-mixed-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
    }
    image {
      function          = OPTION
      state             = NORMAL
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/radio-mixed-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = PRELIGHT
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/radio-mixed-hover-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = ACTIVE
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/radio-mixed-active-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      state             = INSENSITIVE
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/radio-mixed-insensitive-dark.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = OPTION
      recolorable       = TRUE
      state             = SELECTED
      shadow            = ETCHED_IN
      overlay_file      = "Check-Radio/radio-mixed-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 "inline_progress" {
  # do not set normal state background
  # bg[NORMAL] = mix(0.2, @accent_color, @base_color)
  bg[SELECTED] = mix(0.6, @accent_color, @base_color) # progress
}

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 = 6
  ythickness = 6

  base[NORMAL] = @light_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @light_color

  engine "pixmap" {
    image {
      function = SHADOW
      detail   = "entry"
      state    = NORMAL
      shadow   = IN
      file     = "Entry/entry-dark.png"
      border   = { 6, 6, 6, 6 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = ACTIVE
      shadow   = IN
      file     = "Entry/entry-active-dark.png"
      border   = { 6, 6, 6, 6 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = INSENSITIVE
      shadow   = IN
      file     = "Entry/entry-insensitive-dark.png"
      border   = { 6, 6, 6, 6 }
      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" {
  base[NORMAL] = @light_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @light_color
}

style "button" {
  xthickness = 6
  ythickness = 6

  fg[NORMAL] = mix(0.87, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.28, @fg_color, @bg_color)

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

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

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

style "buttonbox_button_label" {
  fg[NORMAL] = mix(0.87, mix(0.6, @accent_color, @fg_color), @bg_color)
  fg[PRELIGHT] = mix(0.6, @accent_color, @fg_color)
  fg[ACTIVE] = mix(0.6, @accent_color, @fg_color)
  fg[INSENSITIVE] = mix(0.28, @fg_color, @bg_color)
  font_name = "Bold"
}

style "flat_button" {
  GtkButton::inner-border = { 1, 1, 1, 1 }
  xthickness = 6
  ythickness = 6

  fg[NORMAL] = mix(0.87, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.28, @fg_color, @bg_color)

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

style "buttonbox_flat_button" {
  GtkButton::inner-border = { 1, 1, 1, 1 }
  xthickness = 6
  ythickness = 6

  fg[NORMAL] = mix(0.87, mix(0.6, @accent_color, @fg_color), @bg_color)
  fg[PRELIGHT] = mix(0.6, @accent_color, @fg_color)
  fg[ACTIVE] = mix(0.6, @accent_color, @fg_color)
  fg[INSENSITIVE] = mix(0.28, @fg_color, @bg_color)

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

style "link_button" {
  engine "pixmap" {
    image {
      function = BOX
    }
  }
}

style "location_button" {
  xthickness = 2
  ythickness = 5

  fg[NORMAL] = mix(0.87, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.28, @fg_color, @bg_color)

  engine "pixmap" {
    image {
      function = BOX
      state    = NORMAL
      file     = "Others/null.svg"
      border   = { 2, 2, 5, 5 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      file     = "Buttons/flat-button-hover-dark.png"
      border   = { 2, 2, 5, 5 }
      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, 5, 5 }
      stretch  = TRUE
    }
  }
}

style "location_button_label" {
  fg[NORMAL] = mix(0.87, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  fg[INSENSITIVE] = mix(0.28, @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 = 6
  ythickness = 6
}

style "combobox_entry" {
  xthickness = 6
  ythickness = 6

  base[NORMAL] = @light_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @light_color

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

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

style "notebook_combobox_entry" {
  base[NORMAL] = @light_color
  base[ACTIVE] = @selected_bg_color
  base[INSENSITIVE] = @light_color

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

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

style "combobox_entry_button" {
  xthickness = 6
  ythickness = 6

  fg[ACTIVE] = @text_color

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

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

style "spinbutton" {
  xthickness = 6
  ythickness = 6

  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, 6, 6, 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, 6, 6, 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, 6, 6, 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, 6, 6, 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          = { 6, 1, 6, 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          = { 6, 1, 6, 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          = { 6, 1, 6, 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          = { 6, 1, 6, 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, 6, 1, 6 }
      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, 6, 1, 6 }
      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, 6, 1, 6 }
      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, 6, 1, 6 }
      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          = { 6, 1, 1, 6 }
      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          = { 6, 1, 1, 6 }
      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          = { 6, 1, 1, 6 }
      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          = { 6, 1, 1, 6 }
      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.87, @inverted_fg_color, @inverted_dark_color)
  fg[PRELIGHT] = @inverted_fg_color
  fg[INSENSITIVE] = mix(0.28, @inverted_fg_color, @inverted_dark_color)
}

style "menubar_item" {
  xthickness = 3
  ythickness = 6

  bg[NORMAL] = @inverted_dark_color
  bg[PRELIGHT] = @inverted_dark_color
  fg[NORMAL] = mix(0.87, @inverted_fg_color, @inverted_dark_color)
  fg[PRELIGHT] = @inverted_fg_color
  fg[INSENSITIVE] = mix(0.28, @inverted_fg_color, @inverted_dark_color)

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

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

style "menu" {
  xthickness = 1
  ythickness = 2

  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_frame" {
  engine "pixmap" {
    image {
      function = BOX
      file     = "Others/menu-bg-dark.png"
      border   = { 1, 1, 2, 1 }
      stretch  = TRUE
    }
  }
}

style "menu_item" {
  xthickness = 4
  ythickness = 6

  # 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[NORMAL] = mix(0.87, @fg_color, @base_color)
  fg[PRELIGHT] = @fg_color
  fg[SELECTED] = @fg_color
  text[PRELIGHT] = @fg_color
  text[SELECTED] = @fg_color

  engine "pixmap" {

    # Check Buttons
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = NORMAL
      shadow          = OUT
      overlay_file    = "Check-Radio/check-off-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = PRELIGHT
      shadow          = OUT
      overlay_file    = "Check-Radio/check-off-hover-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = ACTIVE
      shadow          = OUT
      overlay_file    = "Check-Radio/check-off-hover-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = INSENSITIVE
      shadow          = OUT
      overlay_file    = "Check-Radio/check-off-insensitive-menuitem-dark.png"
      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
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = NORMAL
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/check-mixed-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = PRELIGHT
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/check-mixed-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = ACTIVE
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/check-mixed-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = INSENSITIVE
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/check-mixed-insensitive-menuitem.png"
      overlay_stretch = FALSE
    }

    # Radio Buttons
    image {
      function        = OPTION
      state           = NORMAL
      shadow          = OUT
      overlay_file    = "Check-Radio/radio-off-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = PRELIGHT
      shadow          = OUT
      overlay_file    = "Check-Radio/radio-off-hover-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = ACTIVE
      shadow          = OUT
      overlay_file    = "Check-Radio/radio-off-hover-menuitem-dark.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = INSENSITIVE
      shadow          = OUT
      overlay_file    = "Check-Radio/radio-off-insensitive-menuitem-dark.png"
      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
    }
    image {
      function        = OPTION
      state           = NORMAL
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/radio-mixed-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = PRELIGHT
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/radio-mixed-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = ACTIVE
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/radio-mixed-hover-menuitem.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = INSENSITIVE
      shadow          = ETCHED_IN
      overlay_file    = "Check-Radio/radio-mixed-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 "menu_item_label" {
  fg[NORMAL] = mix(0.87, @fg_color, mix(0.5, @base_color, @bg_color))
  fg[PRELIGHT] = @fg_color
  fg[SELECTED] = @fg_color

  engine "murrine" { textstyle = 0 }
}

style "separator_menu_item" {
  xthickness = 0
  ythickness = 2

  # 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.54, @fg_color, @bg_color)
  font_name = "Medium"
}

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   = { 4, 4, 4, 4 }
      stretch  = TRUE
      detail   = "handlebox_bin"
      shadow   = IN
    }
    image {
      function = BOX
      file     = "Others/null.svg"
      border   = { 4, 4, 4, 4 }
      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.87, @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.87, @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 "calendar" {
  bg[NORMAL] = @secondary_dark_color
  base[NORMAL] = @light_color
}

style "tooltips" {
  # Gtk+3: 7px 8px 8px
  xthickness = 8
  ythickness = 9

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

style "text" = "default_colors" {
  fg[NORMAL] = @fg_color # FIXME: VMWare needs this?

  engine "murrine" { textstyle = 0 }
}

class "GtkWidget"            style "default"
class "GtkScrollbar"         style "scrollbar"
class "GtkButton"            style "button"
class "GtkLinkButton"        style "link_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"
class "GtkCalendar"          style "calendar"

# Fixes insensitive text shadows
widget_class "*<GtkLabel>"    style "text"
widget_class "*<GtkCellView>" style "text"

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_frame"
widget_class "*<GtkMenu>*"                            style "menu"
widget_class "*<GtkMenuItem>*"                        style "menu_item"
widget_class "*<GtkMenuItem>*<GtkLabel>"              style "menu_item_label"
widget_class "*<GtkMenuBar>.<GtkMenuItem>*"           style "menubar_item"
widget_class "*<GtkMenuBar>.<GtkMenuItem>*<GtkLabel>" style "menubar_item_label"
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"

# A hack for inline-progress widget inside the GtkTreeView
widget_class "*<GtkTreeView>"                                   style "inline_progress"

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"

# GtkButtonBox specific
widget_class "*<GtkButtonBox>*<GtkButton>"            style "buttonbox_flat_button"
widget_class "*<GtkButtonBox>*<GtkButton>*<GtkLabel>" style "buttonbox_button_label"

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 use this weird selector to target an offscreen entry as created
# by Chrome/Chromium to derive the style for its toolbar
widget_class "<GtkEntry>" style "standalone_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"
