



#wpadminbar {
    display: none !important;
}
html {
    margin-top: 0 !important;
  font-size: 16px;
    background: var(--color-bg-light);
    font-family: var(--font-base);
    color: var(--color-text-base);
    padding: 0;
}

body {
    padding: 0;
    margin: 0;
    width: 100vw;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  background: radial-gradient(circle at 15% 0%, rgba(142, 194, 178, 0.24), rgba(142, 194, 178, 0) 42%), radial-gradient(circle at 85% 18%, rgba(214, 137, 47, 0.24), rgba(214, 137, 47, 0) 40%), linear-gradient(180deg, #f7efdd 0%, #f3e7d1 100%);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-dark-offset);
    font-family: var(--font-primary);
    letter-spacing: -.02rem;
}

a {
    color: var(--color-link);
    &:hover {
        color: var(--color-primary);
    }
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
label[for],
[role="button"] {
  cursor: pointer;
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled {
  cursor: default;
}

img {
    height:auto;
    max-width: 100%;
}

.img-cover {
      width:100%;
      height:100%;
      object-fit: cover;
}

section {
    position: relative;
}

/* Event hero: image in normal flow sets height; content pinned to bottom */
.event-hero {
  margin-top: 0;
  padding-top: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
}

.event-hero-media {
  display: block;
  width: 100%;
  height: 100%;
}

.event-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.event-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}

.event-hero-shell {
  margin-top: 0;
  /* background: linear-gradient(180deg, rgba(28, 21, 17, 0) 0%, rgba(28, 21, 17, 0.42) 100%); */
}

.event-hero-shell h1,
.event-hero-shell p {
  margin-bottom: 0;
}

.event--front-reveal {
  overflow: visible;
}

/* Scroll-driven front-page hero proof of concept.
   Tune these variables first when adjusting the choreography. */
.event-hero--scroll-reveal {
  --rwr-hero-progress: 0;
  --rwr-top-cloud-progress: 0;
  --rwr-hero-scroll-distance: 120dvh;
  --rwr-curtain-travel: 112%;
  --rwr-curtain-left-color: #8bcfa3;
  --rwr-curtain-right-color: #fc732b;
  --rwr-hero-text-stroke-color: rgba(74, 53, 80, 0.45);
  --rwr-hero-text-stroke-thickness: 0.45px;
  --rwr-hero-text-glow-color: rgba(247, 239, 221, 0.88);
  --rwr-hero-text-shadow-color: rgba(53, 44, 66, 0.24);
  --rwr-hero-text-glow-size: 16px;
  --rwr-hero-text-shadow-size: 10px;
  --rwr-hero-content-gap-below-cloud: 16px;
  --rwr-top-cloud-rendered-height: var(--rwr-top-cloud-visible);
  --rwr-hero-content-top-padding: calc(var(--rwr-top-cloud-rendered-height) + var(--rwr-hero-content-gap-below-cloud));
  --rwr-top-cloud-visible: 240px;
  --rwr-top-cloud-snap-native-bottom: 240;
  --rwr-top-cloud-cap-height: var(--rwr-top-cloud-visible);
  --rwr-top-cloud-shift: 0px;
  --rwr-top-cloud-speed: 1.65;
  --rwr-top-cloud-snap-progress: 0.97;
  --rwr-top-cloud-snap-lead: 20px;
  --rwr-bottom-cloud-x: 20%;
  --rwr-bottom-cloud-y: 26%;
  --rwr-bottom-cloud-y-rise: -4%;
  --rwr-bottom-cloud-y-shift: 0%;
  --rwr-bottom-cloud-drift: 0;
  --rwr-bottom-cloud-scale: 1;
  --rwr-bottom-cloud-intro-scale: 1.1;
  --rwr-bottom-cloud-exit-scale: 0.9;
  --rwr-bottom-cloud-fade-progress: 0;
  --rwr-bottom-cloud-intro-end: 0.24;
  --rwr-bottom-cloud-intro-depth: 0.24;
  --rwr-bottom-cloud-exit-distance: 1.18;
  --rwr-bottom-cloud-fade-multiplier: 1.35;
  --rwr-hero-content-rise: 10%;
  --rwr-content-fade-multiplier: 1.6;
  --rwr-backdrop-fade-multiplier: 3.5;
  --rwr-backdrop-overlay-fade-multiplier: 4.2;
  height: auto;
  min-height: calc(100dvh + var(--rwr-hero-scroll-distance));
  margin-bottom: 0;
}

.event-hero--scroll-reveal .rwr-scroll-hero__track {
  position: relative;
  min-height: inherit;
}

.event-hero--scroll-reveal .rwr-scroll-hero__stage {
  position: sticky;
  top: 0;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
  box-shadow:
    0 0 2px rgba(0, 0, 0, 0.55),
    0 3px 5px rgba(0, 0, 0, 0.16);
}

.event-hero--scroll-reveal .rwr-scroll-hero__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.event-hero--scroll-reveal .rwr-scroll-hero__backdrop::after {
  content: none;
}

.event-hero--scroll-reveal .rwr-scroll-hero__layers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.event-hero--scroll-reveal .rwr-scroll-hero__curtain,
.event-hero--scroll-reveal .rwr-scroll-hero__top-cloud,
.event-hero--scroll-reveal .rwr-scroll-hero__cloud {
  position: absolute;
  will-change: transform, opacity;
}

.event-hero--scroll-reveal .rwr-scroll-hero__curtain img,
.event-hero--scroll-reveal .rwr-scroll-hero__top-cloud img,
.event-hero--scroll-reveal .rwr-scroll-hero__cloud img {
  display: block;
  width: 100%;
  height: 100%;
}

.event-hero--scroll-reveal .rwr-scroll-hero__curtain {
  top: 0;
  bottom: 0;
  width: 50%;
  max-width: 50%;
  z-index: 1;
}

.event-hero--scroll-reveal .rwr-scroll-hero__curtain--left {
  left: 0;
  background: var(--rwr-curtain-left-color);
  transform: translate3d(calc(var(--rwr-hero-progress) * var(--rwr-curtain-travel) * -1), 0, 0);
}

.event-hero--scroll-reveal .rwr-scroll-hero__curtain--right {
  right: 0;
  background: var(--rwr-curtain-right-color);
  transform: translate3d(calc(var(--rwr-hero-progress) * var(--rwr-curtain-travel)), 0, 0);
}

.event-hero--scroll-reveal .rwr-scroll-hero__top-cloud {
  top: 0;
  left: 0;
  right: 0;
  z-index: 4;
  opacity: 1;
  transition: opacity 120ms linear;
  transform: translate3d(0, calc(var(--rwr-top-cloud-progress) * var(--rwr-top-cloud-shift) * -1), 0);
}

.event-hero--scroll-reveal.is-top-cloud-sticky .rwr-scroll-hero__top-cloud {
  opacity: 0;
}

.event-hero--scroll-reveal .rwr-scroll-hero__top-cloud::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 96px;
  pointer-events: none;
  /* background: linear-gradient(180deg, rgba(28, 21, 17, 0) 0%, rgba(28, 21, 17, 0.45) 100%); */
}

.event-hero--scroll-reveal .rwr-scroll-hero__top-cloud img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center top;
}

