div.fancy-select {
	position: relative;
	font-size: 16px;
	margin-bottom: 30px;
	color: #555555;
}

div.fancy-select.disabled {
	opacity: 0.5;
}

div.fancy-select select:focus + div.trigger.open {
	box-shadow: none;
}

div.fancy-select div.trigger {
	cursor: pointer;
	border: 1px solid #ecf0f1;
	padding: 10px 10px;
	line-height: 1.4em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	background: #f7f8fc none no-repeat;
	color: #999999;

	transition: all 100ms ease-out;
	-webkit-transition: all 100ms ease-out;
	-moz-transition: all 100ms ease-out;
	-ms-transition: all 100ms ease-out;
	-o-transition: all 100ms ease-out;

	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAANCAYAAAC+ct6XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjBBRUQ1QTQ1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjBBRUQ1QTU1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMEFFRDVBMjVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMEFFRDVBMzVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk5mU4QAAACUSURBVHjaYmRgYJD6////MwY6AyaGAQIspCieM2cOjKkIxCFA3A0TSElJoZ3FUCANxAeAWA6IOYG4iR5BjWwpCDQCcSnNgxoIVJCDFwnwA/FHWlp8EIpHSKoGgiggLkITewrEcbQO6mVAbAbE+VD+a3IsJTc7FQAxDxD7AbEzEF+jR1DDywtoCr9DbhwzDlRZDRBgACYqHJO9bkklAAAAAElFTkSuQmCC);
	background-position: center right;
	background-repeat: no-repeat;
}

div.fancy-select ul.options {
	width: 100%;
	list-style: none;
	border: 1px solid #ecf0f1;
	margin: 0;
	position: absolute;
	padding: 0;
	top: 44px;
	left: 0;
	visibility: hidden;
	overflow: hidden;
	opacity: 0;
	z-index: 50;
	max-height: 200px;
	overflow: auto;
	background: #f7f8fc none no-repeat;

	-webkit-box-shadow: 0px 2px 0px 0px rgba(227, 228, 231, 1);
	box-shadow: 0px 2px 0px 0px rgba(227, 228, 231, 1);
}

div.fancy-select ul.options.open {
	visibility: visible;
	top: 44px;
	opacity: 1;
	border-top: none;

	/* have to use a non-visibility transition to prevent this iOS issue (bug?): */
	/*http://stackoverflow.com/questions/10736478/css-animation-visibility-visible-works-on-chrome-and-safari-but-not-on-ios*/
	transition: opacity 100ms ease-out, top 100ms ease-out;
	-webkit-transition: opacity 100ms ease-out, top 100ms ease-out;
	-moz-transition: opacity 100ms ease-out, top 100ms ease-out;
	-ms-transition: opacity 100ms ease-out, top 100ms ease-out;
	-o-transition: opacity 100ms ease-out, top 100ms ease-out;
}

div.fancy-select ul.options.overflowing {
	top: auto;
	bottom: 44px;
	border-bottom: none;

	transition: opacity 100ms ease-out, bottom 100ms ease-out, visibility 100ms ease-out;
	-webkit-transition: opacity 100ms ease-out, bottom 100ms ease-out, visibility 100ms ease-out;
	-moz-transition: opacity 100ms ease-out, bottom 100ms ease-out, visibility 100ms ease-out;
	-ms-transition: opacity 100ms ease-out, bottom 100ms ease-out, visibility 100ms ease-out;
	-o-transition: opacity 100ms ease-out, bottom 100ms ease-out, visibility 100ms ease-out;
}

div.fancy-select ul.options.overflowing.open {
	top: auto;
	bottom: 44px;
	border-bottom: none;

	transition: opacity 100ms ease-out, bottom 100ms ease-out;
	-webkit-transition: opacity 100ms ease-out, bottom 100ms ease-out;
	-moz-transition: opacity 100ms ease-out, bottom 100ms ease-out;
	-ms-transition: opacity 100ms ease-out, bottom 100ms ease-out;
	-o-transition: opacity 100ms ease-out, bottom 100ms ease-out;
}

div.fancy-select ul.options li {
	padding: 8px 12px;
	color: #999999;
	cursor: pointer;
	white-space: nowrap;

	transition: all 50ms ease-out;
	-webkit-transition: all 50ms ease-out;
	-moz-transition: all 50ms ease-out;
	-ms-transition: all 50ms ease-out;
	-o-transition: all 50ms ease-out;
}

div.fancy-select ul.options li:hover {
	background-color: #0097a7;
	color: #fff;
}