.filter{
  text-align: right;
  display: flex;
  flex-direction: column;
  max-height: 50px;
  overflow: hidden;
  transition: all .2s ease-in;
  justify-content: flex-start;
  border-bottom: 2px solid #0068b3;
  margin-bottom: 30px;
}
.filter.open{
  max-height: 400px;
}
.filter .input-container{
  width: 100%;
  transition: all .2s ease-out;
}

.filter > *{
  margin-bottom: 15px;
}

.filter > .filter-class{
  margin-bottom: 0;
  position: relative;
  padding-right: 30px;
  
  display: flex;
}

.filter > .filter-class::before{
  content: "\f149";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 16px;
  text-rendering: auto;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  color: #0068b3;
  transition: all .2s ease-in;
  transform: scaleY(1);
}

.filter.open .filter-class::before{
  transition: all .2s ease-out;
  transform: scaleY(-1);
}

.no-results{
	display: block;
    text-align: center;
    width: 100%;
  }

@media (max-width: 991px){
  .filter .filter-class{
    cursor: pointer;
  }
}
@media (min-width: 992px){
  
  .filter{
    margin-bottom: 100px;
    justify-content: flex-end;
    max-height: auto;
    flex-direction: row;
    border: none;
  }
  
  .filter .filter-class{
    padding-right: 0;
  }
  
  .filter > .filter-class::before{
    display: none;
  }
  
  .filter .input-container{
    width: 310px;
  }
  
  .filter > *{
    margin-left: 20px;
    margin-bottom: 0;
  }
  
}

.filter .input-container input{
  width: 100%;
}

.filter .search-container{
  position: relative;
}

.filter .filter-class{
  line-height: 50px;
  font-weight: bold;
  white-space: nowrap;
}

/* sort checkbox */

/* Customize the label (the container) */
.filter .order-select {
  max-width: 120px;
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-right:0;
}

/* Hide the browser's default checkbox */
.filter .order-select input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.filter .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 46px;
  width: 100%;
  padding:0 20px;
  background: white;
  max-width: 120px;
  margin-right: 0;
  text-align: center;
  line-height: 50px;
}

/* When the checkbox is checked, add a blue background */
.filter .order-select input:checked ~ .checkmark {
  background-color: #0068b3;
  
}

/* Create the checkmark/indicator (hidden when not checked) */
.filter .checkmark:after {
  content: "A - Z";
  position: absolute;
  color: #0068b3;
  text-align: center;
  width: 100%;
  left:0;
  top:0;
}

/* Show the checkmark when checked */
.filter .order-select input:checked ~ .checkmark:after {
  color: white;
}


/************************************************************  
	search
*************************************************************/

.filter .search-container::before{
  content: "\f002";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 16px;
  text-rendering: auto;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  color: #0068b3;
}


.filter .search-field{
  height: 50px;
  background: white;
  border: 2px solid #0068b3;
  padding: 0 20px;
  line-height: 50px;
}
.filter .search-field::placeholder{
  color: #0068b3;
}

/************************************************************  
	button
*************************************************************/

.filter .btn{
  border: 2px solid #0068b3;
  height: 50px;
  outline: none;
}

.filter .btn:active:focus{
  outline: none;
}

/************************************************************  
	select
*************************************************************/


.filter .categorie-container{
  position: relative;
}
.filter .categorie-container::before,
.filter .select2-selection__arrow::before{
  content: "\f078";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 16px;
  text-rendering: auto;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  color: #0068b3;
  z-index: 1;
}

.filter ul{
  height: 50px;
  padding-right: 35px;
  
}

.filter .select2-container--default .select2-search--inline .select2-search__field{
  margin-top: 0;
  line-height: 50px;
  padding-left: 15px;
}

.filter .select2-container--default .select2-search--inline .select2-search__field::placeholder{
  color: #0068b3;
}

.filter .select2-container--default .select2-selection--multiple{
  border: none;
}

.filter .selection{
    height: 50px;
    max-height: 50px;
    display: block;
}

.filter .select2-container--default .select2-selection--multiple .select2-selection__choice{
  height: 32px;
  line-height: 32px;
  background: #0068b3;
  color: white;
  border-radius:0;
  border: none;
  padding-right: 10px;
  margin-top: 7px;
}

.filter .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
  color: white;
}

.select2-selection__arrow b{
  display: none;
}

/* Compact style */

.filter.compact{
	margin-bottom: 30px;
}

.filter.compact .filter-class{
  justify-content: space-between;
  display: flex;
  align-items: center;
}

.filter .filter-checked-count-text{
  display:none;
  margin-left: auto;
}

.filter.compact .filter-checked-count-text{
  display: inline;
}

.filter .filter-clear-selection{
  display: none;
}

.filter.compact .filter-clear-selection{
  height: 20px;
  border: 0;
  background: #0068b3;
  color: white;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
  padding-left: 3px;
  padding-right: 5px;
  cursor: pointer;
}
.filter.compact .filter-clear-selection:after{
  	content: '';
    position: absolute;
    display: block;
    width: 0;
    z-index: 1;
    border-style: solid;
    border-color: transparent #0068b3;
    border-width: 10px 10px 10px 0;
    top: 50%;
    left: -10px;
    margin-top: -10px;
}

@media (min-width: 992px){
  .filter.compact{
    flex-wrap: wrap;
    height: auto;
    overflow: visible;
    margin-bottom: 60px;
  }
  .filter.compact > *:first-child{
	width: 100%;
    text-align: left;
    margin-left: 0;
  }
  .filter.compact > *:not(:first-child) {
  	flex: 1;
  }
  
  .filter.compact .order-select{
    margin-left: 0;
  }
  .filter.compact .clear_filter{
    max-width: 50px;
    overflow: hidden;
    color: transparent;
    text-align: center;
    position: relative;
  }
  .filter.compact .clear_filter:after{
    content: "\f00d";
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 20px;
    text-rendering: auto;
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    margin-left:-7px;
    margin-top: -10px;
    color: white;
  }
  
  .filter.compact .clear_filter:hover:after{
    color: #0068b3;
  }
  
}
