.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* Adjust based on your layout preference */
  margin: -10px; /* Adjust based on the desired gap between columns */
}

.flex-item {
  flex: 1 1 calc(25% - 20px); /* Adjust based on the desired width and gap */
  margin: 10px; /* Adjust based on the desired gap between columns */
  box-sizing: border-box; /* Ensure padding and border are included in the element's total width and height */
  display: flex;
  flex-direction: column;
}

.card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.card img {
  object-fit: cover; /* Ensures images cover the space without distortion */
}

.card-body h4 {
  margin: 5px 0; /* Ensures consistent spacing above and below titles */
}

.card-body p {
  flex-grow: 1; /* Allows the paragraph to take up remaining space */
}

.card-body p:last-child {
  margin-bottom: 0; /* Removes bottom margin from the last paragraph */
}
