


.filter-search {
  display: flex;
}

.filter-search input {
  flex-grow: 1;
}

.filter-search svg {
  vertical-align: middle;
  color: var(--secondary);
}

#item_list_header {
  display: flex;
  align-items: center;
  margin-bottom: 2em;
}

#item_sort {
  margin-left: auto;
}

#item_search {
  width: 100%;
  max-width: 260px;
}

#item_filter .form-group {
  display: flex;
  max-width: 400px;
  margin-bottom: 0;
}

#item_filter .form-group a {
  margin: auto 0.3em;
  padding: 0 0.3em;
  cursor: pointer;
}

#filter_search {
  position: relative;
  display: flex;
  flex-basis: auto;
  flex-grow: 1;
  padding: 0 0 0 1em;
}

#item_list li {
  display: flex;
  margin: 0 0 3em;
}

body[searching] #item_list li {
  display: none;
}

.item-list-left {
  padding-right: 1.5em;
}

.item-list-left [datestamp]:before {
  text-align: center;
  font-weight: bold;
  background: var(--light-blue);
  color: #fff;
}

.item-list-left a {
  display: block;
  padding: 0.35em;
  box-shadow: 0 1px 2px 0px rgba(0,0,0,0.25);
}

.item-list-left img {
  width: 20vw;
  max-width: 300px;
}

.item-list-center dt {
  font-size: 135%;
}

.item-list-center dd {
  margin-bottom: 0.75em;
  font-size: 92.5%;
}

.item-location {
  font-weight: bold;
}

@media (max-width: 530px){
  #item_list li {
    flex-wrap: wrap;
  }

  .item-list-left {
    margin-bottom: 1.5em;
  }

  .item-list-left [datestamp]:before {
    position: absolute;
    padding: 0.2em 0.6em;
  }

  .item-list-left img {
    width: 100vw;
    max-width: 100%;
  }
}