:root {
  --nlf-session-navy: #0b2638;
  --nlf-session-blue: #aec5e8;
  --nlf-session-beige: #f3efe7;
  --nlf-session-ink: #171717;
  --nlf-session-rule: rgba(23, 23, 23, 0.22);
  --nlf-session-link: #285b8f;
  --nlf-session-overlay: rgba(11, 38, 56, 0.82);
  --nlf-session-content-top: clamp(38px, 4vw, 62px);
  --nlf-session-gutter: clamp(38px, 5.3vw, 86px);
}

body.nlf-session-template {
  overflow-x: hidden;
  background: var(--nlf-session-beige);
}

.nlf-session-site-blocks {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.nlf-session-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/*
 * Session pages use a PHP template rather than the theme's normal block
 * template wrapper. The reusable header/footer markup is still rendered from
 * the live front-page template parts, but the wrapper normally supplies some
 * of the flex/layout behavior. Reinforce that behavior here so one edit to the
 * shared Site Editor parts continues to flow to every Session page.
 */
body.nlf-session-template .nlf-site-header,
body.nlf-session-template .nlf-site-header > .wp-block-group,
body.nlf-session-template .nlf-header-inner {
  width: 100% !important;
}

body.nlf-session-template .nlf-header-inner {
  max-width: 1540px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.nlf-session-template .nlf-header-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
}

body.nlf-session-template .nlf-header-logo {
  flex: 0 0 auto !important;
}

body.nlf-session-template .nlf-main-nav,
body.nlf-session-template .nlf-header-row > .wp-block-navigation {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

body.nlf-session-template .nlf-main-nav .wp-block-navigation__container,
body.nlf-session-template .nlf-header-row > .wp-block-navigation .wp-block-navigation__container {
  display: flex !important;
  flex-wrap: nowrap !important;
}

body.nlf-session-template .nlf-footer-navrow {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

body.nlf-session-template .nlf-footer-logo {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

/* Only used if WordPress cannot render the active Header template part. */
.nlf-cm-fallback-header .nlf-header-inner,
.nlf-cm-fallback-header .nlf-header-row {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
}

.nlf-cm-fallback-header .nlf-header-inner {
  padding-inline: clamp(28px, 8vw, 140px);
}

.nlf-cm-fallback-header .nlf-cm-fallback-nav {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-left: auto;
}

.nlf-cm-fallback-footer .nlf-footer-navrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.nlf-cm-fallback-footer .nlf-footer-logo img {
  display: block;
  width: auto;
  max-width: 180px;
  max-height: 54px;
}

.nlf-session-page,
.nlf-session-page * {
  box-sizing: border-box;
}

.nlf-session-page {
  width: 100%;
  margin: 0;
  color: var(--nlf-session-ink);
  background: var(--nlf-session-beige);
}

/* Durable two-column shell: the left wrapper contains both hero and copy,
   while the blue registration column spans the complete Session area. */
.nlf-session-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.3fr) minmax(340px, 1fr);
  align-items: stretch;
  width: 100%;
  margin: 0;
}

.nlf-session-left {
  min-width: 0;
  background: var(--nlf-session-beige);
}

.nlf-session-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 1;
  margin: 0;
  overflow: hidden;
  background: #ede7dc;
}

.nlf-session-hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.nlf-session-hero--empty {
  background:
    linear-gradient(rgba(11, 38, 56, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 38, 56, 0.03) 1px, transparent 1px),
    var(--nlf-session-beige);
  background-size: 28px 28px;
}

.nlf-session-main {
  min-width: 0;
  padding: var(--nlf-session-content-top) var(--nlf-session-gutter) 0;
  background: var(--nlf-session-beige);
}

.nlf-session-heading {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(28px, 4.2vw, 68px);
  left: 0;
  max-width: 1040px;
  padding: clamp(22px, 2.1vw, 34px) clamp(24px, 2.4vw, 40px) clamp(22px, 2vw, 32px) calc(var(--nlf-session-gutter) + clamp(30px, 3vw, 48px));
  background: var(--nlf-session-overlay);
  transform: translateY(-50%);
}

.nlf-session-heading::before {
  content: "";
  position: absolute;
  top: clamp(20px, 1.8vw, 30px);
  bottom: clamp(20px, 1.8vw, 30px);
  left: var(--nlf-session-gutter);
  width: 3px;
  background: #b85c3a;
}

.nlf-session-heading h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: var(--nlf-session-title-font-size, clamp(38px, 3.45vw, 56px)) !important;
  font-weight: 400 !important;
  line-height: 1.03 !important;
  letter-spacing: -0.032em !important;
  text-wrap: normal;
}

