@mixin reindeer-select($primaryStyleName : v-filterselect) {

$select-button-width : 25px;
$select-button-negative-width : -25px;

.#{$primaryStyleName} {
	height: 24px;
	background-repeat: no-repeat;
	background-image: url(img/left.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
	padding-left: 2px;
	padding-right: $select-button-width; /* Space for the button */
}
&.v-app .#{$primaryStyleName}-input,
.v-window .#{$primaryStyleName}-input,
.v-popupview-popup .#{$primaryStyleName}-input {
	background: transparent repeat-x;
	background-image: url(img/center.png); /** sprite-ref: verticals; sprite-alignment: repeat; sprite-margin-bottom: 1px */
	border: none;
	height: 24px;
}
/* More specific selector to override padding */
&.v-app input.#{$primaryStyleName}-input,
.v-window input.#{$primaryStyleName}-input,
.v-popupview-popup input.#{$primaryStyleName}-input {
	padding: 4px 0 4px 2px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.#{$primaryStyleName}-prompt .#{$primaryStyleName}-input {
	font-style: normal;
}
.#{$primaryStyleName}-input:focus {
	outline: none;
}
.#{$primaryStyleName}-focus {
	background-image: url(img/left-focus.png); /** sprite-ref: verticals; sprite-margin-bottom: 1px */
}
.#{$primaryStyleName}-focus .#{$primaryStyleName}-input {
	background-image: url(img/center-focus.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.#{$primaryStyleName}-button {
	overflow: hidden;
	width: $select-button-width;
	height: 24px;
	background-position: 0 0;
	background-image: url(img/right.png); /** sprite-ref: verticals ; sprite-margin-bottom: 1px */
	cursor: default;
	margin-right: $select-button-negative-width;
}
.#{$primaryStyleName}-button:hover {
	background-image: url(img/right-hover.png); /** sprite-ref: verticals */
}
.#{$primaryStyleName}-button:active {
	background-image: url(img/right-pressed.png); /** sprite-ref: verticals */
}
.#{$primaryStyleName}-focus .#{$primaryStyleName}-button {
	background-image: url(img/right-focus.png); /** sprite-ref: verticals */
}
.#{$primaryStyleName}-focus .#{$primaryStyleName}-button:hover {
	background-image: url(img/right-focus-hover.png); /** sprite-ref: verticals */
}
.#{$primaryStyleName}-focus .#{$primaryStyleName}-button:active {
	background-image: url(img/right-focus-pressed.png); /** sprite-ref: verticals */
}
.v-disabled .#{$primaryStyleName}-button:hover,
.v-readonly .#{$primaryStyleName}-button:hover {
	background-image: url(img/right.png); /** sprite-ref: verticals */
}
.#{$primaryStyleName}-suggestpopup {
	background: #f8f8f9;
	border: none;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	overflow: hidden;
}
.#{$primaryStyleName}-suggestmenu {
	margin: 4px 0;
}
.#{$primaryStyleName}-suggestmenu .gwt-MenuItem {
	padding: 1px 8px;
	height: 16px;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	cursor: default;
}
.#{$primaryStyleName}-suggestmenu .gwt-MenuItem .v-icon {
	margin-right: 3px;
}
.#{$primaryStyleName}-suggestmenu .gwt-MenuItem-selected {
	background: transparent repeat-x;
	background-image: url(../common/img/sel-bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */
	color: #fff;
	text-shadow: #3b5a7a 0 1px 0;
}
.#{$primaryStyleName}-nextpage,
.#{$primaryStyleName}-nextpage-off,
.#{$primaryStyleName}-prevpage-off,
.#{$primaryStyleName}-prevpage {
	height: 11px;
	width: 100%;
	background: transparent;
	margin-bottom: -4px;
}
.#{$primaryStyleName}-nextpage,
.#{$primaryStyleName}-nextpage-off {
	margin: -4px 0 0;
}
.#{$primaryStyleName}-nextpage:hover {
	background-repeat: repeat-x;
	background-image: url(img/page-down-hover.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.#{$primaryStyleName}-prevpage:hover {
	background-repeat: repeat-x;
	background-image: url(img/page-up-hover.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.#{$primaryStyleName}-nextpage:active {
	background-repeat: repeat-x;
	background-image: url(img/page-down-pressed.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.#{$primaryStyleName}-prevpage:active {
	background-repeat: repeat-x;
	background-image: url(img/page-up-pressed.png); /** sprite-ref: verticals; sprite-alignment: repeat */
}
.#{$primaryStyleName}-nextpage-off span,
.#{$primaryStyleName}-prevpage-off span {
	display: none;
}
.#{$primaryStyleName}-nextpage span,
.#{$primaryStyleName}-prevpage span {
	display: block;
	height: 11px;
	width: 100%;
	overflow: hidden;
	text-indent: -99999px;
	background: transparent no-repeat center 3px;
	background-image: url(img/arrow-down.png); /** sprite-ref: verticals; sprite-margin-top: 3px; sprite-margin-bottom: 3px; sprite-alignment: center */
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}
.#{$primaryStyleName}-prevpage span {
	background-image: url(img/arrow-up.png); /** sprite-ref: verticals; sprite-margin-top: 3px; sprite-margin-bottom: 3px; sprite-alignment: center */
}
.#{$primaryStyleName}-nextpage:hover span {
	background-image: url(img/arrow-down-hover.png); /** sprite-ref: verticals; sprite-margin-top: 3px; sprite-margin-bottom: 3px; sprite-alignment: center */
}
.#{$primaryStyleName}-prevpage:hover span {
	background-image: url(img/arrow-up-hover.png); /** sprite-ref: verticals; sprite-margin-top: 3px; sprite-margin-bottom: 3px; sprite-alignment: center */
}
.#{$primaryStyleName}-status {
	text-shadow: #e9eaeb 0 1px 0;
	font-size: 11px;
	line-height: normal;
	width: 100%;
	padding: 3px 0;
	height: 11px;
	overflow: hidden;
	background-repeat: repeat-x;
	background-image: url(img/status-bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */
	-moz-border-radius-bottomleft: 3px;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}
