select.form-select {
    -webkit-appearance: none;
    width: 100%;
    padding: $selectPaddingV $selectPaddingH;
    background: $selectBackground;
    cursor: pointer;
    border: 1px solid $selectBorder;
    border-radius: $selectRadius;
    line-height: $lineHeight;
}

.form-select {
    position: relative;
    display: block;
    user-select: none;
    width: 100%;
    & > span {
        position: relative;
        display: block;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        background: $selectBackground;
        cursor: pointer;
        border: 1px solid $selectBorder;
        border-radius: $selectRadius;
        line-height: $lineHeight;
        padding: $selectPaddingV ($selectPaddingH + 20) $selectPaddingV $selectPaddingH;
        @include transition;
        @include user-select;
        &:after {
            content: '';
            position: absolute;
            display: block;
            top: 50%;
            margin-top: -2px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 5px 0 5px;
            right: $selectPaddingH;
            border-color: $selectArrowColor transparent transparent transparent;
        }
    }
    &.disabled {
        & > span {
            cursor: not-allowed;
            background: $selectDisabled;
            color: $textColor;
            &:after {
                border-color: $selectBorder transparent transparent transparent;
            }
        }
    }
    &.open {
        & > span {
            border-color: $selectBorderFocus;
            &:after {
                @include transform(rotate(180deg));
            }
        }
        & > div {
            display: block;
        }
    }
    & > div {
        position: absolute;
        display: block;
        top: 100%;
        left: 0;
        padding: 10px 0;
        min-width: 100%;
        background: #fff;
        display: none;
        z-index: 1;
        margin: 8px 0 0 0;
        border-radius: 4px;
        @include shadow('sm');
        span {
            line-height: 32px;
            position: relative;
            font-weight: 500;
            display: block;
            padding: 0 16px;
            white-space: nowrap;
            font-size: 14px;
            cursor: pointer;
            color: $textColor;
            @include transition;
            &:hover {
                background: $selectHover;
            }
            &.active {
                color: #fff;
                background: $selectActive;
            }
        }
    }
}
