.grid-image {
  position: relative;
}
.grid-image img {
  width: 100%;
  height: auto;
}
.grid-image .image-caption {
  font-size: 0.875rem;
  padding-top: 10px;
}
.grid-image .img-overlay:before {
  border-radius: 20px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #E6EDE4 10%, rgba(230, 237, 228, 0) 40%);
  margin-left: -5px;
  pointer-events: none; /* Ensures the overlay doesn't interfere with any interactivity */
}
.grid-image .image-overlay {
  position: absolute;
  padding: 15px 20px 15px 15px;
  left: 5%; /* Aligns the element to the left of the parent */
  top: 50%; /* Moves the element to 50% from the top of the parent */
  transform: translateY(-50%); /* Centers the element vertically */
  width: 50%;
  background: linear-gradient(360deg, #76B655 0%, #81E24E 100%);
  box-shadow: 4px 4px 0px 0px #005131;
  font-family: "MagistralWebBook", serif;
  font-weight: 600;
  color: #000000;
}
.grid-image .image-overlay .big-text {
  font-size: 3rem;
  line-height: 3.2rem;
  padding-bottom: 5px;
}
@media (max-width: 767.98px) {
  .grid-image .image-overlay .big-text {
    font-size: 2.7rem;
    line-height: 3rem;
  }
}
@media (max-width: 575.98px) {
  .grid-image .image-overlay .big-text {
    font-size: 2.313rem;
    line-height: 2.4rem;
  }
}
.grid-image .image-overlay p {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.7rem;
}
@media (max-width: 767.98px) {
  .grid-image .image-overlay p {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 575.98px) {
  .grid-image .image-overlay p {
    font-size: 0.875rem;
    line-height: 1rem;
  }
}