.events-calendar .event-item--date,
.events-calendar .event-item--heading,
.events-calendar .h3,
.events-calendar [datetime],
.events-calendar li.event,
.events-calendar ul
{
    margin:0
}
.events-calendar li.event
{
    list-style-type:none
}
.events-calendar .event-item--day,
.events-calendar .event-item--month,
.events-calendar .event-item--tbc
{
    font-family:var(--header-font-stack);
    font-weight:var(--header-font-weight);
    font-style:var(--header-font-style);
    letter-spacing:var(--heading-spacing);
    text-transform:var(--heading-font-case)
}
.events-calendar .event-item--month,
.events-calendar .event-item--tbc
{
    line-height:normal
}
.events-calendar .event-item--date,
.events-calendar .event-item--date [datetime],
.events-calendar .event-item--details,
.events-calendar .events-calendar--inner,
.events-calendar [class^=events-layout--]
{
    display:flex;
    flex-direction:column
}
@media only screen and (min-width:768px)
{
    .events-calendar .events-layout--grid
    {
        flex-direction:row;
        flex-wrap:wrap
    }
}
.events-calendar .event-item--date,
.events-calendar .event-item--date [datetime]
{
    align-items:center;
    justify-content:center
}
.events-calendar .event-item--date [datetime] span,
.events-calendar .event-item--date span
{
    display:block
}
.events-layout--grid
{
    column-gap:calc(var(--grid-spacing) * .75);
    row-gap:15px
}
@media only screen and (min-width:768px)
{
    .events-layout--grid{column-gap:var(--grid-spacing);
        row-gap:30px
    }
    .events-layout--grid.events-cols--2
    {
        margin-right:calc(-1 * var(--grid-spacing))
    }
    .events-layout--grid.events-cols--2 .event
    {
        flex:0 1 calc(50% - var(--grid-spacing))
    }
    .events-layout--grid.events-cols--2.event-card--expand
    {
        margin-right:0
    }
    .events-layout--grid.events-cols--2.event-card--expand .event
    {
        flex-grow:1
    }
    .events-layout--grid.events-cols--3
    {
        margin-right:calc(-1 * var(--grid-spacing))
    }
    .events-layout--grid.events-cols--3 .event
    {
        flex:0 1 calc(33.33% - var(--grid-spacing))
    }
    .events-layout--grid.events-cols--3.event-card--expand
    {
        margin-right:0
    }
    .events-layout--grid.events-cols--3.event-card--expand .event
    {
        flex-grow:1
    }
    .events-layout--grid.events-cols--4
    {
        margin-right:calc(-1 * var(--grid-spacing))
    }
    .events-layout--grid.events-cols--4 .event
    {
        flex:0 1 calc(25% - var(--grid-spacing))
    }
    .events-layout--grid.events-cols--4.event-card--expand
    {
        margin-right:0
    }
    .events-layout--grid.events-cols--4.event-card--expand .event
    {
        flex-grow:1
    }
    .events-layout--grid.events-cols--5
    {
        margin-right:calc(-1 * var(--grid-spacing))
    }
    .events-layout--grid.events-cols--5 .event
    {
        flex:0 1 calc(20% - var(--grid-spacing))
    }
    .events-layout--grid.events-cols--5.event-card--expand
    {
        margin-right:0
    }
    .events-layout--grid.events-cols--5.event-card--expand .event
    {
        flex-grow:1
    }
    .events-layout--grid.events-cols--6
    {
        margin-right:calc(-1 * var(--grid-spacing))
    }
    .events-layout--grid.events-cols--6 .event
    {
        flex:0 1 calc(16.66% - var(--grid-spacing))
    }
    .events-layout--grid.events-cols--6.event-card--expand
    {
        margin-right:0
    }
    .events-layout--grid.events-cols--6.event-card--expand .event
    {
        flex-grow:1
    }
}
.events-layout--grid .event-item
{
    width:100%;
    display:flex;
    flex-direction:column
}
.events-layout--grid .event-item,
.events-layout--grid .event-item--details
{
    row-gap:10px
}
.events-layout--grid .event-image-aspect-ratio--tall img,
.events-layout--grid .event-image-aspect-ratio--tall svg
{
    aspect-ratio:2/3
}
.events-layout--grid .event-image-aspect-ratio--wide img,
.events-layout--grid .event-image-aspect-ratio--wide svg
{
    aspect-ratio:4/3
}
.events-layout--grid .event-image-aspect-ratio--square img,
.events-layout--grid .event-image-aspect-ratio--square svg
{
    aspect-ratio:1/1
}
.events-layout--grid .event-image-aspect-ratio--natural img,
.events-layout--grid .event-image-aspect-ratio--natural svg
{
    aspect-ratio:auto
}
.events-layout--grid .event-item--img-wrapper
{
    position:relative
}
.events-layout--grid .event-item--img-wrapper .event-item--date
{
    position:absolute;
    top:15px;
    left:15px;
    padding:8px
}
@media screen and (min-width:768px)
{
    .events-calendar.content-align--left .events-layout--grid
    {
        justify-content:flex-start
    }
    .events-calendar.content-align--center .events-layout--grid
    {
        justify-content:center
    }
    .events-calendar.content-align--right .events-layout--grid
    {
        justify-content:flex-end
    }
}
.events-layout--list .event
{
    padding:15px 0
}
.events-layout--list .event:first-of-type
{
    padding-top:0;
    padding-bottom:15px
}
.events-layout--list .event:last-of-type
{
    padding-top:15px;
    padding-bottom:0
}
.events-layout--list .event-inner,
.events-layout--list .event-item
{
    display:flex;
    column-gap:calc(10px * 2);
    row-gap:10px
}
@media only screen and (min-width:768px)
{
    .events-layout--list .event-inner,
    .events-layout--list .event-item
    {
        column-gap:calc(10px * 4)
    }
}
.events-layout--list .event-inner
{
    flex-direction:column
}
@media only screen and (min-width:768px)
{
    .events-layout--list .event-inner
    {
        flex-direction:row
    }
}
.events-layout--list .event-item
{
    flex:3 1 0
}
.events-layout--list .event-item--details
{
    flex:1 1 0;
    justify-content:center;
    row-gap:10px
}
.events-layout--list .event-cta
{
    display:flex;
    justify-content:flex-end;
    align-items:center
}
@media only screen and (min-width:768px)
{
    .events-layout--list .event-cta
    {
        max-width:30%
    }
}
.events-layout--list .event-cta a
{
    text-align:center
}
@media only screen and (max-width:767px)
{
    .events-layout--list .event-cta a
    {
        text-align:right
    }
}
.events-layout--list .event+.event
{
    border-top:1px solid
}
.color-scheme--white .events-layout--list .event
{
    border-color:var(--border-color)
}
.color-scheme--light .events-layout--list .event
{
    border-color:var(--color-scheme-light-text-transparent25)
}
.color-scheme--accent .events-layout--list .event
{
    border-color:var(--color-scheme-feature-text-transparent25)
}
.color-scheme--dark .events-layout--list .event
{
    border-color:var(--color-scheme-dark-text-transparent25)
}