/* Parent Theme Overrides */
body {
    --theme--primary-font: "Montserrat", sans-serif;   
    --theme--secondary-font: "Montserrat", sans-serif; 
    --theme--body-font: var(--theme--primary-font);
    --theme--heading-font: var(--theme--secondary-font);
    --theme--button-font: var(--theme--primary-font);
    --theme--input-font: var(--theme--primary-font);
    --theme--body-font-weight: 300;
    --theme--heading-font-weight: 600;
    --theme--button-font-weight: 600;
    --theme--input-font-weight: 400;
    --text-size-largest: 1.375em;
    --text-size-larger: 1.25em;
    --text-size-large: 1.125em;
    --text-size-small: 0.875em;
    --text-size-smaller: 0.75em; 
    --text-size-smallest: 0.625em; 

    --theme--inset-amount : var(--master--inset-amount);
    --page--inset-amount : var(--theme--inset-amount);

    --theme--footer-background-color: var(--theme--footer-color);
    --theme--footer-heading-color: var(--theme--footer-highlight-color);
    --global--admin-bar--height:32px;
}
@media screen and (max-width: 991px){
    body {
        --theme--inset-amount: min(calc(var(--master--inset-amount) * 0.75), 20px);
    }
}
@media screen and (max-width: 575px){
    body {
        --theme--inset-amount: min(calc(var(--master--inset-amount) * 0.5), 15px);
    }
}
html.js { margin-top: 0 !important; }
body.logged-in.admin-bar #page-wrapper { padding-top: 32px !important; }
@media screen and ( max-width: 782px ) {
    html.js { margin-top: 0 !important; }
    body.logged-in.admin-bar #page-wrapper { padding-top: 46px !important; }
}
body{
    font-size:16px;
}
body.mm-wrapper {
    overflow:initial;
}
/* .alignfull */
#listingGallery {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    max-width: none;
}
body:not(.has-banner):not(.single-listings) #page .site-content{
    padding-top:60px;
}
 body.homhero-booking-page.homhero-booking-page-new-style-form #page .site-content{
    padding:0;
}
#hh-booking-primary .page-content{
    margin:0px;
}
@media screen and (min-width:992px){
    :root {
        --text-size-largest: 1.3333em;
        --text-size-larger: 1.2222em;
        --text-size-large: 1.1111em;
        --text-size-small: 0.8889em;
        --text-size-smaller: 0.7778em;
        --text-size-smallest: 0.6667em
    }
    :root :where(body){
        font-size: 18px;
    }
}

body.inset .entry-content > .alignfull:not(.ignore-inset):not(.is-style-ignore-inset),
body.inset #mobile-search-bar,
body.inset #listingGallery{
    width: calc(100vw - var(--theme--inset-amount) * 2);
    margin-left: calc(50% - 50vw + var(--theme--inset-amount));
}
body.inset .wp-block-group.alignfull.is-style-ignore-inset{
    padding-left:0;
    padding-right:0;
}
body.inset .entry-content > .alignfull > .alignfull.is-style-ignore-inset{
    width: 100vw;
    margin-left: calc(var(--theme--inset-amount) * -1);
}

body.inset .wp-block-media-text,
body.inset .wp-block-media-text.has-media-on-the-right {
    grid-gap: 40px;
    grid-template-columns: 1fr 1fr;
}
.wp-block-media-text__media:not(.is-style-ignore-inset),
.wp-block-cover:not(.is-style-ignore-inset),
.wp-block-image:not(.is-style-ignore-inset) {
    overflow:hidden;
    border-radius: var(--theme--border-radius);
}
.alignfull,
.alignwide {
    margin-bottom:0;
}
#page {
    padding-top: 0;
    max-width: 100vw;
}

