@charset "UTF-8";

/**
    Theme Name:        Search and Stay - Multiple Properties Elementor
    Theme URI:         https://searchandstay.com.au/wordpress-themes
    Description:       Theme created by Search and Stay that works within Search and Stay Plugin for listing muliple properties. Supports Elementor
    Version:           2.1
    Author:            Search and Stay
    Author URI:        https://www.searchandstay.com/
    Tags:              search-and-stay, travel, booking, properties
    Text Domain:       search-and-stay
    Tested up to:      6.9
    Requires at least: 6.2
    Requires PHP:      7.4
    License:           GNU General Public License v2.0 or later
    License URI:       https://www.gnu.org/licenses/gpl-2.0.html
*/

@mixin mobile {
    @media (max-width: 992px) {
        @content;
    }
}

@mixin container($size) {
    @media (min-width: $size) {
        max-width: calc($size - calc($size / 16));
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins';
}



html {
    height: 100%;

    body {
        position: relative;
        min-height: 100%;
        display: flex;
        width: 100%;
        flex-direction: column;
        // padding-bottom: 290px;

        @media screen and (max-width: 991px) {
            // padding-bottom: 120px;
        }

        > header {

            .container {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 3rem 1rem;
                margin: 0 auto;

                @media (min-width: 1200px) {
                    width: 1200px;
                }

                @media (min-width: 992px) {
                    width: 970px;
                }

                @media screen and (max-width: 992px) {
                    padding: 3rem 2rem;
                }

                .primary-navigation {

                    // .mobile-navigation{


                    //     @media (min-width: 992px){
                    //         display: none;
                    //     }

                    //     a{
                    //         padding: 8px 8px 8px 32px;
                    //         text-decoration: none;
                    //         font-size: 1.5rem;
                    //         color: #ffffff;
                    //         display: block;
                    //         transition: 0.3s;

                    //         &:hover{
                    //             color: #f1f1f1;
                    //         }
                    //     }

                    //     .closebtn {
                    //         position: absolute;
                    //         right: 10px;
                    //         font-size: 36px;
                    //     }
                    // }

                    @include mobile {
                        height: 100%;
                        width: 0;
                        position: fixed;
                        z-index: 100;
                        top: 0;
                        right: 0;
                        background-color: #111;
                        overflow-x: hidden;
                        transition: 0.5s;
                        padding-top: 60px;

                        &.mobile-open {
                            width: 15.6rem;
                        }
                    }

                    .primary-menu-container {

                        ul {
                            display: flex;
                            justify-content: space-around;
                            align-items: center;
                            flex-direction: row;

                            @include mobile {
                                flex-direction: column;
                                align-items: stretch;
                                justify-content: center;
                                padding-left: 1rem;
                                padding-right: 1rem;
                            }

                            li {
                                list-style: none;

                                &+li {
                                    margin-left: 3.5rem;

                                    @include mobile {
                                        margin-left: 0;
                                        text-align: left;
                                        padding: 0.25rem;
                                    }
                                }

                                a {
                                    color: #000;
                                    display: inline-block;
                                    font-size: 0.9rem;
                                    line-height: 3rem;
                                    font-family: "Poppins";
                                    font-weight: 600;
                                    padding: 0;
                                    text-transform: uppercase;
                                    text-decoration: none;

                                    @include mobile {
                                        color: #FFF;
                                        background-color: transparent !important;
                                        padding: 0.5rem;
                                        text-decoration: none;
                                        font-size: 1.5rem;
                                        display: block;
                                        transition: 0.3s;
                                        padding: 0 !important;

                                        &:hover {
                                            color: #f1f1f1;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                .open-nav {
                    font-size: 2em;
                    cursor: pointer;
                    text-decoration: none;
                    color: inherit;

                    @media (min-width: 992px) {
                        display: none;
                    }
                }



                .site-title {
                    a {
                        text-decoration: none;
                        color: #000;
                    }
                }

                .site-logo {
                    img {
                        max-height: 100px;
                        width: auto;
                        max-width: 100%;
                    }
                }

                .mob-nav {
                    @media (min-width: 993px) {
                        display: none;
                    }
                }
            }

            .mobile-overlay {
                position: absolute;
                z-index: 99;
                width: 100%;
                height: 100vh;
                top: 0;
                background: #00000091;
                display: none;
            }
        }

        .site-content {
            display: flex;
            flex-direction: column;
            flex-grow: 1;

            .sas-title {
                font-size: 3rem;
                font-weight: 700;
                color: #000000;
                margin: 0 0 3rem;
                font-family: 'Playfair Display';
            }

            .sas-sub-title {
                font-size: 14px;
                line-height: 48px;
                text-transform: uppercase;
                letter-spacing: 10px;
                color: #999999;
                font-weight: 600;
                text-align: center;
            }

            .sas-slider {
                height: calc(90vh - 144px);
                max-width: 100%;
                overflow: hidden;
                cursor: grab;

                &:active {
                    cursor: grabbing;
                }

                img {
                    width: 100%;
                    height: calc(90vh - 144px);
                    object-fit: cover;
                }
            }

            .sas-slider-off {
                display: flex;

                img {
                    width: 100%;
                    height: calc(90vh - 144px);
                    object-fit: cover;
                }
            }

            .sas-slider-child {
                height: calc(90vh - 144px);
            }

            .site-main {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                flex-grow: 1;

                #app-property {
                    background-color: #ededed;
                }

                .sas-slider {
                    max-width: 100%;
                    overflow: hidden;
                    cursor: grab;

                    &:active {
                        cursor: grabbing;
                    }

                    img {
                        max-width: 100%;
                    }
                }

                .sas-row {
                    // width: 100%;
                    // max-width: 100%;

                    .search-form {
                        background: #fff;
                        width: 100%;
                        height: auto;
                        margin-bottom: 0;
                        position: relative;
                        box-shadow: 0 15px 20px rgba(0, 0, 0, 0.2);
                        padding: 1.5rem;
                        border-radius: 12px;

                        &:not(.not-transformed) {
                            transform: translate(0, -50%);
                        }

                        &.child {
                            padding: 0;
                        }

                        .mb-5 {
                            margin-bottom: 0 !important;
                        }
                    }

                    &.default {
                        background: url("assets/images/section-bg.jpg");
                        padding: 2rem;

                        .container {
                            display: flex;
                            flex-direction: column;
                            gap: 1rem;
                        }
                    }

                    &.home-search {
                        background: #ededed;




                        .sas-gallery {
                            display: grid;
                            grid-template-columns: repeat(4, 1fr);

                            overflow: hidden;
                            height: 30rem;

                            @include mobile {
                                // grid-template-columns: repeat(2, 1fr);
                                display: flex;
                                width: 100%;

                                height: 70vh;
                                // overflow: auto;
                            }

                            >.sas-gallery-item {

                                display: flex;
                                position: relative;
                                transition: transform 500ms ease;
                                width: 100%;
                                height: 100%;
                                flex: none;

                                &:first-child {
                                    grid-row: span 2 / span 2;
                                    grid-column: span 2 / span 2;
                                    overflow: hidden;

                                    @include mobile {
                                        // grid-row: auto;     
                                        // grid-column: auto;
                                    }
                                }

                                >img {
                                    display: block;
                                    width: 100%;
                                    height: 100%;
                                    object-fit: cover;
                                    object-position: center;

                                    position: absolute;
                                    margin: 0;
                                    padding: 0;


                                }
                            }
                        }

                    }

                    &.home-about {
                        background: #ededed;
                        height: auto;
                        padding: 0 0 5rem;

                        @media screen and (max-width:959px) {
                            padding-bottom: 2rem;
                        }

                        .container {
                            display: flex;
                            flex-direction: column;

                            .main-content {
                                width: 100%;
                                height: auto;
                                display: flex;
                                padding: 4rem;

                                @media screen and (max-width:959px) {
                                    flex-direction: column;
                                    padding: 2rem;
                                }

                                .left-col {
                                    width: 50%;
                                    height: auto;
                                    display: flex;
                                    justify-content: center;
                                    margin-right: 1rem;

                                    @media screen and (max-width:959px) {
                                        width: 100%;
                                        margin-right: 0;
                                    }

                                    img {
                                        width: 100%;
                                        height: auto;
                                        object-fit: cover;
                                    }
                                }

                                .right-col {
                                    width: 50%;
                                    height: auto;
                                    margin-left: 1rem;

                                    @media screen and (max-width:959px) {
                                        width: 100%;
                                        margin-left: 0;
                                        text-align: center;
                                        margin-top: 2rem;
                                    }

                                    .about-description {
                                        font-size: 14px;
                                        line-height: 30px;
                                        color: #999999;
                                    }
                                }
                            }
                        }

                    }

                    &.home-discover {
                        height: auto;
                        display: flex;
                        flex-direction: column;
                    }

                    &.home-blog {
                        background: url("assets/images/section-bg.jpg");
                        background-repeat: no-repeat;
                        background-size: cover;
                        height: auto;
                        display: flex;
                        flex-direction: column;
                        padding: 6rem 0;

                        .saswp-theme-home-blog {
                            padding: 0;
                            background: none;
                        }
                    }

                    &.home-contact {
                        height: auto;
                        display: flex;

                        @media screen and (max-width:959px) {
                            flex-direction: column;
                        }

                        .left-col {
                            background: #011814;
                            width: 55%;
                            height: auto;
                            display: flex;

                            @media screen and (max-width:959px) {
                                width: 100%;
                            }

                            img {
                                width: 100%;
                                object-fit: cover;
                            }
                        }

                        .right-col {
                            width: 45%;
                            height: auto;
                            display: flex;
                            flex-direction: column;
                            padding: 6rem;

                            @media screen and (max-width:959px) {
                                width: 100%;
                                padding: 2rem;
                            }

                            .sas-sub-title {
                                text-align: left;
                            }

                            .contact-info {
                                .address {
                                    color: #666666;
                                }

                                .email {
                                    margin-top: 20px;
                                    color: #666666;

                                    span {
                                        font-weight: 600;
                                        color: #000;
                                    }
                                }

                                .phone {
                                    h4 {
                                        font-size: 2.5rem;
                                        font-weight: 400;
                                        color: #000000;
                                        margin-top: 20px;
                                        font-family: "Playfair Display";

                                        @media screen and (max-width:450px) {
                                            font-size: 2rem;
                                        }
                                    }
                                }
                            }
                        }

                    }


                    &.blog-archive {
                        display: flex;
                        flex-direction: column;
                        flex-grow: 1;
                        width: 100%;
                        background-color: #EDEDED;
                        padding: 2rem 10px;


                        .container,
                        .container-xl {
                            display: flex;
                            flex-direction: column;

                            .posts-container {
                                display: grid;
                                grid-template-columns: repeat(3, 1fr);
                                justify-content: space-between;
                                gap: 20px;
                                margin-top: 1rem;

                                @media screen and (max-width: 992px) {
                                    grid-template-columns: repeat(2, 1fr);
                                }

                                @media screen and (max-width: 620px) {
                                    grid-template-columns: repeat(1, 1fr);
                                }
                            }

                            .item {
                                min-height: 100px;
                                margin-bottom: 2rem;
                                background: #fff;
                                position: relative;
                                z-index: 3;
                                box-shadow: 0px 4px 10px -2px rgba(0, 0, 0, 0.2);

                                &:hover {
                                    box-shadow: 0px 15px 15px -8px rgba(0, 0, 0, 0.3);
                                    transition: all ease 0.5s;
                                }

                                @media screen and (max-width:959px) {
                                    padding: 1rem;
                                }

                                img {
                                    width: 100%;
                                    height: 275px;
                                    object-fit: cover;
                                }

                                .arch-content {
                                    padding: 1.5rem;

                                    .post-date {
                                        margin-bottom: 1rem;
                                        display: inline-block;
                                        font-size: 0.9rem;
                                        color: #999;
                                    }

                                    .sas-title {
                                        font-size: 1.2rem;
                                        margin: 0 0 1rem;
                                    }

                                    .view-btn {
                                        text-decoration: none;
                                        color: #444;
                                        font-weight: 500;

                                        &:hover {
                                            color: #000;
                                        }
                                    }
                                }
                            }
                        }



                        .sas-pagination {
                            display: flex;
                            justify-content: center;
                            width: 100%;
                            margin-top: 2rem;
                            font-size: 1.2rem;

                            a {
                                text-decoration: none;
                                color: #777;
                            }
                        }
                    }

                    .container {
                        margin: 0 auto;
                        width: 100%;
                        display: flex;
                        flex-direction: column;

                        @media (min-width: 1200px) {
                            width: 1170px;
                        }

                        @media (min-width: 992px) and (max-width: 1199px) {
                            width: 970px;
                        }

                        @media (min-width: 768px) and (max-width: 991px) {
                            width: 750px;
                        }
                    }
                }

                .load-more {
                    background: #212020;
                    color: #fff;
                    text-decoration: none;
                    margin: 2rem auto;
                    padding: 1em 2em;

                    &:hover {
                        background: #444343;
                    }
                }
            }

        }

        > footer {
            background: #212020;
            // position: absolute;
            width: 100%;
            // bottom: 0;

            .footer-main-content {
                border-bottom: 1px solid #3b3a3a;

                .container {
                    display: flex;
                    justify-content: space-between;
                    padding: 4rem 1rem;
                    margin: 0 auto;

                    @media (min-width: 1200px) {
                        width: 1200px;
                    }

                    @media (min-width: 992px) {
                        width: 970px;
                    }

                    @media screen and (max-width: 991px) {
                        display: none;
                    }

                    .col {
                        &.col-04 {
                            h3 {
                                color: rgb(153, 153, 153);
                                font-size: 14px;
                                font-weight: 400;
                                line-height: 24px;
                                margin: 0;
                            }

                            form {
                                margin-top: 20px;
                                position: relative;
                                display: flex;

                                input {
                                    width: 100%;
                                    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
                                    border: 0 none;
                                    border-bottom: 1px solid #666666;
                                    color: white;
                                    font-size: 13px;
                                    line-height: 24px;
                                    padding: 5px 0;

                                    &:focus {
                                        outline: none;
                                    }
                                }

                                button {
                                    width: 20px;
                                    height: 20px;
                                    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
                                    border: 0 none;
                                    position: absolute;
                                    top: 5px;
                                    right: 0;
                                    cursor: pointer;

                                    &::before {
                                        content: url("assets/images/paper-plane.svg");
                                    }
                                }
                            }
                        }

                        ul {
                            li {
                                font-size: 0.9rem;
                                line-height: 1.6rem;
                                list-style: none;
                                padding: 0.25rem 0;

                                a {
                                    color: #fff;
                                    text-decoration: none;
                                }
                            }
                        }
                    }
                }
            }

            .copyright {

                .container {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 2rem 1rem 1.5rem;
                    margin: 0 auto;

                    @media (min-width: 1200px) {
                        width: 1200px;
                    }

                    @media (min-width: 992px) {
                        width: 970px;
                    }

                    @media screen and (max-width: 540px) {
                        flex-direction: column;
                    }

                    .left-col {
                        img {
                            max-height: 100px;
                            widows: auto;
                            max-width: 100%;
                        }
                    }

                    .right-col {
                        .social {
                            margin: 0;
                            display: flex;
                            justify-content: space-between;

                            li {
                                list-style: none;

                                &+li {
                                    padding-left: 1.5rem;
                                }

                                a {
                                    text-decoration: none;

                                    img {
                                        width: 20px;

                                        &.instagram {
                                            width: 26px;
                                        }

                                        &:hover {
                                            filter: brightness(100);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    .powered {
                        text-align: right;
                        color: #fff;
                        font-size: .825rem;
                        a {
                            img {
                                margin-top: -5px;
                            }
                        }
                    }

                }
            }
        }

    }
}


::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    background: #e9e9e9;
}

::-webkit-scrollbar-thumb {
    background: #0a252e;
}

::-webkit-scrollbar-thumb:hover {
    background: #252525;
}

.bg-light-grey {
    background-color: #ededed;
}


#property-details-index {
    @extend .bg-light-grey;
    flex-grow: 1;
}


#properties-index {
    padding-top: 3rem;
    flex-grow: 1;

    @extend .bg-light-grey;

    >.container-global {
        // padding-left: 3.2rem;
        // padding-right: 3.2rem;

        @include container(576px);
        @include container(620px);
        @include container(936px);
        @include container(1260px);
        @include container(1576px);

        >.v-row {
            display: flex;
            align-items: center;
        }
    }
}

@import "assets/scss/custom";
@import "assets/scss/parts/search";
@import "assets/scss/parts/comment";
@import "assets/scss/parts/single";