/* Supplements main.min: shortcode clearfix (pages); lightbox image row 768–1024; highlight images. */

/* h1/h2.heading use ::after (z-index:-1) for the colored bar; without a base fill it can look like a strikethrough. */
main#main .flexible-content-section .header-center h1.heading,
main#main .flexible-content-section .header-center h2.heading {
  isolation: isolate;
  background-color: #fff;
}

/* page_content (Discover, etc.): with no side images, keep the same ~38% center column as the 3-up layout; main.min had no-image at 100% width. */
@media only screen and (min-width: 768px) {
  .flexible-content-section.no-image {
    justify-content: center;
  }
  .flexible-content-section.no-image .center {
    flex: 0 1 38%;
    min-width: 0;
    max-width: 100%;
  }
}

/* content_with_image: <img> in .left with same box as original background (240px mobile; stretch with row from 768px) */
.content-with-image .section .left {
  position: relative;
  height: 240px;
  overflow: hidden;
  line-height: 0;
}
.content-with-image .section .left img,
.content-with-image .section .left .content-with-image__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
@media only screen and (min-width: 768px) {
  .content-with-image .section .bottom .left {
    align-self: stretch;
    height: initial;
    overflow: hidden;
  }
  .content-with-image .section .bottom {
    align-items: stretch;
  }
  .content-with-image .section .bottom .left img,
  .content-with-image .section .bottom .left .content-with-image__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
  }
}

/* content-with-image: heading row must stack above .bottom or the left photo covers the faint h2 (Visit → Directions). */
.content-with-image .section .top {
  z-index: 3;
}
.content-with-image .section .top h2 {
  z-index: 0;
  top: 0 !important;
  transform: translateY(-0.34em);
}
@media only screen and (min-width: 768px) {
  .content-with-image .section .top h2 {
    transform: translateY(-0.38em);
  }
}
@media only screen and (min-width: 1025px) {
  .content-with-image .section .top h2 {
    transform: translateY(-0.38em);
  }
}
@media only screen and (min-width: 1600px) {
  .content-with-image .section .top h2 {
    transform: translateY(-0.42em);
  }
}

.flexible-shortcode {
  width: 100%;
}
.flexible-shortcode::after {
  content: "";
  display: table;
  clear: both;
}

/* Gravity Forms in flexible shortcode (e.g. Discover newsletter): narrow column, centered. */
.flexible-shortcode .gform_wrapper {
  box-sizing: border-box;
  max-width: 32rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.flexible-shortcode .gform_wrapper .gform_heading,
.flexible-shortcode .gform_wrapper .gform_title {
  text-align: center;
}
.flexible-shortcode .gform_wrapper .gform_footer {
  display: flex;
  justify-content: center;
}

/* Garden / blog cards: tablet layout lives in compiled main.css (_pages.scss). */

.flexible-highlights .highlight {
  min-width: 0;
}

.flexible-highlights .highlight img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* Lightbox: WYSIWYG sections split at h2 become their own two-column grid cells. */
@media only screen and (min-width: 768px) {
  .flexible-lightbox,
  .blog-listing {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2rem;
    row-gap: 4rem;
    align-items: start;
  }

  .flexible-lightbox .lb-item,
  .flexible-lightbox article,
  .blog-listing .lb-item,
  .blog-listing article {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 0;
  }
}

.flexible-lightbox .lb-item--text-only .right {
  width: 100%;
}

/* Lightbox grid body copy: 16px everywhere (override global p 20px, ul 20px, and Custom CSS #main ul li 1.2rem). */
#main .flexible-lightbox .lb-item .right,
#main .flexible-lightbox .lb-item .lb-item__content,
#main .flexible-lightbox article .right,
#main .flexible-lightbox article .lb-item__content,
#main .blog-listing .lb-item .right,
#main .blog-listing .lb-item .lb-item__content,
#main .blog-listing article .right,
#main .blog-listing article .lb-item__content {
  font-size: 16px !important;
  line-height: 1.5;
}

