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

style "default" {
  xthickness = 0
  ythickness = 0

  #
  # Style Properties
  #
  GtkWidget::link-color = "#2b2b2b"
  GtkWidget::visited-link-color = "#82A1FF"
  GtkWidget::focus-line-width = 0
  GtkWidget::focus-padding = 2
  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 }

  GtkEntry::state-hint = 1

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

  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 = 0

  GtkVScale::slider_length = 20
  GtkVScale::slider_width = 20
  GtkHScale::slider_length = 20
  GtkHScale::slider_width = 20

  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

  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.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = PRELIGHT
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-hover.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = ACTIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-active.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = INSENSITIVE
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off-insensitive.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = SELECTED
      shadow            = OUT
      overlay_file      = "Check-Radio/check-off.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = NORMAL
      shadow            = IN
      overlay_file      = "Check-Radio/check-on.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = PRELIGHT
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-hover.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = ACTIVE
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-active.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = INSENSITIVE
      shadow            = IN
      overlay_file      = "Check-Radio/check-on-insensitive.png"
      overlay_stretch   = FALSE
    }
    image {
      function          = CHECK
      recolorable       = TRUE
      state             = SELECTED
      shadow            = IN
      overlay_file      = "Check-Radio/check-on.png"
      overlay_stretch   = FALSE
    }

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

    #
    # Arrows
    #
    image {
      function          = ARROW
      overlay_file      = "Arrows/up.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/up.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/up.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/up-insensitive.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = UP
    }
    image {
      function          = ARROW
      state             = NORMAL
      overlay_file      = "Arrows/down.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/down.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/down.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/down-insensitive.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = DOWN
    }
    image {
      function          = ARROW
      overlay_file      = "Arrows/left.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/left.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/left.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/left-insensitive.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = LEFT
    }
    image {
      function          = ARROW
      overlay_file      = "Arrows/right.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = PRELIGHT
      overlay_file      = "Arrows/right.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = ACTIVE
      overlay_file      = "Arrows/right.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
      arrow_direction   = RIGHT
    }
    image {
      function          = ARROW
      state             = INSENSITIVE
      overlay_file      = "Arrows/right-insensitive.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.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
    }
    image {
      function          = TAB
      state             = PRELIGHT
      overlay_file      = "Arrows/down.png"
      overlay_border    = { 0, 0, 0, 0 }
      overlay_stretch   = FALSE
    }
    image {
      function          = TAB
      state             = INSENSITIVE
      overlay_file      = "Arrows/down-insensitive.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.png"
      border            = { 0, 0, 0, 0 }
      stretch           = TRUE
    }

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

    #
    # Expanders
    #
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt-hover.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = COLLAPSED
      file              = "Arrows/right.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = COLLAPSED
      file              = "Arrows/right-alt-insensitive.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt-hover.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = SEMI_COLLAPSED
      file              = "Arrows/right-alt-insensitive.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = EXPANDED
      file              = "Arrows/down-alt.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = EXPANDED
      file              = "Arrows/down-alt-hover.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = EXPANDED
      file              = "Arrows/down.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = EXPANDED
      file              = "Arrows/down-alt-insensitive.png"
    }
    image {
      function          = EXPANDER
      state             = NORMAL
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt.png"
    }
    image {
      function          = EXPANDER
      state             = PRELIGHT
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt-hover.png"
    }
    image {
      function          = EXPANDER
      state             = ACTIVE
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down.png"
    }
    image {
      function          = EXPANDER
      state             = INSENSITIVE
      expander_style    = SEMI_EXPANDED
      file              = "Arrows/down-alt-insensitive.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.png"
      border      = { 0, 0, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "ProgressBar/trough.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"
      file        = "Range/h-scale-trough.png"
      border      = { 10, 10, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough"
      file        = "Range/h-scale-trough-insensitive.png"
      border      = { 10, 10, 0, 0 }
      stretch     = TRUE
      orientation = HORIZONTAL
    }
    image {
      function    = BOX
      # state     = NORMAL
      detail      = "trough"
      file        = "Range/v-scale-trough.png"
      border      = { 0, 0, 10, 10 }
      stretch     = TRUE
      orientation = VERTICAL
    }
    image {
      function    = BOX
      state       = INSENSITIVE
      detail      = "trough"
      file        = "Range/v-scale-trough-insensitive.png"
      border      = { 0, 0, 10, 10 }
      stretch     = TRUE
      orientation = VERTICAL
    }

    #
    # Horizontal
    #
    image {
      function        = SLIDER
      state           = NORMAL
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider.png"
      overlay_stretch = FALSE
      orientation     = HORIZONTAL
    }
    image {
      function        = SLIDER
      state           = PRELIGHT
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-hover.png"
      overlay_stretch = FALSE
      orientation     = HORIZONTAL
    }
    image {
      function        = SLIDER
      state           = ACTIVE
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-active.png"
      overlay_stretch = FALSE
      orientation     = HORIZONTAL
    }
    image {
      function        = SLIDER
      state           = INSENSITIVE
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-insensitive.png"
      overlay_stretch = FALSE
      orientation     = HORIZONTAL
    }

    #
    # Vertical
    #
    image {
      function        = SLIDER
      state           = NORMAL
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider.png"
      overlay_stretch = FALSE
      orientation     = VERTICAL
    }
    image {
      function        = SLIDER
      state           = PRELIGHT
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-hover.png"
      overlay_stretch = FALSE
      orientation     = VERTICAL
    }
    image {
      function        = SLIDER
      state           = ACTIVE
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-active.png"
      overlay_stretch = FALSE
      orientation     = VERTICAL
    }
    image {
      function        = SLIDER
      state           = INSENSITIVE
      file            = "Others/null.svg"
      border          = { 0, 0, 0, 0 }
      stretch         = TRUE
      overlay_file    = "Range/scale-slider-insensitive.png"
      overlay_stretch = FALSE
      orientation     = VERTICAL
    }

    # Function below removes ugly boxes
    image {
      function        = BOX
      file            = "Others/null.svg"
      border          = { 3, 3, 3, 3 }
      stretch         = TRUE
    }
  }
}

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

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

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

