@component OpalMultiselect : OpalSelect {
	@el menu {
		padding: 0;
		width: 600px;
	}
		@el menuHeader {
			display: flex;
			width: 100%;
			border-bottom: 1px solid hsl(0,0%,80%);
			line-height: 60px;
		}
			@el menuHeaderLeftPart,
				menuHeaderRightPart
			{
				box-sizing: border-box;
				padding: 0 10px;
				width: 299px;
				flex-grow: 1;
			}

			@el menuHeaderLeftPart {
				font-size: 0;
			}
				@el queryInput {
					width: 100%;
				}

			@el menuHeaderRightPart {
				padding-right: 22px;
				text-align: right;
			}
				@el menuHeaderContentSlot {
				}
					@el selectedCount {
					}

		@el menuList {
			float: left;
			width: 299px;
			height: 304px;
		}

		@el menuSelected {
			float: right;
			overflow: auto;
			box-sizing: border-box;
			width: 299px;
			height: 304px;
			border-left: 1px solid hsl(0,0%,80%);
		}
			@el selectedItem {
				position: relative;
				overflow: hidden;
				padding: 7px 38px 7px 22px;
				background: #fff;
				color: #000;
				text-align: left;
				text-overflow: ellipsis;
				text-shadow: none;
				white-space: nowrap;
				font: 16px/24px Verdana, Geneva, sans-serif;
				font-weight: normal;
				user-select: none;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
				-webkit-text-size-adjust: 100%;
				-ms-text-size-adjust: 100%;
				-webkit-tap-highlight-color: transparent;

				&:hover {
					@el btnDeselectItem {
						display: block;
					}
				}
			}
				@el btnDeselectItem {
					position: absolute;
					top: 0;
					right: 9px;
					bottom: 0;
					display: none;
					margin: auto;
					padding: 0;
					width: 24px;
					height: 24px;
					border: 0;
					background: transparent;
					color: hsl(0,0%,50%);
					cursor: pointer;
					transition: color .1s linear;

					&:hover {
						color: #000;
					}

					&:focus {
						outline: none;
					}

					&:active {
						transform: translateY(1px);
					}
				}
					@el btnDeselectItemIcon {
						position: absolute;
						top: 0;
						right: 0;
						bottom: 0;
						left: 0;
						display: block;
						margin: auto;
						width: 16px;
						height: 16px;
					}

			@el nothingSelectedSlot {
				display: block;
				box-sizing: border-box;
				padding: 12px;
				height: 100%;
				text-align: center;
				white-space: nowrap;

				&::before {
					display: inline-block;
					width: 0;
					height: 100%;
					content: '';
					vertical-align: middle;
				}
			}
				@el nothingSelected {
					display: inline-block;
					vertical-align: middle;
					white-space: normal;
				}
					@el nothingSelectedMessage {
						white-space: nowrap;
						opacity: .6;
					}

		@el menuFooter {
			display: flex;
			width: 100%;
			border-top: 1px solid hsl(0,0%,80%);
			line-height: 60px;
		}
			@el menuFooterLeftPart,
				menuFooterRightPart
			{
				box-sizing: border-box;
				padding: 0 10px;
				flex-grow: 1;
			}

			@el menuFooterLeftPart {
				padding-left: 22px;
			}
				@el menuFooterContentSlot {
				}

			@el menuFooterRightPart {
				text-align: right;
				font-size: 0;
			}
				@el btnClose {
				}
}