/* Portfolio masonry grid, tabs, animation and responsive rules. */



        /* =====================================================
           WRAPPER
        ===================================================== */

        .project-masonry-wrapper {

            width: 100%;

        }



        /* =====================================================
           CATEGORY TABS
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-tabs {

            display: flex;

            flex-wrap: wrap;

            gap: 10px;

            margin-bottom: 40px;

        }



        .project-masonry-wrapper
        .project-masonry-tab {

            appearance: none;

            background: transparent;

            color: #222;

            padding: 12px;

            font-family: inherit;

            font-size: 18px;

            line-height: 1;

            cursor: pointer;

            border: none;

            transition:
                background 0.3s ease,
                color 0.3s ease,
                border-color 0.3s ease,
                font-weight 0.3s ease;

        }



        .project-masonry-wrapper
        .project-masonry-tab:hover {

            font-weight: 700;

        }



        .project-masonry-wrapper
        .project-masonry-tab.active {

            font-weight: 700;

        }



        /* =====================================================
           MASONRY GROUP
        =====================================================

           Every group contains 6 posts.

           ┌─────┬─────┬──────────────┐
           │  1  │  2  │              │
           │     │     │      3       │
           ├─────┴─────┤              │
           │           │              │
           │     4     │              │
           │           └──────────────┘
           │           ┌─────┬─────┐
           │           │  5  │  6  │
           └───────────┴─────┴─────┘

        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-group {

            display: grid;

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

            grid-template-rows:
                repeat(2, auto);

            column-gap: 24px;

            row-gap: 24px;

            margin-bottom: 55px;

        }



        /* =====================================================
           ALL ITEMS
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item {

            min-width: 0;

            /*
             * Modern entrance animation
             */

            opacity: 0;

            transform:
                translateY(35px)
                scale(0.97);

            will-change:
                opacity,
                transform;

            transition:
                opacity 0.7s cubic-bezier(.22, .61, .36, 1),
                transform 0.8s cubic-bezier(.22, .61, .36, 1);

        }



        /*
         * Visible state
         */

        .project-masonry-wrapper
        .project-masonry-item.is-visible {

            opacity: 1;

            transform:
                translateY(0)
                scale(1);

        }



        /* =====================================================
           POST 1
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(1) {

            grid-column: 1;

            grid-row: 1;

        }



        /* =====================================================
           POST 2
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(2) {

            grid-column: 2;

            grid-row: 1;

        }



        /* =====================================================
           POST 3 — LARGE RIGHT
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(3) {

            grid-column: 3 / 5;

            grid-row: 1 / 3;

        }



        /* =====================================================
           POST 4 — LARGE LEFT
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(4) {

            grid-column: 1 / 3;

            grid-row: 2 / 4;

        }



        /* =====================================================
           POST 5
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(5) {

            grid-column: 3;

            grid-row: 3;

        }



        /* =====================================================
           POST 6
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:nth-child(6) {

            grid-column: 4;

            grid-row: 3;

        }



        /* =====================================================
           IMAGE
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-image {

            border-radius: 10px;

            position: relative;

            width: 100%;

            aspect-ratio: 1 / 1;

            overflow: hidden;

            background: #eeeeee;

        }



        .project-masonry-wrapper
        .project-masonry-image img {

            width: 100% !important;

            height: 100% !important;

            display: block;

            object-fit: cover;

            transition:
                transform 0.8s cubic-bezier(
                    .2,
                    .7,
                    .2,
                    1
                );

        }



        /* =====================================================
           IMAGE HOVER
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-image img {

            transform: scale(1.05);

        }



        /* =====================================================
           CATEGORY HOVER LABELS
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-categories {

            position: absolute;

            top: 24px;

            left: 24px;

            right: 24px;

            display: flex;

            flex-wrap: wrap;

            gap: 10px;

            align-items: flex-start;

            z-index: 5;

            pointer-events: none;

            opacity: 0;

            transform:
                translateY(-14px);
			justify-content: flex-end;

            transition:
                opacity 0.45s cubic-bezier(
                    .22,
                    .61,
                    .36,
                    1
                ),
                transform 0.55s cubic-bezier(
                    .22,
                    .61,
                    .36,
                    1
                );

        }



        /* =====================================================
           CATEGORY PILL
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-category {

            display: inline-flex;

            align-items: center;

            justify-content: center;

            padding: 10px 18px;

            border-radius: 999px;

            background:
                rgba(
                    20,
                    20,
                    25,
                    0.25
                );

            border:
                1px solid
                rgba(
                    255,
                    255,
                    255,
                    0.12
                );

            color: #ffffff;

            font-family: inherit;

            font-size: 14px;

            font-weight: 400;

            line-height: 1;

            white-space: nowrap;

            backdrop-filter:
                blur(6px);

            -webkit-backdrop-filter:
                blur(6px);

            box-shadow:
                0 8px 30px
                rgba(
                    0,
                    0,
                    0,
                    0.14
                );

            opacity: 0;

            transform:
                translateY(-8px);

            transition:
                opacity 0.5s
                cubic-bezier(
                    .22,
                    .61,
                    .36,
                    1
                ),
                transform 0.55s
                cubic-bezier(
                    .22,
                    .61,
                    .36,
                    1
                );

        }



        /* =====================================================
           REVEAL CATEGORY LABELS
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-categories {

            opacity: 1;

            transform:
                translateY(0);

        }



        /*
         * Reveal individual pills
         */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-category {

            opacity: 1;

            transform:
                translateY(0);

        }



        /*
         * First pill
         */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-category:nth-child(1) {

            transition-delay: 0.04s;

        }



        /*
         * Second pill
         */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-category:nth-child(2) {

            transition-delay: 0.10s;

        }



        /*
         * Third pill
         */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-category:nth-child(3) {

            transition-delay: 0.16s;

        }



        /*
         * Fourth pill
         */

        .project-masonry-wrapper
        .project-masonry-item:hover
        .project-masonry-category:nth-child(4) {

            transition-delay: 0.22s;

        }



        /* =====================================================
           PROJECT TITLE
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-title {

            margin: 13px 0 0;

            padding: 0;

            color: #111;

            font-size: 20px;

            font-weight: 700;

            line-height: 1.25;

        }



        /* =====================================================
           LINK
        ===================================================== */

        .project-masonry-wrapper
        .project-masonry-link {

            display: block;

            color: inherit;

            text-decoration: none;

        }



        /* =====================================================
           NO IMAGE
        ===================================================== */

        .project-masonry-wrapper
        .project-no-image {

            width: 100%;

            height: 100%;

            background: #ddd;

        }



        /* =====================================================
           NO RESULTS
        ===================================================== */

        .project-masonry-wrapper
        .project-no-results {

            width: 100%;

            padding: 40px 0;

            font-size: 18px;

        }



        /* =====================================================
           TABLET
        ===================================================== */

        @media (max-width: 1024px) {


            .project-masonry-wrapper
            .project-masonry-group {

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

                grid-template-rows: auto;

                gap: 20px;

                margin-bottom: 40px;

            }



            .project-masonry-wrapper
            .project-masonry-item:nth-child(n) {

                grid-column: auto;

                grid-row: auto;

            }



            .project-masonry-wrapper
            .project-large {

                grid-column:
                    span 2 !important;

            }



            .project-masonry-wrapper
            .project-masonry-categories {

                top: 20px;

                left: 20px;

                right: 20px;

            }



            .project-masonry-wrapper
            .project-masonry-category {

                padding: 13px 21px;

                font-size: 17px;

            }

        }



        /* =====================================================
           MOBILE
        ===================================================== */

        @media (max-width: 767px) {


            .project-masonry-wrapper
            .project-masonry-group {

                display: grid;

                grid-template-columns: 1fr;

                gap: 30px;

                margin-bottom: 30px;

            }



            .project-masonry-wrapper
            .project-masonry-item:nth-child(n) {

                grid-column:
                    1 !important;

                grid-row:
                    auto !important;

            }



            .project-masonry-wrapper
            .project-masonry-title {

                margin-top: 10px;

                font-size: 16px;

            }



            .project-masonry-wrapper
            .project-masonry-categories {

                top: 16px;

                left: 16px;

                right: 16px;

                gap: 7px;

            }



            .project-masonry-wrapper
            .project-masonry-category {

                padding: 11px 17px;

                font-size: 15px;

            }

        }



        /* =====================================================
           REDUCED MOTION
        ===================================================== */

        @media (prefers-reduced-motion: reduce) {


            .project-masonry-wrapper
            .project-masonry-item {

                opacity: 1;

                transform: none;

                transition: none;

            }



            .project-masonry-wrapper
            .project-masonry-image img {

                transition: none;

            }



            .project-masonry-wrapper
            .project-masonry-categories {

                transition: none;

            }



            .project-masonry-wrapper
            .project-masonry-category {

                transition: none;

            }

        }
