.olcards,
.olcards * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.olcards {
  list-style: none;
  counter-reset: cardCount;
  display: flex;
  flex-direction: column;
  --cardsGap: 0.1rem;
  gap: var(--cardsGap);
  padding-bottom: var(--cardsGap);
}
.olcards li {
  counter-increment: cardCount;
  display: flex;
  color: white;
  --labelOffset: 1rem;
  --arrowClipSize: 1.5rem;
  margin-top: var(--labelOffset);
}

.olcards li::before {
  background: white;
  color: var(--cardColor);
  font-size: 2em;
  width: 60px;
  font-weight: 700;
  transform: translateY(calc(-1 * var(--labelOffset)));
  margin-right: calc(-1 * var(--labelOffset));
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: 0.5em;
}

.olcards li .content {
  background-color: var(--cardColor);
  --inlinePadding: 1em;
  --boxPadding: 0.5em;
  width: 100%;
  padding: var(--boxPadding) calc(var(--inlinePadding) + var(--arrowClipSize))
    var(--boxPadding) calc(var(--inlinePadding) + var(--labelOffset));
  grid-template-areas:
    "icon title"
    "icon text";
  clip-path: polygon(
    0 0,
    calc(100% - var(--arrowClipSize)) 0,
    100% 50%,
    calc(100% - var(--arrowClipSize)) 100%,
    calc(100% - var(--arrowClipSize)) calc(100% + var(--cardsGap)),
    0 calc(100% + var(--cardsGap))
  );
  position: relative;
}
.olcards li .content::before {
  content: "";
  position: absolute;
  width: var(--labelOffset);
  height: var(--labelOffset);
  background: var(--cardColor);
  left: 0;
  bottom: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  filter: brightness(0.75);
}
.olcards li .content::after {
  content: "";
  position: absolute;
  height: var(--cardsGap);
  width: var(--cardsGap);
  background: linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent 50%);
  left: 0;
  top: 100%;
}
.olcards li .icon {
  grid-area: icon;
  align-self: center;
}
.olcards li .content .title {
  grid-area: title;
  margin-top: 4px;
  font-size: 1rem;
  font-family: none;
}
.olcards li .content .text {
  grid-area: text;
}

/* ICONS */

.olcards .smile::before {
  content: "\f118";
  font-family: "Font Awesome 5 Free";
}

.olcards .smile::before {
  content: "\f118";
  font-family: "Font Awesome 5 Free";
}

.olcards .atom::before {
  content: "\f5d2";
  font-family: "Font Awesome 5 Free";
}

.olcards .strong::before {
  content: "\f6de";
  font-family: "Font Awesome 5 Free";
}

.olcards .glasses::before {
  content: "\f530";
  font-family: "Font Awesome 5 Free";
}

.olcards .paint::before {
  content: "\f1fc";
  font-family: "Font Awesome 5 Free";
}

.olcards .people::before {
  content: "\f500";
  font-family: "Font Awesome 5 Free";
}

.olcards .baby::before {
  content: "\f77c";
  font-family: "Font Awesome 5 Free";
}

/* ICONS END */

.olcards .skating::before {
  content: "\f7c5";
  font-family: "Font Awesome 5 Free";
}
