﻿.v-select {
    --c-base: #fff;
    --c-theme: #f0f0f0;
    --c-border: #ccc;
    --radius: 0.2em;
    --padd: 3px;
    --height: 3em;
    font-size: 12px
}

    .v-select, .v-select *, .v-select :after, .v-select :before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin: 0
    }

.v-select {
    position: relative;
    outline: none;
    padding: var(--padd);
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-base)
}

    .v-select button, .v-select input {
        font: inherit;
        text-align: left
    }

    .v-select .v-select-option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: .3em .5em;
        cursor: pointer
    }

        .v-select .v-select-option.-marked {
            background: rgba(0,0,0,.05)
        }

        .v-select .v-select-option:hover {
            background: rgba(0,0,0,.03)
        }

        .v-select .v-select-option.-selected {
            opacity: .5
        }

    .v-select .v-select-selected {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: absolute;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .v-select.-multiple .v-select-selected {
        background: var(--c-theme);
        border-color: rgba(0,0,0,.1);
        position: static
    }

    .v-select.-searching:not(.-multiple) .v-select-selected {
        opacity: 0
    }

    .v-select:not(.-multiple):not(.-searching).-focused .v-select-selected, .v-select:not(.-multiple):not(.-searching).-opened .v-select-selected {
        opacity: .6
    }

    .v-select .v-select-selected {
        margin-right: var(--padd);
        margin-bottom: var(--padd)
    }

        .v-select .v-select-selected:first-of-type {
            border-radius: var(--radius) 0 0 var(--radius)
        }

    .v-select .v-select-bar {
        position: relative;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        white-space: nowrap;
        margin-bottom: calc(0px - var(--padd))
    }

    .v-select .v-select-inp-group {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: var(--padd);
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        min-width: 10em
    }

    .v-select:not(.-opened) .v-select-list {
        visibility: hidden
    }

    .v-select .v-select-inp {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        border: none;
        background: none;
        padding: 0 .5em;
        outline: none;
        position: relative;
        z-index: 1;
        min-width: 0
    }

        .v-select .v-select-inp[readonly] {
            cursor: default
        }

    .v-select .v-select-inp, .v-select [class*=v-select-btn] {
        min-height: calc(var(--height) - var(--padd)*2 - 2px)
    }

    .v-select [class*=v-select-btn] {
        padding: .2em .5em;
        background: transparent;
        border: 1px solid transparent;
        cursor: pointer;
        outline: none;
        line-height: 1em
    }

    .v-select:not(.-loading) .v-select-btn-spinner {
        display: none
    }

    .v-select .v-select-btn-spinner:before {
        content: "";
        border: 2px solid var(--c-theme);
        border-left-color: var(--c-border);
        border-radius: 100%;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-animation: vSelectSpinner .4s linear infinite;
        animation: vSelectSpinner .4s linear infinite;
        -webkit-transition: opacity .1s;
        transition: opacity .1s;
        width: 1em;
        height: 1em;
        display: block
    }

    .v-select .v-select-btn-clear:before {
        content: "\2716";
        font-size: .8em
    }

    .v-select .v-select-btn-clear:not(:hover) {
        opacity: .6
    }

    .v-select .v-select-btn-dd:before {
        content: "";
        display: block;
        border: solid transparent;
        border-top-color: #000;
        border-width: .5em .3em 0;
        opacity: .8;
        margin: 0 .2em
    }

    .v-select.-empty .v-select-btn-clear {
        display: none
    }

    .v-select.-opened .v-select-btn-dd {
        opacity: .6
    }

    .v-select.-loading .v-select-btn-dd {
        display: none
    }

    .v-select .v-select-list {
        list-style: none;
        z-index: 4;
        position: absolute;
        left: -1px;
        right: -1px;
        padding: 0;
        max-height: 200px;
        overflow: hidden;
        overflow-y: auto;
        border: inherit;
        padding: inherit;
        padding-top: 0;
        padding-bottom: 0;
        background: inherit;
        -webkit-box-shadow: inherit;
        box-shadow: inherit
    }

        .v-select .v-select-list > :last-child {
            margin-bottom: var(--padd)
        }

    .v-select:not(.-top).-opened {
        -webkit-box-shadow: 0 3px 3px -1px rgba(0,0,0,.16);
        box-shadow: 0 3px 3px -1px rgba(0,0,0,.16);
        border-radius: var(--radius) var(--radius) 0 0
    }

    .v-select:not(.-top) .v-select-list {
        top: 100%;
        margin-top: -1px;
        border-top-color: transparent;
        border-radius: 0 0 var(--radius) var(--radius);
        padding-top: 0
    }

    .v-select.-top.-opened {
        -webkit-box-shadow: 0 -3px 3px -1px rgba(0,0,0,.16);
        box-shadow: 0 -3px 3px -1px rgba(0,0,0,.16);
        border-radius: 0 0 var(--radius) var(--radius)
    }

    .v-select.-top .v-select-list {
        bottom: 100%;
        margin-bottom: -1px;
        border-bottom-color: transparent;
        border-radius: var(--radius) var(--radius) 0 0;
        padding-bottom: 0
    }

@-webkit-keyframes vSelectSpinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes vSelectSpinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}
