@import "mediawiki.mixins.less";

// Shorthand for background-image-svg in core
.background-image-svg-quick( @url ) {
	.background-image-svg( ~"@{url}.svg", ~"@{url}.png" );
}

.watchlist-heading() {
	font: inherit;
	font-weight: bold;
	color: #404040;
}

.ajaxLoader() {
	background-image: @ajaxLoadingImage;
	min-height: 48px;
	background-repeat: no-repeat;
	background-position: center center;
}

.box-sizing( @value ) {
	-moz-box-sizing: @value;
	-webkit-box-sizing: @value;
	box-sizing: @value;
}

.background-size( @width: auto, @height: auto ) {
	/* use -webkit prefix for older android browsers eg. nexus 1 */
	-o-background-size: @width @height;
	-webkit-background-size: @width @height;
	background-size: @width @height;
}

.vertical-gradient ( @startColor: gray, @endColor: white, @startPos: 0, @endPos: 100% ) {
	background-color: @endColor;
	background-image: -moz-linear-gradient( top, @startColor @startPos, @endColor @endPos ); // Firefox 3.6+
	background-image: -webkit-gradient( linear, left top, left bottom, color-stop( @startPos, @startColor ), color-stop( @endPos, @endColor ) ); // Safari 4+, Chrome 2+
	background-image: -webkit-linear-gradient( top, @startColor @startPos, @endColor @endPos ); // Safari 5.1+, Chrome 10+
	background-image: linear-gradient( @startColor @startPos, @endColor @endPos ); // Standard
}

.transform( @transform ) {
	-webkit-transform: @transform;
	transform: @transform;
}

.transition( ... ) {
	// avoid Webkit bugs
	-webkit-backface-visibility: hidden;

	-webkit-transition: @arguments;
	transition: @arguments;
}

// can't use `.transition()` because WebKit requires `-webkit-` prefix before `transform`
.transition-transform( ... ) {
	// avoid Webkit bugs
	-webkit-backface-visibility: hidden;

	-webkit-transition: -webkit-transform @arguments;
	transition: transform @arguments;
}

.animation( @args ) {
	-webkit-animation: @args;
	animation: @args;
}