// Mixins
@mixin image_element($imgname, $add_hover: false) {
	@include icons-sprite($imgname);
	height: icons-sprite-height($imgname);
	width: icons-sprite-width($imgname);
	@if $add_hover {
		&:hover {
			@include icons-sprite($imgname+'_hover');
		}
	}
}

@mixin pseudoelem($imgname: false, $add_hover: false) {
	content: "";
	position: absolute;
	display: inline-block;
	left: 0;

	@if $imgname {
		@include image_element($imgname, $add_hover);
	}
}

// der Standard-Mixin von Compass ist kaputt... :/
@mixin box-shadow($shadow...) {
	-webkit-box-shadow: $shadow;
	-moz-box-shadow: $shadow;
	-ms-box-shadow: $shadow;
	-o-box-shadow: $shadow;
	box-shadow: $shadow;
}

@mixin border-box($padding_box: true) {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	@if $padding_box {
		-moz-background-clip: padding-box !important;
		-webkit-background-clip: padding-box !important;
		background-clip: padding-box !important;
	}
}

@mixin placeholder($color: #999) {
	color: $color;
	opacity: 1;
}

::-webkit-input-placeholder {
	@include placeholder($placeholder_color);
}
::-moz-placeholder {
	@include placeholder($placeholder_color);
}
:-ms-input-placeholder {
	@include placeholder($placeholder_color);
}
input:-moz-placeholder {
	@include placeholder($placeholder_color);
}

@mixin clearfix {
	&:after {
		display: block;
		content: "";
		clear: both;
	}
}

@mixin greyscale {
	filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
	filter: gray; /* IE6-9 */
	-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}