.nlf-session-subtitle {
  margin: 12px 0 0 !important;
  color: rgba(255, 255, 255, 0.93) !important;
  font-family: inherit !important;
  font-size: clamp(18px, 1.38vw, 23px) !important;
  font-style: italic;
  line-height: 1.3 !important;
  text-wrap: normal;
}

/*
 * v0.4.3 hero-overlay sizing:
 * Desktop JavaScript lets the TITLE alone determine the panel width. It first
 * lays the title out against the established maximum, then trims the panel to
 * the actual longest rendered title line. The subtitle inherits that width and
 * never makes the panel wider. If wrapping would leave only one or two words
 * on the final title line, JavaScript may make a modest title-only font-size
 * reduction to avoid the widow before accepting the wrap.
 */
@media (min-width: 821px) {
  .nlf-session-heading.nlf-session-heading--title-sized {
    right: auto;
    width: var(--nlf-session-heading-width);
    max-width: calc(100% - clamp(28px, 4.2vw, 68px));
  }
}

.nlf-session-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 30px;
  align-items: center;
  margin: 0;
  padding: 0 0 clamp(30px, 3vw, 44px);
  border-bottom: 1px solid var(--nlf-session-rule);
}

.nlf-session-meta__item {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  min-width: 0;
  color: var(--nlf-session-navy);
  font: inherit;
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.25;
}

.nlf-session-meta__item svg,
.nlf-session-about__links svg {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nlf-session-meta__item a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(11, 38, 56, 0.34);
}

.nlf-session-meta__item a:hover,
.nlf-session-meta__item a:focus-visible {
  border-bottom-color: currentColor;
}

.nlf-session-intro {
  max-width: 880px;
  margin-top: clamp(32px, 3vw, 44px);
  font: inherit;
  font-size: clamp(18px, 1.25vw, 21px);
  line-height: 1.5;
}

.nlf-session-intro > :first-child {
  margin-top: 0;
}

.nlf-session-intro > :last-child {
  margin-bottom: 0;
}

.nlf-session-section {
  max-width: 880px;
  margin-top: clamp(28px, 2.6vw, 38px);
}

