﻿.listings-loading {
    position: absolute;
    right: 0;
    bottom: -8px;
    transform: translateY(-50%);
    font-size: 250%;
    z-index: 22;
}

.listings-loading-bg {
    /*position: absolute;*/
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    background-color: #272727;
    opacity: 0.5;
    z-index: 21;
}

.featured-listing.listing-container {
    position: relative;
    float: left;
    width: 99%;
    height: 300px;
    color: #000;
    margin-right: 1%;
    margin-bottom: 1%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
    background-color: rgb(250,250,250);
}

    .listing-container:hover {
        box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
    }

/*.listing-container:hover .listing-image img {
            opacity: 0.7;
        }

        .listing-container:hover .listing-image-overlay,
        .listing-container:hover .listing-image-text {
            display: block;
        }


        .listing-container:hover .listing-price {
            background-color: #ce6c00;
        }*/

/*.listing-container:hover .listing-information {
            background-color: #4e4547;
        }*/

.listing-clickable {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 23;
}

.listing-image {
    position: relative;
}
.featured-listing .listing-image {
    display: inline-block;
    height: 100%;
    width: 400px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: all 0.3s;
}

.featured-listing.listing-container:hover .listing-image {
    animation: listingImagesCycleThroughIn;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-duration: 10s;
    animation-delay: 1s;
}

@keyframes listingImagesCycleThroughIn {
    0% {
        background-position: 0px center, 0px center, 0px center, 0px center, 0px center;
    }

    5% {
        background-position: -110vw center, 0px center, 0px center, 0px center, 0px center;
    }

    20% {
        background-position: -110vw center, 0px center, 0px center, 0px center, 0px center;
    }

    25% {
        background-position: -110vw center, -110vw center, 0px center, 0px center, 0px center;
    }

    40% {
        background-position: -110vw center, -110vw center, 0px center, 0px center, 0px center;
    }

    45% {
        background-position: -110vw center, -110vw center, -110vw center, 0px center, 0px center;
    }

    60% {
        background-position: -110vw center, -110vw center, -110vw center, 0px center, 0px center;
    }

    65% {
        background-position: -110vw center, -110vw center, -110vw center, -110vw center, 0px center;
    }

    80% {
        background-position: -110vw center, -110vw center, -110vw center, -110vw center, 0px center;
    }

    85% {
        background-position: -110vw center, -110vw center, -110vw center, -110vw center, 0 center;
    }

    100% {
        background-position: -110vw center, -110vw center, -110vw center, -110vw center, 0 center;
    }
}