#main .flexible-lightbox .lb-item .right p,
#main .flexible-lightbox .lb-item .right li,
#main .flexible-lightbox .lb-item .right ul,
#main .flexible-lightbox .lb-item .right ol,
#main .flexible-lightbox .lb-item .lb-item__content p,
#main .flexible-lightbox .lb-item .lb-item__content li,
#main .flexible-lightbox .lb-item .lb-item__content ul,
#main .flexible-lightbox .lb-item .lb-item__content ol,
#main .flexible-lightbox article .right p,
#main .flexible-lightbox article .right li,
#main .flexible-lightbox article .right ul,
#main .flexible-lightbox article .right ol,
#main .flexible-lightbox article .lb-item__content p,
#main .flexible-lightbox article .lb-item__content li,
#main .flexible-lightbox article .lb-item__content ul,
#main .flexible-lightbox article .lb-item__content ol,
#main .blog-listing .lb-item .right p,
#main .blog-listing .lb-item .right li,
#main .blog-listing .lb-item .right ul,
#main .blog-listing .lb-item .right ol,
#main .blog-listing .lb-item .lb-item__content p,
#main .blog-listing .lb-item .lb-item__content li,
#main .blog-listing .lb-item .lb-item__content ul,
#main .blog-listing .lb-item .lb-item__content ol,
#main .blog-listing article .right p,
#main .blog-listing article .right li,
#main .blog-listing article .right ul,
#main .blog-listing article .right ol,
#main .blog-listing article .lb-item__content p,
#main .blog-listing article .lb-item__content li,
#main .blog-listing article .lb-item__content ul,
#main .blog-listing article .lb-item__content ol {
  font-size: 1rem !important;
  line-height: inherit;
}

@media only screen and (min-width: 768px) {
  .flexible-lightbox .lb-item--text-only .right {
    flex: 1 1 100%;
    padding-right: 60px;
  }
}

/* Video Cover block: avoid viewport-based scaling (appears like “zoomed in”). */
.video-cover-block .cover-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
}
.video-cover-block.cover-block-large .cover-video{
  min-width:0 !important;
}

/*
 * Home: after AWB/Jarallax (or similar) runs, inner nodes sometimes get inline widths
 * smaller than the viewport — the page can look like it “snaps” to a narrow column.
 * Keep the front row + hero chain explicitly full-width of the main column.
 */
body.home .site-content-wrap > .content.row {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.home main#main > .content:first-child {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.home #hero-video,
body.home #hero-video .jarallax,
body.home #hero-video .jarallax-container,
body.home #hero-video .nk-awb,
body.home #hero-video .nk-awb-wrap,
body.home #hero-video .nk-awb-inner {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto;
  margin-right: auto;
}

/*
 * .button-carrot list links: Font Awesome chevron (always white) on a colored circle.
 * Replaces broken/missing SVG background icons from main.min and legacy Custom CSS.
 */
a.button-carrot::before,
.button-carrot::before {
  content: "\f054" !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  -webkit-font-smoothing: antialiased;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important;
  background-color: #7d8d96;
  color: #fff !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  line-height: 1 !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  transform: translateY(-50%) !important;
  transition: background-color 200ms linear !important;
}

a.button-carrot::after,
.button-carrot::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

a.button-carrot:hover::before,
.button-carrot:hover::before {
  background-color: #9a6b5f;
  color: #fff !important;
}

div.link-buttons a.button-carrot::before,
div.right a.button-carrot::before {
  background-color: #6d3a5e !important;
  color: #fff !important;
}

.content-with-image .section:nth-child(odd) .right .button-carrot::before {
  background-color: #7d8d96;
  color: #fff !important;
}

.content-with-image .section:nth-child(odd) .right .button-carrot:hover::before {
  background-color: #6c3c5d;
  color: #fff !important;
}

.content-with-image .section:nth-child(4n + 1) .right .button-carrot::before {
  background-color: #9a6b5f !important;
  color: #fff !important;
}

.content-with-image .section:nth-child(4n + 1) .right .button-carrot:hover::before {
  background-color: #f1a795 !important;
  color: #fff !important;
}

.content-with-image .section:nth-child(3n + 3) .right .button-carrot::before {
  background-color: #6c3c5d !important;
  color: #fff !important;
}
