.filter {
  height: 2.6em;
  overflow: hidden;
}

@media screen and (min-width: 600px) {
  .filter {
    height: 2em;
  }
}

.filter-header {
  padding: 4px 0;
}

@media screen and (min-width: 600px) {
  .filter-header {
    padding: 0;
  }
}

.filter.filter-open {
  height: auto;
  overflow: hidden;
}

.filter-list-area {
  display: flex;
  flex-wrap: wrap;
  padding: 2px 0;
}

@media screen and (min-width: 600px) {
  .filter-list-area {
    padding: 0;
  }
}

.filter-list-checkbox-wrapper {
  padding-left: 23px;
  position: relative;
}

.filter-list-area .filter-list-checkbox-wrapper {
  flex: 1 1 250px;
  margin: 5px 0;
}

@media screen and (min-width: 600px) {
  .filter-list-area .filter-list-checkbox-wrapper {
    margin: 0;
  }
}

.filter-list-checkbox-wrapper input {
  position: absolute;
  left: 0;
}

.filter .filter-state:after, .filter.callout .filter-state:after {
  content: 'Show';
}

.filter-open .filter-state:after, .filter-open.callout .filter-state:after {
  content: 'Hide';
}

.filter-top-links {
  display: none;
}

.empty-facet-groups.filter {
  height: auto;
}

.empty-facet-groups.filter .filter-toggle {
  display: none;
}

@media screen and (min-width: 1175px){
  .vertical-columns.filter, .vertical-columns .filter {
    height: auto;
    min-height: 2em;
  }

  .vertical-columns .filter-list-filters {
    display: flex;
  }

  .vertical-columns .filter-list-filters > .filter {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }

  .vertical-columns .filter-by-text {
    display: none;
  }

  .vertical-columns .filter-toggle {
    display: none;
  }

  .vertical-columns #filter-callout-by-month .filter-list-area .filter-list-checkbox-wrapper {
    flex: 0 1 auto;
    width: 50%;
  }

  .vertical-columns #filter-callout-type {
    flex: 0 0 100px;
  }

  .vertical-columns #filter-callout-location {
    flex: 0 0 200px;
  }

  .vertical-columns .clear-filter-link {
    display: none;
  }

  .vertical-columns {
    padding: 6px;
    background-color: #eee;
    border-radius: 5px;
  }

  .filter-top-links {
    display: block;
    overflow: hidden;
    padding-bottom: 1em;
  }

  .filter-top-links ~ .filter-list-filters .filter {
    margin-top: 0;
  }

  .filter-top-links a {
    float: left;
    position: relative;
  }

  .filter-top-links a ~ a {
    padding-left: 15px;
  }

  .filter-top-links a ~ a:before {
    content: '';
    background-color: #666;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: 0;
    height: 4px;
    width: 4px;
    border-radius: 50%;
    left: 5px;
  }

  .vertical-columns .checkedActiveBold {
    font-weight: 700;
  }
}
