:root {
  --nlf-finder-paper: #f2ede6;
  --nlf-finder-ink: #172f3d;
  --nlf-finder-navy: #0b2b3d;
  --nlf-finder-blue: #285b8f;
  --nlf-finder-serif: var(--wp--preset--font-family--body, Iowan Old Style, Georgia, "Times New Roman", serif);
  --nlf-finder-sans: Arial, Helvetica, sans-serif;
}

/* Leave enough context above the homepage finder so its complete blue panel,
   including the heading, is visible after Header or hero links are selected. */
#find-your-group {
  scroll-margin-top: clamp(108px, 9vw, 142px) !important;
}

.nlf-create-group-timing {
  width: 100%;
  max-width: 48ch;
  margin: 13px auto 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  opacity: 0.78;
  text-align: center !important;
  text-wrap: balance;
}

.nlf-create-group-timing[hidden] {
  display: none !important;
}

/* Homepage embedded finder: preserve the blue label / white input design, but
   turn the no-match fields into a contained two-column form instead of letting
   Fluent Forms' left-label rules create a four-column overflow. */
.advice-form-area .fluent_form_3.nlf-group-finder--create {
  width: 100% !important;
  max-width: 840px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  overflow-x: hidden !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-group-finder-filter-field {
  display: none !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-column-container,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-t-cell,
.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-only {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 840px !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-column-container,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-t-cell {
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-custom_html.nlf-create-group-only {
  display: block !important;
  margin: 0 auto 18px !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-no-group-message {
  max-width: 68ch;
  margin: 0 auto !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(14px, 1.05vw, 16px) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  text-align: center !important;
  text-wrap: balance;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-group-finder-summary {
  color: #fff !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 840px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper > .ff-t-container,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff_name_holder {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-email-row,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-group {
  --nlf-create-group-display: grid;
  display: grid !important;
  grid-template-columns: minmax(230px, 285px) minmax(0, 1fr) !important;
  column-gap: 24px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 840px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-only .ff-el-input--label,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-input--label {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-only .ff-el-input--label label,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-input--label label {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 18px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-only .ff-el-input--content,
.advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-input--content {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create input.ff-el-form-control,
.advice-form-area .fluent_form_3.nlf-group-finder--create textarea.ff-el-form-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 52px !important;
  padding: 10px 15px !important;
  font-size: 16px !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create textarea.ff-el-form-control {
  min-height: 90px !important;
  resize: vertical;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .ff_submit_btn_wrapper {
  margin-top: 31px !important;
}

.advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-timing {
  color: #fff !important;
  opacity: 0.92;
}

/* In create mode the selected filters stay in the submission but no longer
   consume vertical space, allowing the complete fallback form to remain over
   the homepage artwork. */
#find-your-group.nlf-group-finder-section--create .advice-description {
  margin-bottom: 32px !important;
}

/* Shared Form 3 popup. This deliberately mirrors the working About-page
   dialog while remaining isolated from the homepage's embedded form design. */
.nlf-session-modal {
  z-index: 1000000 !important;
  padding: 24px !important;
}

.nlf-session-modal__backdrop {
  background: rgba(6, 24, 36, 0.76) !important;
  backdrop-filter: blur(2px);
}

.nlf-session-modal__dialog {
  box-sizing: border-box !important;
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  max-height: calc(100vh - 48px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: clamp(34px, 4.2vw, 58px) !important;
  border: 1px solid rgba(11, 38, 56, 0.20) !important;
  border-radius: 8px !important;
  background: var(--nlf-finder-paper) !important;
  color: var(--nlf-finder-ink) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42) !important;
}

.nlf-session-modal__close {
  top: 14px !important;
  right: 16px !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 0 3px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--nlf-finder-ink) !important;
  font-family: Arial, sans-serif !important;
  font-size: 36px !important;
  font-weight: 300 !important;
}

.nlf-session-modal__close:hover,
.nlf-session-modal__close:focus-visible {
  background: rgba(11, 38, 56, 0.08) !important;
}

.nlf-session-modal__title {
  margin: 0 50px 38px 0 !important;
  color: var(--nlf-finder-blue) !important;
  font-family: var(--nlf-finder-serif) !important;
  font-size: clamp(31px, 3vw, 43px) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.nlf-session-modal__form,
.nlf-session-modal .fluentform,
.nlf-session-modal .fluent_form_3,
.nlf-session-modal .fluent_form_3 form,
.nlf-session-modal .fluent_form_3 fieldset,
.nlf-session-modal .fluent_form_3 .ff-t-container,
.nlf-session-modal .fluent_form_3 .ff-t-cell,
.nlf-session-modal .fluent_form_3 .ff-field_container,
.nlf-session-modal .fluent_form_3 .ff-el-group,
.nlf-session-modal .fluent_form_3 .ff-el-input--label,
.nlf-session-modal .fluent_form_3 .ff-el-input--content {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.nlf-session-modal .fluent_form_3 fieldset {
  min-inline-size: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-t-container,
.nlf-session-modal .fluent_form_3 .ff-t-cell {
  display: block !important;
  padding: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-el-group {
  display: block !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-name-field-wrapper {
  display: block !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-name-field-wrapper > .ff-t-container,
.nlf-session-modal .fluent_form_3 .ff_name_holder {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.nlf-session-modal .fluent_form_3 .ff-name-field-wrapper .ff-el-group {
  margin-bottom: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-el-input--label {
  position: static !important;
  display: block !important;
  height: auto !important;
  margin: 0 0 11px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
}

.nlf-session-modal .fluent_form_3 .ff-el-input--label label {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--nlf-finder-ink) !important;
  font-family: var(--nlf-finder-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.nlf-session-modal .fluent_form_3 .optional-note {
  display: block !important;
  margin-top: 4px !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.nlf-session-modal .fluent_form_3 select,
.nlf-session-modal .fluent_form_3 input:not([type="hidden"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.nlf-session-modal .fluent_form_3 textarea,
.nlf-session-modal .fluent_form_3 .ff-el-form-control,
.nlf-session-modal .fluent_form_3 .select2-selection--single,
.nlf-session-modal .fluent_form_3 .choices__inner {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 10px 38px 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23, 47, 61, 0.36) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #65717c !important;
  font-family: var(--nlf-finder-serif) !important;
  font-size: 18px !important;
}

.nlf-session-modal .fluent_form_3 textarea {
  min-height: 96px !important;
  padding-right: 0 !important;
  resize: vertical;
}

.nlf-session-modal .fluent_form_3 .choices,
.nlf-session-modal .fluent_form_3 .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

.nlf-session-modal .fluent_form_3 .select2-selection__rendered {
  height: auto !important;
  padding: 10px 38px 10px 0 !important;
  color: #65717c !important;
  font-family: var(--nlf-finder-serif) !important;
  font-size: 18px !important;
  line-height: 30px !important;
}

.nlf-session-modal .fluent_form_3 .select2-selection__arrow {
  right: 0 !important;
  height: 50px !important;
}

.nlf-session-modal .fluent_form_3 .nlf-no-group-message {
  max-width: 68ch;
  margin: 0 auto !important;
  color: var(--nlf-finder-ink) !important;
  font-family: var(--nlf-finder-serif) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-wrap: balance;
}

.nlf-session-modal .fluent_form_3 .ff_submit_btn_wrapper {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

.nlf-session-modal .fluent_form_3 .ff-btn-submit,
.nlf-session-modal .fluent_form_3 button.ff-btn-submit,
.nlf-session-modal .fluent_form_3 input[type="submit"] {
  width: auto !important;
  min-width: 220px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 13px 28px !important;
  border: 1px solid var(--nlf-finder-navy) !important;
  border-radius: 0 !important;
  background: var(--nlf-finder-navy) !important;
  color: #fff !important;
  font-family: var(--nlf-finder-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.nlf-session-modal .fluent_form_3 .ff-btn-submit:hover,
.nlf-session-modal .fluent_form_3 button.ff-btn-submit:hover,
.nlf-session-modal .fluent_form_3 input[type="submit"]:hover {
  background: #123b50 !important;
  border-color: #123b50 !important;
}

.nlf-session-modal .fluent_form_3 .nlf-create-group-timing {
  color: var(--nlf-finder-ink) !important;
}

.nlf-session-modal form.nlf-group-finder--create .ff_submit_btn_wrapper,
.nlf-am6-modal form.nlf-group-finder--create .ff_submit_btn_wrapper {
  justify-content: center !important;
}

.nlf-session-modal form.nlf-group-finder--create .nlf-create-group-timing,
.nlf-am6-modal form.nlf-group-finder--create .nlf-create-group-timing {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

.nlf-am6-modal .fluent_form_3 .nlf-no-group-message {
  max-width: 68ch;
  margin-right: auto !important;
  margin-left: auto !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-wrap: balance;
}

@media (max-width: 600px) {
  #find-your-group {
    scroll-margin-top: 82px !important;
  }

  .nlf-session-modal {
    padding: 12px !important;
  }

  .nlf-session-modal__dialog {
    max-height: calc(100vh - 24px) !important;
    padding: 32px 23px !important;
  }

  .nlf-session-modal__title {
    margin-bottom: 30px !important;
    font-size: 31px !important;
  }

  .nlf-session-modal .fluent_form_3 .ff-name-field-wrapper > .ff-t-container,
  .nlf-session-modal .fluent_form_3 .ff_name_holder {
    grid-template-columns: 1fr !important;
  }

  .nlf-session-modal .fluent_form_3 .ff-btn-submit,
  .nlf-session-modal .fluent_form_3 button.ff-btn-submit,
  .nlf-session-modal .fluent_form_3 input[type="submit"] {
    width: 100% !important;
  }

  .advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-email-row,
  .advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-group {
    --nlf-create-group-display: block;
    display: block !important;
    margin-bottom: 22px !important;
  }

  .advice-form-area .fluent_form_3.nlf-group-finder--create .nlf-create-group-only .ff-el-input--label,
  .advice-form-area .fluent_form_3.nlf-group-finder--create .ff-name-field-wrapper .ff-el-input--label {
    margin-bottom: 8px !important;
  }
}

/* Shared phone header and footer. The site has only two primary destinations,
   so the links remain visible instead of opening Gutenberg's full-screen menu. */
@media (max-width: 780px) {
  html,
  body,
  body .wp-site-blocks {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body .nlf-site-header {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
    padding: 10px 8px !important;
    overflow: hidden !important;
  }

  body .nlf-site-header > .wp-block-group,
  body .nlf-site-header .nlf-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .nlf-site-header .nlf-header-row {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
  }

  body .nlf-site-header .nlf-header-logo {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 0 !important;
    max-width: 104px !important;
    margin: 0 !important;
  }

  body .nlf-site-header .nlf-header-logo img {
    display: block !important;
    width: 104px !important;
    height: auto !important;
    max-width: 100% !important;
  }

  body .nlf-site-header .nlf-header-row > nav.nlf-main-nav {
    position: static !important;
    inset: auto !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
  }

  body nav.nlf-main-nav > .wp-block-navigation__responsive-container-open,
  body nav.nlf-main-nav .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  body nav.nlf-main-nav > .wp-block-navigation__responsive-container,
  body nav.nlf-main-nav .wp-block-navigation__responsive-close,
  body nav.nlf-main-nav .wp-block-navigation__responsive-dialog,
  body nav.nlf-main-nav .wp-block-navigation__responsive-container-content {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: transparent !important;
    color: #fff !important;
  }

  body nav.nlf-main-nav ul.wp-block-navigation__container,
  body nav.nlf-main-nav ul.nlf-main-nav {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body nav.nlf-main-nav li.wp-block-navigation-item {
    position: relative !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body nav.nlf-main-nav li.wp-block-navigation-item + li.wp-block-navigation-item {
    margin-left: 8px !important;
    padding-left: 9px !important;
  }

  body nav.nlf-main-nav li.wp-block-navigation-item + li.wp-block-navigation-item::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block !important;
    width: 1px;
    height: 16px;
    background: rgba(255, 255, 255, 0.56);
    content: "";
    transform: translateY(-50%);
  }

  body nav.nlf-main-nav a.wp-block-navigation-item__content {
    display: block !important;
    padding: 8px 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  body .nlf-footer-block.alignfull {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
    overflow: hidden !important;
  }

  body .nlf-footer-bottom {
    width: 100% !important;
    max-width: 100% !important;
    padding: 25px 18px 28px !important;
  }

  body .nlf-footer-navrow {
    display: flex !important;
    flex-flow: column nowrap !important;
    gap: 8px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .nlf-footer-navrow > * {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body .nlf-footer-navrow,
  body .nlf-footer-navrow a,
  body .nlf-footer-navrow p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body .nlf-footer-logo {
    display: none !important;
  }
}

/* v0.6.8: full-width shared chrome without viewport-centering offsets. The
   earlier 50vw technique is appropriate inside a constrained desktop block,
   but on iOS it double-offsets Header/Footer template parts on some pages. */
@media (max-width: 780px) {
  html,
  body,
  body .wp-site-blocks,
  body header.wp-block-template-part,
  body footer.wp-block-template-part,
  body .nlf-cm-shared-header,
  body .nlf-cm-shared-footer,
  body .nlf-site-header,
  body .nlf-footer-block.alignfull {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  html,
  body,
  body .wp-site-blocks {
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow-x: hidden !important;
  }

  body header.wp-block-template-part,
  body footer.wp-block-template-part,
  body .nlf-cm-shared-header,
  body .nlf-cm-shared-footer {
    position: relative !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body .nlf-site-header {
    position: relative !important;
    padding: 9px 10px !important;
    overflow: hidden !important;
  }

  body .nlf-site-header .nlf-header-logo {
    flex: 0 0 110px !important;
    width: 110px !important;
    max-width: 110px !important;
  }

  body .nlf-site-header .nlf-header-logo img {
    width: 110px !important;
  }

  body nav.nlf-main-nav a.wp-block-navigation-item__content,
  body .nlf-cm-fallback-nav a {
    font-size: 13.5px !important;
  }

  body .nlf-footer-block.alignfull,
  body .nlf-footer-main,
  body .nlf-footer-bottom,
  body .nlf-footer-bottom-inner,
  body .nlf-footer-navrow {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* v0.6.10: one final full-bleed mobile shell for every WordPress template.
   This intentionally follows the older compatibility rules so one geometry
   model wins the cascade on Home, About, Calendar, Group, and Session pages. */
@media (max-width: 780px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body .wp-site-blocks {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  body header.wp-block-template-part,
  body footer.wp-block-template-part,
  body .nlf-cm-shared-header,
  body .nlf-cm-shared-footer,
  body .nlf-site-header,
  body .nlf-footer-block.alignfull {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body .nlf-site-header {
    padding: 9px 8px !important;
  }

  body .nlf-site-header .nlf-header-row {
    flex-flow: row nowrap !important;
    gap: 6px !important;
    justify-content: space-between !important;
  }

  body .nlf-site-header .nlf-header-logo {
    flex: 0 0 114px !important;
    width: 114px !important;
    max-width: 114px !important;
  }

  body .nlf-site-header .nlf-header-logo img {
    width: 114px !important;
  }

  body .nlf-site-header .nlf-header-row > nav.nlf-main-nav {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
  }

  body nav.nlf-main-nav li.wp-block-navigation-item + li.wp-block-navigation-item {
    margin-left: 7px !important;
    padding-left: 8px !important;
  }

  body nav.nlf-main-nav a.wp-block-navigation-item__content,
  body .nlf-cm-fallback-nav a {
    font-size: 13.75px !important;
  }

  body .nlf-footer-main,
  body .nlf-footer-bottom,
  body .nlf-footer-bottom-inner,
  body .nlf-footer-navrow {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ================================================================
 * v0.6.12 — one mobile viewport model
 *
 * The custom Session/Group/Calendar templates are already full width. Earlier
 * rules applied Riverbank's alignfull offset a second time inside those shells.
 * Keep viewport sizing at the root and make every nested template part use the
 * width of its parent, with no negative margins or 50vw recentering.
 * ================================================================ */
@media (max-width: 780px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow-x: hidden !important;
  }

  body > .wp-site-blocks,
  body > .nlf-calendar-site-blocks,
  body > .nlf-group-site-blocks,
  body > .nlf-session-site-blocks {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body header.wp-block-template-part,
  body footer.wp-block-template-part,
  body .nlf-cm-shared-header,
  body .nlf-cm-shared-footer,
  body .nlf-cm-shared-header .nlf-site-header,
  body .nlf-cm-shared-footer .nlf-footer-block,
  body .nlf-cm-shared-footer .nlf-footer-main,
  body .nlf-cm-shared-footer .nlf-footer-bottom,
  body .nlf-cm-shared-footer .nlf-footer-bottom-inner,
  body .nlf-cm-shared-footer .nlf-footer-navrow {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body header.wp-block-template-part > .nlf-site-header,
  body footer.wp-block-template-part > .nlf-footer-block {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  body.home main .nlf-footer-block.alignfull {
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
  }

  body.nlf-group-template .nlf-cm-shared-header .nlf-header-row {
    flex-flow: row nowrap !important;
    gap: 6px !important;
    justify-content: space-between !important;
    min-height: 64px !important;
  }

  body.nlf-group-template .nlf-cm-shared-header .nlf-header-logo {
    flex: 0 0 106px !important;
    width: 106px !important;
    max-width: 106px !important;
    margin: 4px 0 0 !important;
    transform: translateY(3px) !important;
  }

  body.nlf-group-template .nlf-cm-shared-header .nlf-header-logo img {
    width: 106px !important;
    max-width: 106px !important;
  }

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

/* ================================================================
 * v0.6.13 — modest shared mobile header scale
 * ================================================================ */
@media (max-width: 780px) {
  body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo,
  body.nlf-group-template .nlf-cm-shared-header .nlf-header-logo {
    flex: 0 0 116px !important;
    width: 116px !important;
    max-width: 116px !important;
  }

  body.nlf-session-template .nlf-cm-shared-header .nlf-header-logo img,
  body.nlf-group-template .nlf-cm-shared-header .nlf-header-logo img {
    width: 116px !important;
    max-width: 116px !important;
  }

  body.nlf-session-template .nlf-cm-shared-header nav.nlf-main-nav a.wp-block-navigation-item__content,
  body.nlf-group-template .nlf-cm-shared-header nav.nlf-main-nav a.wp-block-navigation-item__content,
  body.nlf-session-template .nlf-cm-shared-header .nlf-cm-fallback-nav a,
  body.nlf-group-template .nlf-cm-shared-header .nlf-cm-fallback-nav a {
    font-size: 14.25px !important;
  }
}

/* v0.6.14: use one left-aligned legal-footer composition on phones. */
@media (max-width: 780px) {
  body .nlf-footer-bottom,
  body .nlf-footer-bottom-inner,
  body .nlf-footer-navrow,
  body .nlf-cm-shared-footer .nlf-footer-bottom,
  body .nlf-cm-shared-footer .nlf-footer-bottom-inner,
  body .nlf-cm-shared-footer .nlf-footer-navrow {
    text-align: left !important;
  }

  body .nlf-footer-navrow,
  body .nlf-cm-shared-footer .nlf-footer-navrow {
    display: flex !important;
    flex-flow: column nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  body .nlf-footer-navrow > *,
  body .nlf-cm-shared-footer .nlf-footer-navrow > * {
    align-self: flex-start !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }
}
