.event-listing {
}
.event-listing .cards-wrapper {
  display:flex;
  flex-direction: row;
  flex-wrap:wrap;
  align-items:stretch;
  gap:30px;
}
.event-listing .cards-wrapper.list-view {
  flex-direction: column;
  align-items:flex-start;
  gap:30px;
}
.event-listing .card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
}
.event-listing .list-view .card {
  display:flex;
  flex-direction:row;
  overflow:hidden;
  position:relative;
}
.event-listing .card .type {
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 12px;
  border-radius:4px;
  line-height:1;
  font-size:.8rem;
  backdrop-filter: blur(2px);
  margin:0px;
}
.event-listing .list-view .card .type {
  display:inline-block;
  position:relative;
  top:0px;
  left:0px;
  margin-bottom:5px;
}
.event-listing .image_link {
  display: -webkit-inline-box;
}

.event-listing img {
  display:block;
  width:100%;
}
.event-listing .list-view img {
  display:block;
  width:320px;
  max-width:320px;
  min-height:240px;
}
.event-listing img.default_img {
  filter: grayscale(1);
}
.event-listing .card-content {
  padding:20px;
  height:100%;
}
.event-listing .list-view .card-content {
  width:100%;
  max-width:800px;
}

.event-listing h3.title {
  margin-bottom:5px;
}
.event-listing p.description {
  margin-bottom:0px;
}
.event-listing .card a,
.event-listing .card a:hover {
  text-decoration:none;
}
.event-listing .card a.btn {
  margin:0 20px 20px;
  text-decoration:none;
  display:inline-table!important;
}
.event-listing .card a.btn:hover {
}
.event-listing .list-view .card a.btn {
  margin:20px;
  height: fit-content;
  width:300px;
}

.filter-wrapper {
  margin-bottom: 20px;
}

.filters-container {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.event-name-filter,
.event-type-filter {
  padding: 8px 12px!important;
  border: 1px solid rgba(0,0,0,.2)!important;
  border-radius: 4px!important;
  font-size: 16px!important;
  min-width: 200px;
  max-width: 240px;
  cursor: pointer;
  -webkit-appearance: none!important;
}

.event-name-filter {
  flex: 1;
  min-width: 250px;
  cursor: text;
}

.event-name-filter:focus,
.event-type-filter:focus {
  outline: none;
  border-color: #666;
}

.no-results-message {
  text-align: center;
  padding: 40px 20px;
  font-size: 18px;
  color: #666;
  background-color: #f5f5f5;
  border-radius: 4px;
  margin-top: 20px;
}

@media (max-width: 720px) {
  .event-listing .list-view .card {
    flex-direction:column;
  }
  .event-listing .list-view img {
    width:100%;
    max-width:100%;
}

@media (max-width: 576px) {
  .filters-container {
    flex-direction:column-reverse;
  }
  .event-name-filter,
  .event-type-filter {
    min-width: 100%;
    max-width: 100%;
  }
}