/* Subcontractor directory grid */
.subdir-page__directories {
  background-color: #ffffff;
}

.subdir-page__directory-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

.subdir-page__directory-card {
  background-color: #ffffff;
  outline: 2px solid #000000;
  height: 37rem;
  display: grid;
  place-items: center;
  grid-template-rows: 4fr 1fr;
}

.subdir-page__directory-name {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

.subdir-page__directory-cta {
  font-size: 1rem;
  line-height: 1.5;
}

.subdir-page__directory-cta a {
  font: inherit;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.subdir-page__directory-cta a:visited {
  color: inherit;
}

.subdir-page__directory-cta a:hover,
.subdir-page__directory-cta a:focus {
  text-decoration: underline;
}

.subdir-page .subdir-page__directory-logo {
  display: block;
  margin-bottom: 0.75rem;
  max-width: 10rem;
}

.subdir-page .subdir-page__directory-logo-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.subdir-page__directory-card picture img {
  width: 100%;
}

.top {
  padding: 1.5rem 1.5rem;
}

.bottom {
  background: #f1f1f1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 1rem;
  padding: 0 1rem;
  width: 100%;
  height: 9rem;
}

.subdir-page__directory-name {
  justify-self: start;
}

.subdir-page__directory-cta {
  justify-self: end;
}

.subdir-page__directory-cta img {
  display: block;
  max-width: 40px;
  height: auto;
}

@media (min-width: 768px) {
  .subdir-page__directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bottom {
    height: 10rem;
  }
}

@media (min-width: 1024px) {
  .subdir-page__directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
