:root {
    --property--banner-width: 80vw;
}

@media screen and (max-width:767px){
   :root {
    --property--banner-width: 90vw;
    } 
}

#listingArea {
    font-size:16px;
}

.elementor-location-header > .elementor-top-section {
    box-shadow:none !important;
}

.single-listings #page .site-content{
    padding-top:0;
}

@media (min-width: 768px) and (max-width: 991px){
    .single-listings .container, .single-listings .container-sm, .single-listings .container-md {
        max-width: unset;
    }
}

/* Buttons */

.single-listings .button {
    display:inline-block;
    padding:15px 30px;
    font-size:1em;
    line-height:1em;
    background: var(--e-global-color-accent);
    border:2px solid var(--e-global-color-accent);
    color:#fff;
}

.single-listings .button.outline {
    color: var(--e-global-color-accent);
    background:transparent;
}

.single-listings .button.outline:hover {
    background: var(--e-global-color-accent);
    color:#fff;
}

/* Anchor */

a.anchor {
    display: block;
    position: relative;
    top: -150px;
    visibility: hidden;
}

/* Hero Gallery */

#listingBanner {
    margin-bottom: 30px;
    overflow:hidden;
}

#hero-gallery, .galleryImage {
    width:100%;
    max-width:100vw;
    padding:0 !important;
}

.galleryImage img {
    width:100%;
    max-width:100vw;
    height:40vh;
    max-height:815px;
    object-fit:cover;
}

@media screen and (min-width: 768px){
    .galleryImage img {
         height:56.25vw;   
    }
}

#hero-gallery button:not(:hover):not(:active):not(.has-background) {
    background:unset !important;
}

#hero-gallery:not(.slick-initialized) .galleryImage{
    display:none;
}

#hero-gallery:not(.slick-initialized) .galleryImage:first-child{
    display:block;
}

#hero-gallery button.slick-next,
#hero-gallery button.slick-prev {
    height:100%;
    width:5%;
    background:unset !important;
}

#hero-gallery .slick-next {
    right:0;
}

#hero-gallery .slick-prev {
    left:0;
    z-index:1;
}

#hero-gallery .slick-next:before,
#hero-gallery .slick-prev:before {
    color:#fff;
}

#hero-gallery .slick-dots {
    bottom: 20px;
}

#hero-gallery .slick-dots li button:before {
    color:#fff;
    font-size:12px;
    opacity: 0.6
}

#hero-gallery .slick-dots li.slick-active button:before {
    opacity: 1
}

#hero-gallery .slick-list:after {
    content: '';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,0.4598214285714286) 0%, rgba(0,0,0,0) 35%);
}

@media screen and (max-width:767px){
    #hero-gallery .slick-dots li,
    #hero-gallery .slick-dots li button,
    #hero-gallery .slick-dots li button:before{
        height:14px;
        width:14px;
    }
    #hero-gallery .slick-dots li button {
        padding:2px;
    }
    #hero-gallery .slick-dots li button:before{
        font-size:10px;
    }
}

/* Listing Container */

.listingContainer {
    width: var(--property--banner-width);
    margin:0 auto;
}

/* Review Summary */

.homhero-review-summary,
.homhero-review-summary .review-stars {
    display:flex;
}

.homhero-review-summary .review-stars{
    padding-right: 15px;
    font-size:18px;
}

.homhero-review-summary .review-stars i {
    font-size: 20px;
    color: var(--theme--star-color, #ffc300);
}

.homhero-review-summary .rating,
.review-number{
    font-weight:700;
    padding-right:8px;
}

/* Secondary Gallery */

#listingSecondaryGallery .image {
    position:relative;
    flex-grow:1;
}
#listingSecondaryGallery .image a{
    overflow:hidden;
}
#listingSecondaryGallery .image a,
#listingSecondaryGallery .image a > img {
    width:100%;
    height: 250px;
    display:block;
}
#listingSecondaryGallery .image a > img {
    object-fit:cover;
}
@media screen and (max-width:767px){
    #listingSecondaryGallery .reduced-height.image a,
    #listingSecondaryGallery .reduced-height.image a > img {
        height:125px;
    }
}

/* Room Configuration */

.roomCard.card,
.homhero-review.card{
    padding: 20px;
}

.roomHeading,
.review-header{
    padding-bottom:0.5em;
    border-bottom: 1px solid #ddd;
    margin-bottom:0.5em;
}

.roomDetails ul {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
    margin-left: 0;
}

.roomDetails ul li {
    padding-left:35px;
    position:relative;
}

.roomDetails ul li::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f236';
    color: var(--e-global-color-accent);
    position: absolute;
    left:0;
}

.roomDetails ul li.toilet::before,.roomDetails ul li.bidet::before {
    content: '\f7d8'
}

.roomDetails ul li.shower::before,.roomDetails ul li.outdoor-shower::before,.roomDetails ul li.shower-outdoor::before  {
    content: '\f2cc'
}

.roomDetails ul li.bath::before,.roomDetails ul li.spa-bath::before,.roomDetails ul li.bath-shower-combined::before,.roomDetails ul li.bath-spa::before {
    content: '\f2cd'
}

.roomDetails ul li.sink::before {
    content: '\e06d'
}

.feature-list + .bathroom-list {
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #ddd;
}

/* Reviews */


