.eventItem { position: relative; list-style: none; display: grid; align-items: flex-start; &.small { .title, .details { font-size: var(--font-size-body); } .text { &:before { display: none; } } } &.medium { --size-image-width: 8rem; grid-template-columns: var(--size-image-width) auto; column-gap: .6rem; align-items: center; width: var(--size-item-width); .image { width: var(--size-image-width); } .dates, .title, .details { font-size: var(--font-size-body); } .day { &:first-letter { text-transform: uppercase; } font-family: var(--font-serif); font-size: var(--font-size-caption); } .title { margin: .2em 0; } .dates { font-size: var(--font-size-caption); } .text { align-self: start; &:before { display: none; } } .time { align-self: start; } .dates { margin: auto 0 0 0; } .details { display: none; } } &.large { align-content: start; margin-bottom: 1rem; .image { order: 1; margin-bottom: var(--spacing-xs); } .text { order: 2; } .time { order: 3; margin-top: var(--spacing-xs); } } &:hover { opacity: 1; .text { &:before { transform: translateX(0); opacity: 1; } } } } .image { width: 100%; padding-top: 60%; position: relative; img { position: absolute; top: 0; width: 100%; height: 100%; object-fit: cover; } } .text { --size-icon: var(--font-size-caption); padding-right: 2rem; position: relative; &:before { content: ""; display: inline-block; vertical-align: middle; width: var(--size-icon); height: var(--size-icon); margin-right: var(--spacing-xs); border-radius: var(--size-icon); background: var(--color-goldenOrange); position: absolute; right: 0; top: calc(var(--font-size-h3)/2.5); transform: translateX(-.5rem); opacity: 0; transition: transform .4s ease, opacity .2s ease;; } } .title { font-size: var(--font-size-h3); } .details { font-size: var(--font-size-lead); } .dates, .details { font-family: var(--font-serif); } .time { position: relative; } .dates { font-size: var(--font-size-body); width: 100%; display: flex; justify-content: flex-start; align-items: center; gap: .2rem; } .datePill, .moreDates { display: inline-block; background: var(--color-goldenBeige); color: var(--color-deepBrick); border-radius: 2rem; padding: 0 .4rem; font-size: var(--font-size-xs); font-family: var(--font-main); font-weight: 500; } .moreDates { color: var(--color-goldenBeige); background: var(--color-deepBrick); }