juliya
10/23/2017 - 3:11 PM

fancy select

.fancy-select {
    position: relative;
    &.disabled {
        opacity: 0.5;
    }
    .trigger {
        overflow: hidden;
        position: relative;
        -webkit-border-radius: 22px;
        -moz-border-radius: 22px;
        border-radius: 22px;
        padding-left: 20px;
        padding-right: 20px;
        height: 48px;
        font-size: 16px;
        line-height: 48px;
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: @light-text-color;
        cursor: pointer;
        &:after {
            content: '';
            position: absolute;
            right: 20px;
            top: 50%;
            display: block;
            margin-top: -5px;
            width: 16px;
            height: 9px;
            background-image: url("../img/ico-arrow-down.png");
            background-repeat: no-repeat;
            background-position: center center;
            -webkit-transition: @trans;
            -moz-transition: @trans;
            -o-transition: @trans;
            transition: @trans;
        }
        &.open {
            -webkit-border-bottom-left-radius: 0;
            border-bottom-left-radius: 0;
            -webkit-border-bottom-right-radius: 0;
            border-bottom-right-radius: 0;
            box-shadow: @shadow2;
            &:after {
                -webkit-transform: rotate(180deg);
                -moz-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                -o-transform: rotate(180deg);
                transform: rotate(180deg);
            }
        }
    }
    .options {
        list-style: none;
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden;
        position: absolute;
        top: 48px;
        left: 0;
        z-index: 10;
        padding: 10px 15px;
        width: 100%;
        max-height: 300px;
        background-color: #ffffff;
        opacity: 0;
        &.open {
            visibility: visible;
            top: 48px;
            -webkit-border-bottom-left-radius: 22px;
            border-bottom-left-radius: 22px;
            -webkit-border-bottom-right-radius: 22px;
            border-bottom-right-radius:22px;
            opacity: 1;
            box-shadow: @shadow2;
        }
        li {
            padding: 10px 0;
            font-size: 16px;
            color: @light-text-color;
            cursor: pointer;
            -webkit-transition: @trans;
            -moz-transition: @trans;
            -o-transition: @trans;
            transition: @trans;
            &.selected {
                color: @accent-color;
                &:hover,
                &.hover {
                    color: @accent-color;
                }
            }
            &:hover,
            &.hover {
                color: @text-color;
            }
        }
    }
}


div.fancy-select {
    position: relative;
    font-weight: 400;
    text-transform: none;
    font-size: 16px;
    color: @text-color;
    select:focus + div.trigger {
        .box-shadow-none();
    }
    div.trigger {
        overflow: hidden;
        position: relative;
        .box-sizing();
        .border-radius(0);
        border: 1px solid @accent-color;
        padding: 0 30px 0 15px;
        width: 100%;
        height: 56px;
        font-size: 16px;
        line-height: 54px;
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: @text-color;
        background-color: #ffffff;
        .box-shadow-none();
        cursor: pointer;
        &:after {
            content: '';
            position: absolute;
            right: 9px;
            top: 50%;
            display: block;
            margin-top: -5.5px;
            border-style: solid;
            border-width: 11px 10px 0 10px;
            border-color: @accent-color transparent transparent transparent;
            
        }
        &.open {
            border: 1px solid @accent-color;
            color: @text-color;
            background-color: #ffffff;
            &:after {
                .rotate(180deg);
                border-color: @accent-color transparent transparent transparent;
            }
        }
    }
    ul.options {
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden;
        top: 100%;
        .box-sizing();
        .border-radius(0);
        border: 1px solid @accent-color;
        border-top: 0;
        width: 100%;
        min-width: 0;
        max-height: 300px;
        background-color: #ffffff;
        opacity: 0;
        &.open {
            top: 100%;
            .box-shadow(0, 6px, 21px, 0, rgba(69, 69, 69, 0.09));
        }
        li {
            padding: 10px 15px;
            font-size: 16px;
            color: @text-color;
            .transition();
            &.selected {
                color: #ffffff;
                background-color: @accent-color;
                &:hover,
                &.hover {
                    color: #ffffff;
                    background-color: @accent-color;
                }
            }
            &:hover,
            &.hover {
                color: @accent-color;
            }
        }
    }
}

    $('select').fancySelect();