div#hero,
.baner-image{
    position:relative;
}

.baner-image::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

body.admin-bar .baner-image{
    width:100%;
}

#hero > .carousel {
    position:absolute;
    top: 0;
    left: 0;
    right:0;
    bottom:0;
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#hero > .carousel .carousel-inner,
#hero > .carousel .carousel-inner > .carousel-item,
.banner-overlay,
.carouselHeroGallery img {
    height:100%;
}

#hero:not(.alignfull).gallery.is-style-rounded>.carousel,
#hero:not(.alignfull).gallery.is-style-rounded>.banner-overlay {
    border-radius: var(--theme--border-radius);
    overflow: hidden
}

.carouselHeroGallery img {
    object-fit:cover;
    width:100%;
    object-position: center center;
}

.carousel-control-next, .carousel-control-prev {
    max-width: 10vw;
}

.banner-overlay {
    position:relative;
}

.banner-overlay::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:var(--gallery-banner-overlay);
}

.banner-text {
    max-width:80vw;
}

.banner-text h2 {
    font-size:1.75em;
    margin:0 0 0.25em 0;
    line-height:1.2em;
}

.banner-text p {
    margin:0;
}

.listing-info {
    position:absolute;
    bottom: 10px;
    left:50%;
    transform:translateX(-50%);
    background-color:rgba(0,0,0,0.3);
    color:#fff;
    padding: 10px;
    border-radius:var(--theme--button-radius);
    z-index:1;
    max-width:80%;
}

@media screen and (min-width:991px){
    .listing-info {
       bottom:40px; 
    }
}
.listing-info .left{
    padding-left:10px;
}

.listing-info .left,
.listing-info .middle{
    padding-right:15px;
}

.listing-info .left i {
    font-size: 20px;
}

.listing-info .right{
    display:none;
}

.listing-description{
    width: max-content;
    inline-size: max-content;
    max-width: 250px;
    padding-right:20px;
}

h5.listing-title{
    margin:0;
    font-weight:600;
    font-size:15px;
    line-height:1em;
}

h5.listing-title a {
    color:#fff;
}

span.price {
    margin:0;
    font-weight:400;
    font-size:12px;
    line-height:12px;
}

.banner-all-frames {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

.banner-all-frames.change-position-relative {
    position: relative;
    padding: 10vh 1em;
}

.banner-all-frames.change-position-relative .banner-text{
    max-width:100vW;
}

@media screen and (min-width:768px){
    .banner-text h2 {
        font-size:2.25em;
    }
    
    .banner-text p {
        font-size:1.125em;
    }  
    .listing-info .right{
        display:block;
    }
    .listing-description{
        max-width: 350px;
    }
}

@media screen and (min-width:1200px){
    .banner-text h2 {
        font-size:3em;
    }
    
    .banner-text p {
        font-size:1.25em;
    }
    h5.listing-title{
        font-size:18px;
    }
    .listing-info .left i {
        font-size: 30px;
    }
    span.price {
        font-size:14px;
    }
    .listing-description{
        max-width: 500px;
    }
}

.search-bar-below {
    max-width:unset !important;
}

.desktop-search-bar-holder-bottom {
    position: absolute;
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: border-box;
    bottom: var(--gallery-bottom-offset, 40px);
}

/* Dynamic Heights */

#hero,
.banner-overlay,
.carouselHeroGallery img,
.banner-all-frames.change-position-relative{
    min-height: var(--gallery-min-height-mobile);
}
body.admin-bar #hero,
body.admin-bar .banner-overlay,
body.admin-bar .carouselHeroGallery img,
body.admin-bar .banner-all-frames.change-position-relative{
    min-height: calc(var(--gallery-min-height-mobile) - 46px);
}
.carouselHeroGallery {
    max-height: var(--gallery-min-height-mobile);    
}
body.admin-bar .carouselHeroGallery{
    max-height: calc(var(--gallery-min-height-mobile) - 46px);
}

body.admin-bar .carouselHeroGallery.change-max-height, .carouselHeroGallery.change-max-height{
    max-height:unset!important;
}
@media only screen and (min-width: 576px) {
    #hero,
    .banner-overlay,
    .carouselHeroGallery img,
    .banner-all-frames.change-position-relative{
        min-height: var(--gallery-min-height-tablet);
    }
    body.admin-bar #hero,
    body.admin-bar .banner-overlay,
    body.admin-bar .carouselHeroGallery img,
    body.admin-bar .banner-all-frames.change-position-relative{
        min-height: calc(var(--gallery-min-height-tablet) - 46px);
    }
    .carouselHeroGallery{
        max-height: var(--gallery-min-height-tablet);   
    }
    body.admin-bar .carouselHeroGallery{
        max-height: calc(var(--gallery-min-height-tablet) - 46px);
    }
}
@media only screen and (min-width: 992px) {
    #hero,
    .banner-overlay,
    .carouselHeroGallery,
    .carouselHeroGallery img,
    .banner-all-frames.change-position-relative{
        min-height: var(--gallery-min-height-laptop);
    }
    body.admin-bar #hero,
    body.admin-bar .banner-overlay,
    body.admin-bar .carouselHeroGallery,
    body.admin-bar .carouselHeroGallery img,
    body.admin-bar .banner-all-frames.change-position-relative{
        min-height: calc(var(--gallery-min-height-laptop) - 32px);
    }
    .carouselHeroGallery{
        max-height: var(--gallery-min-height-laptop);   
    }
    body.admin-bar .carouselHeroGallery {
        max-height: calc(var(--gallery-min-height-laptop) - 32px);
    }
}
@media only screen and (min-width: 1400px) {
    #hero,
    .banner-overlay,
    .carouselHeroGallery,
    .carouselHeroGallery img,
    .banner-all-frames.change-position-relative{
        min-height: var(--gallery-min-height-desktop); 
    }
    body.admin-bar #hero,
    body.admin-bar .banner-overlay,
    body.admin-bar .carouselHeroGallery,
    body.admin-bar .carouselHeroGallery img,
    body.admin-bar .banner-all-frames.change-position-relative{
        min-height: calc(var(--gallery-min-height-desktop) - 32px);
    }
    .carouselHeroGallery{
        max-height: var(--gallery-min-height-desktop);  
    }
    body.admin-bar .carouselHeroGallery {
        max-height: calc(var(--gallery-min-height-desktop) - 32px);
    }
}

#hero.gallery .banner-text > *:not(.search-banner-button) {
    display:flex;
    flex-wrap:wrap;
}

#hero.gallery .banner-text > *:not(.search-banner-button) > *{
    flex-basis:100%;
    width:100%;
}

#hero.gallery span.sub-heading {
    font-size:1.5rem;
    font-weight:normal;
}

@media screen and (max-width: 992px){
    #hero.gallery span.sub-heading {
        font-size:1.25rem;
    }
}