// Location Page
.location-page {
    background: #fff;

    // Intro
    .location-page__intro {
        position: relative;
        background: $color-primary;
        // padding-top: clamp(100px, 25vw, 400px);

        @include bp (sm) {
            padding-top: clamp(40px, 14vw, 320px);
        }
        @include bp (lg) {
            padding-top: clamp(40px, 18vw, 320px);
        }

        // Houses Of Title
        .title {
            position: relative;
            z-index: 2;
            grid-column: 1 / span var(--columns);
            margin: 0 auto;
            padding: 0 32px;
            font-family: $font-serif;
            line-height: 1;
            text-transform: uppercase;
            color: $color-lightpurple;
            font-size: rem(52px);
            text-align: center;
            margin: min(360px, 60vw) auto;

            @include bp (sm) {
                display: flex;
                flex-flow: row wrap;
                align-items: baseline;
                justify-content: flex-start;
                max-width: clamp(300px, 80vw, 1120px);
                margin: 0 auto;
                font-size: rem(56px);
                text-align: left;
            }

            strong {
                display: block;
                font-size: clamp(48px, 12vw, 160px);
                color: $color-secondary;
                font-weight: 300;
                text-transform: none;
            }

            .housesof {
                grid-column: span var(--columns);

                @include bp (sm) {
                    display: flex;
                    align-items: baseline;
                }

                span {
                    display: block;
                    font-size: rem(24px);
                    margin-top: 8px;

                    @include bp (sm) {
                        display: inline;
                        font-size: rem(56px);
                        margin: 0 24px;
                    }
                }
            }
            .city {
                text-align: center;
                margin-left: auto;
            }
        }
    }

    // Description
    &__description {
        grid-column: span var(--columns);
        position: relative;
        z-index: 2;
        margin-bottom: -8px;
        background-color: $color-tertiary;
        color: $color-text;
        border-radius: 8px;

        @include bp (sm) {
            --columns: 19;
            grid-column: 4 / span 21;
            margin: clamp(40px, 14vw, 200px) 0 calc(-1 * clamp(60px, 6vw, 120px));
        }
        @include bp (md) {
            grid-column: 6 / span 19;
        }

        .wrap {
            grid-column: 2 / span 6;
            max-width: 800px;
            padding: 50px 0;

            @include bp (sm) {
                grid-column: 3 / span 13;
                padding: 72px 0;
            }
            @include bp (md) {
                padding: 128px 0;
            }
        }

        .info {
            $text-color: rgba($color-text, 0.5);
            margin: 32px 0 40px;
            color: $text-color;
            line-height: 0.8;

            @include bp (sm) {
                margin: 40px 0 64px;
                line-height: 1.3;
            }

            a {
                color: $text-color;

                &:hover {
                    color: $color-secondary;
                }
            }

            & > * {
                display: inline-block;
                vertical-align: middle;
            }
        }
        .ctas {
            display: flex;
            flex-wrap: wrap;

            .button {
                margin-right: 16px;
                margin-bottom: 16px;
                font-size: rem(16px);

                @include bp (sm) {
                    margin-bottom: 0;
                    font-size: rem(18px);
                }
            }
        }
    }

    // Illustration
    &__illustration {
        pointer-events: none;
        position: absolute;
        z-index: 1;
        top: 0;
        left: 50%;
        width: clamp(320px, 100vw, 2560px);
        height: 100%;
        background: 0 0 var(--illus-mobile) no-repeat;
        background-size: 100% auto;
        transform: translate3d(-50%, 0, 0);


        @include bp (sm) {
            background-image: var(--illus-desktop);
        }
        @include bp (xl) {
            background-image: var(--illus-desktop-2x);
        }
    }

    // Houses
    &__houses {
        background-color: #fff;
        padding-top: 80px;

        @include bp (sm) {
            padding-top: 240px;
        }
    }

    // House
    .house {
        &:not(:last-child) {
            margin-bottom: 86px;

            @include bp (sm) {
                margin-bottom: 120px;
            }
        }
    }

    // Next photos section
    &__next {
        margin-top: 135px;
        padding: 72px 0 56px;
        background-color: $color-tertiary;
        text-align: center;

        @include bp (sm) {
            margin-top: calc(-1 * clamp(64px, 8vw, 120px));
            padding-top: 240px;
            padding-bottom: 104px;
        }

        // Newsletter block
        .newsletter {
            max-width: 600px;
            margin: 56px auto 0;

            @include bp (sm) {
                margin-top: 72px;
            }
        }
    }

        // Pagination
        .pagination {
            position: relative;
            display: block;
            margin: auto 0;
            cursor: pointer;

            &__progress {
                position: relative;
                display: inline-block;
                font-size: rem(88px);
                color: rgba($color-text, 0.2);
                font-family: $font-serif;
                font-weight: 200;
                line-height: 1;
                letter-spacing: -0.05em;

                @include bp (sm) {
                    font-size: clamp(80px, 16vw, #{rem(160px)});
                }

                span {
                    display: inline-block;
                    margin: 0 -10px;
                }
            }
            p {
                display: block;
                margin: 16px auto 0;
                text-align: center;
                font-family: $font-sans;
                text-transform: uppercase;
                color: $color-text;
                letter-spacing: 0.1em;
                font-weight: 400;
                font-size: rem(14px);
            }
            &__more {
                color: $color-secondary !important;
            }
        }

    // Message
    &__message {
        padding: clamp(96px, 24vw, 360px) 0 clamp(96px, 16vw, 280px);
        text-align: center;
        color: $color-text;
        font-size: rem(24px);
        font-weight: 200;
        line-height: 1.4;

        @include bp (sm) {
            font-size: rem(28px);
        }
    }
}
