@-webkit-keyframes blink
{
    0%
    {
        border-color: #ededed;
    }
    100%
    {
        border-color: #b94a48;
    }
}

@-o-keyframes blink
{
    0%
    {
        border-color: #ededed;
    }
    100%
    {
        border-color: #b94a48;
    }
}

@keyframes blink
{
    0%
    {
        border-color: #ededed;
    }
    100%
    {
        border-color: #b94a48;
    }
}

.tokenfield
{
    height: auto;
    min-height: 2.501rem;
    padding-bottom: 0;
}
.tokenfield.focus
{
    border-color: #3f51b5;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(63, 81, 181, .6);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(63, 81, 181, .6);
}
.tokenfield .token
{
    display: inline-block;

    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    height: 22px;
    margin: -1px 5px 5px 0;

    cursor: default; 
    vertical-align: top;
    white-space: nowrap;

    border: 1px solid #e0e0e0;
    border-radius: 3px;
    background-color: #eee;
}
.tokenfield .token:hover
{
    border-color: #5c6bc0;
}
.tokenfield .token.active
{
    border-color: #52a8ec;
    border-color: rgba(82, 168, 236, .8);
}
.tokenfield .token.duplicate
{
    -webkit-animation: blink .1s normal ease infinite;
         -o-animation: blink .1s normal ease infinite;
            animation: blink .1s normal ease infinite; 

    border-color: #f3273c;
}
.tokenfield .token.invalid
{
    border: 1px solid transparent;
    border-bottom: 1px dotted #f44336; 
    border-radius: 0;
    background: none;
}
.tokenfield .token.invalid.active
{
    border: 1px solid #eee;
    border-radius: 3px; 
    background: #eee;
}
.tokenfield .token .token-label
{
    display: inline-block;
    overflow: hidden;

    padding-left: 4px;

    vertical-align: top; 
    text-overflow: ellipsis;
}
.tokenfield .token .close
{
    font-family: Arial;
    font-size: 1.1em;
    line-height: inherit;

    display: inline-block;
    float: none;

    height: 100%;
    margin-left: 5px;
    padding-right: 4px; 

    vertical-align: top;
}
.tokenfield .token-input
{
    width: 60px;
    min-width: 60px;
    height: 20px;
    margin-bottom: 6px;
    padding: 0;

    border: 0;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.tokenfield .token-input:focus
{
    border-color: transparent;
    outline: 0;
    /* IE6-9 */
    -webkit-box-shadow: none;
            box-shadow: none;
}
.tokenfield.disabled
{
    cursor: not-allowed;

    background-color: #eee;
}
.tokenfield.disabled .token-input
{
    cursor: not-allowed;
}
.tokenfield.disabled .token:hover
{
    cursor: not-allowed;

    border-color: #e0e0e0;
}
.tokenfield.disabled .token:hover .close
{
    cursor: not-allowed;

    opacity: .2;
}

.has-warning .tokenfield.focus
{
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
}

.has-error .tokenfield.focus
{
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
}

.has-success .tokenfield.focus
{
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px white;
}

.tokenfield.input-sm,
.input-group-sm .tokenfield
{
    min-height: 30px;
    padding-bottom: 0;
}

.input-group-sm .token,
.tokenfield.input-sm .token
{
    height: 20px;
    margin-bottom: 4px;
}

.input-group-sm .token-input,
.tokenfield.input-sm .token-input
{
    height: 18px;
    margin-bottom: 5px;
}

.tokenfield.input-lg,
.input-group-lg .tokenfield
{
    min-height: 45px;
    padding-bottom: 4px;
}

.input-group-lg .token,
.tokenfield.input-lg .token
{
    height: 25px;
}

.input-group-lg .token-label,
.tokenfield.input-lg .token-label
{
    line-height: 23px;
}

.input-group-lg .token .close,
.tokenfield.input-lg .token .close
{
    line-height: 1.3em;
}

.input-group-lg .token-input,
.tokenfield.input-lg .token-input
{
    line-height: 23px;

    height: 23px;
    margin-bottom: 6px;

    vertical-align: top;
}

.input-group .tokenfield + .input-group-btn
{
    height: 100%;
}
.input-group .tokenfield + .input-group-btn .btn
{
    height: -webkit-calc(100% + 2px);
    height:         calc(100% + 2px);
    padding-top: 0;
    padding-bottom: 0;
}

.input-group .tokenfield .token-input
{
    width: 100% !important;
}

.tokenfield.rtl
{
    text-align: right; 

    direction: rtl;
}

.tokenfield.rtl .token
{
    margin: -1px 0 5px 5px;
}

.tokenfield.rtl .token .token-label
{
    padding-right: 4px; 
    padding-left: 0;
}

/* Tokenfield-specific Typeahead styling */
.tokenfield .twitter-typeahead
{
    float: none;

    width: auto;
}

.tokenfield .twitter-typeahead .tt-hint
{
    height: 20px; 
    padding: 0;
}

.tokenfield.input-sm .twitter-typeahead .tt-input,
.tokenfield.input-sm .twitter-typeahead .tt-hint
{
    font-size: 12px;
    line-height: 1.5; 

    height: 18px;
}

.tokenfield.input-lg .twitter-typeahead .tt-input,
.tokenfield.input-lg .twitter-typeahead .tt-hint
{
    font-size: 18px;
    line-height: 1.33; 

    height: 23px;
}

.tokenfield .twitter-typeahead .tt-suggestions
{
    font-size: 14px;
}
