/* Card Grid Styles */
.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-sm-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-md-3 > * {
  flex: 0 0 auto;
  width: 33.333333%;
}

.g-4 {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.g-4 > * {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.h-100 {
  height: 100% !important;
}

/* Equal height cards */
.school-card .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.school-card .card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.school-card .card_text {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.school-card .btn {
  margin-top: auto;
}

/* List view adjustments */
.school-card.col-12 .card {
  flex-direction: row;
}

.school-card.col-12 .card_img {
  width: 30%;
}

.school-card.col-12 .card_text {
  width: 70%;
}

@media (max-width: 767.98px) {
  .school-card.col-12 .card {
    flex-direction: column;
  }
  
  .school-card.col-12 .card_img,
  .school-card.col-12 .card_text {
    width: 100%;
  }
}