@media (max-width: 600px) {
    #page {
        padding-top: 0;
    }
}
@media (min-width: 1000px) {
    .wp-block-cover.alignwide {
        width: 75vw;
        padding-left: 10%;
        padding-right:10%;
    }
}
@media (max-width: 576px) {
    #page .site-content{
        padding-left:var(--page--inset-amount);
        padding-right:var(--page--inset-amount);
    }
}
/* Color Overrides */
.header-text a,
.header-text a:hover,
.main-navigation a:hover,
.main-navigation ul li.current-menu-item a,
.main-navigation ul li.current-page-item a,
.post-navigation a:hover .post-title,
#page .more-link:hover,
.site-footer a,
.entry-content p a,
.entry-content p a:hover,
.entry-content .meta-list a {
    color: var(--theme--primary-color);
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.comment-navigation a,
.post-cats a,
.entry-cats a,
.mobile-navigation,
.toggle-active,
.page-numbers.current,
.page-numbers:hover {
    background-color: var(--theme--primary-color);
}

.home-nav .active,
.home-nav .active:hover {
    border-bottom-color: var(--theme--primary-color);
}
h1.entry-title {
    text-align:center;
}
.gb-button {
    display: inline-block;
    border: 2px solid var(--theme--primary-color);
}
.gb-button-size-medium{
    padding: 15px 20px;
    line-height: 1em;
}
.gb-button-shape-rounded, input[type="submit"].gb-button-shape-rounded{
    border-radius: var(--card--border-radius);
}
.button,
.wp-block-button__link,
button.btn{
    display: inline-block;
    border-radius: var(--card--border-radius);
    background-color: var(--theme--primary-color);
    border: 2px solid var(--theme--primary-color);
    padding: 15px 20px;
    line-height:1em;
    font-size: 1em;
}
.button.outline,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.outline {
    display:inline-block;
    background-color: transparent;
    color: var(--theme--primary-color);
    border-color: var(--theme--primary-color);
}
.button:hover,
.button.outline:hover,
a.wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
a.gb-button:hover {
    background-color: var(--theme--primary-color) !important;
    color: #fff !important;
    box-shadow: inset 0 0 200px rgb(255 255 255 / 15%) !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list {
    margin-left:0;
}
.wp-block-latest-posts.wp-block-latest-posts__list li {
    margin-bottom:15px;
}
.wp-block-latest-posts__featured-image img {
    width:100%;
    object-fit:cover;
}
.wp-block-latest-posts.wp-block-latest-posts__list:not(.is-grid) h3 {
    font-size:1.125em;
}

@media screen and (max-width: 600px) {
    .wp-block-latest-posts.is-grid li {
        margin-right:0;
    }
}
@media screen and (min-width: 600px) and (max-width: 767px){
    .wp-block-latest-posts.is-grid.columns-3 > li {
        flex:40%;
    }
    .wp-block-latest-posts.is-grid.columns-3 > li:first-child {
        flex: 100%;
        margin-right:0;
    }
}

/* Custom Styles */
.wp-block-group.is-style-rounded,
.archive #hero,
.single-post #hero{
    border-radius:var(--theme--border-radius);
    overflow:hidden;
}
#hero {
    position:relative;
    z-index:1;
}
.menu-icons {
    display:flex;
    align-items:center;
}
#headerSearch {
    background:unset;
    color: var(--theme--text-color);
    padding:10px;;
}
#headerSearch i {
    padding-top:5px;
    font-size:1.5em;
}

/* Header */

#masthead > .top-navigation > .container-fluid {
    padding:0;
}

.site-header {
    padding: 0 var(--theme--inset-amount);
    top: 0;
    position: relative;
    z-index: 999;
    background-color:#fff;
    transition-duration: 300ms;
    box-shadow: 0 0 0;
    border:0;
    box-sizing:border-box;
}

/* The sticky class is added to the header with JS when it reaches its scroll position */
header.sticky {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 999;
    box-shadow: 0 2px 5px rgba(0,0,0,.16);
}

.site-identity {
    padding:15px 0;
}

.main-navigation ul li a {
    margin-bottom:0;
    padding-top:10px;
    padding-bottom:10px;	
}

.site-title-wrap img {
    width:40vw !important;
    width:auto;
    max-width:200px;
}

@media screen and (min-width: 768px){
    .site-title-wrap img {
        height:80px;
        width:auto !important;
        max-width:unset;
    }
}

@media screen and (min-width:992px){
    .mburger {
        padding-left: 50px;
    }
}

/* Footer */

.footer-widgets section + section {
    margin-top:20px;
}

.site-footer {
    background-color: var(--theme--footer-background-color);
    color: var(--theme--footer-text-color);
    font-size: var(--text-size-small);
    overflow: hidden;
}

.site-footer .container {
    padding-left:var(--theme--inset-amount);
    padding-right:var(--theme--inset-amount);
}

.site-footer table {
    font-size: unset;
}

.site-footer a {
    color: var(--theme--footer-text-color);  
}

.site-footer a:hover {
    color: var(--theme--footer-highlight-color); 
} 

