/* =========================================================
   SUE MANGO GARDEN
   PROJECT PAGE
========================================================= */


/* =========================================================
   PROJECT GRID SETTINGS
========================================================= */

:root {

    --project-grid-columns: 12;
    --project-grid-gap: 16px;

}



/* =========================================================
   PROJECT CONTENT
========================================================= */

.project-content {

    width: 100%;

    padding-left: var(--page-margin);
    padding-right: var(--page-margin);
    padding-bottom: 80px;

    box-sizing: border-box;

}



/* =========================================================
   12-COLUMN PROJECT GRID
========================================================= */

.project-grid {

    display: grid;

    grid-template-columns:
        repeat(
            var(--project-grid-columns),
            minmax(0, 1fr)
        );

    gap: var(--project-grid-gap);

    width: 100%;

}



/* =========================================================
   PROJECT MEDIA
========================================================= */

.project-media {

    margin: 0;
    padding: 0;

}



/* =========================================================
   PROJECT MEDIA IMAGES
========================================================= */

.project-media img {

    display: block;

    width: 100%;
    height: auto;

}



/* =========================================================
   SPAN 8 — CENTERED
   START COLUMN 3
========================================================= */

.span-8-centered {

    grid-column: 3 / span 8;

    margin-top: 30px;

}



/* =========================================================
   SUE MANGO PAGE
========================================================= */

.project-sue-page {

    width: 100%;

}



/* =========================================================
   FIVE IMAGE GRID
   COMPACT / CENTERED / 3 + 2
========================================================= */

.five-image-grid {

    grid-column: 1 / -1;

    width: 62%;
    max-width: 1100px;

    justify-self: center;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 16px;

    margin-top: 30px;
    margin-bottom: 30px;

}


/* =========================================================
   RESET FIGURES
========================================================= */

.five-image-grid figure {

    margin: 0;
    padding: 0;

}



/* =========================================================
   TOP ROW — 3 EQUAL IMAGES
========================================================= */

.five-image-grid figure:nth-child(1) {

    grid-column: 1 / span 2;

    margin-bottom: 30px;

}


.five-image-grid figure:nth-child(2) {

    grid-column: 3 / span 2;

    margin-bottom: 30px;

}


.five-image-grid figure:nth-child(3) {

    grid-column: 5 / span 2;

    margin-bottom: 30px;

}



/* =========================================================
   BOTTOM ROW — 2 EQUAL IMAGES
   CENTERED UNDER TOP ROW
========================================================= */

.five-image-grid figure:nth-child(4) {

    grid-column: 2 / span 2;

    margin-bottom: 2px;

}


.five-image-grid figure:nth-child(5) {

    grid-column: 4 / span 2;

    margin-bottom: 2px;

}



/* =========================================================
   FIVE GRID IMAGES
========================================================= */

.five-image-grid img {

    display: block;

    width: 100%;
    height: auto;

    cursor: default;

}

/* =========================================================
   FIVE IMAGE GRID — CAPTIONS
========================================================= */

