/**
 * Bootstrap Multiselect (http://davidstutz.de/bootstrap-multiselect/)
 *
 * Apache License, Version 2.0:
 * Copyright (c) 2012 - 2022 David Stutz
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a
 * copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 *
 * BSD 3-Clause License:
 * Copyright (c) 2012 - 2022 David Stutz
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *    - Redistributions of source code must retain the above copyright notice,
 *      this list of conditions and the following disclaimer.
 *    - Redistributions in binary form must reproduce the above copyright notice,
 *      this list of conditions and the following disclaimer in the documentation
 *      and/or other materials provided with the distribution.
 *    - Neither the name of David Stutz nor the names of its contributors may be
 *      used to endorse or promote products derived from this software without
 *      specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
span.multiselect-native-select {
    position: relative;
}

    span.multiselect-native-select select {
        border: 0 !important;
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        margin: -1px -1px -1px -3px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
        left: 50%;
        top: 30px;
    }

.multiselect.dropdown-toggle:after {
    display: none;
}

.multiselect {
    overflow: hidden;
    text-overflow: ellipsis;
}

.multiselect-container {
    position: absolute;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

    .multiselect-container .multiselect-reset .input-group {
        width: 93%;
    }

    .multiselect-container .multiselect-filter > .fa-search {
        z-index: 1;
        padding-left: 0.75rem;
    }

    .multiselect-container .multiselect-filter > input.multiselect-search {
        border: none;
        border-bottom: 1px solid lightgrey;
        padding-left: 2rem;
        margin-left: -1.625rem;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }

        .multiselect-container .multiselect-filter > input.multiselect-search:focus {
            border-bottom-right-radius: 0.25rem;
            border-bottom-left-radius: 0.25rem;
        }

    .multiselect-container .multiselect-filter > .multiselect-moz-clear-filter {
        margin-left: -1.5rem;
        display: none;
    }

    .multiselect-container .multiselect-option.multiselect-group-option-indented-full {
        padding-left: 2.6rem;
    }

    .multiselect-container .multiselect-option.multiselect-group-option-indented {
        padding-left: 1.8rem;
    }

    .multiselect-container .multiselect-group {
        cursor: pointer;
    }

        .multiselect-container .multiselect-group.closed .dropdown-toggle::after {
            transform: rotate(-90deg);
        }

        .multiselect-container .multiselect-group .caret-container ~ .form-check {
            margin-left: 0.5rem;
        }

    .multiselect-container .multiselect-option,
    .multiselect-container .multiselect-group,
    .multiselect-container .multiselect-all {
        padding: 0.25rem 0.25rem 0.25rem 0.75rem;
    }

        .multiselect-container .multiselect-option.dropdown-item,
        .multiselect-container .multiselect-group.dropdown-item,
        .multiselect-container .multiselect-all.dropdown-item,
        .multiselect-container .multiselect-option.dropdown-toggle,
        .multiselect-container .multiselect-group.dropdown-toggle,
        .multiselect-container .multiselect-all.dropdown-toggle {
            cursor: pointer;
        }

        .multiselect-container .multiselect-option .form-check-label,
        .multiselect-container .multiselect-group .form-check-label,
        .multiselect-container .multiselect-all .form-check-label {
            cursor: pointer;
        }

        .multiselect-container .multiselect-option.active:not(.multiselect-active-item-fallback),
        .multiselect-container .multiselect-group.active:not(.multiselect-active-item-fallback),
        .multiselect-container .multiselect-all.active:not(.multiselect-active-item-fallback),
        .multiselect-container .multiselect-option:not(.multiselect-active-item-fallback):active,
        .multiselect-container .multiselect-group:not(.multiselect-active-item-fallback):active,
        .multiselect-container .multiselect-all:not(.multiselect-active-item-fallback):active {
            background-color: lightgray;
            color: black;
        }

        .multiselect-container .multiselect-option:hover,
        .multiselect-container .multiselect-group:hover,
        .multiselect-container .multiselect-all:hover,
        .multiselect-container .multiselect-option:focus,
        .multiselect-container .multiselect-group:focus,
        .multiselect-container .multiselect-all:focus {
            background-color: #1478D2 !important;
        }

        .multiselect-container .multiselect-option .form-check,
        .multiselect-container .multiselect-group .form-check,
        .multiselect-container .multiselect-all .form-check {
            padding: 0 5px 0 20px;
        }

        .multiselect-container .multiselect-option:focus,
        .multiselect-container .multiselect-group:focus,
        .multiselect-container .multiselect-all:focus {
            outline: none;
        }

.form-inline .multiselect-container span.form-check {
    padding: 3px 20px 3px 40px;
}

.input-group.input-group-sm > .multiselect-native-select .multiselect {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    padding-right: 1.75rem;
    height: calc(1.5em + 0.5rem + 2px);
}

.input-group > .multiselect-native-select {
    flex: 1 1 auto;
    width: 1%;
}

    .input-group > .multiselect-native-select > div.btn-group {
        width: 100%;
    }

    .input-group > .multiselect-native-select:not(:first-child) .multiselect {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .input-group > .multiselect-native-select:not(:last-child) .multiselect {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
