.multiselect {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    margin: 5px 0;
}
.multiselect .caption {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 34px;
    line-height: 34px;
    border: 1px solid #ccc;
    cursor: default;
    background: #fff;
    border-radius: 3px;
    padding: 0 20px 0 0;
}
.multiselect .caption:after {
    content: "";
    display: block;
    position: absolute;
    right: 8px;
    top: 13px;
    width: 0;
    height: 0;
    border: solid;
    border-width: 5px 4px 0;
    border-color: #888 #fff #fff;
}
.multiselect .caption .text {
    display: block;
    font-size: 14px;
    margin-right: 5px;
    padding: 0 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 34px;
}
.multiselect .caption .text i {
    display: none;
}
.multiselect .caption:hover {
    border-color: #888;
    background: #fff;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 49%, rgba(234, 234, 234, 1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(49%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(234, 234, 234, 1)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 49%, rgba(234, 234, 234, 1) 100%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 49%, rgba(234, 234, 234, 1) 100%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 49%, rgba(234, 234, 234, 1) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 49%, rgba(234, 234, 234, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#eaeaea',GradientType=0);
}
.multiselect .caption:active {
    border-color: #444;
}
.multiselect .caption:hover:after {
    border-color: #555 #f5f5f5 #f5f5f5;
}
.multiselect.open .caption:after {
    border-width: 0 4px 5px;
    border-color: #fff #fff #555;
    top: 11px;
}
.multiselect.singleline .options {
    display: none;
    position: absolute;
    z-index: 10;
    background: #fff;
    width: 100%;
    padding: 0;
    border: solid #abbdcf;
    border-width: 0 1px 1px;
    top: 30px;
}
.multiselect.singleline .options ul {
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 350px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.7);
}
.multiselect .option {
    white-space: nowrap;
    display: block;
    clear: left;
}
.multiselect .option:hover,
.multiselect .option.hover {
    background: #def;
}
.multiselect .clicker {
    box-sizing: content-box;
    border: 1px solid #297cb3;
    cursor: default;
    display: block;
    float: left;
    height: 12px;
    margin: 2px 3px;
    vertical-align: top;
    width: 12px;
    background: #fff;
    overflow: hidden;
    border-radius: 2px;
}
.multiselect .clicker-mark {
    display: block;
    height: 8px;
    margin: 2px;
    width: 8px;
}
.multiselect .selected .clicker-mark {
    background: #999;
}
.multiselect .label {
    cursor: pointer;
    display: block;
    font-size: 14px;
    padding: 4px 6px;
}
.multiselect .child .label {
    padding-left: 25px;
}
.multiselect .child .label:before {
    content: "- ";
}
.multiselect .label i {
    color: #bbb;
    font-size: 0.9em;
}
.multiselect .value {
    display: none;
}
.multiselect .decoration {
    display: none;
}
.multiselect.ic-empty .caption {
    background: #fafafa;
    opacity: 0.6;
}
.multiselect.ic-empty .caption .text {
    opacity: 0.4;
}
.multiselect.loading .caption {
    background: #fff url("ajax-loader.gif") no-repeat right center;
}
.multiselect.multiline .caption {
    display: none;
}
.multiselect.multiline .options {
    position: relative;
    display: block;
}
.ic-selectcloser {
    display: block;
    padding: 4px;
    right: 4px;
    text-align: right;
    cursor: pointer;
}