.five-image-grid figure {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.five-grid-caption {
    width: 100%;
    margin-top: 10px;

    text-align: center;
}

.five-grid-caption h3 {
    margin: 0;

    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}

.five-grid-caption p {
    margin: 3px 0 0;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
}



/* =========================================================
   LIGHTBOX
   FULL-SCREEN IMAGE ISOLATION
========================================================= */

.sue-lightbox {

    position: fixed;

    inset: 0;

    z-index: 9999;

    display: flex;

    align-items: center;
    justify-content: center;

    padding:
        50px
        90px
        110px;

    box-sizing: border-box;

    background:
        rgba(
            0,
            0,
            0,
            0.72
        );

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 0.15s ease,
        visibility 0.15s ease;

}



/* =========================================================
   LIGHTBOX ACTIVE
========================================================= */

.sue-lightbox.active {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}

/* =========================================================
   LIGHTBOX IMAGE + CAPTION WRAPPER
========================================================= */

.sue-lightbox-image-wrapper {

    position: relative;

    display: inline-block;

}

/* =========================================================
   LIGHTBOX MAIN IMAGE CONTAINER
========================================================= */

.sue-lightbox-image-container {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

}



/* =========================================================
   LIGHTBOX MAIN IMAGE
========================================================= */

.sue-lightbox-image {

    display: block;

    max-width: 82vw;
    max-height: 76vh;

    width: auto;
    height: auto;

    object-fit: contain;

}



/* =========================================================
   LIGHTBOX CAPTION
========================================================= */

.sue-lightbox-caption {

    width: 55%;
    max-width: 600px;

    margin: 10px auto 0;

    padding: 10px 16px;

    background: rgba(245, 245, 242, 0.96);

    text-align: center;

    font-size: 13px;
    line-height: 1.35;

}



/* =========================================================
   LIGHTBOX ARROWS
========================================================= */

.sue-lightbox-arrow {

    position: absolute;

    top: 50%;

    transform:
        translateY(-50%);

    width: 60px;
    height: 60px;

    padding: 0;

    border: 0;

    background: transparent;

    color: white;

    font-family: inherit;

    font-size: 40px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    opacity: 0.65;

    transition:
        opacity 0.15s ease;

}

/* =========================================================
   LIGHTBOX ARROW FOCUS
========================================================= */

.sue-lightbox-arrow:focus {

    outline: none;

}



/* =========================================================
   LIGHTBOX ARROW HOVER
========================================================= */

.sue-lightbox-arrow:hover {

    opacity: 1;

}



/* =========================================================
   PREVIOUS ARROW
========================================================= */

.sue-lightbox-prev {

    left: 30px;

}



/* =========================================================
   NEXT ARROW
========================================================= */

.sue-lightbox-next {

    right: 30px;

}



/* =========================================================
   LIGHTBOX MINI PREVIEW STRIP
   TOP-CENTERED
========================================================= */

.sue-lightbox-thumbnails {

    position: absolute;

    top: 28px;
    left: 50%;

    transform:
        translateX(-50%);

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    z-index: 3;

}



/* =========================================================
   MINI PREVIEW BUTTON
========================================================= */

.sue-lightbox-thumbnail {

    width: 60px;
    height: 40px;

    padding: 0;

    border: 0;

    background: transparent;

    cursor: pointer;

    opacity: 0.4;

    transition:
        opacity 0.15s ease,
        transform 0.15s ease;

}



/* =========================================================
   MINI PREVIEW IMAGE
========================================================= */

.sue-lightbox-thumbnail img {

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

}



/* =========================================================
   MINI PREVIEW HOVER
========================================================= */

.sue-lightbox-thumbnail:hover {

    opacity: 0.75;

}



/* =========================================================
   ACTIVE MINI PREVIEW
========================================================= */

.sue-lightbox-thumbnail.active {

    opacity: 1;

    transform:
        scale(1.08);

}



/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .span-8-centered {

        grid-column: 2 / span 10;

    }


    .five-image-grid {

        width: 78%;

    }


    .sue-lightbox {

        padding:
            40px
            70px
            100px;

    }


    .sue-lightbox-image {

        max-width: 84vw;
        max-height: 74vh;

    }

}



@media (max-width: 600px) {

    .span-8-centered {

        grid-column: 1 / -1;

    }


    .five-image-grid {

        width: 100%;

        grid-template-columns:
            1fr;

        gap: 30px;

    }


    .five-image-grid figure:nth-child(1),
    .five-image-grid figure:nth-child(2),
    .five-image-grid figure:nth-child(3),
    .five-image-grid figure:nth-child(4),
    .five-image-grid figure:nth-child(5) {

        grid-column: 1;

        margin-bottom: 30px;

    }


    .sue-lightbox {

        padding:
            30px
            50px
            90px;

    }


    .sue-lightbox-image {

        max-width: 88vw;
        max-height: 70vh;

    }


    .sue-lightbox-arrow {

        width: 45px;
        height: 45px;

        font-size: 30px;

    }


    .sue-lightbox-prev {

        left: 5px;

    }


    .sue-lightbox-next {

        right: 5px;

    }


    .sue-lightbox-thumbnail {

        width: 48px;
        height: 32px;

    }


    .sue-lightbox-thumbnails {

        gap: 7px;

        bottom: 22px;

    }

}

/* =========================================================
   LIGHTBOX CLOSE BUTTON
========================================================= */

.sue-lightbox-close {

    position: absolute;

    top: 28px;
    right: 32px;

    z-index: 10001;

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;

    background: transparent;

    color: #ffffff;

    font-family: Arial, sans-serif;

    font-size: 40px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    opacity: 0.85;

}


.sue-lightbox-close:hover {

    opacity: 1;

}

/* =========================================================
   INTERACTIVE IMAGE CURSOR
========================================================= */

.sue-lightbox-source {
    cursor: pointer;
}

/* =========================================================
   SUE MANGO — PROJECT ACCENT
========================================================= */

.project-sue-page {
    --project-accent: #f15f2e;
}

/* =========================================================
   SUE MANGO COVER HOVER OVERLAY
   SAME SYSTEM AS STADIA PRIMARY IMAGE
========================================================= */

.sue-cover {
    position: relative;
    overflow: hidden;
}


/* IMAGE */

.sue-cover img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        opacity 0.3s ease;
}


/* HOVER OVERLAY */

.sue-cover-hover {
    position: absolute;

    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px;

    background:
        rgba(255, 255, 255, 0.5);

    opacity: 0;

    transition:
        opacity 0.3s ease;

    pointer-events: none;
}


/* HOVER TEXT */

.sue-cover-hover p {
    max-width: 520px;

    margin: 0;

    color: #111111;

    font-family: "Questrial", sans-serif;
    font-size: 16px;
    line-height: 1.5;

    text-align: center;
}


/* SHOW OVERLAY */

.sue-cover:hover
.sue-cover-hover {
    opacity: 1;
}