/**
 * Bootstrap Multiselect (http://davidstutz.de/bootstrap-multiselect/)
 *
 * Apache License, Version 2.0:
 * Copyright (c) 2012 - 2020 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 - 2020 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-container {
  position: absolute;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

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

.multiselect-container>.multiselect-option.dropdown-item,
.multiselect-container .multiselect-group.dropdown-item,
.multiselect-container>.multiselect-option.dropdown-toggle,
.multiselect-container .multiselect-group.dropdown-toggle {
  cursor: pointer;
  padding: 15px 10px;
}

.multiselect-container>.multiselect-option>span,
.multiselect-container .multiselect-group>span {
  padding: 3px 20px;
  padding-left: 0px;
}

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

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

.multiselect-native-select .btn-group {
  display: block;
}

.multiselect-native-select button.custom-select {
  width: 100%;
  height: 100%;
  border-radius: 0;
  padding: 15px 10px;
  background-color: #b3213b;
  background: #b3213b;
  border-color: #b3213b;
  color: #FFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

button.multiselect.dropdown-toggle.custom-select:after {
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .3em solid transparent;
}

.multiselect-option:hover .form-check {
  color: #b3213b !important;
}

.multiselect-native-select .dropdown-item.active {
  color: #b3213b;
  text-decoration: none;
  background-color: #FFF;
  outline: none;
}

.multiselect-native-select .dropdown-item.active span {
  color: #b3213b;
}

.multiselect-native-select .dropdown-item:focus {
  background-color: #FFF;
  outline: none;
}

.multiselect-native-select .dropdown-item:focus span {
  color: #b3213b;
}

/**
  * Checkbox for multiselect filter
 **/
.form-check {
  width: 100%;
  position: relative;
  display: block;
}

.form-check label {
  position: relative;
  display: block;
  padding-left: 40px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.form-check label span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.form-check label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 20px;
  height: 20px;
  transition: transform 0.28s ease;
  border: 2px solid #b3213b;
  background: #FFF;
}

.form-check label:after {
  content: '';
  display: block;
  width: 12px;
  height: 5px;
  border-bottom: 2px solid #b3213b;
  border-left: 2px solid #b3213b;
  transform: rotate(-45deg) scale(0);
  transition: transform ease 0.25s;
  position: absolute;
  top: 10px;
  left: 8px;
}

.form-check input[type="checkbox"] {
  width: auto;
  opacity: 0.00000001;
  position: absolute;
  left: 0;
  margin-left: -20px;
}

.form-check input[type="checkbox"]:checked~label:before {
  border: 2px solid #b3213b;
  background: #FFF;
}

.form-check input[type="checkbox"]:checked~label:after {
  transform: rotate(-45deg) scale(1);
}

.form-check input[type="checkbox"]:focus+label::before {
  outline: 0;
}