style "entry" {
  xthickness = 6
  ythickness = 6
    bg[NORMAL] = "#2b2b2b"
  engine "pixmap" {
    image {
      function = SHADOW
      detail   = "entry"
      state    = NORMAL
      shadow   = IN
      file     = "Entry/entry.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = ACTIVE
      file     = "Entry/entry-active.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
    image {
      function = SHADOW
      detail   = "entry"
      state    = INSENSITIVE
      shadow   = IN
      file     = "Entry/entry-insensitive.png"
      border   = { 2, 2, 2, 2 }
      stretch  = TRUE
    }
    image {
      function        = FLAT_BOX
      detail          = "entry_bg"
      state           = NORMAL
      overlay_file    = "Others/null.svg"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }
    image {
      function        = FLAT_BOX
      detail          = "entry_bg"
      state           = ACTIVE
      overlay_file    = "Others/null.svg"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = TRUE
    }
  }
}

style "notebook_entry" {

  bg[NORMAL] = "#2b2b2b"
  bg[ACTIVE] = @bg_color
  bg[INSENSITIVE] = @bg_color

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

style "button" {
  xthickness = 3
  ythickness = 5

  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  font_name = "Medium"

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

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

style "flat_button" {
  xthickness = 4
  ythickness = 2

  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[ACTIVE] = "#555555"
  font_name = "Medium"

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

style "button_separator" {
  xthickness = 0
  ythickness = 0

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

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

style "combobox_entry" {
  xthickness = 6
  ythickness = 6

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

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

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

    # RTL version
    image {
      function  = SHADOW
      detail    = "entry"
      state     = NORMAL
      shadow    = IN
      file      = "Entry/rtl-base_entry.png"
      border    = { 0, 5, 5, 5 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = ACTIVE
      file      = "Entry/rtl-base_entry-active.png"
      border    = { 0, 5, 5, 5 }
      stretch   = TRUE
      direction = RTL
    }
    image {
      function  = SHADOW
      detail    = "entry"
      state     = INSENSITIVE
      shadow    = IN
      file      = "Entry/rtl-base_entry-insensitive.png"
      border    = { 0, 5, 5, 5 }
      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.png"
      border    = { 2, 5, 5, 5 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = PRELIGHT
      file      = "Buttons/ltr-button-hover.png"
      border    = { 2, 5, 5, 5 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = ACTIVE
      file      = "Buttons/ltr-button-active.png"
      border    = { 2, 5, 5, 5 }
      stretch   = TRUE
      direction = LTR
    }
    image {
      function  = BOX
      state     = INSENSITIVE
      file      = "Buttons/ltr-button-insensitive.png"
      border    = { 2, 5, 5, 5 }
      stretch   = TRUE
      direction = LTR
    }

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

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

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.png"
      border          = { 1, 5, 5, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = PRELIGHT
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-hover.png"
      border          = { 1, 5, 5, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = ACTIVE
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-active.png"
      border          = { 1, 5, 5, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up.png"
      overlay_stretch = FALSE
      direction       = LTR
    }
    image {
      function        = BOX
      state           = INSENSITIVE
      detail          = "spinbutton_up"
      file            = "Spin/ltr-up-insensitive.png"
      border          = { 1, 5, 5, 0 }
      stretch         = TRUE
      overlay_file    = "Arrows/up-insensitive.png"
      overlay_stretch = FALSE
      direction       = LTR
    }

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

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

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

style "standalone_entry" {
  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
      shadow   = IN
      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] = @bg_color
#  fg[NORMAL] = mix(0.8, @selected_fg_color, shade(0.96, @fg_color))
  fg[NORMAL] = @selected_fg_color
  fg[PRELIGHT] = @selected_fg_color
#  fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @fg_color)
  fg[INSENSITIVE] = "#FFFFFF"

#  engine "pixmap" {
#    image {
#      function    = BOX
#      file        = "Shadows/z-depth-1.svg"
#      border      = { 1, 1, 1, 1 }
#      stretch     = TRUE
#      recolorable = TRUE
#    }
#  }
}

style "menubar_item" {
  xthickness = 3
  ythickness = 6

  bg[NORMAL] = "#2A373E"
  bg[PRELIGHT] = "#2A373E"
  fg[NORMAL] = @text_color
  fg[PRELIGHT] = @text_color
  fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @fg_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] = @base_color
  bg[PRELIGHT] = @base_color
  bg[INSENSITIVE] = @base_color
}

style "menu_framed_box" {
}

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[PRELIGHT] = shade(0.96, @fg_color)
  fg[SELECTED] = shade(0.96, @fg_color)
  text[PRELIGHT] = shade(0.96, @fg_color)
  text[SELECTED] = shade(0.96, @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.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = PRELIGHT
      shadow          = IN
      overlay_file    = "Check-Radio/check-selected.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = ACTIVE
      shadow          = IN
      overlay_file    = "Check-Radio/check-selected.png"
      overlay_stretch = FALSE
    }
    image {
      function        = CHECK
      recolorable     = TRUE
      state           = INSENSITIVE
      shadow          = IN
      overlay_file    = "Check-Radio/check-insensitive.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.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = PRELIGHT
      shadow          = IN
      overlay_file    = "Check-Radio/radio-selected.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = ACTIVE
      shadow          = IN
      overlay_file    = "Check-Radio/radio-selected.png"
      overlay_stretch = FALSE
    }
    image {
      function        = OPTION
      state           = INSENSITIVE
      shadow          = IN
      overlay_file    = "Check-Radio/radio-insensitive.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.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
    image {
      function        = ARROW
      state           = PRELIGHT
      overlay_file    = "Arrows/right-alt-hover.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
    image {
      function        = ARROW
      state           = INSENSITIVE
      overlay_file    = "Arrows/right-alt-insensitive.png"
      overlay_border  = { 0, 0, 0, 0 }
      overlay_stretch = FALSE
      arrow_direction = RIGHT
    }
  }
}

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[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.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = PRELIGHT
      file     = "Column/column-hover.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = ACTIVE
      file     = "Column/column-active.png"
      border   = { 0, 1, 0, 1 }
      stretch  = TRUE
    }
    image {
      function = BOX
      state    = INSENSITIVE
      file     = "Column/column-insensitive.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 = 0
  ythickness = 0

  engine "pixmap" {
    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 = BUTTON
    }
  }
}

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

  engine "pixmap" {
    image {
      function    = BOX
#      file        = "ProgressBar/bar.png"
      border      = { 1, 1, 0, 1 }
      recolorable = FALSE
      stretch     = TRUE
    }
  }
}

style "bg" {
  fg[NORMAL] = mix(0.75, @fg_color, @bg_color)
  fg[PRELIGHT] = @fg_color
  fg[ACTIVE] = @fg_color
  bg[NORMAL] = "#e5e9ec"
  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 = 9
  ythickness = 9

  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 "flat_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 "*<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 "base"
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"

# 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"

# 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"