/* IE fails to position background images properly inside table elements */
.v-ie & .#{$primaryStyleName}-suggestmenu .gwt-MenuItem-selected {
	background: transparent url(../common/img/sel-bg.png) repeat-x;
}
.v-ie & .#{$primaryStyleName}-nextpage:hover {
	background: transparent url(img/page-down-hover.png) repeat-x;
}
.v-ie & .#{$primaryStyleName}-prevpage:hover {
	background: transparent url(img/page-up-hover.png) repeat-x;
}
.v-ie & .#{$primaryStyleName}-prevpage span {
	background: transparent url(img/arrow-up.png) no-repeat center 3px;
}
.v-ie & .#{$primaryStyleName}-nextpage span {
	background: transparent url(img/arrow-down.png) no-repeat center 3px;
}
.v-ie & .#{$primaryStyleName}-prevpage:hover span {
	background: transparent url(img/arrow-up-hover.png) no-repeat center 3px;
}
.v-ie & .#{$primaryStyleName}-nextpage:hover span {
	background: transparent url(img/arrow-down-hover.png) no-repeat center 3px;
}
.v-ie & .#{$primaryStyleName}-status {
	background: transparent url(img/status-bg.png) repeat-x;
}
/* Filterselect with icon needs a similar fix than in buttons */
.#{$primaryStyleName} .v-icon {
	width: 16px;
	position: relative;
}
.#{$primaryStyleName} .v-icon + .#{$primaryStyleName}-input {
	margin-left: -16px;
	padding-left: 18px;
}




/* Combobox on black background */
.black .#{$primaryStyleName} {
	background-image: url(img/black/left-black.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
&.v-app .black .#{$primaryStyleName}-input,
.v-window .black .#{$primaryStyleName}-input,
.v-window-black .#{$primaryStyleName}-input,
.v-popupview-popup .black .#{$primaryStyleName}-input {
	color: #c9ccce;
	background-image: url(img/black/center-black.png); /** sprite-ref: black-verticals; sprite-alignment: repeat; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-focus {
	background-image: url(img/black/left-black-focus.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-focus .#{$primaryStyleName}-input {
	background-image: url(img/black/center-black-focus.png); /** sprite-ref: black-verticals; sprite-alignment: repeat; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-button {
	background-image: url(img/black/right-black.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-button:hover {
	background-image: url(img/black/right-black-hover.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-button:active {
	background-image: url(img/black/right-black-pressed.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-focus .#{$primaryStyleName}-button {
	background-image: url(img/black/right-black-focus.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-focus .#{$primaryStyleName}-button:hover {
	background-image: url(img/black/right-black-focus-hover.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-focus .#{$primaryStyleName}-button:active {
	background-image: url(img/black/right-black-focus-pressed.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .v-disabled .#{$primaryStyleName}-button:hover,
.black .v-readonly .#{$primaryStyleName}-button:hover {
	background-image: url(img/black/right-black.png); /** sprite-ref: black-verticals; sprite-margin-bottom: 1px */
}
.black .#{$primaryStyleName}-prompt .#{$primaryStyleName}-input {
	color: #5f6366;
}



/* Native selects on black background */
.black .v-select select,
.black .v-select-twincol select {
	border-color: #38393a;
	border-top-color: #2c2d2e;
	border-bottom-color: #3e3f3f;
	background: #151717;
	color: #c9ccce;
}

}