.featured-listing .listing-image img {
    height: 100%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.listing-container.featured-listing:hover .listing-image img {
    opacity: 0;
}

.featured-listing .listing-image-overlay {
    background-color: #000;
    opacity: 0.6;
    margin: auto;
    display: none;
    z-index: 21;
}

.listing-image-overlay,
.listing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.listing-image-text {
    position: absolute;
    top: 45%;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    z-index: 22;
    display: none;
}

.listing-overlay {
    opacity: 1;
    z-index: 20;
}

/*.listing-overlay img {
        max-width: 100%;
    }*/

.featured-listing .listing-information {
    color: #131313;
    /*background-color: #9a9a9a;*/
    /*padding: 20px;*/
    padding-top: 10px;
    display: inline-block;
    width: calc(100% - 400px);
    vertical-align: top;
    height: 100%;
}

.listing-title,
.listing-address-suburb,
.listing-address-street,
.listing-price {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.featured-listing .listing-price {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(100% - 400px);
}

.featured-listing .listing-title {
    height: 16px;
    font-weight: bold;
    padding: 0 20px;
    margin-bottom: 10px;
}

.listing-address-suburb {
    padding: 0 20px;
    margin-bottom: 10px;
}

.listing-address-street {
    padding: 0 20px;
}

.listing-price {
    height: 36px;
    font-weight: bold;
    color: #FFF;
    background-color: #ff8600;
    padding: 10px 20px;
    padding-right: 53px;
    margin-top: 10px;
}

.listing-details-arrows {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-image: url(../images/right-arrow.png);
    background-position: center center;
    padding: 8px 19px;
    background-size: contain;
}

.bulletpoints {
    padding: 0 20px;
    line-height: 16px;
    font-size: 14px;
    margin-left:15px;
}

    .bulletpoints div:before {
        content: "";
        background-image: url(../images/right-arrow.png);
        padding: 0px 5px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
        margin-right: 5px;
    }

.bulletpoints,
.listing-description {
    /*height: 70px;*/
}

ul.listing-card-bps {
    padding-left: 0;
    margin-top: 10px;
    list-style-type: none;
}

.listing-card-bps > li {
    padding-left: 15px;
    background-image: url(/assets/images/icons/arrow-right.png);
    background-size: 10px auto;
    background-position: left center;
    background-repeat: no-repeat;
}

.listing-description {
    padding: 0 20px;
    font-size: 14px;
    line-height: 16px;
}

a.youtube-icon {
    color: #fff;
    font-size: 27px;
    position: absolute;
    right: 10px;
    bottom: 5px;
}

a.listing-details {
    text-decoration: none;
}

a.return-button {
    padding: 10px;
    background: #ff8600;
    display: inline-block;
    border-radius: 3px;
    margin-bottom: 10px;
    text-decoration: none;
    color: #fff;
}

a.return-button:hover {
    background-color: #ce6c00;
}

a.return-button:before {
    content: "\f053";
    font-family: 'FontAwesome';
    margin-right: 5px;
}

/*@media screen and (min-width:940px) {
    .regular-listing.listing-container {
        height:250px;
    }
    .regular-listing.listing-container .listing-image {
        width:300px;
    }
    .regular-listing.listing-container .listing-price {
        width:calc(100% - 300px);
    }
}
@media screen and (max-width:940px) {
    .regular-listing.listing-container .listing-image {
        background-size: 50% auto, 50% auto, 0 0, 0 0, 0 0;
        background-position: bottom left, bottom right;
    }
    .listing-container.regular-listing:hover .listing-image {
       animation:none !important;
    }
}*/

/*@media screen and (max-width:940px) {
    .featured-listing.listing-container {
        height: 500px;
    }
    .featured-listing.listing-container:hover {
        height:750px;
        padding-bottom:36px;
    }

    .featured-listing .listing-price {
        width: calc(100% - 300px);
    }

    .featured-listing .listing-information {
        width: calc(100% - 300px);
    }

    .featured-listing .listing-image {
        width: 300px;
    }
}*/

@media screen and (max-width:800px) {
    .featured-listing.listing-container {
        height: 550px;
        transition: all 0.3s;
        transition-delay: 0s;
        height: calc(75vw + 236px) !important;
        margin-right:0;
        width:97%;
    }


    .featured-listing.listing-container .listing-image {
        display: block;
        width: 100%;
        height: 300px;
        transition: all 0.3s;
        transition-delay: 0s;
        height: calc(75vw - 30px);
    }

    .featured-listing .listing-information {
        width: 100% !important;
    }

    .featured-listing .listing-description {
        height:144px;
        display: -webkit-box;
        margin: 0 auto;
        font-size: 14px;
        line-height: 18px;
        -webkit-line-clamp: 8;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .featured-listing .listing-price {
        width: 100% !important;
    }

    .listing-container.featured-listing:hover {
        height: calc(75vw + 236px);
    }

        .listing-container.featured-listing:hover .listing-image {
            height: calc(75vw - 30px);
        }
}

@media screen and (max-width:450px) {
    .featured-listing. listing-description {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        height: auto;
    }

    .featured-listing .listing-container {
        height: 75vw;
    }

    .featured-listing .listing-price {
        margin-bottom: -2px;
    }

    .featured-listing .listing-container:hover {
        height: 100vw;
    }
}
/*@media only screen and (min-width:1131px) {
    .listing-container:nth-of-type(4n) {
        margin-right: 0;
    }
}

@media only screen and (max-width:1130px) {
    .listing-container {
        width: 32%;
    }

        .listing-container:nth-of-type(3n) {
            margin-right: 0;
        }
}

@media only screen and (max-width:980px) {
    .listing-container {
        width: 49%;
    }

        .listing-container:nth-of-type(3n) {
            margin-right: 1%;
        }

        .listing-container:nth-of-type(2n) {
            margin-right: 0;
        }
}

@media only screen and (max-width:767px) {
    .listing-container {
        width: 49%;
    }

        .listing-container:nth-of-type(2n) {
            margin-right: 0;
        }
}

@media only screen and (max-width:767px) {
    .listings-loading {
        left: 0;
        right: 0;
        bottom: 50px;
        text-align: center;
    }

    .listing-container {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}*/



.listing-container.regular-listing {
    position: relative;
    float: left;
    width: 99%;
    color: #333;
    margin-right: 1%;
    margin-bottom: 1%;
}

    .listing-container.regular-listing:hover {
        -webkit-box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.12);
        box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.12);
    }

        .listing-container.regular-listing:hover .listing-image img {
            /*transform: scale(1.2);
            -webkit-transform: scale(1.2);*/
            opacity: 0.7;
        }

        .listing-container.regular-listing:hover .listing-image-overlay,
        .listing-container.regular-listing:hover .listing-image-text {
            display: block;
        }


        .listing-container.regular-listing:hover .listing-price {
            background-color: #ce6c00;
        }

/*.listing-container.regular-listing:hover .listing-information {
            background-color: #4e4547;
        }*/

.regular-listing .listing-clickable {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 23;

}

.regular-listing.listing-container {
    position:relative;
    height:200px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
    margin-top:15px;
}
.regular-listing.listing-container:hover {
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.regular-listing .listing-image {
    /*min-height: 100px;*/
    position:absolute;
    left:0px;
    top:0px;
    display:inline-block;
    height:100%;
    width:200px;

    background-position: center center;
    background-size: cover;
    /*position: relative;
    width: 100%;
    line-height: 0;*/
}

.regular-listing .listing-information {
    position:absolute;
    left:200px;
    top:0;
    height:100%;
    display:inline-block;
}

    .regular-listing .listing-image img {
        width: 100%;
        /*-webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -o-transition: all 1s ease;
        -ms-transition: all 1s ease;
        transition: all 1s ease;*/
    }

.regular-listing .listing-image-overlay {
    background-color: #000;
    opacity: 0.6;
    margin: auto;
    display: none;
    z-index: 21;
}

.regular-listing .listing-image-overlay,
.regular-listing .listing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.regular-listing .listing-image-text {
    position: absolute;
    top: 45%;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    z-index: 22;
    display: none;
}

.regular-listing .listing-overlay {
    opacity: 1;
    z-index: 20;
}

    .regular-listing .listing-overlay img {
        max-width: 100%;
    }

.regular-listing .listing-information {
    color: #131313;
    background-color: rgb(250,250,250);
    /*padding: 20px;*/
    padding-top: 10px;
    width: calc(100% - 200px);
}

.regular-listing .listing-title,
.regular-listing .listing-address-suburb,
.regular-listing .listing-address-street,
.regular-listing .listing-price {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.regular-listing .listing-price {
    position:absolute;
    bottom:0px;
    left:0px;
    width:100%;

}

.regular-listing .listing-title {
    height: 16px;
    font-weight: bold;
    padding: 0 20px;
    margin-bottom: 10px;
}

.regular-listing .listing-address-suburb {
    padding: 0 20px;
    margin-bottom: 10px;
}

.regular-listing .listing-address-street {
    padding: 0 20px;
}

.regular-listing .listing-price {
    height: 36px;
    font-weight: bold;
    color: #FFF;
    background-color: #ff8600;
    padding: 10px 20px;
    padding-right: 53px;
    margin-top: 10px;
}

.regular-listing s.listing-details-arrows {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-image: url(../images/right-arrow.png);
    background-position: center center;
    padding: 8px 19px;
    background-size: contain;
}


@media only screen and (min-width:1131px) {
    .regular-listing.listing-container:nth-of-type(4n) {
        margin-right: 0;
    }
}

@media only screen and (max-width:1130px) {
    .regular-listing .listing-description {
        display: block;
        display: -webkit-box;
        height: 54px;
        margin: 0 auto;
        font-size:14px;
        line-height: 18px;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .regular-listing.listing-container:nth-of-type(3n) {
            margin-right: 0;
        }
}

@media only screen and (max-width:980px) {
        .regular-listing .listing-title {
            max-width:500px;
        }

        /*.regular-listing.listing-container:nth-of-type(2n) {
            margin-right: 0;
        }*/
}

/*@media only screen and (max-width:767px) {
    .listing-container {
        width: 49%;
    }

        .listing-container:nth-of-type(2n) {
            margin-right: 0;
        }
}*/

@media screen and (max-width:800px) {
    .regular-listing.listing-container {
        height: auto;
        width: 48%;
        margin-right: 1% !important;
        padding-bottom: 42px;
    }

    .regular-listing .listing-image {
        display: block;
        width: 100%;
        height: 35vw;
        top: 0;
        left: 0;
        position: initial;
    }

    .regular-listing .listing-information {
        display: block;
        width: 100%;
        position: initial;
    }
}


    @media only screen and (max-width:650px) {
        .listings-loading {
            left: 0;
            right: 0;
            bottom: 50px;
            text-align: center;
        }

        .regular-listing.listing-container {
            width: 100%;
        }

        .featured-listing.listing-container {
            width: 100%;
        }
    }




.listing-youtube-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #ff8503;
    display: flex;
    flex-wrap: nowrap;
    height: 40px;
}

div.listing-container img.listing-yt-logo {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 1 !important;
    display: block;
    margin: 5px;
    height: calc(100% - 10px);
    width: auto !important;
}

.yt-callout {color: #fff;font-weight: 600;font-size: 28px;line-height: 38px;margin-left: 10px;}

.flex-listings {
    display: flex;
    flex-wrap: wrap;
    white-space: nowrap;
    transition: all 0.3s;
    margin: 0 -1%; /* This is to make the outside of the listing flexbox line up with the content container */
}

.box-listing {
    display: block;
    flex-shrink: 0;
    width: calc(25% - 20px);
    margin: 10px;
    background: #fafafa;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    padding-bottom: 40px;
}

.listing-image {
    background-size: cover;
    position: relative;
}

.listing-image:before {
    content: " ";
    padding-top: 75%;
    display: block;
}

.listing-body {
    padding: 15px;
    white-space: normal;
    text-align: justify;
}

.listing-body > * {
    text-align: justify;
}

a.box-listing-clickable {
    text-decoration: none;
    color: #000;
    display: block !important;
}

h3.listing-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    text-transform: none;
    margin-bottom: 5px;
    color: #89c52d;
    text-transform: uppercase;
}

h4.listing-location {
    font-weight: normal;
    margin-bottom: 5px;
    line-height: 20px;
}

.listing-description {
    padding: 0;
}

.listing-bottom-bar {
    background-color: #ff8400;
    padding: 10px 15px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

h4.listing-price {
    padding: 0;
    margin: 0;
    line-height: initial;
    height: auto;
}

.box-listing:hover .listing-yt {
    background-color: rgba(0,0,0,0.6);
}

.listing-yt {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.3s;
}
.box-listing:hover .listing-yt .yt-logo {
    transform: translateX(-50%) translateY(-50%) scale(1.15);
} 

.yt-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 70px;
    height: auto;
    transition: all 0.3s;
    opacity: 0.8;
}

@media screen and (max-width: 1024px) {
    .box-listing {
        width: calc(33% - 20px);
    }
}
@media screen and (max-width: 768px) {
    .box-listing {
        width: calc(50% - 20px);
    }
}
    
@media screen and (max-width: 500px) {
    .box-listing {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

img.listing-footer-yt {
    width: 24px;
    height: 17px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}


h4.listing-price {
    max-width: calc(100% - 25px);
    text-align: justify;
}

.flex-listings.loading {
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
}

.listing-price {
    color: #FFF;
    text-overflow: ellipsis;
    white-space: nowrap; 
    overflow: hidden;
}

.listing-image-banner {
    position: absolute;
    top: 25%;
    left: 0%;
    background: rgba(255, 132, 0, 0.8);
    box-shadow: 0 0 4px rgba(33, 33, 33, 0.4);
    color: #FFF;
    font-weight: bold;
    padding: 12px;
    transform: translateY(-25%) translateX(-25%) rotate(-45deg);
    width: 100%;
    text-align: center;
}
