.top-image-callouts {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 30px 0;
  max-width: 100%;
}

@media (max-width: 767px) {
  .top-image-callouts {
    padding: 20px 0;
  }
}

.top-image-callouts-wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: stretch;
  align-items: stretch;
  align-content: stretch;
  flex-wrap: wrap;
  margin: 0 -16px;
}

.top-image-callouts-wrapper .top-image-callout {
  position: relative;
  display: block;
  padding: 8px;
  width: 25%;
}

.top-image-callouts .top-image-callout .inner-top-image-callout {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  background: #fff;
  border-radius: 10px;
  height: 100%;
  text-align: center;
}
.top-image-callouts .top-image-callout .top-image-wrap {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: stretch;
  align-items: stretch;
  align-content: stretch;
  flex: 0 0 30%;
  width: 100%;
  padding: 20px 20px 0;
}
.top-image-callouts.cover-image .top-image-callout .top-image-wrap {
  padding: 0;
}
.top-image-callouts .top-image-callout .top-image-wrap img {
  position: relative;
  display: block;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
  aspect-ratio: 1.6;
}
.top-image-callouts.cover-image .top-image-callout .top-image-wrap img {
  object-fit: cover;
  object-position: center center;
}
.top-image-callouts .top-image-callout .bottom-content-wrap {
  position: relative;
  display: block;
  padding: 35px 20px 20px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .top-image-callouts .top-image-callout .bottom-content-wrap {
    padding: 30px 10px 10px;
  }
}

@media (max-width: 767px) {
  .top-image-callouts.cover-image .top-image-callout {
    width: 320px !important;
  }
}

@media (min-width: 768px) {
  .top-image-callouts .top-image-callout .inner-top-image-callout {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
  }

  .top-image-callouts .top-image-callout .top-image-wrap {
    height: 100%;
  }

  .top-image-callouts .top-image-callout .bottom-content-wrap {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
    height: 100%;

    & .top-image-learn-more {
      &, &:focus {
        margin-top: auto;
      }
    }
  }
}

.top-image-callouts .top-image-callout .inner-top-image-callout .top-image-callout-title {
  display: block;
  margin-bottom: 32px;
  line-height: 1.2;
  color: var(--secondary-color);
}

.top-image-callouts .top-image-callout .inner-top-image-callout .top-image-learn-more,
.top-image-callouts .top-image-callout .inner-top-image-callout .top-image-learn-more:focus {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: var(--Gray---90);
  transition: var(--button-easing);
  font-size: 0.9rem;
  padding: 12px 10px 13px;
  background: transparent;
  border-radius: var(--button-border-radius);
  line-height: 1.2;
}
.top-image-callouts .top-image-callout .inner-top-image-callout .top-image-learn-more:after {
  position: relative;
  display: inline-block;
  content: "\f105";
  font: normal normal normal 14px/1 var(--font-awesome);
  font-size: 0.8em;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  text-align: center;
  color: inherit;
  padding: 0 0 0 9px;
  font-weight: 600;
}

.top-image-callouts .top-image-callout .inner-top-image-callout:hover:after,
.top-image-callouts .top-image-callout .inner-top-image-callout:active:after {
  opacity: 0;
}

.top-image-callouts .top-image-callout .inner-top-image-callout:hover .top-image-learn-more,
.top-image-callouts .top-image-callout .inner-top-image-callout:active .top-image-learn-more {
  color: var(--Gray---90);
  background: var(--Light-Blue---20);
}