.event-hero--scroll-reveal .rwr-scroll-hero__cloud {
  position: fixed;
  bottom: 0;
  width: 50vw;
  max-width: 50vw;
  opacity: calc(1 - (var(--rwr-bottom-cloud-fade-progress) * var(--rwr-bottom-cloud-fade-multiplier)));
  z-index: 3;
  transform-origin: center bottom;
}

.event-hero--scroll-reveal .rwr-scroll-hero__cloud img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
}

.event-hero--scroll-reveal .rwr-scroll-hero__cloud--bottom-left {
  left: 0;
  transform: translate3d(
    calc(var(--rwr-bottom-cloud-drift) * var(--rwr-bottom-cloud-x) * -1),
    var(--rwr-bottom-cloud-y-shift),
    0
  ) scale(var(--rwr-bottom-cloud-scale));
}

.event-hero--scroll-reveal .rwr-scroll-hero__cloud--bottom-right {
  right: 0;
  transform: translate3d(
    calc(var(--rwr-bottom-cloud-drift) * var(--rwr-bottom-cloud-x)),
    var(--rwr-bottom-cloud-y-shift),
    0
  ) scale(var(--rwr-bottom-cloud-scale));
}

.event-hero--scroll-reveal .rwr-scroll-hero__content {
  z-index: 5;
  opacity: 1;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: var(--rwr-hero-content-top-padding);
}

.event-hero--scroll-reveal .rwr-scroll-hero__shell {
  width: 100%;
}

.event-hero--scroll-reveal .rwr-scroll-hero__content h1,
.event-hero--scroll-reveal .rwr-scroll-hero__content p {
  -webkit-text-stroke: var(--rwr-hero-text-stroke-thickness) var(--rwr-hero-text-stroke-color);
  text-shadow:
    0 0 1px rgba(74, 53, 80, 0.32),
    0 0 5px rgba(74, 53, 80, 0.18),
    0 0 var(--rwr-hero-text-glow-size) var(--rwr-hero-text-glow-color),
    0 3px var(--rwr-hero-text-shadow-size) var(--rwr-hero-text-shadow-color);
}

