.masonry-cards {
  --col-count: 12;
  --col-span\@sm: 12;
  --col-span\@md: 6;
  --col-span\@lg: 4;
  --col-span\@xl: 4;
  --masonry-card-alignment: center;
  --masonry-card-height: 280px;
}

.masonry-card {
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow, 'none');
  display: flex;
  flex-flow: column;
  justify-content: var(--masonry-card-alignment);
  height: var(--masonry-card-height);
  padding: var(--card-padding, 1.5rem);
  position: relative;
}

.masonry-card--revealer {
  transition: z-index 0s 0.3s; /* Smooth scaling transition, delay z-index transition */
}

.masonry-card--revealer:hover {
  transform: z-index 0s; /* Smooth scaling transition, no delay for z-index transition on hover */
  /* z-index: 1; */
}

.masonry-card:hover,
.masonry-card:focus-within {
  box-shadow: var(--card-interaction-shadow);
  transform: var(--card-interaction-move);
  transition: all .2s ease;
}

.masonry-card a {
  color: inherit;
  font-weight: inherit;
}

.masonry-card .bg {
  border-radius: inherit;
  transition: .1s scale ease-in-out;
}

.masonry-card--revealer:hover .bg {
  scale: 1.15;
  transition: .25s .1s scale ease-in-out;
  z-index: 1;
}

/* heights */

.masonry-card--sm {
  --masonry-card-height: 200px;
  font-size: .9rem;
}

.masonry-card--md {
  --masonry-card-height: 280px;
  font-size: 1rem;
}

.masonry-card--lg {
  --masonry-card-height: 370px;
  font-size: 1.1rem;
}

.masonry-card--xl {
  --masonry-card-height: 450px;
  font-size: 1.25rem;
}

/* elements */

.masonry-card__link {
  border-radius: inherit;
  color: inherit;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .1s scale ease-in-out;
  width: 100%;
}

.masonry-card--revealer:hover .masonry-card__link {
  scale: 1.15;
  transition: .25s .1s scale ease-in-out;
  z-index: 1;
}

/* .masonry-card__link:hover,
.masonry-card__link:focus {
  opacity: 1;
} */

.masonry-card__content {
  display: grid;
  position: relative;
  width: 100%;
}

.masonry-card--revealer:hover .masonry-card__content {
  z-index: 1;
}

.masonry-card--revealer .masonry-card__content {
  grid-template-rows: auto 0fr;
  transition: grid-template-rows .2s ease-in-out;
}

.masonry-card--revealer:hover .masonry-card__content,
.masonry-card--revealer:focus-within .masonry-card__content {
  grid-template-rows: auto 1fr;
}

.masonry-card__body {
  overflow: hidden;
}

.masonry-card--revealer .masonry-card__body {
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.masonry-card--revealer:hover .masonry-card__body,
.masonry-card--revealer:focus-within .masonry-card__body {
  opacity: 1;
}

.masonry-card__explainer {
  font-size: .8em;
  opacity: .8;
  margin-top: 1rem;
}

.masonry-card__explainer p:first-child,
.masonry-card__explainer p:last-child {
  margin: 0;
}

.masonry-card__button {
  margin-top: 1rem;
}

/* .masonry-cards--bottom .masonry-card__content {
  bottom: 0;
  left: 0;
}

.masonry-cards--middle .masonry-card__content {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
} */

.masonry-card__sub-title {
  display: block;
  font-size: .9em;
  opacity: .8;
}

.masonry-card__title {
  display: block;
  font-size: 1.5em;
  line-height: 1;
}
