.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 {
    height:100%;
}
body:not(.has-transparent-banner) .hero.gallery.is-style-rounded-corners > .carousel,
body:not(.has-transparent-banner) .hero.gallery.is-style-rounded-corners > .banner-overlay {
    border-radius: var(--theme--border-radius);
    overflow: hidden;
}
@media screen and (min-width:768px){
    .hero.overlap {
        margin-bottom:100px;
    }
}
.hero.gallery .banner-overlay {
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    align-items:center;
}
.banner-content {
    width: 90%;
    max-width: 1200px;
    text-align: center;
    padding: 50px 0;
}
.banner-content.search-bar-left,
.banner-content.search-bar-right{
    display:flex;
    justify-content:space-between;
}
.banner-content.search-bar-left{
    flex-direction: row-reverse;
}
.banner-content > * {
    width: 100%;
}
.banner-content.search-bar-left .banner-text-holder,
.banner-content.search-bar-right .banner-text-holder {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}
.banner-text {
    width:100%;
    flex:100%;
}
#desktop-search-bar-holder {
    display:none;
}
.carouselHeroGallery img {
    object-fit:cover;
    width:100%;
    object-position: center center;
}
.carousel-control-next, .carousel-control-prev {
    max-width:100px;
}
.banner-text .banner-title {
    color:#fff;
    font-size:1.75em;
    font-weight:var(--theme--heading-font-weight);
    margin-bottom:0.2em;
}

.banner-text .banner-subtitle {
    color:#fff;
    font-weight:var(--theme--body-font-weight);
    margin-bottom:0;
}

#desktop-search-bar-holder.bottom,
#desktop-search-bar-holder.overlap {
    position:absolute;
    width:100%;
    padding-left:5%;
    padding-right:5%;
    z-index:2;
    box-sizing: border-box;
}

#desktop-search-bar-holder.overlap {
    bottom:-38px;
}

#desktop-search-bar-holder.center #search-bar,
#desktop-search-bar-holder.bottom #search-bar,
#desktop-search-bar-holder.overlap #search-bar {
    text-align:center;
}

#desktop-search-bar-holder.left #search-bar,
#desktop-search-bar-holder.right #search-bar{
    background:#fff;
    padding:40px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

#desktop-search-bar-holder.center #search-bar .search-form,
#desktop-search-bar-holder.bottom #search-bar .search-form,
#desktop-search-bar-holder.overlap #search-bar .search-form {
    width:auto;
    padding: 0 10px;
    background-color:#fff;
}

.hero.gallery #desktop-search-bar-holder.left #search-bar,
.hero.gallery #desktop-search-bar-holder.right #search-bar,
.hero.gallery #desktop-search-bar-holder.center #search-bar .search-form,
.hero.gallery #desktop-search-bar-holder.bottom #search-bar .search-form,
.hero.gallery #desktop-search-bar-holder.overlap #search-bar .search-form {
    border-radius: var(--theme--border-radius);    
}

#desktop-search-bar-holder.center #search-bar > h2,
#desktop-search-bar-holder.center #search-bar > p,
#desktop-search-bar-holder.bottom #search-bar > h2,
#desktop-search-bar-holder.bottom #search-bar > p,
#desktop-search-bar-holder.overlap #search-bar > h2,
#desktop-search-bar-holder.overlap #search-bar > p {
    display:none;
}

#desktop-search-bar-holder.center{
    margin-top:30px;
}

@media only screen and (min-width: 768px) {
    #desktop-search-bar-holder {
        display:block;
    }
    .banner-text-holder.left,
    .banner-text-holder.right{
        width: 48%;
    }
    #desktop-search-bar-holder.left,
    #desktop-search-bar-holder.right{
        width: 48%;
    }
    .banner-content.search-bar-left > *,
    .banner-content.search-bar-right > * {
        text-align:left;
    }
    .banner-text .banner-title{
        font-size:2em;
    }
}
@media only screen and (min-width: 992px) {
    .banner-text-holder.left,
    .banner-text-holder.right{
        width: 50%;
    }
    #desktop-search-bar-holder.left,
    #desktop-search-bar-holder.right{
        width: 40%;
    }
    .banner-text .banner-title{
        font-size:2.25em;
    }
}
@media only screen and (min-width: 1400px) {
    .banner-text-holder.left,
    .banner-text-holder.right{
        width: 52%;
    }
    #desktop-search-bar-holder.left,
    #desktop-search-bar-holder.right{
        width: 35%;
    }
    .banner-text .banner-title{
        font-size:2.5em;
    }
}