/**************
 ! GTK settings
***************/

* {
	-GtkArrow-arrow-scaling: 0.5;
	-GtkButton-child-displacement-x: 0;
	-GtkButton-child-displacement-y: 0;
	-GtkButton-default-border: 0;
	-GtkButton-image-spacing: 0;
	-GtkButton-inner-border: 1;
	-GtkButton-interior-focus: true;
	-GtkButtonBox-child-min-height: 24;
	-GtkButtonBox-child-internal-pad-y: 1;
	-GtkExpander-expander-size: 8;
	-GtkMenu-horizontal-padding: 0;
	-GtkMenu-vertical-padding: 0;
	-GtkPaned-handle-size: 4;
	-GtkProgressBar-min-horizontal-bar-height: 12;
	-GtkProgressBar-min-vertical-bar-width: 12;
	-GtkRange-slider-width: 12;
	-GtkRange-stepper-spacing: 0;
	-GtkRange-trough-border: 0;
	-GtkRange-trough-under-steppers: 1;
	-GtkScrollbar-has-backward-stepper: false;
	-GtkScrollbar-has-forward-stepper: false;
	-GtkScrollbar-min-slider-length: 80;
	-GtkScrolledWindow-scrollbar-spacing: 0;
	-GtkScrolledWindow-scrollbars-within-bevel: 1;
	-GtkStatusbar-shadow-type: none;
	-GtkTextView-error-underline-color: $error_color;
	-GtkToolButton-icon-spacing: 6;
	-GtkToolItemGroup-expander-size: 8;
	-GtkTreeView-expander-size: 8;
	-GtkWindow-resize-grip-height: 0;
	-GtkWindow-resize-grip-width: 0;
	-WnckTasklist-fade-overlay-rect: 0;

	outline-color: alpha($selected_bg_color, 0.5);
	outline-style: dashed;
	outline-width: 1px;
	outline-offset: -1px;
	outline-radius: $roundness;
}


/*************
 ! Base states
 *************/

%selected_items {
	&, &:focus {
		background-color: $selected_bg_color;
		color: $selected_fg_color;
	}
}

* {
	&:selected { @extend %selected_items; }

	&:insensitive,
	&:insensitive:insensitive { color: mix($fg_color, $bg_color, 0.50); }

	&:insensitive { -gtk-image-effect: dim; }

	&:hover { -gtk-image-effect: highlight;	}

	/* hyperlinks */
	-GtkHTML-link-color: $link_color;
	-GtkIMHtml-hyperlink-color: $link_color;
	-GtkWidget-link-color: $link_color;
	-GtkWidget-visited-link-color: $link_color;

	&:link, &:visited { color: $link_color; }
}

.background {
	background-color: $bg_color;
	color: $fg_color;

	&:backdrop {
		text-shadow: none;
		icon-shadow: none;
	}
}

.gtkstyle-fallback {
	background-color: alpha($bg_color, .5);
	color: $fg_color;

	&:prelight {
		background-color: shade($bg_color, 1.1);
		color: $fg_color;
	}

	&:active {
		background-color: shade($bg_color, 0.9);
		color: $fg_color;
	}

	&:insensitive {
		background-color: shade(shade($bg_color, 0.95), 1.05);
		color: mix($fg_color, $bg_color, 0.50);
	}

	&:selected { @extend %selected_items; }
}

GtkImage, GtkLabel, GtkBox, GtkGrid {
	&, &:insensitive { background-color: transparent; }
}

GtkLabel {
	&.separator {
		color: $fg_color;

		@extend .dim-label;
	}

	&:selected { @extend %selected_items; }

	&:insensitive { color: mix($fg_color, $bg_color, 0.50); }
}