.review-stars {
    display:flex;
    color: var(--theme--star-color, #ffc300);
    padding-right:8px;
}

.review-reply{
    background: #f8f8f8; 
    border: 1px solid #eee; 
    padding: 5px 15px; 
    margin-top: 5px;
}

/* Headings */

h1#page-title {
    font-size:2.5em;
    margin-bottom:0.5em
}
.single-listings h2,
.single-listings h3{
    font-size:1.5em;
    text-align:left;
    font-weight:500;
    margin-bottom:0.5em;
}

.single-listing-block h2 {
    font-size:1.25em;
    text-align:left;
    margin-bottom: 15px;
}

#listingArea p {
    margin-bottom:1em;
}

#listingContent,
#booking_widget,
.single-listing-block {
    margin-bottom:2em;
}

@media screen and (min-width:768px){
    #listingHeader h1{
        text-align:left;
        margin-bottom: 0.25em;
    }
}

@media screen and (max-width: 767px) {
    h3.short-description{
        text-align:center;
    }
}

@media screen and (min-width:1200px){
    #listingHeader h1{
        font-size:2.5em;
    }
    .single-listings h2 {
        font-size:1.5em;
    }
}
.facilities-wrapper > div,
.address-rating > div{
    margin-left:-15px;
    margin-right:-15px;
}

.propField {
    padding:0 15px;
    margin-bottom:5px;
}

.propField i {
    font-size:18px;
    color: var(--e-global-color-accent);
}

.propField button.btn {
    font-size: 0.83em;
    padding: 10px 15px;
}

.propField button i {
    font-size: 1em;
    color: #fff;
}

#listingHeader > div:last-child {
    padding-bottom:1em;
    margin-bottom:3em;
    border-bottom:1px solid #ccc;
}

/* Features */

.main-features ul {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    list-style:none;
    padding:0;
    margin-left:-15px;
    margin-right:-15px;
    margin-bottom:30px;
}

.main-features ul li {
    padding-left:15px;
    padding-right:15px;
    padding-bottom:15px;
}

.main-features ul li img {
    max-width: 60px;
}

/* Amenities */

.amenities .item-list {   
    -moz-column-width: 3em; /* Firefox */
    -webkit-column-width: 13em; /* webkit, Safari, Chrome */
    column-width: 13em
}

.amenities .item-list ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.amenities .item-list ul li {
    position: relative;
    padding-left:25px;
    margin-bottom:1em;
    line-height:1.25em;
}

.amenities .item-list ul li:first-child {
    margin-top:0px;
}

.amenities .item-list ul li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight:900;
    position: absolute;
    left: 0;
    color: var(--e-global-color-accent);
}

/* Map Block */

.map-address {
    display:block;
    margin-bottom:10px;
}

.listing-embed-map,
.homhero-map {
    overflow:hidden;
}

/* Booking Widget */

.booking-offset {
    margin-left:-10px;
    margin-right:-10px;
}

/*Secondary Gallery Overlay + images*/
.more-images {
    position: absolute;
    top: 0;
    width: 100%;
}
a.secondary-gallery-show-last-Image {
    padding-right: 1.5rem;
}
.more-images-text {
        height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    color: var(--wp--preset--color--white);
    background-color: rgb(0,0,0,0.5);
}

/* Shorlist on Page*/
.singleListing.shortlist-container .fa.fa-heart._heartFunction {
    font-weight: 400;
    color: #000000;
    font-size: 25px;
}

.singlelistingFav:hover {
   cursor:pointer;
}
.singlelistingFav.shortlist-container .fa.fa-heart{
   font-weight: 900;
   color: #ffffff;
}
.singlelistingFav.shortlist-container:hover .fa.fa-heart , .singlelistingFav.shortlist-container.active .fa.fa-heart, #mobile-buttons > a.mobile.shortlist-container.active .fa.fa-heart._heartFunction {
   font-weight: 900;
   color: #dc3545;
}

/* Mobile Buttons */

#mobile-buttons {
    display:none;
    background: var(--e-global-color-accent);
    width:100vw;
    position:fixed;
    bottom:0;
    z-index: 100;
}

#mobile-buttons > a {
    z-index:1;
    flex-grow: 1;
    display:block;
    text-align:center;
    padding: 15px 0;
    line-height:1em;
    color:#fff;
    border-right:2px solid rgba(0,0,0,0.4);
    border-left:2px solid rgba(255,255,255,0.4);
    border-top:2px solid rgba(255,255,255,0.4);
    font-size: 14px;
}

#mobile-buttons > a:first-child {
    border-left: none;
}

#mobile-buttons > a:last-child {
    border-right: none;
}

@media screen and (max-width: 767px){
    body.single-listings {
        padding-bottom: 45px !important;
    }
    #mobile-buttons {
        display:flex;
    }
}

textarea.form-control{
    border: var(--form--border-width) solid var(--form--border-color);
    border-radius: var(--form--border-radius);
    color: var(--form--color-text);
    line-height: var(--global--line-height-body);
    padding: var(--form--spacing-unit);
    margin: 0 2px;
    max-width: 100%;
}
div#listingGallery .homhero-content {
    position: relative;
}

div#listingGallery .homhero-content .slider-buttons{
    position: absolute;
    z-index:1;
    bottom:1rem;
    left:1rem;
}
