/* Shared layout corrections: image bounds, consistent cards and responsive footer. */
.heide-reference-rooms{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;float:none!important;width:100%;height:auto!important}
.heide-reference-rooms>.nd_booking_masonry_item{position:static!important;float:none!important;width:auto!important;min-width:0;display:flex;top:auto!important;left:auto!important}
.heide-reference-rooms>.nd_booking_masonry_item>.nd_booking_padding_15{display:flex;float:none;width:100%;min-width:0}
.heide-reference-rooms .nd_booking_border_1_solid_grey.nd_booking_bg_white{display:flex;flex-direction:column;width:100%;min-width:0;float:none}
.heide-reference-rooms .nd_booking_position_relative{position:relative;isolation:isolate;aspect-ratio:4/3;flex:none;overflow:hidden;float:none}
.heide-reference-rooms .nd_booking_position_relative>a.heide-image-link{display:block;width:100%;height:100%;line-height:0}
body.heide-campground-4 #heide-main .heide-reference-rooms .nd_booking_position_relative>a>img,body.heide-campground-4 #heide-main .heide-reference-rooms .nd_booking_position_relative>img{display:block;float:none;width:100%;height:100%;object-fit:cover}
.heide-reference-rooms .nd_booking_bg_greydark_alpha_gradient_3{inset:0;top:0;pointer-events:none;width:100%;height:100%;z-index:1}
.heide-reference-rooms .nd_booking_border_1_solid_grey>.nd_booking_padding_30{display:flex;flex-direction:column;flex:1;float:none;min-width:0}
.heide-reference-rooms .nd_booking_padding_30>p{flex:1;overflow-wrap:anywhere;hyphens:auto}
.heide-reference-rooms .heide-original-room-title{overflow-wrap:anywhere;hyphens:auto;min-width:0}
.heide-reference-rooms .nd_booking_padding_30>.nd_booking_section{min-width:0;flex-shrink:0}
.heide-reference-rooms .nd_booking_padding_30>a{max-width:100%;box-sizing:border-box}
.heide-reference-rooms .nd_booking_padding_30>.nd_booking_section:last-child{margin-top:auto}
.heide-reference-rooms .nd_booking_display_table{max-width:100%;white-space:normal}
.heide-reference-result-list .mphb_sc_search_results-wrapper{align-items:stretch}
.heide-reference-result-room{display:flex!important;min-width:0}
.heide-reference-result-room[hidden]{display:none!important}
.heide-reference-result-room .heide-reference-rooms{display:flex!important;flex:1;width:100%}
.heide-reference-result-room .heide-reference-rooms>.nd_booking_masonry_item{width:100%!important}
.heide-reference-result-room .mphb-reserve-room-section{margin-top:auto}
#nd_options_footer_5{clear:both;min-width:0}
#nd_options_footer_5 img{height:auto!important;max-width:100%;object-fit:contain}
#nd_options_footer_5 .vc_custom_1540301637852{display:grid;grid-template-columns:minmax(0,3fr) repeat(3,minmax(0,1fr));gap:30px;margin-left:0!important;margin-right:0!important;padding:0 15px;box-sizing:border-box}
#nd_options_footer_5 .vc_custom_1540301637852::before,#nd_options_footer_5 .vc_custom_1540301637852::after{display:none}
#nd_options_footer_5 .vc_custom_1540301637852>.wpb_column{width:auto!important;float:none;min-width:0}
#nd_options_footer_5 .vc_column-inner{min-width:0;box-sizing:border-box}
#nd_options_footer_5 a,#nd_options_footer_5 p{overflow-wrap:anywhere;word-break:normal}
#nd_options_footer_5 .vc_custom_1553858418979{min-height:56px;margin-left:0!important;margin-right:0!important;padding:16px 15px;background:#76b38f;color:#fff;box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
#nd_options_footer_5 .vc_custom_1553858418979>.wpb_column{float:none;width:auto!important;flex:1;min-width:0}
#nd_options_footer_5 .vc_custom_1553858418979 h6{line-height:1.5!important;color:#fff}
.heide-room-gallery{width:100%;min-width:0;margin:0 0 24px}
.heide-room-gallery-frame{position:relative;width:100%;aspect-ratio:16/10;background:#f4f6f4;overflow:hidden;isolation:isolate}
.heide-room-gallery-open{display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
body.heide-campground-4 #heide-main .heide-room-gallery-open img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;float:none}
.heide-room-gallery-prev,.heide-room-gallery-next{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:0;background:#404746dd;color:white;cursor:pointer;padding:8px;z-index:2}
.heide-room-gallery-prev{left:8px}.heide-room-gallery-next{right:8px}
.heide-room-gallery-caption{font-size:12px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.heide-room-gallery-caption:empty{display:none}
.heide-room-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:10px 0 4px;scroll-snap-type:x proximity;max-width:100%;box-sizing:border-box}
.heide-room-gallery-thumbs button{flex:0 0 88px;min-width:0;height:66px;padding:2px;border:2px solid transparent;background:none;cursor:pointer;scroll-snap-align:start}
.heide-room-gallery-thumbs button[aria-pressed=true]{border-color:#76b38f}
body.heide-campground-4 #heide-main .heide-room-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.heide-room-gallery-dialog{padding:0;border:0;background:#24322c;color:white;max-width:95vw;max-height:94vh;overflow:auto}
.heide-room-gallery-dialog::backdrop{background:#07120de8}.heide-room-gallery-dialog figure{margin:0;padding:48px 48px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;box-sizing:border-box}
.heide-room-gallery-dialog img{display:block;max-width:calc(95vw - 96px);max-height:75vh;width:auto;height:auto;object-fit:contain}
.heide-room-gallery-dialog figcaption{color:white;line-height:1.6;font-size:14px;text-align:center;max-width:70ch;overflow-wrap:anywhere}
.heide-room-gallery-dialog button{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff66;background:#24322cdd;color:white;cursor:pointer;padding:8px}
.heide-room-gallery-dialog .heide-gallery-close{top:4px;right:4px}.heide-room-gallery-dialog .heide-gallery-prev{left:4px;top:45%}.heide-room-gallery-dialog .heide-gallery-next{right:4px;top:45%}
@media(max-width:1100px){.heide-reference-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}#nd_options_footer_5 .vc_custom_1540301637852{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}#nd_options_footer_5 .vc_custom_1540301637852>.wpb_column:first-child{grid-column:1/-1}}
@media(max-width:600px){.heide-reference-rooms{grid-template-columns:minmax(0,1fr)}#nd_options_footer_5 .vc_custom_1540301637852{grid-template-columns:minmax(0,1fr);gap:28px}#nd_options_footer_5 .vc_custom_1540301637852>.wpb_column:first-child{grid-column:auto}.heide-reference-rooms .nd_booking_padding_30{padding:24px}.heide-room-gallery-thumbs button{flex-basis:64px;height:52px}.heide-room-gallery-dialog figure{padding-left:44px;padding-right:44px}.heide-room-gallery-dialog img{max-width:calc(95vw - 88px)}}

.heide-room-card .heide-card-body{display:flex;flex-direction:column;flex:1;gap:0}
.heide-card-category{display:flex;align-items:center;gap:4px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:white;line-height:1.4}
.heide-card-category svg:first-of-type{margin-left:6px}
.heide-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px;min-height:26px;font-size:12px;line-height:1.6;letter-spacing:1px}
.heide-card-meta>span{display:inline-flex;align-items:center;gap:8px;min-width:0}
body.heide-campground-4 #heide-main .heide-card-meta img{display:block;flex:none;width:auto;height:23px;max-width:23px}
.heide-card-body .heide-card-description{flex:1;margin:20px 0 24px;overflow-wrap:normal;hyphens:none}
.heide-card-booking{margin-top:auto;flex:none;min-height:46px}
.heide-card-book-link{display:inline-block;padding:13px 18px;font-size:11px;line-height:16px;letter-spacing:2px;font-weight:700;max-width:100%;box-sizing:border-box;text-align:center}
.heide-card-footer{display:flex;flex-direction:column;gap:12px;border-top:1px solid #f1f1f1;padding-top:20px;margin-top:20px;min-height:60px;flex:none}
.heide-card-services{display:flex;align-items:center;gap:12px;min-height:25px;flex-wrap:wrap}
body.heide-campground-4 #heide-main .heide-card-services img{width:23px;height:23px;flex:none;object-fit:contain}
.heide-card-details{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:18px;letter-spacing:2px;max-width:100%;box-sizing:border-box}
.heide-card-details svg{flex:none}

body.heide-private-stage{padding-bottom:40px}@media(max-width:600px){body.heide-private-stage{padding-bottom:64px}}

body.heide-campground-4 #heide-main :is(p,h1,h2,h3,h4,h5,h6,li,dt,dd,td,th,label,legend,figcaption,a){overflow-wrap:anywhere;word-break:normal;min-width:0}
body.heide-campground-4 #heide-main :is(h1,h2,h3,h4,h5,h6){hyphens:auto}
body.heide-campground-4 #heide-main .heide-image-link{box-sizing:border-box;max-width:100%}
body.heide-campground-4 #heide-main .heide-image-link img{margin-left:0!important;margin-right:0!important;max-width:100%}
body.heide-campground-4 #heide-main :is(input,select,textarea,iframe){box-sizing:border-box;max-width:100%}

#nd_options_footer_5 :is(h1,h2,h3,h4,h5,h6,li,span){overflow-wrap:anywhere;white-space:normal;min-width:0}
#nd_options_footer_5 .vc_custom_1553858418979>.wpb_column:has(h6:empty){display:none}
.heide-room-gallery-frame,.heide-room-gallery-dialog figure{touch-action:pan-y}
@media(max-width:600px){#nd_options_footer_5 .vc_custom_1553858418979{display:block}#nd_options_footer_5 .vc_custom_1553858418979>.wpb_column{width:100%!important;max-width:100%;flex:none}#nd_options_footer_5 .vc_custom_1553858418979 .vc_column-inner{padding:0!important}#nd_options_footer_5 .vc_custom_1553858418979 h6{text-align:center!important;max-width:100%;overflow-wrap:anywhere}}

body.heide-campground-4 .wpec-post-thumbnail img{box-sizing:border-box;max-width:100%;height:auto}


body.heide-campground-4 #heide-main .heide-card-description{hyphens:none}

/* Contain the legacy floated booking steps so their image background has a real height. */
.heide-reference-booking-banner{display:flow-root;width:100%;left:0;box-sizing:border-box;padding:70px 0 30px;margin-bottom:32px;background-color:#49524f}
.heide-reference-booking-banner>.nd_options_container{display:flow-root;width:100%;max-width:100%;box-sizing:border-box;padding:0 20px}
.heide-reference-booking-banner>.nd_options_container>.nd_options_height_125{display:none}
.heide-reference-booking-banner #nd_booking_vc_steps h2{font-size:55px!important;line-height:1.2!important;color:#fff!important}
.heide-reference-booking-banner #nd_booking_vc_steps>.nd_booking_height_100{height:60px}
.heide-reference-booking-banner #nd_booking_vc_steps ul{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 24px}
.heide-reference-booking-banner #nd_booking_vc_steps li{margin:0!important}
@media(max-width:600px){.heide-reference-booking-banner{padding-top:45px}.heide-reference-booking-banner #nd_booking_vc_steps h2{font-size:36px!important}.heide-reference-booking-banner #nd_booking_vc_steps ul{display:grid;grid-template-columns:1fr 1fr;gap:20px 8px}.heide-reference-booking-banner #nd_booking_vc_steps>.nd_booking_height_100{height:35px}}
