.special-chars-button {
	background-color: #EEE;
	position: absolute;
	border-radius: 0;
	border: solid 1px #BBB;
	opacity: 0.95;
	cursor: pointer;
	z-index: 500;
	color: #999;
}

.special-chars-button.ui-drop-right {
	margin-left: -10px;
}

.special-chars-button.ui-drop-left {
	margin-left: 10px;
}

.special-chars-button:active {
	background: #EEE;
	border: solid 1px #BBB;
	color: #999;
	text-shadow: none;
	border-color: #BBB;
	opacity: 1;
}

.special-chars-button:after {
	content: 'Σ';
}

.special-chars-button.ui-drop-down {
	margin-top: 10px;
	border-bottom: solid 2px #666;
}

.special-chars-button.ui-drop-up {
	margin-top: -10px;
	border-top: solid 2px #666;
}

.special-chars-button:before {
	content:'';
	display: block;
	background: #EEE;
	width: 16px;
	height: 16px;
	position: absolute;
	left: 10px;
	margin-top: 4px;

	-webkit-transform: rotateZ(45deg);
	-moz-transform: rotateZ(45deg);
	-o-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.special-chars-button.ui-drop-down:before {
	bottom: 100%;
	margin-bottom: -8px;
	border-top: solid 1px #BBB;
	border-left: solid 1px #BBB;
}
.special-chars-button.ui-drop-right:before {
  	top: 3px;
  	margin-left: -8px;
  	border-top: solid 1px #CCC;
  	border-right: solid 1px #CCC;
  	left: 100%;
}
.special-chars-button.ui-drop-left:before {
  	top: 3px;
  	margin-left: -10px;
  	border-bottom: solid 1px #CCC;
  	border-left: solid 1px #CCC;
  	left: 0%;
}

.special-chars-button.ui-drop-up:before {
	top: 100%;
	margin-top: -8px;
	border-bottom: solid 1px #BBB;
	border-right: solid 1px #BBB;
}

.special-chars-table {
	position: absolute;
	z-index: 400;
	display: inline-block;
	width: 300px;
	background: #F5F5F5;
	border-radius: 0px;
	padding: 15px;
	border: solid 1px #CCC;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
}

.special-chars-table:not(.mobile) {
	height: 150px;
}

.special-chars-table.ui-drop-right:not(.mobile) {
	margin-left: -10px;
}

.special-chars-table.ui-drop-left:not(.mobile) {
	margin-left: 10px;
}

.special-chars-table.mobile {
	width: 100%;
	left: 0;
	white-space: nowrap;
	height: auto;
	z-index: 5000;
	padding: 8px 0 0 0;
	background: rgba(214,218,224,0.95);
	-webkit-overflow-scrolling: touch;
}

.special-chars-table.mobile::-webkit-scrollbar {
	width: 2px;
	height: 2px;
}
.special-chars-table.mobile::-webkit-scrollbar-track {
	border-radius: 0px;
}
.special-chars-table.mobile::-webkit-scrollbar-thumb {
	background-color: rgba(50,50,50,0.2);
}

.special-chars-table.mobile.bottom {
	bottom: 0;
	left: 0;
}

.special-chars-table.mobile.top {
	top: 0;
	left: 0;
	padding: 8px 0;
}

.special-chars-table.top.mobile.hidden {
	-webkit-transform: translate3d(0px,-100%,0px);
	transform: translate3d(0px,-100%,0px);
}

.special-chars-table.top.mobile {
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	transition: transform 250ms ease-in-out;
	-webkit-transform: translate3d(0px,0px,0px);
	transform: translate3d(0px,0px,0px);
}

.special-chars-table.ui-drop-down {
	margin-top: 10px;
	border-bottom: solid 2px #666;
}

.special-chars-table.ui-drop-up {
	margin-top: -10px;
	border-top: solid 2px #666;
}

.special-chars-table > .wrap{
	overflow: auto;
	position: absolute;
	left: 10px;
	top: 15px;
	bottom: 10px;
	right: 0;
}

.special-chars-table.mobile > .wrap {
	position: static;
}

.special-chars-table:not(.mobile):before {
	content:'';
	display: block;
	background: #F5F5F5;
	width: 16px;
	height: 16px;
	position: absolute;
	left: 10px;

	-webkit-transform: rotateZ(45deg);
	-moz-transform: rotateZ(45deg);
	-o-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.special-chars-table.ui-drop-down:not(.mobile):before {
	bottom: 100%;
	margin-bottom: -8px;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
}

.special-chars-table.ui-drop-right:not(.mobile):before {
  	top: 3px;
  	margin-left: -8px;
  	margin-top: 4px;
  	border-top: solid 1px #CCC;
  	border-right: solid 1px #CCC;
  	left: 100%;
}

.special-chars-table.ui-drop-left:not(.mobile):before {
  	top: 3px;
  	margin-left: -10px;
  	margin-top: 4px;
  	border-bottom: solid 1px #CCC;
  	border-left: solid 1px #CCC;
  	left: 0%;
}

.special-chars-table.ui-drop-up:not(.mobile):before {
	top: 100%;
	margin-top: -8px;
	border-bottom: solid 1px #CCC;
	border-right: solid 1px #CCC;
}

.special-chars-table span{
	display: inline-block;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	cursor: pointer;
	border-radius: 2px;
}

.special-chars-table.mobile span {
	font-size: 20px;
	width: 48px;
	height: 48px;
	line-height: 48px;
	background: #FFF;
	border-bottom: solid 1px #666;
	margin: 0 4px;
	border-radius: 4px;
}

.special-chars-table span:hover{
	background-color: #CCC;
}

.special-chars-table span:active{
	background-color: #666;
	color: #FFF;
}	