/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

    This file contains rules for
    PUFFS
    that implement the UU design system specifically for Sitevision

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* Remove margin top from all puffs following another puff of same type */

.puff-call-to-action + .puff-call-to-action,
.puff-image + .puff-image {
    margin-top: -1.2em;
}

@media (min-width: 1200px) {
    .puff-call-to-action + .puff-call-to-action,
    .puff-image + .puff-image {
        margin-top: -1em;
    }
}

@media (min-width: 1400px) {
    .puff-call-to-action + .puff-call-to-action,
    .puff-image + .puff-image {
        margin-top: -0.95em;
    }
}

/* But don't remove margin top from puffs in a puff row. 
   Puffs in a puff row should have reduced margin bottom. */

.row-puff-call-to-action .puff-call-to-action,
.row-puff-image .puff-image {
    margin-bottom: -1.2em;
    margin-top: 0;
}
   
@media (min-width: 1200px) {
    .row-puff-call-to-action .puff-call-to-action,
    .row-puff-image .puff-image {
        margin-bottom: -1em;
    }
}

@media (min-width: 1400px) {
    .row-puff-call-to-action .puff-call-to-action,
    .row-puff-image .puff-image {
        margin-bottom: -0.95em;
    }
}

/* Add margin top to first element after a row of puffs */

.row-puff-call-to-action + *:not(.row-puff-call-to-action),
.row-puff-image + *:not(.row-puff-image) {
    margin-top: 1.2em;
}

@media (min-width: 1200px) {
    .row-puff-call-to-action + *:not(.row-puff-call-to-action),
    .row-puff-image + *:not(.row-puff-image) {
        margin-top: 1em;
    }
}

@media (min-width: 1400px) {
    .row-puff-call-to-action + *:not(.row-puff-call-to-action),
    .row-puff-image + *:not(.row-puff-image) {
        margin-top: 0.95em;
    }
}

/* Also add margin top to a puff row if the number of puffs doesn't match 
   the number of puffs of previous row */

.puff-2 + *:not(.puff-2),
.puff-3 + *:not(.puff-3),
.puff-4 + *:not(.puff-4) {
    margin-top: 1.2em;
}

@media (min-width: 1200px) {
    .puff-2 + *:not(.puff-2),
    .puff-3 + *:not(.puff-3),
    .puff-4 + *:not(.puff-4) {
        margin-top: 1em;
    }
}

@media (min-width: 1400px) {
    .puff-2 + *:not(.puff-2),
    .puff-3 + *:not(.puff-3),
    .puff-4 + *:not(.puff-4) {
        margin-top: 0.95em;
    }
}

.puff-event {
    align-items: center;
    box-shadow: none;
    cursor: pointer;
    display: flex;
    position: relative;
    transition: box-shadow 0.5s ease;
}

.puff-event .event-date {
    background-color: var(--color-grey-light);
    height: 7.5rem;
    justify-content: center;
    margin-right: 1.5rem;
    width: 9.5rem;
}

.puff-event:hover {
    background-color: var(--color-grey-light);
    box-shadow: var(--box-shadow);
    transition: box-shadow 0.5s ease;
}

.puff-event:hover a {
    background-color: var(--color-grey-light);
}

.puff-event .event-day {
    font-size: 3rem;
    line-height: 1;
}

.puff-event .event-month {
    font-size: 1.3rem;
}

.puff-event .event-info {
    margin-right: var(--space-medium);
    overflow-wrap: anywhere;
    width: 100%;
}

.puff-event .event-title {
    font-size: 1.2rem;
    text-decoration: none;
}