div.fancy-select {
    position: relative;
    display: inline-block;
    vertical-align:middle;
}

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

    div.fancy-select select:focus + div.trigger {
        border: 1px solid #e5e5e5;
    }

        div.fancy-select select:focus + div.trigger.open {
            border: 1px solid #e5e5e5;
        }

    div.fancy-select div.trigger {
        padding: 2px 10px 2px 10px;
        white-space: nowrap;
        overflow: hidden;
        -ms-text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        line-height: 22px;
        position: relative;
        background: white;
        border: 1px solid transparent;
        border: 1px solid #e5e5e5 !important;
        color: #222;
        width: 90px;
        -o-transition: all 300ms ease-out;
        /*-ms-transition: all 300ms ease-out;*/
        -moz-transition: all 300ms ease-out;
        -webkit-transition: all 300ms ease-out;
        transition: all 300ms ease-out;

    }

        /*div.fancy-select div.trigger:after {
	content: "";
	display: block;
	position: absolute;
	width: 17px;
	top:0;
	bottom:0;
	right:0;
	border-left:1px solid #eaeaea;
}*/

        div.fancy-select div.trigger.open {
            border: 1px solid #e5e5e5;
            box-shadow: none;
        }


        div.fancy-select div.trigger:before {
            content: "";
            display: block;
            position: absolute;
            width: 30px;
            top: 0;
            bottom: 0;
            right: 0;
            background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAIAAAD38zoCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ODAwNTNkMC1jOTBmLTQxMTUtYmViOC1kZDc2YWM3N2EzYTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUMwQjJEMzNERjg1MTFFNEJEQkI4MkUwODc2OTQyQ0QiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUMwQjJEMzJERjg1MTFFNEJEQkI4MkUwODc2OTQyQ0QiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMzNjZmE2My00NmMwLTRkZGYtOThjMS1hZTQ2Zjc0ZmFiYmQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzgwMDUzZDAtYzkwZi00MTE1LWJlYjgtZGQ3NmFjNzdhM2E4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aIK/rQAAAE5JREFUeNpirNr1YMWlNwyoIFxXhPHXn3+Rq26ef/YVLmooxb08TJ2JlZlxqq+yOA8rRBTIAHKBgkzIHGRFjP///4eoXXn5DcR0CBcgwAD3rxjjVbh7jQAAAABJRU5ErkJggg==');
            background-size: 10px auto;
            background-position: center;
            background-repeat: no-repeat;
            -o-transition: transform 300ms ease-out;
            -moz-transition: transform 300ms ease-out;
            -webkit-transition: transform 300ms ease-out;
            transition: transform 300ms ease-out;
            -webkit-backface-visibility: hidden;
            -moz-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        div.fancy-select div.trigger.open:before {
            display: block;
            -moz-transform: rotateZ(180deg);
            -ms-transform: rotateZ(180deg);
            -o-transform: rotateZ(180deg);
            -webkit-transform: rotateZ(180deg);
            transform: rotateZ(180deg);
        }

    div.fancy-select ul.options {
        list-style: none;
        margin: 0;
        position: absolute;
        top: 2em;
        left: 0;
        visibility: hidden;
        opacity: 0;
        z-index: 1000;
        max-height: 200px;
        overflow: auto;
        background: #ffffff;
        border: 1px solid #e5e5e5;
        min-width: 110px;
        -webkit-transition: opacity 300ms ease-out, top 300ms ease-out, visibility 300ms ease-out;
        -moz-transition: opacity 300ms ease-out, top 300ms ease-out, visibility 300ms ease-out;
        /*-ms-transition: opacity 300ms ease-out, top 300ms ease-out, visibility 300ms ease-out;*/
        -o-transition: opacity 300ms ease-out, top 300ms ease-out, visibility 300ms ease-out;
        transition: opacity 300ms ease-out, top 300ms ease-out, visibility 300ms ease-out;
    }

        div.fancy-select ul.options.open {
            visibility: visible;
            top: 2.5em;
            opacity: 1;
            /* 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*/
            -webkit-transition: opacity 300ms ease-out, top 300ms ease-out;
            -moz-transition: opacity 300ms ease-out, top 300ms ease-out;
            /*-ms-transition: opacity 300ms ease-out, top 300ms ease-out;*/
            -o-transition: opacity 300ms ease-out, top 300ms ease-out;
            transition: opacity 300ms ease-out, top 300ms ease-out;
            /*border-radius: 2px;*/
        }

        div.fancy-select ul.options.overflowing {
            top: auto;
            bottom: 40px;
            -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out, visibility 300ms ease-out;
            -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out, visibility 300ms ease-out;
            /*-ms-transition: opacity 300ms ease-out, bottom 300ms ease-out, visibility 300ms ease-out;*/
            -o-transition: opacity 300ms ease-out, bottom 300ms ease-out, visibility 300ms ease-out;
            transition: opacity 300ms ease-out, bottom 300ms ease-out, visibility 300ms ease-out;
        }

            div.fancy-select ul.options.overflowing.open {
                top: auto;
                bottom: 50px;
                -webkit-transition: opacity 300ms ease-out, bottom 300ms ease-out;
                -moz-transition: opacity 300ms ease-out, bottom 300ms ease-out;
                /*-ms-transition: opacity 300ms ease-out, bottom 300ms ease-out;*/
                -o-transition: opacity 300ms ease-out, bottom 300ms ease-out;
                transition: opacity 300ms ease-out, bottom 300ms ease-out;
            }

        div.fancy-select ul.options li {
            padding: 6px 6px!important;
            color: #777;
            cursor: pointer;
            white-space: nowrap;
            -webkit-transition: all 150ms ease-out;
            -moz-transition: all 150ms ease-out;
            /*-ms-transition: all 150ms ease-out;*/
            -o-transition: all 150ms ease-out;
            transition: all 150ms ease-out;
        }

            div.fancy-select ul.options li.selected {
                background: rgba(43,134,234,0.3);
                color: #ffffff;
            }

            div.fancy-select ul.options li.hover:not(.selected) {
                color: #222;
            }