.site-footer h2, .site-footer .h2, .site-footer h3, .site-footer .h3, .site-footer h4, .site-footer .h4, .site-footer h5, .site-footer .h5, .site-footer h6, .site-footer .h6 {
    color: var(--theme--footer-heading-color);     
}

.footer-widgets .widget_nav_menu ul.menu li {
    padding-left:20px;
    position:relative;
}

.footer-widgets .widget_nav_menu ul.menu li:before {
    content: '\f054';
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    position:absolute;
    left: 0;
    color: var(--theme--footer-highlight-color); 
}

.footer-widgets {
    display:flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
}

@media screen and (min-width: 768px){
    .footer-widgets .footer-column {
        flex-grow:1;
    }
}

@media screen and (min-width: 1280px){
    .footer-widgets {
        flex-wrap: unset;
    }
}

.site-footer .wp-block-contact-form-7-contact-form-selector input {
    border-radius: var(--card--border-radius);
    margin-bottom: 0.25em;
}

.footer-bottom{
    display:flex;
    justify-content: space-between;
    align-items:center;
}
@media screen and (max-width:768px){
    .footer-bottom {
       flex-direction: column;
    }
    .footer-bottom .left,  .footer-bottom .right{
        text-align: center;
    }
}
.footer-tagline {
    width:unset;
}

.site-footer .site-info {
    display:flex;
    align-items:center;
}

.site-footer .site-info a,
.site-footer .site-info img{
    display:inline-block;
    height:32px;
    border-bottom:none;
    width:auto;
}

.footer-bottom nav li {
    margin-right:0;

}

.footer-bottom nav li::after{
    content: "|";
    margin-left:5px;
}

.footer-bottom nav li:last-child::after{
    content: none;
    margin-left:5px;
}

/* Blog Page */

.single-post h1.entry-title {
    text-align:left;
}

.blog-hero {
    margin-bottom:30px;
}

.blog-hero img{
    width:100%;
    max-height:350px;
    object-fit:cover;
    display:block;
}

@media screen and (min-width: 992px){
    .blog-hero img{
        max-height:400px;
    }
    .blog-hero {
        margin-bottom:45px;
    }
}

@media screen and (min-width: 1200px){
    .blog-hero img{
        max-height:500px;
    }
    .blog-hero {
        margin-bottom:60px;
    }
}
/*Transparent Header*/

.has-banner.has-transparent-banner.has-gallery-banner .has-image-banner-overlay, .has-banner.has-transparent-banner.has-video-banner .has-video-banner-overlay {
    margin-left: calc(50% - 50vW) !important;
    width: 100vW !important;
}

.has-banner.has-transparent-banner .site-header.has-transparent-header {
    background-color: transparent;
    position:absolute;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header #site-navigation > div > ul > li > a, .has-banner.has-transparent-banner .site-header.has-transparent-header a.mburger, .has-banner.has-transparent-banner .site-header.has-transparent-header i{
    color: #fff;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header.sticky #site-navigation > div > ul > li > a, .has-banner.has-transparent-banner .site-header.has-transparent-header.sticky a.mburger, .has-banner.has-transparent-banner .site-header.has-transparent-header.sticky i{
    color: unset;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header.sticky{
    background-color: #fff;
     position:fixed;
}
.admin-bar {
	--global--admin-bar--height: 32px;
}
@media only screen and (max-width: 782px) {

	.admin-bar {
		--global--admin-bar--height: 46px;
	}
}
.admin-bar.has-banner.has-transparent-banner .site-header.has-transparent-header {
    top: var(--global--admin-bar--height);
}
@media screen and (max-width: 600px){
#wpadminbar {
    position: fixed;
}
}
.has-banner.has-transparent-banner  .site-header.has-transparent-header::before {
    position:absolute;
    display:block;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.3) 100%);
    transition-duration: 200ms;
}

.has-banner.has-transparent-banner .site-header.has-transparent-header.sticky::before {
    opacity:0;
}
.has-banner.has-transparent-banner #hero.gallery.has-image-banner-transparent.has-gallery-banner,.has-banner.has-transparent-banner #hero.video.has-video-banner-transparent.has-video-banner{
    margin-left: calc(50% - 50vW);
    width: 100vW;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header .solid-logo {
    display: none;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header.sticky .transparent-logo {
    display: none;
}
.has-banner.has-transparent-banner .site-header.has-transparent-header.sticky .solid-logo {
    display: inline-block;
}
.grecaptcha-badge { 
    visibility: hidden; 
}
.google-recaptcha-disclaimer{
    /*text-align: center;*/
}