.event-hero--scroll-reveal .rwr-scroll-hero__content h1 {
  font-weight: 700;
  letter-spacing: -0.01rem;
}

@media (max-width: 767.98px) {
  .event-hero--scroll-reveal {
    --rwr-hero-text-stroke-thickness: 0.35px;
    --rwr-hero-text-glow-size: 12px;
    --rwr-hero-text-shadow-size: 8px;
  }
}

/* Revealed page content sits behind curtains inside the stage */
.event-hero--scroll-reveal .rwr-scroll-hero__reveal-content {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none; /* interactive version lives after the hero section */
  padding-top: 220px;   /* clear the top-cloud height — tune this */
}

/* Fixed cap: top-cloud as a persistent sticky header.
   Must live outside overflow:hidden — that's why it's a sibling of the hero section. */
.rwr-scroll-hero__cap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--rwr-top-cloud-cap-height, var(--rwr-top-cloud-visible, 240px));
  min-height: var(--rwr-top-cloud-cap-height, var(--rwr-top-cloud-visible, 240px));
  overflow: hidden;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  transition: opacity 120ms linear;
}

.rwr-scroll-hero__cap.is-visible {
  opacity: 1;
}

.rwr-scroll-hero__cap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.event-hero--scroll-reveal .rwr-scroll-hero__shell {
  max-width: min(100%, 1080px);
  transform: translate3d(0, calc(var(--rwr-hero-progress) * var(--rwr-hero-content-rise) * -1), 0);
}

