/*==============================*/
/*=====----- TEMPLATE -----=====*/
/*==============================*/

.marquee-side-by-side {
    margin-bottom: 100px;
    color: var(--gray);
}

.marquee-side-by-side .slides {
    position: relative;
    padding: 0 30px;
}

/*=====----- SUPER TITLE -----=====*/

.marquee-side-by-side .super-title {
    padding: 38px 48px 22px;
    background: url('/includes/public/assets/shared/crystal-salt-lake-scene.svg') no-repeat 3.2vw top / auto 170%;
}

.marquee-side-by-side .super-title {
    font-family: var(--pitch);
    font-weight: normal;
    font-size: 32px;
    line-height: 1;
    text-transform: uppercase;
}

.marquee-side-by-side .super-title .teal,
.marquee-side-by-side .super-title .peach {
    display: block;
}

.marquee-side-by-side .space {
    display: inline-block;
}

.marquee-side-by-side .super-title .teal {
    color: var(--teal-link);
}

.marquee-side-by-side .super-title .peach {
    color: var(--peach-alt-2);
}

/*=====----- WIDGET TITLE -----=====*/

.marquee-side-by-side .widget-header {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 4px;
}

.marquee-side-by-side .widget-title {
    transform: rotate(180deg);
    display: flex;
    align-items: center;
    min-width: 1em;
    font-family: var(--pitch);
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    writing-mode: vertical-lr;
    text-align: right;
    text-transform: uppercase;
}

.marquee-side-by-side .widget-title::after {
    display: block;
    width: 2px;
    height: 32px;
    margin-top: 18px;
    background: var(--peach);
    content: '';
}

/*=====----- VIEW ALL -----=====*/

.marquee-side-by-side .view-all {
    display: block;
    padding: 0 18px;
    background: var(--teal-light-1);
}

.marquee-side-by-side .view-all .line-btn {
    display: block;
    padding: 14px 46px 14px 0;
}

/*============================*/
/*=====----- SLIDES -----=====*/
/*============================*/

.marquee-side-by-side .slide,
.marquee-side-by-side .slide .img-cont {
    position: relative;
    z-index: 1;
}

.marquee-side-by-side .slide {
    display: grid;
    grid-template: auto / 1fr 1fr;
    gap: 16px;
    margin-bottom: 30px;
}

.marquee-side-by-side .slide.first {
    display: block;
    color: var(--white);
}

.marquee-side-by-side .slide.first .img-cont::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background: linear-gradient(to top, rgba(0,0,0,.4), rgba(0,0,0,0));
    pointer-events: none;
    content: '';
}

.marquee-side-by-side .slide-img {
    position: relative;
    z-index: 1;
    width: 100%;
}

.marquee-side-by-side .slide.first .slide-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 20px 20px 0 20px;
}

.marquee-side-by-side .slide.first.no-link .slide-content {
    padding: 20px;
}

.marquee-side-by-side .blog-cat,
.marquee-side-by-side .subtitle {
    display: block;
    font-family: var(--pitch);
    font-weight: normal;
    font-size: 14px;
    color: var(--gray-light);
    text-transform: uppercase;
    line-height: 1.2;
}

.marquee-side-by-side .slide.first .blog-cat,
.marquee-side-by-side .slide.first .subtitle {
    color: var(--white);
    font-size: 18px;
}

.marquee-side-by-side .slide-title {
    margin-bottom: 10px;
    font-family: var(--helvetica-bold);
    font-weight: normal;
    font-size: 16px;
    line-height: 1.25;
}

.marquee-side-by-side .slide.first .slide-title {
    font-size: 24px;
    line-height: calc(13/12);
}

.marquee-side-by-side .read-more {
    padding: 0 46px 0 0;
    font-size: 14px;
}

.marquee-side-by-side .slide.first .read-more {
    font-size: 16px;
}

.marquee-side-by-side .read-more a,
.marquee-side-by-side .read-more .btn-text {
    transform: translateX(40px);
}

/*===================================*/
/*=====----- MEDIA QUERIES -----=====*/
/*===================================*/

@media (min-width: 64em) {
    .marquee-side-by-side .super-title {
        font-size: 60px;
    }

    .marquee-side-by-side .slides {
        display: grid;
        grid-template: auto auto auto / 1fr 1fr;
        gap: 16px;
    }
    
    .marquee-side-by-side .view-all {
        grid-column: 2;
    }

    .marquee-side-by-side .slide {
        margin: 0;
    }

    .marquee-side-by-side .slide.first {
        grid-row: span 4;
    }
    
    .marquee-side-by-side.no-view-all .slide.first {
        grid-row: span 3;
    }

    .marquee-side-by-side .slide.first .img-cont,
    .marquee-side-by-side .slide.first .slide-img {
        height: 100%;
    }

    .marquee-side-by-side .slide.first .slide-img {
        object-fit: cover;
    }
}

@media (min-width: 90em) {
    .marquee-side-by-side {
        margin-bottom: 200px;
    }

    .marquee-side-by-side .super-title {
        padding: 107px 170px 40px;
        background-position: 1.8vw top;
        background-size: auto 166%;
        font-size: 88px;
    }

    .marquee-side-by-side .view-all {
        align-self: end;
        padding: 0 30px;
        font-size: 20px;
    }

    .marquee-side-by-side .view-all .line-btn {
        padding: 24px 46px 24px 0;
    }

    .marquee-side-by-side .slides {
        grid-template: auto auto auto / 58vw 1fr;
        gap: 40px 25px;
        padding: 0 60px;
    }

    .marquee-side-by-side .widget-header {
        padding: 0 14px;
    }
    
    .marquee-side-by-side .widget-title {
        font-size: 18px;
    }

    .marquee-side-by-side .widget-title::after {
        margin-top: 28px;
    }

    .marquee-side-by-side .slide {
        grid-template: auto / 48% 1fr;
        gap: 28px;
    }
    
    .marquee-side-by-side .slide.first {
        margin-right: 25px;
    }

    .marquee-side-by-side .slide.first::before {
        position: absolute;
        top: 0;
        right: -25px;
        bottom: 0;
        display: block;
        width: 2px;
        background: var(--gray-border-2);
        content: '';
        pointer-events: none;
    }

    .marquee-side-by-side .slide.first .slide-content {
        padding: 58px 58px 8px 58px;
    }

    .marquee-side-by-side .slide.first.no-link .slide-content {
        padding: 58px;
    }

    .marquee-side-by-side .blog-cat,
    .marquee-side-by-side .subtitle {
        margin-bottom: 6px;
        font-size: 16px;
    }

    .marquee-side-by-side .slide.first .blog-cat,
    .marquee-side-by-side .slide.first .subtitle {
        margin-bottom: 2px;
        font-size: 24px;
    }

    .marquee-side-by-side .slide-title {
        font-size: 20px;
        line-height: 1.2;
    }

    .marquee-side-by-side .slide.first .slide-title {
        font-size: 44px;
        line-height: calc(25/22);
    }

    .marquee-side-by-side .read-more {
        padding: 10px 46px 10px 0;
    }

    .marquee-side-by-side .slide.first .read-more {
        padding: 6px 46px 6px 0;
        font-size: 20px;
    }
}

/*=====----- DARK THEME -----=====*/
.dark-panel :is(.marquee-side-by-side, .marquee-side-by-side .read-more .btn-text) {
    color: var(--white);
}