.image-box .image-box_card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.image-box .image-box_card:before {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.image-box .image-box_card .image-box_card-image {
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: cover;
  display: block;
  aspect-ratio: 16/9;
  max-height: 260px;
}

@media (max-width: 767px) {
  .image-box .image-box_card .image-box_card-image {
/*     min-height: 400px; */
    aspect-ratio: .5;
  }
}

.image-box .image-box_card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

/* Text Content */
.image-box .image-box_card .image-box_card-overlay {
  padding: 1.6rem;
  padding-top: .45rem;
  z-index: 2;
  position: relative;
  margin-top: auto;
}

@media (min-width: 768px) {
  .image-box .image-box_card .image-box_card-overlay {

  }
}

.image-box .image-box_card .image-box_description p {
  line-height: 1.4;
}

.image-box .image-box_card-link-wrapper {
  transition: transform .4s ease; 
}

.image-box .image-box_card-link-wrapper:hover {
  transform: translateY(-.25rem);
}

.image-box .image-box_card-link-wrapper:hover {
  opacity: 1 !important; 
}

.image-box_card-overlay:before {
   position: absolute;
   top: 0;
   transform: translateY(-100%);
   content: " ";
   left: 0;
   width: 100%;
   height: 3rem; 
}

.image-box_card-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.95));
}

.image-box_card-overlay:before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}

@media (max-width: 767px) {
  .image-box .image-box_card {
    min-height: unset;
  }
  
  .image-box .image-box_card .image-box_card-overlay {
    position: relative;
    min-height: unset;
    padding-bottom: 1.6rem;
  }
  
  .image-box_description {
    margin-bottom: 0;
  }
}

@supports (-webkit-appearance: none) and (not (appearance: none)) {
  .image-box .image-box_card .image-box_card-overlay {
    position: relative;
    min-height: unset;
  }
  
  @media (min-width: 768px) {
    .image-box .image-box_card .image-box_card-overlay {
      position: absolute; 
      bottom: 0;
      left: 0;
      right: 0;
    }
  }
  
  .image-box .image-box_card .w-full.h-full.b {
    flex: 1;
    min-height: unset;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 1) {
  @supports (-webkit-touch-callout: none) {
    .image-box .image-box_card .image-box_card-overlay {
      position: relative;
      min-height: unset;
    }
    
    @media (min-width: 768px) {
      .image-box .image-box_card .image-box_card-overlay {
        position: absolute;
      }
    }
  }
}

@supports not (aspect-ratio: 1) {
  .image-box .image-box_card .image-box_card-image {
    min-height: unset;
    height: auto;
  }
}