.nlf-session-section h2 {
  margin: 0 0 12px !important;
  color: var(--nlf-session-ink) !important;
  font-family: inherit !important;
  font-size: clamp(21px, 1.5vw, 25px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.nlf-session-section ul {
  margin: 0;
  padding-left: 1.3em;
}

.nlf-session-section li {
  margin: 0.34em 0;
  padding-left: 0.18em;
  font: inherit;
  font-size: clamp(17px, 1.15vw, 20px);
  line-height: 1.44;
}

.nlf-session-about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: clamp(30px, 3.2vw, 44px);
  align-items: center;
  margin-top: clamp(42px, 4.5vw, 70px);
  padding: 24px 0 32px;
  border-top: 1px solid var(--nlf-session-rule);
}

.nlf-session-about__copy {
  max-width: 560px;
}

.nlf-session-about h2 {
  margin: 0 0 10px !important;
  color: var(--nlf-session-link) !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nlf-session-about p {
  margin: 0 !important;
  font: inherit;
  font-size: clamp(16px, 1.08vw, 19px);
  line-height: 1.44;
}

.nlf-session-about a {
  color: var(--nlf-session-link);
  text-underline-offset: 3px;
}

.nlf-session-about__links {
  display: grid;
  gap: 16px;
  min-width: 300px;
  margin-top: 32px;
  padding-left: clamp(28px, 3.5vw, 52px);
  border-left: 1px solid var(--nlf-session-rule);
}

.nlf-session-about__links a,
.nlf-session-about__links button {
  display: inline-flex;
  gap: 13px;
  align-items: center;
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nlf-session-link);
  font: inherit;
  font-size: clamp(17px, 1.2vw, 21px);
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.nlf-session-about__links a span,
.nlf-session-about__links button span {
  white-space: nowrap;
}

.nlf-session-about__links a:hover span,
.nlf-session-about__links a:focus-visible span,
.nlf-session-about__links button:hover span,
.nlf-session-about__links button:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 4px;
}


@media (min-width: 1051px) {
  .nlf-session-about__line {
    display: block;
  }
}

@media (max-width: 1050px) {
  .nlf-session-about__line {
    display: inline;
  }

  .nlf-session-about__line + .nlf-session-about__line::before {
    content: " ";
  }
}

.nlf-session-registration {
  min-width: 0;
  align-self: stretch;
  background: var(--nlf-session-blue);
}

/* The registration heading sits roughly level with the centered hero title.
   The panel itself continues the full height of the Session page. */
.nlf-session-registration__inner {
  position: static;
  padding: clamp(120px, 10.2vw, 165px) clamp(28px, 3.3vw, 54px) clamp(54px, 5vw, 84px);
}

.nlf-session-registration h2 {
  margin: 0 !important;
  color: var(--nlf-session-ink) !important;
  font-family: inherit !important;
  font-size: clamp(34px, 2.8vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em !important;
}

.nlf-session-registration__inner > p {
  margin: 20px 0 26px !important;
  color: var(--nlf-session-ink) !important;
  font: inherit;
  font-size: clamp(17px, 1.15vw, 20px);
  line-height: 1.4;
}

/* Fluent Forms: neutralize internal wrappers and then apply a predictable
   two-column name row with full-width Company and Email fields. */
.nlf-session-form,
.nlf-session-form .fluentform,
.nlf-session-form .frm-fluent-form,
.nlf-session-form fieldset,
.nlf-session-form .ff-t-container,
.nlf-session-form .ff-t-cell,
.nlf-session-form .ff-el-input--content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nlf-session-form fieldset {
  border: 0 !important;
}

.nlf-session-form .ff-el-group {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

.nlf-session-form .ff_name_holder {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nlf-session-form .ff_name_holder > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The placeholders provide the visible prompt. Keep Fluent Forms labels in
   the accessibility tree while removing the duplicate visual labels. */
.nlf-session-form .ff-el-input--label,
.nlf-session-form label:not(.ff-el-form-check-label) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.nlf-session-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.nlf-session-form textarea,
.nlf-session-form select,
.nlf-session-form .ff-el-form-control {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(40, 91, 143, 0.56) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--nlf-session-ink) !important;
  font: inherit !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

.nlf-session-form .ff-el-form-check {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  width: 100% !important;
  margin-top: 2px !important;
}

.nlf-session-form input[type="checkbox"] {
  flex: 0 0 auto;
  width: 19px !important;
  height: 19px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--nlf-session-navy);
}

.nlf-session-form .ff-el-form-check-label,
.nlf-session-form .ff-el-form-check-label span,
.nlf-session-form .ff-el-help-message {
  color: var(--nlf-session-ink) !important;
  font: inherit !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.nlf-session-form .ff_submit_btn_wrapper {
  display: block !important;
  width: 100% !important;
  margin: 2px 0 16px !important;
  padding: 0 !important;
}

.nlf-session-form .ff-btn-submit,
.nlf-session-form button.ff-btn-submit,
.nlf-session-form input[type="submit"] {
  min-width: 0 !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 11px 34px !important;
  border: 1px solid var(--nlf-session-navy) !important;
  border-radius: 0 !important;
  background: var(--nlf-session-navy) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.nlf-session-form .ff-btn-submit:hover,
.nlf-session-form .ff-btn-submit:focus-visible,
.nlf-session-form button.ff-btn-submit:hover,
.nlf-session-form button.ff-btn-submit:focus-visible {
  background: #12354b !important;
  border-color: #12354b !important;
}

/* Find Group modal */
body.nlf-session-modal-open {
  overflow: hidden;
}

.nlf-session-modal[hidden] {
  display: none !important;
}

.nlf-session-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  transition: opacity 180ms ease;
}

.nlf-session-modal.is-open {
  opacity: 1;
}

.nlf-session-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 20, 31, 0.76);
}

.nlf-session-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100vw - 42px));
  max-height: calc(100vh - 42px);
  overflow: auto;
  padding: clamp(30px, 4vw, 56px);
  background: var(--nlf-session-beige);
  color: var(--nlf-session-ink);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  transform: translateY(12px);
  transition: transform 180ms ease;
}