@media (max-width: 767.98px) {
  .event-hero--scroll-reveal {
    --rwr-curtain-travel: 124%;
    --rwr-top-cloud-speed: 1.85;
    --rwr-top-cloud-snap-progress: 0.98;
    --rwr-top-cloud-snap-lead: 0px;
    --rwr-top-cloud-visible: 120px;
    --rwr-top-cloud-snap-native-bottom: 240;
    --rwr-bottom-cloud-x: 26%;
    --rwr-bottom-cloud-y: 32%;
    --rwr-bottom-cloud-y-rise: -5%;
    --rwr-bottom-cloud-intro-scale: 1.24;
    --rwr-bottom-cloud-exit-scale: 0.88;
    --rwr-bottom-cloud-intro-end: 0.28;
    --rwr-bottom-cloud-intro-depth: 0.52;
    --rwr-bottom-cloud-exit-distance: 1.24;
    --rwr-hero-content-gap-below-cloud: 10px;
    --rwr-hero-content-top-padding: calc(var(--rwr-top-cloud-cap-height, var(--rwr-top-cloud-visible)) + var(--rwr-hero-content-gap-below-cloud));
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__curtain {
    width: 50%;
    max-width: 50%;
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__top-cloud img,
  .rwr-scroll-hero__cap img {
    width: 118%;
    max-width: none;
    margin-left: -9%;
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__cloud {
    width: 50vw;
    max-width: 50vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .event-hero--scroll-reveal {
    --rwr-hero-progress: 0;
    min-height: 100dvh;
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__stage {
    position: relative;
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__curtain,
  .event-hero--scroll-reveal .rwr-scroll-hero__top-cloud,
  .event-hero--scroll-reveal .rwr-scroll-hero__cloud,
  .event-hero--scroll-reveal .rwr-scroll-hero__shell {
    transform: none;
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .event-hero:not(.event-hero--scroll-reveal) {
    height: max(60dvh, 730px);
    min-height: max(60dvh, 730px);
  }

  .event-hero--scroll-reveal {
    height: auto;
    min-height: calc(100dvh + var(--rwr-hero-scroll-distance));
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__cloud {
    width: 50vw;
    max-width: 50vw;
    height: 240px;
    overflow: hidden;
  }

  .event-hero--scroll-reveal .rwr-scroll-hero__cloud img {
    width: 100%;
    height: auto;
    object-fit: unset;
  }
}

/* Post-hero event-main-content flows naturally — no underlap needed since content is inside the stage */

body.single-retreat_event .event-main-content,
body.home .event-main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Event Highlights grid — responsive columns only; everything else uses framework utilities */
.event-highlights-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.event-highlight-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(239, 228, 206, 0.88) 100%);
  border: 1px solid rgba(47, 36, 30, 0.12);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.event-highlight-card:hover,
.event-highlight-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(47, 36, 30, 0.16);
  border-color: rgba(123, 76, 163, 0.28);
}

/* Wide cinematic ratio for the supplied images */
.event-highlight-image-wrap {
  width: 100%;
  aspect-ratio: 21 / 9;
  overflow: hidden;
  background: rgba(47, 36, 30, 0.12);
}

.event-highlight-image {
  display: block;
  height: 100%;
  transition: transform 0.35s ease;
}

.event-highlight-card:hover .event-highlight-image,
.event-highlight-card:focus-within .event-highlight-image {
  transform: scale(1.035);
}

@media (min-width: 768px) {
  .event-highlights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .event-highlights-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.frame {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
   * {
    z-index: 2;
   }
  @media (min-width: 768px) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.img {
    position:relative;
    width:100%;
    height:100%;
    img {
        position:absolute;
        left:0;
        top:0;
        width:100%;
        height:100%;
        object-fit: fit;
    }
}

.bg-image {
    width:100%;
    height:100%;
    z-index: 0;
    img {
        position:absolute;
        left:0;
        top:0;
        width:100%;
        height:100%;
        object-fit: cover;
    }
}

.heading {
    font-size: 2rem;
}

.subheading {
    font-size: 1.5rem;
}

.btn {
    color: var(--color-blue-30);
    text-decoration: none;
    font-size: 1.3rem;
    padding: 0 10px;
    line-height: 2;
    font-family: var(--font-primary);
    text-transform: uppercase;
    letter-spacing: .2rem;
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
}

.btn::after {
    content: '';
    width: calc(100% - 20px);
    height: 2px;
    background: var(--color-blue-30);
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
    transition: all 0.1s ease-out;
}

.btn:hover::after {
    animation: btnBorder 1s ease infinite;
}



.btn-xs {
    font-size: .8rem;
    padding: 0 6px;
    line-height: 1.6;
}

.btn-xs::after {
    width: calc(100% - 12px);
    left: 6px;
    right: 6px;
}

.btn-sm {
    font-size: 1rem;
    padding: 0 8px;
    line-height: 1.8;
}

.btn-sm::after {
    width: calc(100% - 16px);
    left: 8px;
    right: 8px;
}

.btn-md {
    font-size: 1.3rem;
    padding: 0 10px;
    line-height: 2;
}

.btn-md::after {
    width: calc(100% - 20px);
    left: 10px;
    right: 10px;
}

.btn-lg {
    font-size: 1.6rem;
    padding: 0 14px;
    line-height: 2.2;
}

.btn-lg::after {
    width: calc(100% - 28px);
    left: 14px;
    right: 14px;
}

.btn-xl {
    font-size: 2rem;
    padding: 0 18px;
    line-height: 2.4;
}

.btn-xl::after {
    width: calc(100% - 36px);
    left: 18px;
    right: 18px;
}
@keyframes btnBorder {
    from {
        width: 0%;
    }
    to {
        width: calc(100% - 20px);
    }
}

a.link-btn {
    color: white;
    background:var(--color-blue-30);
    text-decoration: none;
    font-size: 1rem;
    display: inline-block;
    margin:25px 0;
    padding: 10px 20px 5px 20px;
    line-height: 1;
    font-family: var(--font-primary);
    text-transform: uppercase;
    letter-spacing: .2rem;
    position: relative;
    border-radius: 100px;
    overflow: hidden;
    z-index: 1;
}
.btn-filled {
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    text-align: center;
    font-family: var(--font-primary);
    text-transform: uppercase;
    letter-spacing: .2rem;
    position: relative;
    border-radius: 100px;
    overflow: hidden;
    background:var(--color-red);
    z-index: 1;
}

.btn-filled::after {
    border-radius: 100px;
    content: '';
    background: var(--color-blue-30);
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    transition: all 0.1s ease-out;
    z-index: -1;
}

.btn-filled:hover {
    color: var(--color-blue-30);
    font-family: var(--font-primary);
    background:var(--color-bright-red);
}

.btn-filled:hover::after {
    left: 100%;
    right: auto;
}

.circle-arrow {
  width: 3rem;
  height: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  border-radius: 50%;
  border: 2px solid white;
  background: transparent;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;

  &::before {
    content: "";
    position: absolute;
    width: 40%;
    height: 2px;
    background: white;
    left: 28%;
  }

  &::after {
    content: "";
    position: absolute;
    right: 30%;
    width: 10px;
    height: 10px;
    display: block;
    border-bottom: 2px solid white;
    border-right: 2px solid white;
    transform:rotate(-45deg);
  }

  &:hover,
  &:focus-visible {
    background: #111;
    border-color: #111;
    transform: translateY(-1px);

    &::before {
      background-color: #fff;
    }

    &::after {
      border-left-color: #fff;
    }
  }
}

.top-fade {
    position: relative;
    overflow: hidden;
    & img {
        opacity: .6;
        z-index: 1;
        max-width: unset;
        min-width: unset;
    }
    &::before {
        content: "";
        position: absolute;
        top:0;
        z-index: 2;
        width: 100%;
        height: 50%; /* adjust fade height */
        pointer-events: none;
        background: linear-gradient(
        to bottom,
        rgba(var(--color-gradient-dark), 1),
        rgba(var(--color-gradient-dark), 0)
        );
    }
    &::after {
        content: "";
        position: absolute;
        bottom:0;
        left:0;
        z-index: 2;
        width: 100%;
        height: 50%; /* adjust fade height */
        pointer-events: none;
        background: linear-gradient(
        to top,
        rgba(var(--color-gradient-dark), 1),
        rgba(var(--color-gradient-dark), 0)
        );
    }
}

.site-content {
  padding-top: 0px;

  @media (min-width: 900px) {
   
  }

  @media (min-width: 1000px) {
   
  }
}

body.home .site-content {
  padding-top: 0;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}


.social-links {
    margin: 0;
    padding: 10px 0 0px 0;
    display: flex;
    justify-content:space-between;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;

    & li {
      list-style: none;
      flex: 1 1 auto;
      max-width: 14vw;
      margin:0 auto;

      & a {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 5px 0 5px 0;
        color: white;
        text-decoration: none;

        & svg {
          display: block;
          width: 24px;
          height: 24px;
          margin-right: 2rem;
        }
        & svg {
          fill: white;
        }

        & .label {
          width: 100%;
          font-size: 1rem;
          text-align: center;
        }

      }

      & a:hover svg * {
          fill:var(--color-bright-red) !important;
      }
    }

    @media (min-width: 880px) {
      & {
        justify-content: flex-start;
      }

      & li {
        max-width: 50px;

        & a:hover .icon {
          background-color: var(--color-red);
        }
      }
    }
  }

/***** HEADER *****/
body.home .site-header,
body.home .header-background,
body.single-retreat_event .site-header,
body.single-retreat_event .header-background {
  display: none !important;
}

body:not(.home):not(.single-retreat_event) .site-header,
body:not(.home):not(.single-retreat_event) .header-background {
  --rwr-cloud-width-scale: 1;
  --rwr-cloud-cap-height: 15vw;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--rwr-cloud-cap-height);
  min-height: var(--rwr-cloud-cap-height);
  max-height: var(--rwr-cloud-cap-height);
  background-image: url('/wp-content/themes/retreat-events-organizer-portal/assets/images/rwr-hero/rwr-hero-10-clouds-top.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: calc(var(--rwr-cloud-width-scale) * 100%) auto;
  border-top: 0;
  box-shadow: none;
  z-index: 60;
  pointer-events: none;
}

body:not(.home):not(.single-retreat_event) .site-header__home-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: all !important;
  cursor: pointer;
  z-index: 61;
}

/* Attendee dashboard uses its own in-content portal header in both states. */
body.page-id-41 .site-header,
body.page-id-41 .header-background {
  display: none !important;
  min-height: 0 !important;
  max-height: 0 !important;
  height: 0 !important;
}

body:not(.home):not(.single-retreat_event) {
  --rwr-cloud-cap-height: 15vw;
}

body:not(.home):not(.single-retreat_event) .site-main {
  padding-top: var(--rwr-cloud-cap-height);
}

/* Attendee portal should start at the top without cloud-cap offset. */
body.page-id-41:not(.home):not(.single-retreat_event) .site-main {
  padding-top: 0 !important;
}

/* Hide footer entirely on attendee dashboard page. */
body.page-id-41 #footer,
body.page-id-41 .site-footer {
  display: none !important;
}

body:not(.home):not(.single-retreat_event) .site-header .content-wrapper,
body:not(.home):not(.single-retreat_event) .header-background .content-wrapper,
body:not(.home):not(.single-retreat_event) .site-header .desktop-nav,
body:not(.home):not(.single-retreat_event) .header-background .desktop-nav,
body:not(.home):not(.single-retreat_event) .site-header .mobile-nav,
body:not(.home):not(.single-retreat_event) .header-background .mobile-nav,
body:not(.home):not(.single-retreat_event) .site-header .mobile-nav-toggle,
body:not(.home):not(.single-retreat_event) .header-background .mobile-nav-toggle,
body:not(.home):not(.single-retreat_event) .site-header .action,
body:not(.home):not(.single-retreat_event) .header-background .action {
  display: none !important;
}

@media (max-width: 767.98px) {
  body:not(.home):not(.single-retreat_event) .site-header,
  body:not(.home):not(.single-retreat_event) .header-background {
    --rwr-cloud-width-scale: 1.18;
    --rwr-cloud-cap-height: 17.7vw;
  }

  body:not(.home):not(.single-retreat_event) {
    --rwr-cloud-cap-height: 17.7vw;
  }

  body:not(.home):not(.single-retreat_event) .site-main {
    padding-top: var(--rwr-cloud-cap-height);
  }

  body.page-id-41:not(.home):not(.single-retreat_event) .site-main {
    padding-top: 0 !important;
  }
}

/* Logged-out portal login should feel like homepage prereg flow. */
body.page-id-41:not(.logged-in) #re-attend-root.re-portal-login-wrap {
  max-width: 760px;
  margin: 2rem auto 3rem;
  padding: 1.75rem 1.5rem;
  border-radius: 0.75rem;
  background: rgba(53, 44, 66, 0.9);
  border: 1px solid rgba(197, 141, 42, 0.25);
  box-shadow: 0 14px 30px rgba(47, 36, 30, 0.22);
}

body.page-id-41:not(.logged-in) #re-attend-root.re-portal-login-wrap h4,
body.page-id-41:not(.logged-in) #re-attend-root.re-portal-login-wrap p,
body.page-id-41:not(.logged-in) #re-attend-root.re-portal-login-wrap label {
  color: var(--color-gray-lightest);
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  width: 100%;
  min-height: 64px;
  transition: all 0.1s ease-out;
  background: transparent;
  border-top:3px solid var(--color-primary);

  & * {
    transition: all 0.1s ease-out;
  }

  /* Header height variant */
  &.tall-mobile-header:not(.header-transparent) {
    min-height: 122px;
  }

  /* Header variant: transparent */
  &.header-transparent {
    background: rgba(255, 255, 255, 0);

    & .mobile-nav-toggle {
      background:white;
      border-radius: 5rem;
      width: 30px;
      height:30px;
      display: flex;
      justify-content: center;
      align-items: center;

    }

    & .mobile-nav-toggle svg * {
      stroke: var(--color-red);
    }
    & .primary-logo {
      order: 0;

      & .logo-svg {
        & .baumann *,
        & .crosno * {
          fill: white !important;
        }
      }
    }

    & .desktop-nav ul li {
      & a .tab,
      & span .tab {
        color:white;
        & .text {
          color: white;
        }
        &::after {
          border-right: 1px solid white;
          border-bottom: 1px solid white;
        }
      }
    }

  }

  /* default mobile-first header elements */
  & .desktop-nav {
    display: none;
  }

  & .action {
    display: none;
  }

  & .content-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    align-content: center;
    width: calc(100% - 20px);
    margin: 5px auto;
    max-width: unset;
  }


  & .primary-logo {
    min-width: unset;
    display: block;
    width: 100%;
    max-width: 170px;
    margin: 0 auto;
    text-align: center;
    padding: 0;

    &.navOpen {
      & svg * {
        fill: white !important;
      }
    }

    & svg.logo-svg {
      max-width: 100%;
      & path {
        transition: all 0.1s ease-out;
      }      
    }
  }
  

  & .mobile-nav-toggle {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 10;
    width: auto;
    padding: 4px;
    flex: 0 1 52px;
    display: flex;

    & svg * {
      stroke: var(--color-red);
    }
  }

  /* Mobile full-screen nav */
  & .mobile-nav {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999;
    background: var(--color-dark);
    background-size: cover;

    & .mobile-nav-close {
      position: fixed;
      top: 10px;
      left: 10px;
      z-index: 10;
      width: auto;
      padding: 4px;
      flex: 0 1 52px;
      display: flex;

      & svg * {
        stroke: white !important;
      }
    }

    & .mobile-menu-items {

      & .action-menu {
        border: none;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        background: var(--color-brand-blue-base);
        padding: 30px 0 60px;

        & .social-links {
          margin: 0;

          & li a .icon {
            display: block;
            filter: grayscale(1) brightness(100);
            width: 24px;
            margin-right: 4px;
          }
        }

        & .btn-filled {
          width: 60vw;
        }

        & .btn-set {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          margin-bottom: 20px;
          width: 100%;

         
        }
      }
    }
  }

  /* Mobile swipe nav pieces used by both states */
  & .mobile-menu-items {
    & ul {
      width: 100%;
      max-height: calc(100vh - 60px);
      margin: 60px 0 0 0;
      padding: 0 30px;

      & li {
        list-style: none;

        & .nav-link,
        & .link-item {
          position: relative;
          display: flex;
          justify-content: flex-start;
          cursor: pointer;
          padding: 1rem 0;
          font-weight: 600;
          letter-spacing: 0;
          color: white;
          font-size: 2.6rem;
          text-decoration: none;
          font-family: var(--font-primary);
          border-bottom:1px solid var(--color-dark-offset)
        }

        & .nav-link {
          position:relative;
          &::after {
            position:absolute;
            right:0;
            top:7px;
            transform: rotate(225deg) translatey(-25%);
            border-bottom: 2px solid var(--color-red);
            border-left: 2px solid var(--color-red);
            content: '';
            display: inline-block;
            height: 5px;
            width: 5px;
            margin: 15px 0 0 20px;
          }
        }

        & ul {
          margin: 0;
          padding: 0;

          & li a {
            font-size: 1.2em;
            padding-left: 23px;
          }
        }
      }
    }

    & .nav-group {
      position: relative;
    }

    & .submenu-slide {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 100%;
      width: 100%;
      height: 100vh;
      z-index: 10;
      background: var(--color-dark);

      & .back-link {
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 600;
        text-align: center;
        padding: 13px 10px;
        background: var(--color-dark-offset);
        position: relative;
        cursor: pointer;
        color: var(--color-light-red);
        letter-spacing: 0.5rem;
        margin: 0 10px;
        border-radius: 6px;

        &::before {
          position: absolute;
          left: 20px;
          top: 50%;
          transform: rotate(45deg) translatey(-50%);
          border-bottom: 3px solid var(--color-brand-blue-base);
          border-left: 3px solid var(--color-brand-blue-base);
          content: '';
          display: inline-block;
          height: 6px;
          margin: 0 10px;
          width: 6px;
        }
      }

      & .submenu-slide {
        z-index: 11;
      }

      & ul {
        margin: 0;
      }

      & ul li {
        padding: 0;
        margin: 0;
      }

      & .menu-item a.link-item {
        color: white;
        font-weight: 300;
        font-size: 2rem;
        text-decoration: none;
        padding: 10px 15px;
        margin: 0 15px;
        font-family: var(--font-primary);
        line-height: 1;
        text-align: center;
      }
    }
  }
}
/***** FOOTER *****/
.site-footer {
  background: transparent;
  width:100%;
  position:relative;

  p {
    margin: 0;
  }

  .text-center > ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .text-center > ul li {
    margin: 0;
    padding: 0;
  }

  & .footer-logo {
    & .logo-svg .baumann *,
    & .logo-svg .crosno * {
      fill: white !important;
    }
  }

  nav {
    display: flex;
    flex-wrap: wrap;
    margin:0 auto;
    padding:0;
    align-items: center;
    justify-content: center;
    z-index: 2;

   

    & > ul {
      display:flex;
      flex-direction: row;
      justify-content: center;
      align-items: flex-end;
      flex-wrap: nowrap;
      grid-template-columns: none;
      gap:1rem;
      width:100%;
      margin:0 auto;
      padding:0;
      & * {
        color:white;
        list-style:none;
        margin:0;
        padding:0;
        text-decoration: none;
      }
    }

    & li {
      padding-bottom:0;
      text-align: right;

      & .tab {
        font-size: 2rem;
        font-weight: 800;
      }

      & li {
        padding-bottom:0;
      }

      & a {
        font-size: 1.4rem;
        padding:4px 0;
        display:block;
      }
    }

    .submenu {
      display: none;
    }

    .item-about-mankind-project {
      display: none;
    }
  }

  .bg-photos {
    position:absolute;
    top:-10vw;
    left:0;
    right:0;
    width:100vw;
    height:80vw;
    z-index:-1;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;

    & .holder {
      position:relative;
      width:100%;
      height:100%;
    }

    & .fade {
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      transform:unset;
      width:160%;
      height:100%;
      z-index:2;
      object-fit:fill;
    }

    & .bg-item {
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%, -50%);
      width:100%;
      height:100%;
      min-width:800px;
      min-height:800px;
      z-index:1;
      object-fit:cover;
    }
  }

  .social-links {
    & svg * {
      fill:white !important;
    }
  }
}

/* About page: keep editor-applied list utility classes from overpowering body copy scale. */
body.page-id-112 .entry-content .wp-block-list {
  font-size: 20px;
  line-height: 1.15;
}

body.page-id-112 .entry-content .wp-block-list li::marker {
  font-size: 1em;
}


/* Breakpoints
   ------------------------------------------------------------------ */

/* ≥ 600px */
@media (min-width: 600px) {
  .site-footer {
    & .bg-photos {
      top:-20vw;
      margin:0 auto;
    }

    nav {
      & ul {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }
  }
}
/* ≥ 1000px */
@media (min-width: 768px) {
  .site-footer {
    nav {
      & ul {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }
  }


}

/* ≥ 1000px */
@media (min-width: 1000px) {
  .site-footer {
    & .bg-photos {
      top:-30vw;
      width:100%;
    }
  }

  .site-header {
    & .content-wrapper {
      padding:0 20px;
      margin:0;
      width:calc(100% - 60px);
      flex-wrap:nowrap;
    }

    .primary-logo {
      width:200px;
      padding:0 20px;
      min-width:unset;
      max-width:unset;
    }

    & .action {
      width:calc(50% - 120px);
      height:100%;
      min-width:162px;
      display:flex;
      justify-content:flex-end;
      align-items:center;
    }

    & .mobile-nav-toggle {
      display:none !important;
    }

    /* Desktop nav */
    & .desktop-nav {
      display:flex;
      justify-content:center;
      flex:1 1 100%;
      position:relative;
      left:unset;
      transform:none;
      width:calc(50% - 120px);
      max-width:calc(50% - 120px);

      & ul {
        list-style:none;
        display:flex;
        flex-wrap:nowrap;
        justify-content:flex-start;
        justify-items:center;
        margin:0;
        padding:0;
        flex:1 1 100%;
        width:auto;

        & li {
          list-style:none;
          padding:0;
          margin:0;
          display:flex;

          & > a,
          & > span {
            color:var(--color-bg-dark);
            text-decoration:none;
            font-size:clamp(0.8rem, 0.75vw, 1.1rem);
            padding:1rem 2rem;
            line-height:2;
            align-self:center;
            font-family:var(--font-primary);
            text-transform:uppercase;
            letter-spacing:0.3rem;

            & .tab {
              padding:13px 0;
              white-space:nowrap;
              z-index:100;
              display:flex;
              align-items:center;
            }
          }

          & ul {
            display:none;
          }
        }

        & > li {
          position:relative;

          & a .tab,
          & span .tab {
            position:relative;
            padding:0 1vw;
            min-height:48px;
            font-size:1.3rem;
            color:var(--color-dark);
            font-weight: 800;
            &:hover {
              color:var(--color-bright-red);
            }

            & .text {
              position:relative;
              padding:0 5px 0 0;
              min-height:48px;
              font-size:1.3rem;
              font-weight:bold;
              display:flex;
              justify-content:center;
              align-items:center;
            }

            &::after {
              margin-left:10px;
              content:'';
              display:block;
              width:4px;
              height:4px;
              margin-bottom:2px;
              transform:rotate(45deg);
              border-right:1px solid var(--color-red);
              border-bottom:1px solid var(--color-red);
            }
          }

          &.menu-item-has-children:hover {
            & .submenu {
              display:block;
            }
          }

          & .submenu {
            display:none;
            position:absolute;
            top:50px;
            left:0px;
            z-index:11;
            box-shadow:0 10px 30px rgba(7, 5, 45, 0.1);
          }

          & ul {
            display:flex;
            flex-wrap:wrap;
            background:white;
            color:var(--color-bg-dark);
            border-radius:5px;
            overflow:hidden;
            padding:25px;
            margin:0;

            & .submenu {
              display:none !important;
            }

            & li {
              width:100%;

              & a,
              & span {
                text-transform:none;
                color:var(--color-brand-blue-base) !important;
                letter-spacing:0;
                line-height:1.5;
                text-align:left;
                padding:4px;
                display:block;
                white-space:nowrap;
                font-weight:400;
                font-size:1.6rem;
                font-family:var(--font-primary);
                display:flex;
                align-items:center;

                &.item-link {
                  padding:0;
                }

                &:hover {
                  color:var(--color-link-hover) !important;
                  position:relative;
                }

                & .menu-icon {
                  width:25px;
                  margin-right:10px;
                  border-radius:30px;
                  padding:2px;
                  border:2px solid var(--color-gray-lightest);
                  box-shadow:0 0 10px var(--color-gray-lightest);
                }
              }
            }
          }
        }
      }
    }

    /* Transparent variant tweaks at desktop */
    &.header-transparent {
      & .desktop-nav ul li a .text,
      & .desktop-nav ul li span .text {
        color:white;
      }
    }
  }
}

/* ≥ 1400px */
@media (min-width: 1400px) {
  .site-footer {
    & .bg-photos {
      max-width:1400px;
      max-height:1000px;
      top:-400px;
    }
  }
}

.header-background {
    background-image: none !important;
    background: transparent !important;
    box-shadow: none;
}

.container-background {
    background-image: url('/wp-content/uploads/2025/12/greco-2.png') !important;
    background-repeat: repeat !important;
    background-size: 40%;
    background-position: top left !important;
}

/* Let event hero artwork run to the very top of the viewport behind the fixed header. */
body.single-retreat_event .site-main,
body.home .site-main {
  padding-top: 0 !important;
}

* {
  box-sizing: border-box; /* Include padding and border in element's total width */
}
