/*==============================*/
/*=====----- TEMPLATE -----=====*/
/*==============================*/

.events-marquee {
    display: grid;
    grid-template: auto auto / 1fr 1fr;
    gap: 16px 23px;
    padding: 0 28px;
    margin-bottom: 36px;
}

.events-marquee .widget-header {
    grid-column: span 2;
    margin-bottom: 44px;
}

.events-marquee .widget-header-inner {
    padding: 28px 30px 36px;
    background: var(--gray-dark);
    color: var(--white);
}

.events-marquee .widget-title {
    margin: 0 0 14px 0;
    font-family: var(--helvetica-bold);
    font-weight: normal;
    font-size: 24px;
    line-height: calc(13/12);
}

.events-marquee .widget-title::after {
    display: block;
    width: 31px;
    height: 4px;
    margin-top: 16px;
    background: var(--peach-alt-2);
    content: '';
}

.events-marquee .widget-desc {
    margin-bottom: 26px;
    font-size: 16px;
    line-height: calc(13/8);
}

.events-marquee .view-all {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: normal;
    color: var(--peach-alt-2);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/*============================*/
/*=====----- SLIDES -----=====*/
/*============================*/

.events-marquee .slide,
.events-marquee .slide .img-cont {
    position: relative;
}

.events-marquee .slide {
    color: var(--gray);
}

.events-marquee .slide .img-cont {
    margin-bottom: 16px;
}

.events-marquee .slide-img {
    width: 100%;
}

.events-marquee .slide-date {
    display: block;
    margin-bottom: 2px;
    font-family: var(--pitch);
    font-weight: normal;
    font-size: 14px;
    line-height: calc(8/7);
    color: var(--gray-light);
    text-transform: uppercase;
}

.events-marquee .slide-title {
    font-family: var(--helvetica-bold);
    font-weight: normal;
    font-size: 16px;
    line-height: 1.25;
}

.events-marquee .slide-desc {
    display: none;
    font-size: 16px;
    line-height: 1.25;
}

.events-marquee .line-btn {
    padding: 8px 46px 8px 0;
}

.events-marquee .line-btn a {
    font-size: 14px;
}

/*===================================*/
/*=====----- MEDIA QUERIES -----=====*/
/*===================================*/

@media (min-width: 40em) {
    .events-marquee {
        gap: 40px 23px;
    }

    .events-marquee .widget-header {
        grid-column: span 1;
        margin: 0;
    }

    .events-marquee .widget-title {
        margin-bottom: 25px;
        font-size: 30px;
    }

    .events-marquee .widget-desc {
        margin-bottom: 22px;
        font-size: 18px;
        line-height: 1.333;
    }

    .events-marquee .view-all {
        font-size: 18px;
    }

    .events-marquee .slide.first {
        order: 1;
        grid-column: span 2;
    }

    .events-marquee .slide .img-cont {
        margin-bottom: 20px;
    }

    .events-marquee .slide.first .img-cont {
        margin-bottom: 25px;
    }

    .events-marquee .slide-date {
        margin-bottom: 5px;
        font-size: 16px;
    }

    .events-marquee .slide.first .slide-date {
        font-size: 20px;
    }

    .events-marquee .slide-title {
        font-size: 20px;
    }

    .events-marquee .slide.first .slide-title {
        margin-bottom: 17px;
        font-size: 30px;
    }

    .events-marquee .slide-desc {
        display: block;
    }

    .events-marquee .line-btn {
        padding: 12px 46px 12px 0;
    }

    .events-marquee .slide.first .line-btn a {
        font-size: 20px;
    }
}

@media (min-width: 64em) {
    .events-marquee {
        grid-template: auto auto / 1fr 26% 26%;
        gap: 0;
        padding-right: 0;
        margin-bottom: 86px;
    }

    .events-marquee > * {
        padding: 0 26px;
        border-left: 2px solid var(--gray-border-2);
    }

    .events-marquee > *:last-child {
        border-right: none;
    }

    .events-marquee .widget-header {
        padding: 0 26px 38px;
    }

    .events-marquee .slide.first {
        order: -1;
        grid-row: span 2;
        grid-column: span 1;
        padding-left: 0;
        border-left: none;
    }

    .events-marquee.no-title .slide.first + .slide {
        padding-bottom: 38px;
    }

    .events-marquee .slide-footer {
        margin-top: 6px;
    }
}