.nlf-session-modal.is-open .nlf-session-modal__dialog {
  transform: translateY(0);
}

.nlf-session-modal__close {
  position: absolute;
  top: 14px;
  right: 18px;
  border: 0;
  background: transparent;
  color: var(--nlf-session-navy);
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

.nlf-session-modal__title {
  margin: 0 0 26px !important;
  color: var(--nlf-session-navy) !important;
  font-family: inherit !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  font-weight: 400 !important;
}

@media (max-width: 1050px) {
  .nlf-session-layout {
    grid-template-columns: minmax(0, 1.78fr) minmax(320px, 1fr);
  }

  .nlf-session-main {
    padding-inline: 40px;
  }

  .nlf-session-about {
    grid-template-columns: 1fr;
  }

  .nlf-session-about__links {
    margin-top: 0;
    padding: 24px 0 0;
    border-top: 1px solid var(--nlf-session-rule);
    border-left: 0;
  }
}

@media (max-width: 820px) {
  .nlf-session-layout {
    display: flex;
    flex-direction: column;
  }

  .nlf-session-left {
    order: 1;
  }

  .nlf-session-registration {
    order: 2;
  }

  .nlf-session-hero {
    aspect-ratio: auto;
    min-height: 300px;
  }

  .nlf-session-heading {
    right: 24px;
    left: 24px;
  }

  .nlf-session-main {
    padding: 44px 26px 0;
  }

  .nlf-session-registration__inner {
    padding: 42px 26px 54px;
  }

  .nlf-session-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .nlf-session-hero {
    min-height: 320px;
  }

  .nlf-session-heading {
    right: 16px;
    left: 16px;
    padding: 22px 20px 21px 28px;
  }

  .nlf-session-heading::before {
    top: 20px;
    bottom: 20px;
  }

  .nlf-session-heading h1 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }

  .nlf-session-subtitle {
    font-size: 17px !important;
  }

  .nlf-session-meta {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .nlf-session-intro,
  .nlf-session-section li {
    font-size: 18px;
  }

  .nlf-session-about {
    margin-top: 44px;
  }

  .nlf-session-form .ff_name_holder {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nlf-session-modal,
  .nlf-session-modal__dialog {
    transition: none;
  }
}

@media (min-width: 1101px) {
  body.nlf-session-template .nlf-main-nav,
  body.nlf-session-template .nlf-header-row > .wp-block-navigation {
    margin-right: 140px !important;
  }
}

@media (max-width: 781px) {
  body.nlf-session-template .nlf-header-row {
    flex-wrap: wrap !important;
  }

  body.nlf-session-template .nlf-main-nav,
  body.nlf-session-template .nlf-header-row > .wp-block-navigation {
    margin-right: 0 !important;
  }

  .nlf-session-heading {
    right: 18px;
    padding-left: calc(var(--nlf-session-gutter) + 22px);
  }
}


/* Match the desktop spacing used by the live Home/About header. */
@media (min-width: 1101px) {
  body.nlf-session-template .nlf-header-logo {
    margin-left: 82px !important;
  }

  body.nlf-session-template .nlf-main-nav,
  body.nlf-session-template .nlf-header-row > .wp-block-navigation {
    margin-right: 140px !important;
    margin-left: auto !important;
  }
}

.nlf-session-meta__item--time span {
  white-space: nowrap;
}

/*
 * v0.3.9: keep the Header content connected to the reusable Site Editor
 * template part, but reproduce the same desktop geometry used on Home/About.
 * No JavaScript moves the logo or navigation; this prevents layout drift.
 */
.nlf-cm-shared-template-part,
.nlf-cm-shared-template-part > header,
.nlf-cm-shared-template-part > footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.nlf-session-template .nlf-cm-shared-header,
body.nlf-session-template .nlf-cm-shared-header .nlf-site-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-inner {
  width: 100% !important;
  max-width: 1540px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-row {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 104px !important;
  box-sizing: border-box !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo {
  flex: 0 0 235px !important;
  margin: 0 0 0 82px !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo img {
  display: block !important;
  width: 235px !important;
  max-width: none !important;
  height: auto !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > nav.nlf-main-nav {
  flex: 0 0 auto !important;
  margin: 0 140px 0 auto !important;
  align-self: center !important;
}

body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > nav.nlf-main-nav .wp-block-navigation__container,
body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > .wp-block-navigation .wp-block-navigation__container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

@media (max-width: 1100px) {
  body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo {
    flex-basis: 235px !important;
    margin-left: 0 !important;
  }

  body.nlf-session-template .nlf-cm-shared-header .nlf-main-nav,
  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > .wp-block-navigation {
    margin-right: 20px !important;
  }
}

@media (max-width: 781px) {
  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row {
    flex-wrap: wrap !important;
    min-height: 72px !important;
  }

  body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo {
    flex-basis: 200px !important;
    margin-left: 0 !important;
  }

  body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo img {
    width: 200px !important;
  }

  body.nlf-session-template .nlf-cm-shared-header .nlf-main-nav,
  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > .wp-block-navigation {
    margin-right: 0 !important;
  }
}


/* v0.4.0: the final desktop navigation placement is supplied inline in the
   Session template so it cannot be defeated by stale cached CSS. */
.nlf-session-meta__item--time span { white-space: nowrap !important; }
\n\n/* =========================================================\n   v0.4.1 HEADER GEOMETRY FIX\n   Gutenberg renders the custom class nlf-main-nav on both the outer\n   <nav> and its inner <ul>. Previous rules therefore shifted both boxes.\n   Only the direct child <nav> should participate in header placement.\n   ========================================================= */\n@media (min-width: 1101px) {\n  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row {\n    position: relative !important;\n    display: flex !important;\n    flex-flow: row nowrap !important;\n    align-items: center !important;\n    justify-content: flex-start !important;\n  }\n\n  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > figure.nlf-header-logo {\n    margin-left: 82px !important;\n    margin-right: 0 !important;\n  }\n\n  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > nav.nlf-main-nav {\n    position: static !important;\n    inset: auto !important;\n    flex: 0 0 auto !important;\n    margin: 0 140px 0 auto !important;\n    transform: none !important;\n  }\n\n  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > nav.nlf-main-nav ul.nlf-main-nav,\n  body.nlf-session-template .nlf-cm-shared-header .nlf-header-row > nav.nlf-main-nav ul.wp-block-navigation__container {\n    position: static !important;\n    inset: auto !important;\n    margin: 0 !important;\n    transform: none !important;\n  }\n}\n
/* =========================================================
   v0.6.3 FIND-ANOTHER-GROUP MODAL
   Form 3's desktop site styling uses fixed 355px/480px columns. The Session
   modal was narrower than that grid after its own padding was subtracted,
   so the centered grid clipped the first characters of every blue label.
   Give the modal enough usable width and make its Form 3 columns fluid.
   ========================================================= */
.nlf-session-modal__dialog {
  width: min(1080px, calc(100vw - 42px)) !important;
  box-sizing: border-box !important;
}

.nlf-session-modal__form,
.nlf-session-modal__form .fluent_form_3,
.nlf-session-modal__form .fluentform_wrapper_3,
.nlf-session-modal__form #fluentform_3 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.nlf-session-modal__form .fluent_form_3 .ff-el-group,
.nlf-session-modal__form #fluentform_3 .ff-el-group {
  grid-template-columns: minmax(300px, 355px) minmax(0, 1fr) !important;
  column-gap: 30px !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.nlf-session-modal__form .fluent_form_3 .ff-el-input--label,
.nlf-session-modal__form #fluentform_3 .ff-el-input--label,
.nlf-session-modal__form .fluent_form_3 .ff-el-input--content,
.nlf-session-modal__form #fluentform_3 .ff-el-input--content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.nlf-session-modal__form .fluent_form_3 .ff-el-input--label label,
.nlf-session-modal__form #fluentform_3 .ff-el-input--label label {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .nlf-session-modal__dialog {
    width: min(720px, calc(100vw - 28px)) !important;
    padding: 30px 20px !important;
  }

  .nlf-session-modal__form .fluent_form_3 .ff-el-group,
  .nlf-session-modal__form #fluentform_3 .ff-el-group {
    display: block !important;
  }
}
