.parallax-hero-collage {
    position: relative;
    width: 100%;
    overflow: hidden;

    & .parallax-hero-collage--title {
        margin-bottom: 25px;

        @media (max-width: 1024px) {
            margin-bottom: 15px;
        }

        & h2 {
            font-family: "TanNimbus";
            font-size: 60px;
            text-align: center;

            @media (max-width: 750px) {
                font-size: 26px;
            }
        }
    }

    & .parallax-hero-collage--grid-image {
        display: block;
        width: 100%;
        height: auto;
    }

    & .parallax-hero-collage--grid {
        width: 100%;
        max-width: calc(var(--max-width) + calc(var(--space-outer) * 2));

        display: grid;
        justify-content: center;
        grid-template-columns: 30% 40% 30%;
        background-attachment: fixed;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        overflow: hidden;

        @media (max-width: 1000px) {
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
        }

        @media (max-width: 700px) {
            height: auto;
        }

        & .parallax-hero-collage--grid-left,
        & .parallax-hero-collage--grid-right {
            position: relative;

            @media (max-width: 1000px) {
                display: flex;
                justify-content: center;
            }
        }

        & .parallax-hero-collage--grid-left {
            @media (max-width: 1000px) {
                grid-column: 1 / 3;
                grid-row: 2;
            }
        }

        & .parallax-hero-collage--grid-right {
            @media (max-width: 1000px) {
                grid-column: 3 / -1;
                grid-row: 2;
            }
        }

        & .parallax-hero-collage--grid-center {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            &.has-text-badge {
                @media (min-width: 1300px) {
                    padding-top: 4rem;
                }
            }

            @media (max-width: 1000px) {
                grid-column: 1 / -1;
                grid-row: 1;
            }

            & .parallax-hero-collage--text-badge {
                display: none;
                position: absolute;
                top: 0;
                right: 0;

                @media (min-width: 1300px) {
                    display: inline;
                    top: 1rem;
                }
            }
        }

        & .parallax-hero-collage--grid-image-container {
            position: absolute;

            &.swipe-animation {
                transform-origin: center center;
                animation: swing 4s infinite;
            }

            @media (max-width: 1000px) {
                position: initial;
            }

            &:nth-child(even) {
                @media (min-width: 1000px) {
                    top: 30%;
                    right: -15%;
                }

                @media (min-width: 1300px) {
                    right: 2%;
                    top: 25%;
                }
            }

            &:nth-child(odd) {
                left: 0;
                top: 10%;
            }
        }
    }

    & .parallax-hero-collage--cta-as-text {
        display: flex;
        align-items: center;
        gap: 8px;
        padding-bottom: 5px;
        border-bottom: 1px solid white;

        & span {
            font-size: 18px;
            font-weight: bold;
        }

        & svg {
            width: 22px;
            height: 14px;
        }
    }
}

@keyframes swing {

    0%,
    100% {
        transform: rotate(-25deg);
    }

    50% {
        transform: rotate(25deg);
    }
}