.tbo-filter-menu,
.tbo-listing-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.tbo-filter-menu {
  justify-content: center;
  padding: 1%;
}

.tbo-filter-menu-item {
  margin: 0 15px;
  position: relative;
}

.tbo-filter-menu-item:after {
  background: none repeat scroll 0 0 transparent;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  background: #f08602;
  transition: width .3s ease 0s,left .3s ease 0s;
  width: 0;
}

.tbo-filter-menu-item:hover:after, 
.tbo-filter-menu-item.active:after {
  width: 100%;
  left: 0;
}

.tbo-item {
  height: 0;
  margin: 1%;
  overflow: hidden;
  position: relative;
  padding-bottom: 31%;
  width: 31%;
}

.tbo-image {
  overflow: hidden;
}

.tbo-image img {
  width: 100%;
  transition: all .3s ease-in-out;
}

.tbo-item:hover .tbo-image img {
  transform: scale(1.1);
}

.tbo-details {
  background-color: rgba(26, 61, 109, 0.75);
  bottom: 0;
  padding: 5%;
  position: absolute;
  width: 100%;
}

.tbo-location-and-link {
  display: flex;
  justify-content: space-between;
}

.tbo-name,
.tbo-location,
.tbo-read-more-link {
  color: #fff;
  margin: 0;
}

.tbo-name {
  margin-bottom: .25em;
}

.tbo-read-more-link {
  margin-bottom: 0;
}

@media (max-width: 1024px) and (orientation: portrait) {
  .tbo-item {
    padding-bottom: 48%;
    width: 48%;
  }
}

@media (max-width: 767px) and (orientation: portrait) {
  .tbo-item {
    padding-bottom: 98%;
    width: 98%;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .tbo-item {
    padding-bottom: 48%;
    width: 48%;
  }
}