* {
    -GtkRange-stepper-size: 20;

    -GtkTreeView-expander-size: 16;

    -GtkWidget-cursor-color: @theme_cursor_color;
    -GtkWidget-cursor-aspect-ratio: 0.1;
    -GtkWidget-focus-padding: 1;
    -GtkWidget-focus-line-width: 2;
    -GtkWidget-focus-line-pattern: "\002\001";

    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;

    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;

    -GtkComboBox-arrow-scaling: 0.9;
    -GtkButton-default-border: 0;
}

GtkWindow {
    background-color: @theme_base_color;
    color: @theme_fg_color;
}

*:insensitive {
    color: @theme_insensitive_color;
    background-color: @theme_insensitive_bg;
    border-color: @theme_insensitive_color;
}

*:selected {
    background-color: @theme_active_color;
    color: @theme_fg_color;
}

GtkImage:insensitive {
    background-color: transparent;
}

.tooltip {
    background-color: @theme_fg_color;
    color: @theme_insensitive_bg;
}

.grip {
    background-color: @theme_insensitive_color;
}

.button,
.trough,
.entry {
    border-width: 2px;
    border-style: solid;
    border-color: @theme_fg_color;
}

.button:hover {
    background-color: @theme_fg_color;
    border-color: @theme_insensitive_bg;
    color: @theme_insensitive_bg;
}

GtkComboBox *:hover {
    color: @theme_insensitive_bg;
}

GtkComboBox .separator {
    color: transparent;
}

.button:insensitive,
.trough:insensitive,
.entry:insensitive {
    border-color: @theme_insensitive_color;
}

.trough {
    background-color: @theme_active_color;
    color: @theme_fg_color;
}

.trough:active {
    color: @theme_base_color;
}

.entry:insensitive,
.trough:insensitive {
    background-color: @theme_insensitive_bg;
    color: @theme_insensitive_color;
}

.button:active,
.trough:active {
    background-color: @theme_active_color;
}

.button:hover:active {
    background-color: @theme_fg_color;
}

.button:insensitive:active,
.trough:insensitive:active {
    background-color: @theme_insensitive_bg;
}

.entry {
    background-color: @theme_base_color;
}

.progressbar {
    background-color: @theme_fg_color;
    border-color: @theme_insensitive_bg;
    border-style: solid;
    border-width: 2px;
}

.entry {
    padding: 4px;
}

.button {
    padding: 1px 4px;
}

GtkComboBox .button {
    padding: 0 4px;
}

.combobox-entry .entry:first-child {
    border-right-width: 0px;
}

.combobox-entry .entry:last-child {
    border-left-width: 0px;
}

.spinbutton .button {
    padding: 2px 6px;
    border-width: 0px 2px;
    color: @theme_fg_color;
}

.spinbutton .button:hover {
    color: @theme_insensitive_bg;
    border-color: @theme_fg_color;
}

.spinbutton .button:insensitive {
    color: @theme_insensitive_color;
}

.spinbutton .button:first-child,
.spinbutton .button:last-child {
    border-width: 0px;
}

.menubar .menuitem {
    padding: 3px 5px;
}

.menubar .menuitem:hover {
    background-color: @theme_fg_color;
    color: @theme_insensitive_bg;
}

.menu .menuitem {
    padding: 4px;
}

.menu .menuitem:hover {
    background-color: @theme_fg_color;
    color: @theme_insensitive_bg;
}

.menu {
    border-style: solid;
    border-color: @theme_fg_color;
    border-width: 2px;
}

.menuitem.separator {
    -GtkMenuItem-horizontal-padding: 0;
}

.toolbar {
    padding: 4px;
    border-width: 2px 0;
    border-style: solid;
}

.toolbar .button *:insensitive,
.toolbar .button:insensitive {
    background-color: @theme_base_color;
}

.toolbar .button *:insensitive:active,
.toolbar .button:insensitive:active {
    background-color: @theme_insensitive_bg;
}

.inline-toolbar {
    border-width: 0 2px 2px;
}

.primary-toolbar.toolbar,
.primary-toolbar .toolbar,
.menubar.toolbar,
.inline-toolbar {
    -GtkToolbar-button-relief: normal;
}

.primary-toolbar .button {
    border-color: transparent;
}

.primary-toolbar .button.raised,
.primary-toolbar .raised .button {
    border-color: @theme_fg_color;
}

.primary-toolbar .button:active {
    border-color: @theme_fg_color;
}

.primary-toolbar .button:hover:active {
    border-color: @theme_insensitive_bg;
}

.primary-toolbar .button:active:insensitive {
    border-color: @theme_insensitive_color;
}

.linked .button,
.inline-toolbar .button {
    border-right-width: 0;
}

.linked .button:hover,
.inline-toolbar .button:hover {
    border-color: transparent;
}

.linked .button:insensitive,
.inline-toolbar .button:insensitive {
    border-top-color: @theme_fg_color;
    border-bottom-color: @theme_fg_color;
}

.linked .button:first-child,
.inline-toolbar GtkToolButton:first-child .button {
    border-left-color: @theme_fg_color;
}

.linked .button:last-child,
.inline-toolbar GtkToolButton:last-child .button {
    border-width: 2px;
    border-right-color: @theme_fg_color;
}

.inline-toolbar .button *:insensitive,
.inline-toolbar .button:insensitive {
    background-color: @theme_insensitive_bg;
}

.slider {
    background-color: @theme_base_color;
    border-width: 2px;
    border-style: solid;
    border-color: @theme_fg_color;

    color: transparent;
}

.slider:hover {
    background-color: @theme_fg_color;
    border-color: @theme_fg_color;
}

.slider:hover:active {
    border-color: @theme_insensitive_bg;
}

.slider:insensitive {
    background-color: @theme_insensitive_bg;
    border-color: @theme_insensitive_color;
}

GtkSwitch.slider {
    padding: 2px;
    border-width: 1px;
    border-color: @theme_insensitive_bg;
}

.notebook {
    border-width: 2px;
    border-color: @theme_fg_color;
    border-style: solid;
}

tab {
    background-color: @theme_active_color;
    padding: 3px;
}

tab:active {
    background-color: @theme_base_color;
    color: @theme_fg_color;
}

GtkScrolledWindow.frame {
    border-width: 2px;
    border-style: solid;
}

column-header .button {
    border-top-width: 0;
    border-right-width: 0;
}

column-header .button:hover {
    background-color: @theme_fg_color;
    color: @theme_base_color;
    border-color: @theme_fg_color;
}

column-header:first-child .button {
    border-left-width: 0;
}

.check,
.radio {
    border-width: 1px;
    border-style: solid;
}

.expander row:selected:focus {
    color: @theme_base_color;
}

.floating-bar {
    background-color: @theme_insensitive_bg;
}

.info {
    background-color: @theme_active_color;
}

.scrollbar {
    -GtkRange-slider-width: 20;
    -GtkRange-stepper-size: 20;
    -GtkRange-trough-border: 0;
}

GtkColorSwatch {
    border-width: 1px;
    border-style: solid;
    border-color: @theme_fg_color;
}

TerminalScreen {
    background-color: @theme_base_color;
    color: @theme_fg_color;
}
