Files
neuf-www/web/src/components/events/eventItem.module.scss

183 lines
2.8 KiB
SCSS

.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);
}