/* E-Safe bundle source: assets/harbor-core.css */
.theme-harbor :is(
  .fieldMarker,
  .esafe-um-help-trigger,
  .esafe-um-online-help-link,
  .esafe-um-status-help,
  .esafe-sam-help-trigger,
  .esafe-everify-help-link
) {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 0 2px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 900 18px/1 "Inter", system-ui, sans-serif !important;
  text-decoration: none !important;
  vertical-align: 0.12em !important;
}

.theme-harbor .fieldMarker.required,
.theme-harbor :is(.esafe-um-help-required, .esafe-sam-help-required) {
  color: #8e021c !important;
}

.theme-harbor .fieldMarker.optional,
.theme-harbor :is(.esafe-um-help-optional, .esafe-sam-help-optional, .esafe-um-online-help-link, .esafe-um-status-help) {
  color: #7a7a7a !important;
}

.theme-harbor :is(
  .fieldMarker,
  .esafe-um-help-trigger,
  .esafe-um-online-help-link,
  .esafe-um-status-help,
  .esafe-sam-help-trigger,
  .esafe-everify-help-link
):is(:hover, :focus-visible) {
  border: 0 !important;
  background: transparent !important;
  color: #d8677d !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-shadow: 0 0 1px currentColor !important;
}

.theme-harbor .esafeContactTrap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.theme-harbor .policyContent {
  max-width: 860px;
}

.theme-harbor .policyContent h2 {
  margin: 32px 0 12px;
}

.theme-harbor .policyNotice {
  margin: 0 0 32px;
  padding: 20px;
}

.theme-harbor .policyNotice strong {
  display: block;
  margin-bottom: 8px;
}

.theme-harbor .policyNotice p {
  margin: 0;
}

.theme-harbor .esafeContextHeading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.theme-harbor .elementor-widget-theme-post-content :is(p, li, div, span, a, code, pre) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.theme-harbor .gbiResearchSection > p {
  max-width: 860px;
  margin: 0 0 20px;
  font: 400 15px/24px "Inter", system-ui, sans-serif;
}

.theme-harbor .gbiResearchActions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  max-width: 720px;
  margin-top: 0;
}

.theme-harbor .gbiResearchAction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.theme-harbor .gbiResearchAction .esafeButton {
  width: 100%;
  min-width: 0;
}

.theme-harbor .gbiResearchHelp {
  flex: 0 0 auto;
}

.theme-harbor .everifyHero {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 32px clamp(20px, 4vw, 48px);
  text-align: center;
}

.theme-harbor .everifyHero > p:not(.eyebrow) {
  max-width: 860px;
  margin: 0;
  font: 400 15px/24px "Inter", system-ui, sans-serif;
}

.theme-harbor .everifyHeroSeal,
.theme-harbor .everifyBadge {
  display: grid;
  justify-items: center;
  min-width: 0;
}

.theme-harbor .everifyHeroSeal :is(img, iframe),
.theme-harbor .everifyBadge :is(img, iframe),
.theme-harbor .everifySealFallback img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

.theme-harbor .everifyActions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}

.theme-harbor .everifyContent .toolPageSection > p,
.theme-harbor .everifyContent .toolPageSection > ul,
.theme-harbor .everifyContent .toolPageSection > ol {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
}

.theme-harbor .everifyProcess {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.theme-harbor .everifyProcess li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
}

.theme-harbor .everifyProcess li > span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #1e5476;
  color: #fff;
  font: 600 14px/1 "Inter", system-ui, sans-serif;
}

.theme-harbor .everifyProcess h3,
.theme-harbor .everifyProcess p {
  margin: 0;
}

.theme-harbor .everifyProcess h3 {
  margin-bottom: 8px;
}

.theme-harbor .everifyBenefitGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-top: 24px;
}

.theme-harbor .everifyBenefitGrid section {
  min-width: 0;
}

.theme-harbor .everifyBenefitGrid h3 {
  margin: 0 0 12px;
}

.theme-harbor .everifyBenefitGrid ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
  font: 400 15px/24px "Inter", system-ui, sans-serif;
}

.theme-harbor .everifyDiligence .everifyActions,
.theme-harbor .everifyClosing .everifyActions {
  justify-content: flex-start;
}

.theme-harbor .everifyClosing {
  text-align: center;
}

.theme-harbor .everifyClosing .everifyActions {
  justify-content: center;
}

@media (max-width: 900px) {
  .theme-harbor .everifyProcess {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .theme-harbor .gbiResearchActions,
  .theme-harbor .everifyProcess,
  .theme-harbor .everifyBenefitGrid {
    grid-template-columns: 1fr;
  }

  .theme-harbor .everifyActions {
    align-items: stretch;
    flex-direction: column;
  }

  .theme-harbor .everifyActions .esafeButton {
    width: 100%;
  }
}

/* E-Verify staging completion: bounded imagery, consistent rhythm, and framed workflows. */
.theme-harbor .toolCard--e-verify .featureVisual {
  display: block !important;
  overflow: hidden !important;
  background: #dce6ed !important;
}

.theme-harbor .everifyPage img,
.theme-harbor .everifySection img,
.theme-harbor .everifyBadge img,
.theme-harbor .everifyHeroSeal img {
  display: block !important;
  width: auto !important;
  max-width: min(250px, 100%) !important;
  height: auto !important;
  max-height: 100% !important;
  margin-inline: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.theme-harbor .elementor .toolCard--e-verify .featureVisual img,
.theme-harbor .toolCard--e-verify .featureVisual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.theme-harbor .esafe-everify-public-seal {
  display: block !important;
  width: auto !important;
  max-width: min(250px, 100%) !important;
  height: auto !important;
  margin-inline: auto !important;
  object-fit: contain !important;
}

.theme-harbor .toolCard--e-verify .featureVisual img {
  transition: transform .25s ease !important;
}

.theme-harbor .toolCard--e-verify:is(:hover, :focus-within) .featureVisual img {
  transform: scale(1.03) !important;
}

.theme-harbor .everifyPage .everifyHero {
  padding-top: 32px;
  padding-bottom: 24px;
}

.theme-harbor .everifyPrimaryShell > .everifyHeroBanner {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  line-height: 0;
  overflow: hidden;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #d4dee6;
  border-left: 0;
  border-radius: 0;
  background: #071a2b;
  box-shadow: none;
}

.theme-harbor .everifyPage .everifyHeroBanner img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}

.theme-harbor .everifyContent > .toolPageSection {
  padding: 32px clamp(20px, 4vw, 48px);
}

.theme-harbor .everifyContent > .toolPageSection + .toolPageSection {
  border-top: 1px solid #d4dee6;
}

.theme-harbor .everifyContent .eyebrow + h2 {
  margin-top: 4px;
}

.theme-harbor .everifyContent h2 {
  margin-bottom: 16px;
}

.theme-harbor .everifyContent h3 {
  margin-bottom: 12px;
}

.theme-harbor .everifyContent :is(p, ul, ol) + :is(p, ul, ol) {
  margin-top: 16px;
}

.theme-harbor .everifyProcess {
  align-items: stretch;
}

.theme-harbor .everifyProcess li {
  align-content: start;
  min-height: 176px;
  margin: 0 !important;
  padding: 16px;
  border: 1px solid #d4dee6;
  border-radius: 8px;
  background: #f5f8fb;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.theme-harbor .everifyProcess li:is(:hover, :focus-within) {
  transform: translateY(-2px);
  border-color: rgba(142, 2, 28, .28);
  background: #fff;
  box-shadow: 0 0 8px rgba(142, 2, 28, .2);
}

.theme-harbor .everifyProcess li > span {
  align-self: start;
}

.esafePageFrameOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: var(--esafe-page-modal-top, 16px) 16px 8px !important;
  background: rgba(15, 35, 48, .52) !important;
  overflow: hidden !important;
}

.esafePageFrameOverlay[hidden] {
  display: none !important;
}

.esafePageFrameModal {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: min(1040px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  height: min(820px, var(--esafe-page-modal-height, calc(100vh - 32px))) !important;
  max-height: var(--esafe-page-modal-height, calc(100vh - 32px)) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border: 1px solid #d4dee6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 18px 52px rgba(15, 35, 48, .28) !important;
}

.esafePageFrameOverlay.esafeConsumerDiligenceFrame .esafePageFrameModal {
  width: min(720px, calc(100vw - 32px)) !important;
}

.esafePageFrameModal > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 52px !important;
  padding: 10px 12px 10px 20px !important;
  border-bottom: 1px solid #d4dee6 !important;
  background: #fff !important;
}

.esafePageFrameModal > header h2 {
  margin: 0 !important;
  color: #1e5476 !important;
  font: 600 18px/1.25 "Source Sans 3", "Inter", system-ui, sans-serif !important;
}

.esafePageFrameModal .popupClose {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #dadada !important;
  border-radius: 8px !important;
  background: #f5f5f5 !important;
  color: #7a7a7a !important;
  font: 400 20px/1 "Inter", system-ui, sans-serif !important;
  cursor: pointer !important;
}

.esafePageFrame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #f5f8fb !important;
}

html.esafeModalOpen {
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .theme-harbor .everifyPrimaryShell > .everifyHeroBanner + .everifyHero {
    padding-top: 24px;
  }

  .theme-harbor .everifyContent > .toolPageSection {
    padding: 24px 16px;
  }

  .theme-harbor .everifyProcess li {
    min-height: 0;
  }

  .esafePageFrameOverlay {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .esafePageFrameModal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .esafePageFrameOverlay.esafeArticleFrame {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .esafePageFrameOverlay.esafeArticleFrame .esafePageFrameModal {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .esafePageFrameModal > header {
    padding-left: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .toolCard--e-verify .featureVisual img,
  .theme-harbor .everifyProcess li {
    transition: none !important;
    transform: none !important;
  }
}


/* E-Safe bundle source: assets/harbor-format-contract-1.0.160.css */
/* Harbor Light formatting contract, loaded after component CSS. */
.theme-harbor {
  --esafe-font-primary: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --esafe-font-secondary: "Source Sans 3", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --esafe-heading-color: #1e5476;
  --esafe-text-color: #0f2330;
  --esafe-muted-color: #5a6a75;
  --esafe-border-color: #d4dee6;
  --esafe-space-1: 4px;
  --esafe-space-2: 8px;
  --esafe-space-3: 12px;
  --esafe-space-4: 16px;
  --esafe-space-5: 20px;
  --esafe-space-6: 24px;
  --esafe-space-8: 32px;
  --esafe-space-10: 40px;
  --esafe-space-12: 48px;
  --esafe-space-16: 64px;
}

/* Plugin-owned Tool Page content follows the Harbor Light type and spacing contract. */
.theme-harbor .toolPluginSection {
  width: 100%;
  margin-top: var(--esafe-space-8);
}

.theme-harbor .toolPluginOutput {
  width: 100%;
  min-width: 0;
  margin-top: var(--esafe-space-6);
}

.theme-harbor .toolPluginOutput:first-child,
.theme-harbor .toolPluginSection > .toolPluginOutput {
  margin-top: 0;
}

.theme-harbor .toolPluginOutput > .esafe-plugin-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.theme-harbor .toolPluginOutput :is(p, li, label, input, select, textarea) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0;
}

.theme-harbor .toolPluginOutput :is(button, [type="button"], [type="submit"], .esafe-soft-button) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px;
  line-height: 19.6px;
  letter-spacing: 0;
}

.theme-harbor .toolPluginOutput :is(h2, .esafe-h2, .esafe-vets-news-title) {
  font: 600 18px/1.25 var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPluginOutput :is(h3, .esafe-h3, .esafe-ga-title, .esafe-vets-directory-card-title) {
  font-family: var(--esafe-font-secondary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .originalToolImage {
  width: min(100%, 720px);
  margin: var(--esafe-space-6) 0;
  overflow: hidden;
}

.theme-harbor .originalToolImage img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.theme-harbor .missingKidsTool .originalToolImage {
  width: min(100%, 420px);
}

.theme-harbor :is(.toolActionRow, .toolActionGrid) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--esafe-space-3);
  margin: var(--esafe-space-6) 0;
}

.theme-harbor .toolActionGrid .esafeButton {
  flex: 1 1 190px;
}

.theme-harbor .toolChecklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esafe-space-4) var(--esafe-space-8);
}

.theme-harbor .toolChecklist p {
  margin: 0;
}

.theme-harbor .toolIntegrationState {
  width: 100%;
  padding: var(--esafe-space-5);
  border-left: 4px solid #1e5476;
  background: #f5f8fb;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .coordinateFinder {
  width: 100%;
}

.theme-harbor .coordinateFields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esafe-space-4);
}

.theme-harbor .coordinateFields label {
  display: grid;
  gap: var(--esafe-space-2);
  font: 600 14px/19.6px var(--esafe-font-primary);
}

.theme-harbor .coordinateFields input {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 6px;
  background: #fff;
  color: var(--esafe-text-color);
}

.theme-harbor .coordinateStatus {
  margin: 0 0 var(--esafe-space-4);
}

.theme-harbor .coordinateMap {
  width: 100%;
  min-height: 440px;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
}

@media (max-width: 767px) {
  .theme-harbor .toolChecklist,
  .theme-harbor .coordinateFields {
    grid-template-columns: 1fr;
  }

  .theme-harbor :is(.toolActionRow, .toolActionGrid) {
    align-items: stretch;
  }

  .theme-harbor :is(.toolActionRow, .toolActionGrid) .esafeButton {
    width: 100%;
    flex-basis: 100%;
  }

  .theme-harbor .coordinateMap {
    min-height: 360px;
    aspect-ratio: 4 / 5;
  }
}

.theme-harbor :is(.esafePage, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) {
  font-family: var(--esafe-font-primary);
  font-synthesis: none;
}

.theme-harbor :is(.esafePage, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) :is(h1, h2, h3, h4) {
  font-family: var(--esafe-font-secondary);
  letter-spacing: 0;
}

/* Retired fonts may remain in legacy imported blocks, but never render publicly. */
body.theme-harbor:is(.page-id-1227, .page-id-3093, .page-id-356, .page-id-390, .page-id-414) :is(p, li, a, label, input, select, textarea, button, td, th),
.theme-harbor :is(.esafe-active-shooter-wrap, .amelia-v2-booking) :is(p, li, a, label, input, select, textarea, button, td, th) {
  font-family: var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

body.theme-harbor:is(.page-id-1227, .page-id-3093, .page-id-356, .page-id-390, .page-id-414) :is(h1, h2, h3, h4),
.theme-harbor :is(.esafe-active-shooter-wrap, .amelia-v2-booking) :is(h1, h2, h3, h4) {
  font-family: var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .leaflet-container,
.theme-harbor .leaflet-container a {
  font-family: var(--esafe-font-primary) !important;
}

.theme-harbor :is(.elementor-location-search, .elementor-location-archive) .elementor-search-form__submit,
.theme-harbor .e-search-submit {
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}

.theme-harbor :is(.toolPrimaryShell, .esafe-plugin-wrap, .esafe-everify-public, .esafe-everify-public-record) *,
body.theme-harbor > .esafe-gbi-wrap * {
  box-sizing: border-box;
  min-width: 0;
}

body.theme-harbor > .esafe-gbi-wrap {
  width: min(calc(100% - 32px), 1140px);
  max-width: 1140px;
  margin: var(--esafe-space-6) auto;
}

body.theme-harbor > .esafe-gbi-wrap :is(p, li, dd, a) {
  overflow-wrap: break-word;
}

/* The E-Verify tool card uses the same edge-to-edge media treatment as every other tool card. */
.theme-harbor .toolCard--e-verify .featureVisual {
  display: block !important;
  overflow: hidden !important;
  background: #dce6ed !important;
}

.theme-harbor .toolCard--e-verify .featureVisual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Do not compound generic tool-section margins inside the E-Verify sequence. */
.theme-harbor .toolPrimaryContent.everifyContent {
  padding: 0 !important;
}

.theme-harbor .everifyContent > .toolPageSection {
  width: min(100%, 900px);
  max-width: 900px;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: var(--esafe-space-8) clamp(20px, 4vw, var(--esafe-space-12));
  border-top: 1px solid var(--esafe-border-color);
}

.theme-harbor .everifyContent .toolPageSection > :last-child {
  margin-bottom: 0;
}

.theme-harbor .everifyContent .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .everifyContent h2 {
  margin: 0 0 var(--esafe-space-4);
  font: 600 18px/1.25 var(--esafe-font-secondary);
  color: var(--esafe-heading-color);
}

.theme-harbor .everifyContent h3 {
  margin: 0 0 var(--esafe-space-2);
  font: 600 16px/1.25 var(--esafe-font-secondary);
  color: var(--esafe-heading-color);
}

.theme-harbor .everifyContent .toolPageSection > :is(p, ul, ol) {
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .everifyContent .toolPageSection > :is(p, ul, ol) + :is(p, ul, ol) {
  margin-top: var(--esafe-space-4);
}

/* Five steps use a balanced 3/2 grid with stable reading widths. */
.theme-harbor .everifyProcess {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--esafe-space-4);
  margin: var(--esafe-space-6) 0;
  padding: 0;
  list-style: none;
}

.theme-harbor .everifyProcess li {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: var(--esafe-space-3);
  min-height: 0;
  margin: 0 !important;
  padding: var(--esafe-space-5);
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor .everifyProcess li:nth-last-child(-n + 2) {
  grid-column: span 3;
}

.theme-harbor .everifyProcess li > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--esafe-heading-color);
  color: #fff;
  font: 600 14px/1 var(--esafe-font-primary);
}

.theme-harbor .everifyProcess li > div {
  min-width: 0;
}

.theme-harbor .everifyProcess :is(h3, p) {
  max-width: 100%;
  margin: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.theme-harbor .everifyProcess h3 {
  margin-bottom: var(--esafe-space-2);
}

.theme-harbor .everifyProcess p {
  font: 400 15px/24px var(--esafe-font-primary);
}

/* Pagination is the controlled 13px exception to the general 14px action. */
.theme-harbor :is(.esafePageNumbers, .esafe-pagination-container, .esafe-pagination-wrap) :is(a, button) {
  min-width: 30px;
  min-height: 30px;
  padding: 6px 9px;
  font: 300 13px/1 var(--esafe-font-primary) !important;
}

/* JavaScript portals open overlays to document.body. */
.esafeModalOverlay:not([hidden]),
.esafe-everify-modal-overlay.open,
.esafe-everify-help-overlay.open {
  position: fixed !important;
  inset: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .theme-harbor .everifyProcess {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-harbor .everifyProcess li {
    grid-column: auto;
  }

  .theme-harbor .everifyProcess li:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 8px);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  body.theme-harbor > .esafe-gbi-wrap {
    width: min(calc(100% - 24px), 1140px);
    margin: var(--esafe-space-4) auto;
  }

  .theme-harbor .everifyContent > .toolPageSection {
    padding: var(--esafe-space-6) var(--esafe-space-4);
  }

  .theme-harbor .everifyProcess {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: 0 !important;
  }

  .theme-harbor .everifyProcess li,
  .theme-harbor .everifyProcess li:last-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 0 !important;
    justify-self: stretch !important;
  }

  .theme-harbor .toolPrimaryFeature > .featureVisual {
    height: 100% !important;
  }

  .theme-harbor .toolSubmenuButtons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--esafe-space-2) !important;
    overflow: visible !important;
  }

  .theme-harbor .toolSubmenuButtons .esafeButton {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
}

/* 1.0.86: homepage selection, exact hero blend, and Missing Kids card sizing. */
.theme-harbor .esafeHome > .hero {
  background: linear-gradient(135deg, transparent 0%, transparent 28%, rgba(251, 252, 255, 0.82) 60%, #cbd2ed 100%) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-track {
  width: max-content !important;
  min-width: max-content !important;
}

.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-card {
  width: var(--cardW, 240px) !important;
  min-width: var(--cardW, 240px) !important;
  max-width: var(--cardW, 240px) !important;
  flex: 0 0 var(--cardW, 240px) !important;
}

@media (max-width: 600px) {
  .theme-harbor .missingKidsTool .toolPageSection .esmk-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .theme-harbor .missingKidsTool .toolPageSection .esmk-tile {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  .theme-harbor .missingKidsTool .toolPageSection .esmk-tile-imglink {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  .theme-harbor .missingKidsTool .toolPageSection .esmk-tile .esmk-thumb-img {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: clamp(210px, 58vw, 300px) !important;
    object-fit: cover !important;
    object-position: center 18% !important;
    border-radius: 0 !important;
  }

  .theme-harbor .missingKidsTool .toolPageSection .esmk-tile-body {
    width: 100% !important;
    padding: var(--esafe-space-3) !important;
  }
}

@media (max-width: 782px) {
  body.logged-in #wpadminbar #wp-admin-bar-my-account .display-name {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .theme-harbor .toolSubmenuButtons {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .everifyProcess li {
    transition: none !important;
    transform: none !important;
  }
}

/*
 * Sitewide public presentation contract.
 * Tool and plugin packages must inherit this rhythm instead of inventing local
 * margins, font metrics, or edge-to-edge mobile layouts.
 */
.theme-harbor .toolPrimaryPage {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--esafe-space-8) clamp(16px, 4vw, var(--esafe-space-8)) var(--esafe-space-16);
}

.theme-harbor .toolPrimaryPage > .backLink {
  display: block;
  width: min(100%, 1140px);
  margin: 0 auto var(--esafe-space-4);
  font: 400 14px/19.6px var(--esafe-font-primary);
}

.theme-harbor .toolPrimaryShell {
  width: min(100%, 1140px);
  max-width: 1140px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 8px;
}

.theme-harbor .toolPrimaryHeader {
  padding: var(--esafe-space-8) clamp(20px, 4vw, var(--esafe-space-10));
}

.theme-harbor .toolPrimaryHeader .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .toolPrimaryHeader h1 {
  margin: 0 0 var(--esafe-space-3);
  font: 900 32px/1.2 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryHeader > p:last-child {
  max-width: 760px;
  margin: 0;
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .toolPrimaryContent {
  width: 100%;
  min-width: 0;
  padding: var(--esafe-space-10) clamp(20px, 5vw, var(--esafe-space-12)) var(--esafe-space-12);
}

.theme-harbor .toolPrimaryContent > :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection, .toolMenu, .toolSubmenu) {
  width: min(100%, 900px);
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
  margin-top: var(--esafe-space-12);
  padding-top: var(--esafe-space-6);
}

.theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) + :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
  margin-top: var(--esafe-space-12);
}

.theme-harbor .toolPrimaryContent :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection) > :first-child {
  margin-top: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(.toolOverviewSection, .toolPageSection, .toolPluginSection, .toolFaqSection) > :last-child {
  margin-bottom: 0 !important;
}

.theme-harbor .toolPrimaryContent .eyebrow {
  margin: 0 0 var(--esafe-space-2);
  font: 800 12px/1.4 var(--esafe-font-primary);
  letter-spacing: .08em;
}

.theme-harbor .toolPrimaryContent h2 {
  margin: 0 0 var(--esafe-space-4);
  color: var(--esafe-heading-color);
  font: 600 24px/1.25 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent h3 {
  margin: var(--esafe-space-6) 0 var(--esafe-space-3);
  color: var(--esafe-heading-color);
  font: 600 20px/1.3 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent h4 {
  margin: var(--esafe-space-5) 0 var(--esafe-space-2);
  color: var(--esafe-heading-color);
  font: 600 18px/1.35 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent :is(p, li, dd, label, summary) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  overflow-wrap: break-word;
}

.theme-harbor .toolPrimaryContent :is(p, ul, ol, dl, figure, table) {
  margin-top: 0;
  margin-bottom: var(--esafe-space-4);
}

.theme-harbor .toolPrimaryContent :is(ul, ol) {
  padding-left: var(--esafe-space-6);
}

.theme-harbor .toolPrimaryContent li + li {
  margin-top: var(--esafe-space-2);
}

.theme-harbor .toolPrimaryContent .toolLead {
  max-width: 860px;
  margin: 0 0 var(--esafe-space-4);
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .toolPrimaryContent :is(.toolPluginOutput, .esafe-plugin-wrap, .esafe-gbi-scope, .esafe-lfp-wrap, .esafe-map-wrap, .esafe-ams-wrap) {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-right: 0;
  margin-left: 0;
  font: 400 15px/24px var(--esafe-font-primary);
  letter-spacing: 0;
}

.theme-harbor .toolPrimaryContent :is(.toolPluginOutput, .esafe-plugin-wrap, .esafe-gbi-scope, .esafe-lfp-wrap, .esafe-map-wrap, .esafe-ams-wrap) :is(h2, h3, h4) {
  font-family: var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: 42px;
  padding: var(--esafe-space-2) var(--esafe-space-3);
  border: 1px solid var(--esafe-border-color);
  border-radius: 6px;
  background: #fff;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .toolPrimaryContent textarea {
  min-height: 120px;
  resize: vertical;
}

.theme-harbor .toolPrimaryContent :is(form, fieldset) {
  min-width: 0;
}

.theme-harbor .toolPrimaryContent fieldset {
  margin: 0 0 var(--esafe-space-6);
  padding: var(--esafe-space-5);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
}

.theme-harbor .toolPrimaryContent :is(button, [type="button"], [type="submit"], .esafeButton, .button) {
  min-height: 34px;
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .toolPrimaryContent :is(.card, [class*="-card"], [class*="_card"]) {
  min-width: 0;
}

.theme-harbor .toolPrimaryContent :is(img, video, iframe, canvas, svg) {
  max-width: 100%;
}

.theme-harbor .toolPrimaryContent table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.theme-harbor .toolPrimaryContent :is(th, td) {
  padding: var(--esafe-space-3);
  vertical-align: top;
}

.theme-harbor .toolPrimaryContent :is(.meta, [class*="-meta"], [class*="_meta"], .esafe-muted, .description) {
  font-size: 13px !important;
  line-height: 18.85px !important;
}

@media (max-width: 767px) {
  .theme-harbor .toolPrimaryPage {
    padding: var(--esafe-space-5) var(--esafe-space-3) var(--esafe-space-12);
  }

  .theme-harbor .toolPrimaryHeader {
    padding: var(--esafe-space-6) var(--esafe-space-5);
  }

  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 24px;
  }

  .theme-harbor .toolPrimaryContent {
    padding: var(--esafe-space-8) var(--esafe-space-4) var(--esafe-space-10);
  }

  .theme-harbor .toolPrimaryContent > :is(.toolPageSection, .toolPluginSection, .toolFaqSection) {
    margin-top: var(--esafe-space-10);
    padding-top: var(--esafe-space-5);
  }

  .theme-harbor .toolPrimaryContent h2 {
    font-size: 20px;
  }

  .theme-harbor .toolPrimaryContent h3 {
    font-size: 18px;
  }

  .theme-harbor .toolPrimaryContent h4 {
    font-size: 16px;
  }

  .theme-harbor .toolPrimaryContent :is(p, li, dd, label, summary, input, select, textarea) {
    font-size: 15px !important;
    line-height: 23.25px !important;
  }

  .theme-harbor .toolPrimaryContent :is(.toolActionRow, .toolActionGrid, .toolSubmenuButtons) {
    gap: var(--esafe-space-2) !important;
  }

  .theme-harbor .toolPrimaryContent :is(.toolActionRow, .toolActionGrid, .toolSubmenuButtons) :is(a, button) {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  .theme-harbor .toolPrimaryContent :is(.responsiveTable, .table-responsive, .esafe-table-wrap) {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* One unboxed Lucide-style icon system for page and approved section headings. */
.theme-harbor .sectionHeadingWithIcon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.theme-harbor .sectionHeadingWithIcon .siteIcon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--esafe-heading-color);
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-harbor .sectionHeadingWithIcon .siteIcon--map {
  color: inherit;
  stroke: currentColor;
  stroke-width: 1.45;
  fill: none !important;
  --esafe-map-icon-surface: #fff;
}

.theme-harbor .sectionHeadingWithIcon .siteIcon--map :is(.siteIconMapOutline, .siteIconMapFolds, .siteIconMapPinRing) {
  fill: none !important;
}

.theme-harbor .sectionHeadingWithIcon .siteIcon--map .siteIconMapPin {
  fill: var(--esafe-map-icon-surface) !important;
}

.theme-harbor .alertBand .sectionHeadingWithIcon .siteIcon--map {
  color: #fff;
  --esafe-map-icon-surface: #131d65;
}

.theme-harbor :is(h1, h2).hasPageTitleIcon,
.esafePageFrameModal > header h2.hasPageTitleIcon {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.theme-harbor .pageTitleIcon,
.esafePageFrameModal .pageTitleIcon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--esafe-heading-color, #1e5476);
  stroke: currentColor;
  vertical-align: middle;
}

/* Tool headers use a dark-blue gradient, so their line icons must inherit white. */
.theme-harbor .toolPrimaryHeader :is(.pageTitleIcon, .siteIcon) {
  color: #fff !important;
  stroke: currentColor !important;
}

.esafePageFrameModal .pageTitleIcon {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
}

/* Public posts use one readable Harbor Light news-article system. */
.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
  width: min(calc(100% - 32px), 980px) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 40px clamp(20px, 4vw, 48px) 56px !important;
  gap: 16px !important;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 35, 48, .08);
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title {
  width: min(100%, 860px) !important;
  margin: 0 auto !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title h1 {
  margin: 0 !important;
  color: var(--esafe-heading-color) !important;
  font: 900 38px/1.15 var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-wrap: balance;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-post-info {
  width: min(100%, 860px) !important;
  margin: 0 auto 8px !important;
  color: var(--esafe-muted-color) !important;
  font: 400 14px/1.5 var(--esafe-font-primary) !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-post-info :is(a, span, time) {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-featured-image {
  width: min(100%, 860px) !important;
  margin: 8px auto 16px !important;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-featured-image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 520px;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
}

.theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-content {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  color: #334155;
  font: 400 17px/1.75 var(--esafe-font-primary);
}

.theme-harbor .esafeSourceArticle,
.theme-harbor .esafeSourceArticle * {
  box-sizing: border-box;
  min-width: 0;
}

.theme-harbor .esafeSourceArticle {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: #334155;
  font-family: var(--esafe-font-primary) !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.theme-harbor .esafeSourceArticle :is(p, li, dd, td, th, a, button, input, select, textarea) {
  font-family: var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .esafeSourceArticle :is(h1, h2, h3, h4, h5, h6) {
  color: var(--esafe-heading-color) !important;
  font-family: var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: break-word;
}

.theme-harbor .esafeSourceArticle h2 {
  margin: 40px 0 16px !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.theme-harbor .esafeSourceArticle h3 {
  margin: 28px 0 10px !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.theme-harbor .esafeSourceArticle h4 {
  margin: 24px 0 8px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.theme-harbor .esafeSourceArticle :is(p, ul, ol, dl, blockquote, figure, table) {
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 20px;
}

.theme-harbor .esafeSourceArticle :is(p, li, dd) {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

.theme-harbor .esafeSourceArticle :is(ul, ol) {
  padding-left: 1.4em;
}

.theme-harbor .esafeSourceArticle li + li {
  margin-top: 8px;
}

.theme-harbor .esafeSourceArticle :is(img, video, iframe, embed, object) {
  max-width: 100% !important;
}

.theme-harbor .esafeSourceArticle img {
  height: auto;
}

.theme-harbor .esafeSourceArticle iframe {
  display: block;
  width: 100%;
  min-height: 420px;
  border: 0;
}

.theme-harbor .esafeSourceArticle :is(pre, code) {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.theme-harbor .esafeSourceArticle blockquote {
  padding: 18px 20px;
  border-left: 4px solid #b00628;
  border-radius: 0 8px 8px 0;
  background: #fff7f8;
}

.theme-harbor .esafeSourceArticle table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}

.theme-harbor .esafeSourceArticle :is(th, td) {
  padding: 10px 12px;
  border: 1px solid var(--esafe-border-color);
  text-align: left;
  vertical-align: top;
}

body.esafePopupDocument.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: 980px !important;
  padding: 24px clamp(16px, 4vw, 36px) 40px !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 767px) {
  .theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
    width: calc(100% - 24px) !important;
    padding: 24px 16px 36px !important;
  }

  body.esafePopupDocument.theme-harbor.single-post:not(.postid-326) .elementor-location-single > .e-con > .e-con-inner {
    width: 100% !important;
    padding: 16px 12px 32px !important;
  }

  .theme-harbor.single-post:not(.postid-326) .elementor-widget-theme-post-title h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  .theme-harbor .esafeSourceArticle {
    font-size: 16px;
  }

  .theme-harbor .esafeSourceArticle h2 {
    margin-top: 32px !important;
    font-size: 23px !important;
  }

  .theme-harbor .esafeSourceArticle h3 {
    margin-top: 24px !important;
    font-size: 19px !important;
  }

  .theme-harbor .esafeSourceArticle :is(p, li, dd) {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .theme-harbor .esafeSourceArticle iframe {
    min-height: 300px;
  }
}

/* Founder public-service timeline, scoped to the approved About-page biography. */
.theme-harbor .founderBio {
  min-width: 0;
}

.theme-harbor .founderBio > p:last-of-type {
  margin-bottom: 0 !important;
}

.theme-harbor .publicServiceTimeline {
  --t3-navy: #17265d;
  --t3-navy-mid: #43577f;
  --t3-red: #8b263b;
  --t3-gray: #40464f;
  --t3-muted: #69707a;
  --t3-light: rgba(243, 244, 246, .96);
  --t3-border: rgba(64, 70, 79, .16);
  position: relative;
  width: min(100%, 590px);
  height: 290px;
  margin: var(--es-space-6, 24px) auto 0;
  overflow: hidden;
  background: transparent;
  color: var(--t3-gray);
  font-family: var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline * {
  box-sizing: border-box;
  letter-spacing: 0;
}

.theme-harbor .publicServiceTimeline .service-heading {
  position: absolute;
  z-index: 20;
  top: 4px;
  left: 238px;
  display: flex;
  height: 27px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 5px 13px rgba(23, 38, 93, .13);
}

.theme-harbor .publicServiceTimeline .service-heading :is(span, b) {
  display: flex;
  align-items: center;
  height: 27px;
  padding: 0 11px;
  color: #fff;
  font: 800 8.8px/1 var(--esafe-font-primary);
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .service-heading span {
  background: var(--t3-navy);
}

.theme-harbor .publicServiceTimeline .service-heading b {
  background: var(--t3-red);
  font-weight: 900;
}

.theme-harbor .publicServiceTimeline .t3-orbit {
  position: absolute;
  top: 42px;
  left: 15px;
  width: 194px;
  height: 240px;
}

.theme-harbor .publicServiceTimeline .t3-orbit svg {
  display: block;
  width: 100%;
  height: 100%;
}

.theme-harbor .publicServiceTimeline .t3-ring-base {
  fill: none;
  stroke: rgba(64, 70, 79, .16);
  stroke-width: 8;
}

.theme-harbor .publicServiceTimeline .t3-ring-flow {
  fill: none;
  stroke: url(#esafePublicServiceGradient);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 10 9;
  animation: esafeOrbitDash 11s linear infinite;
}

.theme-harbor .publicServiceTimeline .t3-orbit.is-paused .t3-ring-flow {
  animation-play-state: paused;
}

.theme-harbor .publicServiceTimeline .t3-sweep {
  transform-origin: 97px 120px;
  transform: rotate(0deg);
  transition: transform 4.2s cubic-bezier(.42, 0, .22, 1), opacity .35s ease;
}

.theme-harbor .publicServiceTimeline .t3-orbit.is-resetting .t3-sweep {
  opacity: 0;
}

.theme-harbor .publicServiceTimeline .t3-center {
  position: absolute;
  top: 82px;
  left: 42px;
  width: 110px;
  text-align: center;
}

.theme-harbor .publicServiceTimeline .t3-center strong {
  display: block;
  color: var(--t3-gray);
  font: 900 50px/.88 var(--esafe-font-secondary);
}

.theme-harbor .publicServiceTimeline .t3-center span,
.theme-harbor .publicServiceTimeline .t3-center small {
  display: block;
  color: var(--t3-gray);
  font-family: var(--esafe-font-primary);
  font-weight: 900;
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .t3-center span {
  margin-top: 7px;
  font-size: 7.7px;
}

.theme-harbor .publicServiceTimeline .t3-center small {
  margin-top: 2px;
  color: var(--t3-muted);
  font-size: 7.3px;
}

.theme-harbor .publicServiceTimeline .t3-o-node {
  position: absolute;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--node-color);
  color: #fff;
  font: 900 8px/1 var(--esafe-font-primary);
  box-shadow: 0 0 0 4px rgba(64, 70, 79, .05);
  transition: box-shadow .35s ease, scale .35s ease;
}

.theme-harbor .publicServiceTimeline .t3-o-node::after {
  position: absolute;
  inset: -6px;
  border: 1px solid var(--node-color);
  border-radius: 50%;
  content: "";
  opacity: 0;
}

.theme-harbor .publicServiceTimeline .t3-o-node.is-active {
  scale: 1.08;
  box-shadow: 0 0 0 5px rgba(67, 87, 127, .14), 0 0 15px rgba(67, 87, 127, .5);
}

.theme-harbor .publicServiceTimeline .t3-o-node.is-active::after {
  animation: esafeNodePulse 1.8s ease-out 1;
}

.theme-harbor .publicServiceTimeline :is(.t3-n1, .t3-n2) { --node-color: var(--t3-navy); }
.theme-harbor .publicServiceTimeline :is(.t3-n3, .t3-n4) { --node-color: var(--t3-red); }
.theme-harbor .publicServiceTimeline :is(.t3-n5, .t3-n6, .t3-n7) { --node-color: var(--t3-navy-mid); }

.theme-harbor .publicServiceTimeline .t3-list {
  position: absolute;
  inset: 35px 8px 0 238px;
  display: grid;
  grid-template-rows: repeat(7, 33px);
  gap: 4px;
}

.theme-harbor .publicServiceTimeline .t3-row {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 86px;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 33px;
  padding: 2px 4px;
  border: 1px solid var(--t3-border);
  border-radius: 7px;
  background: var(--t3-light);
  box-shadow: 0 3px 9px rgba(40, 48, 62, .05);
  opacity: 0;
  transform: translateX(9px) scale(.985);
  transition: opacity .72s ease, transform .72s ease, translate .25s ease, scale .25s ease, box-shadow .25s ease;
}

.theme-harbor .publicServiceTimeline .t3-row.is-visible {
  opacity: 1;
  transform: translateX(0) scale(1);
  animation: esafeTimelineRowHover 4.8s ease-in-out var(--hover-delay) infinite;
}

.theme-harbor .publicServiceTimeline .t3-row.is-visible:hover {
  translate: 0 -3px;
  scale: 1.012;
  animation-play-state: paused;
  box-shadow: 0 7px 16px rgba(40, 48, 62, .13);
}

.theme-harbor .publicServiceTimeline .t3-row:nth-child(1) { --hover-delay: 0s; --hover-distance: -1.8px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(2) { --hover-delay: -.7s; --hover-distance: -2.2px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(3) { --hover-delay: -1.4s; --hover-distance: -1.6px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(4) { --hover-delay: -2.1s; --hover-distance: -2.4px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(5) { --hover-delay: -2.8s; --hover-distance: -1.9px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(6) { --hover-delay: -3.5s; --hover-distance: -2.3px; }
.theme-harbor .publicServiceTimeline .t3-row:nth-child(7) { --hover-delay: -4.2s; --hover-distance: -1.7px; }

.theme-harbor .publicServiceTimeline .t3-num {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  font: 900 8.5px/1 var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline .t3-copy {
  min-width: 0;
  padding: 0 5px 0 2px;
}

.theme-harbor .publicServiceTimeline .t3-name {
  display: -webkit-box;
  overflow: hidden;
  color: var(--t3-gray);
  font: 800 9.2px/1.08 var(--esafe-font-primary);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.theme-harbor .publicServiceTimeline .t3-date {
  margin-top: 1px;
  color: var(--t3-muted);
  font: 700 8px/1 var(--esafe-font-primary);
}

.theme-harbor .publicServiceTimeline .t3-tag {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 23px;
  padding: 0 2px;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font: 900 6.7px/1 var(--esafe-font-primary);
  text-align: center;
  text-transform: uppercase;
}

.theme-harbor .publicServiceTimeline .t3-m { --accent: var(--t3-navy); }
.theme-harbor .publicServiceTimeline .t3-p { --accent: var(--t3-red); }
.theme-harbor .publicServiceTimeline .t3-c { --accent: var(--t3-navy-mid); }

@keyframes esafeOrbitDash { to { stroke-dashoffset: -190; } }
@keyframes esafeNodePulse { 0% { transform: scale(.65); opacity: .5; } 75%, 100% { transform: scale(1.7); opacity: 0; } }
@keyframes esafeTimelineRowHover { 0%, 100% { translate: 0 0; } 50% { translate: 0 var(--hover-distance); } }

@media (max-width: 600px) {
  .theme-harbor .publicServiceTimeline {
    display: grid;
    gap: 12px;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .theme-harbor .publicServiceTimeline .service-heading,
  .theme-harbor .publicServiceTimeline .t3-orbit,
  .theme-harbor .publicServiceTimeline .t3-list {
    position: relative;
    inset: auto;
    justify-self: center;
  }

  .theme-harbor .publicServiceTimeline .t3-list {
    grid-template-rows: none;
    width: 100%;
    gap: 8px;
  }

  .theme-harbor .publicServiceTimeline .t3-row {
    grid-template-columns: 26px minmax(0, 1fr) 72px;
    min-height: 78px;
    height: auto;
    padding: 7px 8px;
    opacity: 1;
    transform: none;
  }

  .theme-harbor .publicServiceTimeline .t3-name {
    display: block;
    overflow: visible;
    font-size: 10.5px;
    line-height: 1.2;
    -webkit-line-clamp: unset;
  }
  .theme-harbor .publicServiceTimeline .t3-date { margin-top: 3px; font-size: 9px; line-height: 1.2; }
  .theme-harbor .publicServiceTimeline .t3-tag { width: 68px; height: 30px; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .publicServiceTimeline .t3-ring-flow,
  .theme-harbor .publicServiceTimeline .t3-row,
  .theme-harbor .publicServiceTimeline .t3-o-node::after {
    animation: none !important;
  }

  .theme-harbor .publicServiceTimeline .t3-row {
    opacity: 1;
    transform: none;
  }
}

/* Consumer Due Diligence source structure rebuilt from the approved original. */
.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
  width: min(calc(100% - 32px), 1040px) !important;
  max-width: 1040px !important;
  margin-inline: auto !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-widget-theme-post-content,
body.esafePopupDocument.theme-harbor.single-post.postid-326 .esafeConsumerDueDiligence {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

.theme-harbor .esafeConsumerDueDiligence {
  width: 100%;
  max-width: 936px !important;
  margin: 0 auto !important;
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence * {
  box-sizing: border-box;
  min-width: 0;
}

/* Keep the utility-page type scale independent from the news-article scale. */
.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence {
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h1 {
  font: 900 20px/25px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h2 {
  font: 600 18px/22.5px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h3 {
  font: 600 16px/20px var(--esafe-font-secondary) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--esafe-border-color) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item:last-child {
  border-bottom: 0 !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item > br {
  display: none !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-icon {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--esafe-heading-color) !important;
  border-radius: 6px !important;
  background: #f5f8fb !important;
  color: var(--esafe-heading-color) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-item > span:last-child {
  grid-column: 2 !important;
  color: var(--esafe-text-color) !important;
  font: 400 15px/1.55 var(--esafe-font-primary) !important;
}

.theme-harbor #esafe-everify-consumer-diligence .esev-dd-check-icon svg {
  display: block !important;
  width: 15px !important;
  min-width: 15px !important;
  max-width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  max-height: 15px !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence h4 {
  font: 600 15px/18.75px var(--esafe-font-secondary) !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(p, li, label) {
  font-family: var(--esafe-font-primary) !important;
  font-size: 15px !important;
  line-height: 24px !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(.esev-dd-subtitle, .esev-dd-notice) {
  font-size: 13px !important;
  line-height: 18.85px !important;
}

.theme-harbor .esafeSourceArticle #esafe-everify-consumer-diligence :is(.esev-dd-button, .esev-dd-tab) {
  font: 400 14px/19.6px var(--esafe-font-primary) !important;
}

.theme-harbor .esafeConsumerDueDiligence :is(h1, h2, h3) {
  color: var(--esafe-heading-color);
  font-family: var(--esafe-font-secondary);
  letter-spacing: 0;
  text-transform: none !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header {
  display: grid;
  justify-items: center;
  gap: 16px;
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 250px;
  margin: 0;
  border: 0;
  background: none;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-seal {
  display: block;
  width: 200px !important;
  max-width: 100% !important;
  height: 76px !important;
  margin: 0 auto;
  object-fit: contain;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header-copy {
  display: grid;
  gap: 8px;
  width: min(100%, 820px);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-header-copy h1 {
  margin: 0;
  font: 900 20px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-subtitle {
  margin: 0;
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-button,
.theme-harbor .esafeConsumerDueDiligence .esev-dd-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 8px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary);
  text-align: center;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.theme-harbor .esafeConsumerDueDiligence :is(.esev-dd-button, .esev-dd-card a):is(:hover, :focus-visible) {
  border-color: rgba(241, 193, 193, .5);
  background: #fff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section {
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section h2 {
  margin: 0 0 12px;
  font: 600 18px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-section-intro {
  margin: 0 0 16px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-notice {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid var(--esafe-heading-color);
  border-radius: 0 8px 8px 0;
  background: #f5f8fb;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-wrap {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 18px;
  overflow: visible;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab {
  flex: 0 0 auto;
  min-height: 31px;
  margin: 0;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 8px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary);
  white-space: nowrap;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab:is(:hover, :focus-visible),
.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab.is-active {
  border-color: rgba(241, 193, 193, .5);
  background: #fff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-panel[hidden] {
  display: none !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card {
  margin: 0;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card:is(:hover, :focus-within) {
  transform: translateY(-2px);
  border-color: rgba(142, 2, 28, .28);
  background: #fff;
  box-shadow: 0 0 8px rgba(142, 2, 28, .2);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card h3 {
  margin: 0 0 8px;
  font: 600 16px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card p {
  margin: 0 0 12px;
  font: 400 15px/24px var(--esafe-font-primary);
  overflow-wrap: break-word;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card p:last-child {
  margin-bottom: 0;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card ul {
  margin: 0;
  padding-left: 20px;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-card li {
  margin: 8px 0 0;
  font: 400 15px/24px var(--esafe-font-primary);
  overflow-wrap: break-word;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-grid > table {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  font: 400 13px/1.45 var(--esafe-font-primary);
}

.theme-harbor .esafeConsumerDueDiligence table :is(th, td) {
  min-width: 180px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--esafe-border-color);
  text-align: left;
  vertical-align: top;
}

.theme-harbor .esafeConsumerDueDiligence table th {
  color: var(--esafe-heading-color);
  font-weight: 600;
}

@media (max-width: 767px) {
  .theme-harbor.single-post.postid-326 .elementor-location-single > .e-con > .e-con-inner {
    width: 100% !important;
    padding-inline: 12px !important;
  }

  body.esafePopupDocument.theme-harbor.single-post.postid-326 .elementor-location-single .e-con-inner {
    padding: 0 !important;
  }

  .theme-harbor .pageTitleIcon {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }

  .theme-harbor .esafeConsumerDueDiligence :is(.esev-dd-header, .esev-dd-section, .esev-dd-tab-wrap) {
    padding: 16px;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-bar {
    justify-content: center;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-grid {
    grid-template-columns: 1fr;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-button {
    width: 100%;
  }
}

.theme-harbor .homeMissingKidsSection > p {
  max-width: 860px;
  margin: var(--esafe-space-4) 0 var(--esafe-space-6);
  font: 400 15px/24px var(--esafe-font-primary);
}

.theme-harbor .homeMissingKidsScroller {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.theme-harbor .homeMissingKidsScroller .esmk-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}

.theme-harbor .missingKidsDrawerAction {
  margin-bottom: 0;
}

.theme-harbor .esafeInfoDrawerOverlay[hidden] {
  display: none !important;
}

.theme-harbor .esafeInfoDrawerOverlay {
  position: fixed;
  inset: 0;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0 !important;
  background: rgba(15, 35, 48, 0.58);
}

.esafeInfoDrawer {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(720px, 100%);
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
  color: #0f2330;
  box-shadow: -12px 0 32px rgba(15, 35, 48, 0.2);
  font: 400 15px/24px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  animation: esafeDrawerIn 240ms ease-out both;
}

.esafeInfoDrawer *,
.esafeInfoDrawer *::before,
.esafeInfoDrawer *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.esafeInfoDrawerHeader {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 20px 24px;
  border-bottom: 1px solid #d4dee6;
  background: #ffffff;
}

.esafeInfoDrawerHeader .eyebrow {
  margin: 0 0 8px;
}

.esafeInfoDrawerHeader h2,
.esafeInfoDrawerBody h3 {
  margin: 0;
  color: #1e5476;
  font-family: "Source Sans 3", "Inter", system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.esafeInfoDrawerHeader h2 {
  font-size: 22px;
  line-height: 1.25;
}

.esafeInfoDrawerHeader .popupClose {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  font-size: 24px;
  line-height: 1;
}

.esafeInfoDrawerBody {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 24px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.esafeInfoDrawerBody > section {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.esafeInfoDrawerBody > section + section {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #d4dee6;
}

.esafeInfoDrawerBody h3 {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.25;
}

.esafeInfoDrawerBody p,
.esafeInfoDrawerBody li,
.esafeInfoDrawerBody summary,
.esafeInfoDrawerBody a {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 24px;
}

.esafeInfoDrawerBody p {
  margin: 0;
}

.esafeInfoDrawerBody a {
  overflow-wrap: anywhere;
}

.esafeResourceList {
  display: grid;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.esafeResourceList li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  min-width: 0;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #e6e6e6;
}

.esafeInfoDrawerBody details {
  width: 100%;
  min-width: 0;
  margin: 8px 0 0;
}

.esafeInfoDrawerBody details summary {
  cursor: pointer;
  color: #1e5476;
  font-weight: 600;
}

.esafeInfoDrawerBody .toolFaqs {
  display: grid;
  gap: 8px;
}

.esafeInfoDrawerBody .toolFaqs details {
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid #e6e6e6;
}

.esafeInfoDrawerBody .toolFaqs details p {
  margin-top: 12px;
  color: #0f2330;
}

@keyframes esafeDrawerIn {
  from { transform: translateX(24px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 600px) {
  .esafeInfoDrawerHeader,
  .esafeInfoDrawerBody {
    padding: 16px;
  }

  .esafeInfoDrawerHeader h2 {
    font-size: 20px;
  }

  .esafeInfoDrawerBody > section + section {
    margin-top: 24px;
    padding-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .esafeInfoDrawer {
    animation: none;
  }

  .theme-harbor .esafeConsumerDueDiligence .esev-dd-card {
    transition: none;
    transform: none !important;
  }
}

.theme-harbor .activeShooterResources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--esafe-space-6);
  width: 100%;
  margin: var(--esafe-space-6) 0 0;
}

.theme-harbor .activeShooterActionList {
  display: grid;
  gap: var(--esafe-space-4);
  margin: var(--esafe-space-5) 0 var(--esafe-space-7);
  padding: 0;
  list-style: none;
}

.theme-harbor .activeShooterActionList li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: var(--esafe-space-3);
  margin: 0;
}

.theme-harbor .activeShooterActionList .siteIcon {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: #1e5476;
}

.theme-harbor .activeShooterRecordCount {
  margin: var(--esafe-space-2) 0 var(--esafe-space-5);
  color: var(--esafe-muted-color);
  font-size: 14px;
  line-height: 1.5;
}

.theme-harbor .activeShooterTabBar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esafe-space-3);
  margin: var(--esafe-space-5) 0 var(--esafe-space-8);
}

.theme-harbor .activeShooterTab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid #dadada;
  border-radius: 10px;
  background: #f5f5f5;
  color: #7a7a7a;
  font: 300 14px/1 var(--esafe-font-primary) !important;
  letter-spacing: 0;
  cursor: pointer;
  transition: all .25s ease;
}

.theme-harbor .activeShooterTab:is(:hover, :focus-visible),
.theme-harbor .activeShooterTab.is-active {
  border-color: rgba(241, 193, 193, .5);
  background: #ffffff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
  outline: 0;
}

.theme-harbor .activeShooterTabPanel[hidden] {
  display: none !important;
}

.theme-harbor .activeShooterTabPanel > h2 {
  margin-top: 0;
}

.theme-harbor .activeShooterResources > section {
  min-width: 0;
  margin: 0;
  padding: var(--esafe-space-5);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor .activeShooterResources h3 {
  margin: 0 0 var(--esafe-space-3);
}

.theme-harbor .activeShooterResources .esafeResourceList li {
  display: grid;
  gap: var(--esafe-space-1);
  padding: var(--esafe-space-3) 0;
}

.theme-harbor .activeShooterResources .esafeResourceList li:first-child {
  padding-top: 0;
}

.theme-harbor .activeShooterResources .esafeResourceList li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

@media (max-width: 900px) {
  .theme-harbor .activeShooterResources {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .theme-harbor .activeShooterTabBar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .theme-harbor .activeShooterTab {
    width: 100%;
    min-width: 0;
    padding-inline: 12px;
  }
}

/* Veterans resources remain in one Tool Page and replace the visible panel in place. */
.theme-harbor .veteransTabbedContent > .eyebrow {
  margin-bottom: var(--esafe-space-2);
}

.theme-harbor .veteransTabMenu {
  width: 100%;
  margin: 0 0 var(--esafe-space-8);
}

.theme-harbor .veteransTabButtons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--esafe-space-2);
}

.theme-harbor .veteransTab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 12px;
  white-space: normal;
  text-align: center;
}

.theme-harbor .veteransTab:is(:hover, :focus-visible),
.theme-harbor .veteransTab.is-active {
  border-color: rgba(241, 193, 193, .5);
  background: #fff;
  color: #d8677d;
  box-shadow: 0 0 6px rgba(224, 90, 90, .5);
  outline: 0;
}

.theme-harbor .veteransTabPanel[hidden] {
  display: none !important;
}

.theme-harbor .veteransPanelHeader {
  margin: 0 0 var(--esafe-space-8);
}

.theme-harbor .veteransPanelHeader h2 {
  margin-bottom: var(--esafe-space-4);
}

.theme-harbor .veteransPanelOutput {
  width: 100%;
  margin: var(--esafe-space-6) 0 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
}

.theme-harbor .veteransDirectoryGroup + .veteransDirectoryGroup {
  margin-top: var(--esafe-space-12);
  padding-top: var(--esafe-space-8);
  border-top: 1px solid var(--esafe-border-color);
}

.theme-harbor .veteransDirectoryGroup > h3 {
  margin-top: 0;
}

@media (max-width: 900px) {
  .theme-harbor .veteransTabButtons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .theme-harbor .veteransTabButtons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .theme-harbor .veteransTab:last-child {
    grid-column: 1 / -1;
  }

  .theme-harbor .veteransPanelHeader {
    margin-bottom: var(--esafe-space-6);
  }
}

@media (max-width: 380px) {
  .theme-harbor .veteransTabButtons {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .theme-harbor .veteransTab:last-child {
    grid-column: auto;
  }
}

/* The theme's legacy submenu scroller loads later, so keep this override explicit. */
.theme-harbor .veteransTabMenu .veteransTabButtons {
  display: grid !important;
  align-items: stretch !important;
  overflow: visible !important;
}

.theme-harbor .veteransTabMenu .veteransTab {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
}

/* 1.0.72: final sitewide typography and spacing normalization. */
.theme-harbor .page.section {
  padding-right: var(--esafe-space-8) !important;
  padding-left: var(--esafe-space-8) !important;
}

.theme-harbor .toolPrimaryHeader {
  padding: var(--esafe-space-8) var(--esafe-space-10) !important;
}

.theme-harbor .toolPrimaryHeader h1 {
  font-size: 40px !important;
  line-height: 1.2 !important;
}

.theme-harbor .toolPrimaryContent {
  padding: var(--esafe-space-10) var(--esafe-space-12) var(--esafe-space-12) !important;
}

.theme-harbor .everifyContent > .toolPageSection {
  padding-right: var(--esafe-space-8) !important;
  padding-left: var(--esafe-space-8) !important;
}

.theme-harbor .cardBody h3,
.theme-harbor .articleCard h3,
.theme-harbor .esafe-events-title {
  font-family: var(--esafe-font-secondary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .coordinatesTool :is(#esafe-coordinate-address-title, #esafe-coordinate-map-title, #esafe-coordinate-batch-title) {
  margin-bottom: var(--esafe-space-3) !important;
  font: 600 16px/1.25 var(--esafe-font-secondary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-inline-items.elementor-icon-list-items {
  column-gap: var(--esafe-space-4) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.theme-harbor .esafeSourceArticle h3 {
  margin: var(--esafe-space-6) 0 var(--esafe-space-3) !important;
}

.theme-harbor .esafeSourceArticle :is(ul, ol),
.theme-harbor .esafe-gbi-case-details .link-teaser-list,
.theme-harbor .serviceList {
  padding-left: var(--esafe-space-6) !important;
}

.theme-harbor .esafeSourceArticle blockquote {
  padding: var(--esafe-space-4) var(--esafe-space-5) !important;
}

.theme-harbor .esafeSourceArticle :is(th, td) {
  padding: var(--esafe-space-3) !important;
  font: 400 14px/19.6px var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .esafe-everify-public-card,
.theme-harbor .esafe-sam-frontend-card {
  padding: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-public-record :is(.esafe-everify-public-card, .esafe-everify-directory-card),
.theme-harbor .everifyBenefitGrid ul,
.theme-harbor .esmk-card,
.theme-harbor .esafe-ga-card-body {
  row-gap: var(--esafe-space-3) !important;
  column-gap: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-public-record :is(h2, h3),
.theme-harbor .everifyProcess h3,
.theme-harbor .everifyBenefitGrid h3,
.theme-harbor .activeShooterTabPanel h3 {
  margin-bottom: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-public-record p {
  margin-bottom: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-public-record p:last-child {
  margin-bottom: 0 !important;
}

.theme-harbor .esafe-events-summary {
  margin-top: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-lfp-grid-title {
  margin-bottom: var(--esafe-space-2) !important;
}

.theme-harbor .esmk-sort-label {
  gap: var(--esafe-space-2) !important;
  font: 400 15px/24px var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .esmk-sort-select {
  min-height: 42px !important;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
  font: 400 15px/24px var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .esafe-pagination-wrap {
  flex-wrap: wrap !important;
}

.theme-harbor .esafe-pagination-status {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

.theme-harbor :is(.esafePageNumbers, .esafe-pagination-container, .esafe-pagination-wrap) :is(.page-numbers, .esafe-page-button, [class*="page-number"], [class*="pagination-link"]) {
  min-width: var(--esafe-space-8) !important;
  min-height: var(--esafe-space-8) !important;
  padding: var(--esafe-space-2) !important;
  font: 300 13px/1 var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .listingAccordion.esafe-ga-more,
.theme-harbor .listingAccordion[data-more] {
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
  font: 300 14px/1 var(--esafe-font-primary) !important;
  letter-spacing: 0 !important;
}

.theme-harbor .activeShooterActionList {
  margin: var(--esafe-space-5) 0 var(--esafe-space-8) !important;
}

.theme-harbor .activeShooterTab,
.theme-harbor .esafeConsumerDueDiligence :is(.esev-dd-button, .esev-dd-tab, .esev-dd-card a) {
  min-height: 34px;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-notice {
  padding: var(--esafe-space-4) !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-wrap {
  padding: var(--esafe-space-5) !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-tab-bar {
  margin-bottom: var(--esafe-space-5) !important;
}

.theme-harbor .esafeConsumerDueDiligence .esev-dd-grid {
  gap: var(--esafe-space-4) !important;
}

.theme-harbor .esafeConsumerDueDiligence table :is(th, td) {
  padding: var(--esafe-space-3) !important;
}

.theme-harbor .esafeResourceList li {
  padding: var(--esafe-space-3) 0 !important;
}

@media (max-width: 900px) {
  .theme-harbor .page.section {
    padding-right: var(--esafe-space-6) !important;
    padding-left: var(--esafe-space-6) !important;
  }

  .theme-harbor .toolPrimaryHeader {
    padding: var(--esafe-space-8) var(--esafe-space-6) !important;
  }

  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 32px !important;
  }

  .theme-harbor .toolPrimaryContent {
    padding: var(--esafe-space-8) var(--esafe-space-6) var(--esafe-space-10) !important;
  }

  .theme-harbor .everifyContent > .toolPageSection {
    padding-right: var(--esafe-space-6) !important;
    padding-left: var(--esafe-space-6) !important;
  }

  .theme-harbor .esafe-pagination-wrap {
    justify-content: center !important;
  }
}

@media (max-width: 600px) {
  .theme-harbor .page.section {
    padding-right: var(--esafe-space-4) !important;
    padding-left: var(--esafe-space-4) !important;
  }

  .theme-harbor .toolPrimaryHeader {
    padding: var(--esafe-space-6) var(--esafe-space-5) !important;
  }

  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 28px !important;
  }

  .theme-harbor .toolPrimaryContent {
    padding: var(--esafe-space-8) var(--esafe-space-4) var(--esafe-space-10) !important;
  }

  .theme-harbor .everifyContent > .toolPageSection {
    padding-right: var(--esafe-space-4) !important;
    padding-left: var(--esafe-space-4) !important;
  }

  .theme-harbor :is(.esafeButton, .elementor-button, .esafe-soft-button, .listingAccordion, button[type="submit"], input[type="submit"]):not(.menuButton):not(.popupClose):not(.chatClose):not(.fieldMarker):not(.esafe-page-button):not(.page-numbers):not([class*="filter-button"]):not([class*="icon"]) {
    min-width: 100px;
  }

  .theme-harbor .esafe-ga-reset {
    min-width: 100px !important;
  }

  .theme-harbor .esmk-sort-label {
    line-height: 24px !important;
  }
}

/* 1.0.73: load last and enforce the shared action contract across owner plugins. */
.theme-harbor .siteHeader .menuButton,
.theme-harbor .chatButton,
.theme-harbor .esafeButton,
.theme-harbor .esafe-soft-button:not(.esafe-page-button),
.theme-harbor .esafe-btn,
.theme-harbor .listingAccordion,
.theme-harbor .toolPluginOutput :is(button, [type="button"], [type="submit"]):not(.fieldMarker):not(.popupClose):not(.chatClose):not(.esafe-page-button) {
  gap: var(--esafe-space-2) !important;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
  font-family: var(--esafe-font-primary) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.theme-harbor .siteHeader .menuButton,
.theme-harbor .chatButton {
  min-height: var(--esafe-space-8);
}

.theme-harbor .esafe-ga-filter-button,
.theme-harbor .esafe-events-action .esafe-btn {
  gap: var(--esafe-space-2) !important;
}

.theme-harbor.single-post:not(.postid-326) .elementor-inline-items.elementor-icon-list-items {
  margin-inline: 0 !important;
}

@media (max-width: 900px) {
  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 32px !important;
  }
}

@media (max-width: 600px) {
  .theme-harbor .toolPrimaryHeader h1 {
    font-size: 28px !important;
  }

  .theme-harbor .esmk-sort-select {
    min-height: 42px !important;
  }

  .theme-harbor .esmk-sort-label {
    line-height: 24px !important;
  }

  .theme-harbor .siteContent button:not(.menuButton):not(.popupClose):not(.chatClose):not(.fieldMarker):not(.esafe-page-button):not(.page-numbers):not([class*="filter-button"]):not([class*="icon"]),
  .theme-harbor .siteContent :is(.esafeButton, .elementor-button, .esafe-soft-button):not(.esafe-page-button):not(.page-numbers):not([class*="filter-button"]):not([class*="icon"]) {
    min-width: 100px;
  }
}

/* 1.0.74: owner-specific closure after the focused three-viewport audit. */
.theme-harbor .toolPrimaryContent h2 {
  margin-bottom: var(--esafe-space-3) !important;
  font: 600 18px/1.25 var(--esafe-font-secondary) !important;
}

.theme-harbor .toolPrimaryContent h3 {
  margin: var(--esafe-space-6) 0 var(--esafe-space-2) !important;
  font: 600 16px/1.25 var(--esafe-font-secondary) !important;
}

.theme-harbor .toolPrimaryContent h4 {
  margin: var(--esafe-space-5) 0 var(--esafe-space-2) !important;
  font: 600 15px/1.25 var(--esafe-font-secondary) !important;
}

.theme-harbor .everifyContent :is(.everifyProcess, .everifyBenefitGrid) h3,
.theme-harbor .activeShooterTabPanel h3 {
  margin-bottom: var(--esafe-space-2) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

.theme-harbor .esafeHome > :is(.section, .toolBand),
.theme-harbor .aboutContent {
  padding-right: var(--esafe-space-8) !important;
  padding-left: var(--esafe-space-8) !important;
}

.theme-harbor .esafeHome > .hero {
  gap: var(--esafe-space-16) !important;
  padding-bottom: var(--esafe-space-16) !important;
}

.theme-harbor .sectionHeadingWithIcon {
  gap: var(--esafe-space-3) !important;
}

.theme-harbor .cardBody h3,
.theme-harbor .articleCard h3 {
  margin-bottom: var(--esafe-space-2) !important;
}

.theme-harbor .cardBody > p,
.theme-harbor .articleCard .cardBody > p {
  margin-bottom: var(--esafe-space-4) !important;
}

.theme-harbor .toolBand {
  margin-bottom: 0 !important;
}

.theme-harbor .esafe-um-directory-header h1 {
  margin-bottom: var(--esafe-space-3) !important;
}

.theme-harbor .aqiControls button,
.theme-harbor .contactSend {
  gap: var(--esafe-space-2) !important;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
  font: 300 14px/1 var(--esafe-font-primary) !important;
}

.theme-harbor :is(.contactForm, .listingToolbar) :is(input, select, textarea),
.theme-harbor .esafe-everify-directory-filter-grid :is(input, select) {
  margin-top: var(--esafe-space-2) !important;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
}

.theme-harbor #esafe-contact-email-address {
  margin-top: var(--esafe-space-2) !important;
}

.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-sort-label,
.theme-harbor .esmk-wrap[data-mode="list"] .esmk-sort-label {
  gap: var(--esafe-space-2) !important;
  line-height: 24px !important;
}

.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-sort-select,
.theme-harbor .esmk-wrap[data-mode="list"] .esmk-sort-select {
  min-height: 42px !important;
  margin-top: var(--esafe-space-2) !important;
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
  font: 400 15px/24px var(--esafe-font-primary) !important;
}

.theme-harbor .esafe-ui.esafe-events-root .esafe-events-item .esafe-events-summary {
  margin-top: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-events-list-intro {
  margin-bottom: var(--esafe-space-4) !important;
}

.theme-harbor .listingAccordion.esafe-events-more {
  margin-top: var(--esafe-space-4) !important;
}

.theme-harbor .esafePageNumbers > button,
.theme-harbor .esafe-pagination-bar .esafe-page-button {
  gap: var(--esafe-space-2) !important;
  min-width: var(--esafe-space-8) !important;
  min-height: var(--esafe-space-8) !important;
  padding: var(--esafe-space-2) !important;
  font: 300 13px/1 var(--esafe-font-primary) !important;
}

.theme-harbor .esafe-everify-public-record > .esafe-everify-public-card {
  margin-bottom: var(--esafe-space-4) !important;
  padding: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-directory-grid {
  gap: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-directory-card {
  gap: var(--esafe-space-3) !important;
  margin-bottom: var(--esafe-space-4) !important;
  padding: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-directory-card-head {
  gap: var(--esafe-space-3) !important;
  margin-bottom: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-directory-filter-grid,
.theme-harbor .esafe-everify-public-actions {
  gap: var(--esafe-space-4) !important;
}

.theme-harbor .esafe-everify-public-actions button {
  gap: var(--esafe-space-2) !important;
}

.theme-harbor.single-post .elementor-inline-items.elementor-icon-list-items {
  gap: var(--esafe-space-4) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-inline: 0 !important;
}

@media (max-width: 900px) {
  .theme-harbor .esafeHome > :is(.section, .toolBand),
  .theme-harbor .aboutContent {
    padding-right: var(--esafe-space-6) !important;
    padding-left: var(--esafe-space-6) !important;
  }
}

@media (max-width: 600px) {
  .theme-harbor .esafeHome > :is(.section, .toolBand),
  .theme-harbor .aboutContent {
    padding-right: var(--esafe-space-4) !important;
    padding-left: var(--esafe-space-4) !important;
  }

  .theme-harbor :is(.contactSend, .esafe-ga-reset) {
    min-width: 100px !important;
  }
}

/* 1.0.75: exact owner-selector closure for the complete public-route audit. */
.theme-harbor .esafe-lfp-discovery-grid .esafe-lfp-grid-results {
  margin-top: var(--esafe-space-2) !important;
}

.theme-harbor .esafe-lfp-discovery-grid .esafe-lfp-grid-actions {
  gap: var(--esafe-space-2) !important;
  margin-top: var(--esafe-space-2) !important;
}

.theme-harbor .esmk-wrap[data-mode="list"] .esmk-grid .esmk-tile,
.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-grid .esmk-tile {
  gap: var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-public-record .esafe-everify-directory-filter-grid :is(input, select),
.theme-harbor .esafe-ui.esafe-events-root .esafe-events-toolbar input.esafe-events-search {
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-public-record .esafe-everify-public-actions > button.esafe-everify-public-button {
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
}

.theme-harbor .esafe-everify-public-record .esafe-everify-directory-filter,
.theme-harbor .esafe-everify-public-record .esafe-everify-directory-card {
  margin-top: var(--esafe-space-4) !important;
}

.theme-harbor .elementor-51 a.elementor-button.elementor-button-link,
.theme-harbor [id^="esafe-filter-"] {
  padding: var(--esafe-space-2) var(--esafe-space-3) !important;
}

.theme-harbor .esafeCoordinateTool :is(#esafe-coordinate-address, #esafe-coordinate-file),
.theme-harbor .esafeCoordinateTool .coordinateFields label > input {
  margin-top: var(--esafe-space-2) !important;
}

.theme-harbor .elementor-search-form input.elementor-search-form__input,
.theme-harbor input[id^="search-"] {
  margin-top: var(--esafe-space-2) !important;
  padding-right: var(--esafe-space-3) !important;
  padding-left: var(--esafe-space-3) !important;
}

.theme-harbor .esafeHome > .hero {
  width: calc(100% - 32px) !important;
  max-width: var(--es-content-width, 1140px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 192px var(--esafe-space-12) var(--esafe-space-16) !important;
}

.theme-harbor .esafeHome > .hero .heroShield {
  left: var(--esafe-shield-center-x, var(--shield-center-x, 82%)) !important;
}

@media (max-width: 850px) {
  .theme-harbor .esafeHome > .hero .heroShield {
    left: var(--esafe-shield-center-x, 78%) !important;
  }
}

@media (max-width: 560px) {
  .theme-harbor .esafeHome > .hero .heroShield {
    left: var(--esafe-shield-center-x, 76%) !important;
  }
}

.theme-harbor .esafeHome .serviceArea > ul {
  column-gap: var(--esafe-space-8) !important;
}

.theme-harbor .esafeHome > .alertBand {
  margin-bottom: var(--esafe-space-8) !important;
}

.theme-harbor .esafeHome > .toolBand {
  width: calc(100% - 32px) !important;
  max-width: var(--es-content-width, 1140px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  margin-top: 0 !important;
}

.theme-harbor .aboutContent .serviceCoverageList {
  column-gap: var(--esafe-space-6) !important;
}

@media (max-width: 900px) {
  .theme-harbor .esafeHome > .hero {
    padding: var(--esafe-space-16) var(--esafe-space-6) var(--esafe-space-16) !important;
  }
}

@media (max-width: 600px) {
  .theme-harbor .esafeHome > .hero {
    padding: var(--esafe-space-16) var(--esafe-space-4) var(--esafe-space-16) !important;
  }

  .theme-harbor :is(.contactSend, .esafe-ga-reset) {
    width: 120px !important;
    min-width: 120px !important;
    flex: 0 0 120px !important;
  }
}

/* 1.0.88: keep the overlapping Service Area band above the hero artwork. */
.theme-harbor .esafeHome > .hero {
  z-index: 0 !important;
}

.theme-harbor .esafeHome > .alertBand {
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate;
}

/* 1.0.90: unframed responsive home placement for the Weather shortcode. */
.theme-harbor .esafeHome .weatherBriefing {
  align-self: center;
  justify-self: center;
  width: min(500px, 100%);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.theme-harbor .esafeHome .weatherBriefing > .toolPluginOutput {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.theme-harbor .esafeHome .weatherBriefing [data-esw-weather] {
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 600px) {
  .theme-harbor .esafeHome .weatherBriefing {
    width: 100%;
  }
}
/*
 * Permanent form-control rule: ordinary checkboxes must never render larger
 * than the text they accompany. Purpose-built switch controls are excluded.
 */
.theme-harbor input[type="checkbox"]:not([role="switch"]):not(.esafe-switch-input):not(.components-form-toggle__input) {
  box-sizing: border-box !important;
  inline-size: 1em !important;
  block-size: 1em !important;
  min-inline-size: 1em !important;
  min-block-size: 1em !important;
  max-inline-size: 1em !important;
  max-block-size: 1em !important;
  flex: 0 0 1em !important;
  margin: 0.15em 0.45em 0 0 !important;
  padding: 0 !important;
  vertical-align: -0.1em !important;
  accent-color: #0b2e4f;
}
/* Production legal documents: original content with Harbor Light presentation. */
.theme-harbor .esafeLegalPage .policyPage {
  width: min(100%, 1140px);
  max-width: 1140px;
  margin-inline: auto;
}

.theme-harbor .esafeLegalDocument {
  display: grid;
  grid-template-columns: 240px minmax(0, 760px);
  justify-content: center;
  align-items: start;
  gap: var(--esafe-space-6);
  width: 100%;
  min-width: 0;
}

.theme-harbor .esafeLegalHeader {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: center;
  gap: var(--esafe-space-6);
  padding: var(--esafe-space-6);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #f5f8fb;
}

.theme-harbor .esafeLegalHeader img {
  display: block;
  width: 160px;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.theme-harbor .esafeLegalHeader h1 {
  margin: 0 0 var(--esafe-space-3);
  color: var(--esafe-heading-color);
  font: 900 20px/1.25 var(--esafe-font-secondary);
}

.theme-harbor .esafeLegalHeader p,
.theme-harbor .esafeLegalSection :is(p, li),
.theme-harbor .esafeLegalToc li {
  color: var(--esafe-text-color);
  font: 400 15px/24px var(--esafe-font-primary);
  letter-spacing: 0;
}

.theme-harbor .esafeLegalHeader p {
  margin: 0 0 var(--esafe-space-2);
}

.theme-harbor .esafeLegalHeader p:last-child {
  margin-bottom: 0;
}

.theme-harbor .esafeLegalToc {
  position: sticky;
  top: var(--esafe-space-6);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: var(--esafe-space-5);
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeLegalToc h2,
.theme-harbor .esafeLegalSection h2 {
  margin: 0 0 var(--esafe-space-3);
  color: var(--esafe-heading-color);
  font: 600 18px/1.25 var(--esafe-font-secondary);
  letter-spacing: 0;
}

.theme-harbor .esafeLegalToc ol {
  margin: 0;
  padding-left: var(--esafe-space-5);
}

.theme-harbor .esafeLegalToc li {
  margin: 0 0 var(--esafe-space-2);
  font-size: 14px;
  line-height: 19.6px;
}

.theme-harbor .esafeLegalSection {
  grid-column: 2;
  min-width: 0;
  margin: 0;
  padding: 0 0 var(--esafe-space-8);
  border-bottom: 1px solid var(--esafe-border-color);
}

.theme-harbor .esafeLegalSection :is(p, ul, ol) {
  margin: 0 0 var(--esafe-space-4);
}

.theme-harbor .esafeLegalSection :is(ul, ol) {
  padding-left: var(--esafe-space-6);
}

.theme-harbor .esafeLegalSection li {
  margin-bottom: var(--esafe-space-2);
}

.theme-harbor .esafeLegalSection :is(p, li):last-child,
.theme-harbor .esafeLegalSection :is(ul, ol):last-child {
  margin-bottom: 0;
}

.theme-harbor .esafeLegalPage a {
  color: #b00020;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.theme-harbor .esafeLegalPage a:hover,
.theme-harbor .esafeLegalPage a:focus-visible {
  color: #0427c4;
}

.theme-harbor .esafeLegalSection table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border: 1px solid var(--esafe-border-color);
  border-radius: 8px;
  background: #fff;
}

.theme-harbor .esafeLegalSection :is(th, td) {
  min-width: 180px;
  padding: var(--esafe-space-3);
  border-bottom: 1px solid var(--esafe-border-color);
  vertical-align: top;
  color: var(--esafe-text-color);
  text-align: left;
  font: 400 14px/19.6px var(--esafe-font-primary);
  letter-spacing: 0;
}

.theme-harbor .esafeLegalSection th {
  background: #f5f8fb;
  color: var(--esafe-heading-color);
  font-weight: 600;
}

.theme-harbor .esafeLegalSourceFooter {
  grid-column: 1 / -1;
  padding-top: var(--esafe-space-2);
  color: var(--esafe-muted-color);
  text-align: center;
  font: 400 14px/19.6px var(--esafe-font-primary);
}

.theme-harbor .esafeLegalSourceFooter p {
  margin: 0;
}

@media (max-width: 767px) {
  .theme-harbor .esafeLegalDocument {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--esafe-space-6);
  }

  .theme-harbor .esafeLegalHeader,
  .theme-harbor .esafeLegalToc,
  .theme-harbor .esafeLegalSection,
  .theme-harbor .esafeLegalSourceFooter {
    grid-column: 1;
  }

  .theme-harbor .esafeLegalHeader {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--esafe-space-4);
  }

  .theme-harbor .esafeLegalHeader img {
    width: 140px;
  }

  .theme-harbor .esafeLegalToc {
    position: static;
    max-height: none;
    padding: var(--esafe-space-4);
  }
}

/* 1.0.157: corrected legal flow, About alignment, and listing expansion controls. */
.theme-harbor .esafeLegalBody {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--esafe-space-6);
  min-width: 0;
}

.theme-harbor .esafeLegalBody .esafeLegalSection {
  grid-column: 1;
}

.theme-harbor .serviceCoverage .coverageGrid > div:first-child :is(h3, .serviceCoverageList) {
  justify-self: start;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.theme-harbor .serviceCoverage .coverageGrid > div:last-child {
  align-items: flex-start;
}

.theme-harbor .serviceCoverage .coverageGrid > div:last-child h3 {
  text-align: left;
}

.theme-harbor .serviceCoverage .coverageGrid > div:last-child .serviceCoverageList {
  margin-right: 0;
  margin-left: 0;
}

.theme-harbor main :is(
  .esafe-site-see-more,
  .listingAccordion[data-more],
  .listingAccordion[data-news-more],
  .listingAccordion[data-events-more],
  .listingAccordion[data-esafe-gbi-more],
  .esafe-um-see-more
) {
  display: inline-flex !important;
  align-self: flex-end !important;
  width: fit-content !important;
  margin-right: 0 !important;
  margin-left: auto !important;
}

.theme-harbor .esafeListingControls {
  display: flex;
  flex-direction: column;
  width: 100%;
}

@media (max-width: 767px) {
  .theme-harbor .esafeLegalBody {
    grid-column: 1;
  }
}

/* Keep the homepage introduction video on the shared section-spacing rhythm. */
.theme-harbor .esafeHome > .homeIntroVideo {
  padding-top: calc(var(--esafe-space-12) + var(--esafe-space-2)) !important;
  padding-bottom: 64px !important;
}

@media (max-width: 600px) {
  .theme-harbor .esafeHome > .homeIntroVideo {
    padding-top: var(--esafe-space-8) !important;
    padding-bottom: var(--esafe-space-12) !important;
  }
}

/* Keep the homepage Missing Kids scroller on the shared section rhythm. */
.theme-harbor .esafeHome > .homeMissingKidsSection {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.theme-harbor .homeMissingKidsSection > .sectionTitle {
  margin-bottom: var(--esafe-space-6) !important;
}

.theme-harbor .homeMissingKidsSection > p {
  margin-top: 0 !important;
  margin-bottom: var(--esafe-space-6) !important;
}

@media (max-width: 600px) {
  .theme-harbor .esafeHome > .homeMissingKidsSection {
    padding-top: var(--esafe-space-12) !important;
    padding-bottom: var(--esafe-space-12) !important;
  }
}

/* Show the complete approved Missing Pets artwork without changing any other tool card. */
.theme-harbor .toolCard--lost-pets .featureVisual {
  overflow: hidden !important;
  background: #06131d !important;
}

.theme-harbor .toolCard--lost-pets .featureVisual img,
.theme-harbor .elementor .toolCard--lost-pets .featureVisual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #06131d !important;
  transform: none !important;
}


/* E-Safe bundle source: assets/harbor-faq-standard-1.0.217.css */
.esafeFaqStandard {
  box-sizing: border-box;
  width: 100%;
  max-width: 1140px;
  margin: 32px auto 0 !important;
  padding: 20px !important;
  overflow: visible;
  background: #fff !important;
  border: 1px solid #d2dce8 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 20px rgba(17, 48, 80, 0.07) !important;
}

body .esafeFaqStandard.esafeFaqStandard {
  padding: 20px !important;
}

.theme-harbor .everifyContent > .toolPageSection.esafeFaqStandard {
  padding: 20px !important;
}

.esafeFaqStandard > .elementor-widget-heading,
.esafeFaqStandard > .elementor-widget-uael-faq,
.esafeFaqStandard .elementor-widget-container,
.esafeFaqStandard .uael-faq-wrapper,
.esafeFaqStandard .uael-faq-container,
.esafeFaqStandard .toolFaqs {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.esafeFaqStandard .esafeFaqTitle,
.esafeFaqStandard h2.esafeFaqTitle {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #123f67 !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.esafeFaqStandard .esafeFaqDescription {
  max-width: none;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #526274 !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.esafeFaqStandard .uael-faq-accordion,
.esafeFaqStandard .toolFaqs details,
.esafeFaqStandard .uael-faq-box-layout-yes .uael-faq-accordion {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.esafeFaqStandard .uael-faq-accordion + .uael-faq-accordion,
.esafeFaqStandard .toolFaqs details + details {
  margin-top: 2px !important;
}

.esafeFaqStandard .uael-accordion-title,
.esafeFaqStandard .toolFaqs summary {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 20px;
  align-items: center;
  column-gap: 12px;
  width: 100%;
  min-height: 36px;
  margin: 0 !important;
  padding: 6px 0 !important;
  cursor: pointer;
  color: #123f67 !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 160ms ease;
}

.esafeFaqStandard .uael-question-span {
  grid-column: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.esafeFaqStandard .uael-accordion-icon {
  grid-column: 2;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center;
  justify-self: end;
}

.esafeFaqStandard .uael-accordion-icon svg {
  display: block;
  width: 15px !important;
  height: 15px !important;
}

.esafeFaqStandard .toolFaqs summary {
  list-style: none;
}

.esafeFaqStandard .toolFaqs summary::-webkit-details-marker {
  display: none;
}

.esafeFaqStandard .toolFaqs summary::after {
  box-sizing: border-box;
  grid-column: 2;
  width: 9px;
  height: 9px;
  margin-right: 3px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  justify-self: end;
  transform: rotate(45deg) translateY(-2px);
  transition: color 160ms ease, transform 160ms ease;
}

.esafeFaqStandard .toolFaqs details[open] > summary::after {
  transform: rotate(225deg) translate(-2px, -2px);
}

.esafeFaqStandard .uael-accordion-title:hover,
.esafeFaqStandard .uael-accordion-title:hover .uael-question-span,
.esafeFaqStandard .uael-accordion-title:hover .uael-accordion-icon,
.esafeFaqStandard .uael-accordion-title:focus-visible,
.esafeFaqStandard .uael-accordion-title:focus-visible .uael-question-span,
.esafeFaqStandard .toolFaqs summary:hover,
.esafeFaqStandard .toolFaqs summary:focus-visible,
.esafeFaqStandard .toolFaqs summary:hover::after,
.esafeFaqStandard .toolFaqs summary:focus-visible::after {
  color: #c40228 !important;
}

.esafeFaqStandard .uael-accordion-title:focus-visible,
.esafeFaqStandard .toolFaqs summary:focus-visible {
  outline: 2px solid rgba(196, 2, 40, 0.42);
  outline-offset: 2px;
}

.esafeFaqStandard .uael-accordion-content,
.esafeFaqStandard .toolFaqs details > p {
  margin: 0 !important;
  padding: 0 0 6px !important;
  color: #364b60 !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.esafeFaqStandard .uael-accordion-content p,
.esafeFaqStandard .toolFaqs details > p:last-child {
  margin: 0 !important;
}

.esafeFaqStandard .uael-accordion-icon,
.esafeFaqStandard .uael-accordion-icon svg {
  color: currentColor !important;
  fill: currentColor !important;
}

@media (min-width: 1025px) {
  .esafeFaqStandard,
  body .esafeFaqStandard.esafeFaqStandard,
  .theme-harbor .everifyContent > .toolPageSection.esafeFaqStandard {
    padding: 40px !important;
  }
}

@media (max-width: 767px) {
  .esafeFaqStandard {
    margin-top: 24px !important;
    padding: 20px !important;
  }

  .esafeFaqStandard .esafeFaqTitle,
  .esafeFaqStandard h2.esafeFaqTitle {
    font-size: 20px !important;
  }

  .esafeFaqStandard .uael-accordion-title,
  .esafeFaqStandard .toolFaqs summary {
    align-items: center;
    min-width: 0;
    white-space: normal;
  }
}


/* E-Safe bundle source: assets/harbor-filter-standard.css */
/* Shared public search and filter controls. */
body.theme-harbor {
  --esafe-filter-accent: #1e5476;
  --esafe-filter-accent-hover: #153f5a;
  --esafe-filter-danger: #9d1c2d;
  --esafe-filter-surface: #f5f7f9;
  --esafe-filter-border: #d4dee6;
  --esafe-filter-shadow: 0 18px 48px rgba(15, 35, 48, .22);
}

body.esafe-filter-popup-open {
  overflow: hidden;
}

.theme-harbor .esafe-filter-standard {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  margin: 0 0 20px;
}

.theme-harbor .esafe-filter-standard--inline {
  width: auto;
  margin: 0;
}

.theme-harbor .esafe-filter-standard__legacy {
  display: none !important;
}

.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
) {
  position: relative;
  display: inline-flex !important;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--esafe-filter-border) !important;
  border-radius: 6px !important;
  background: var(--esafe-filter-surface) !important;
  box-shadow: none !important;
  color: var(--esafe-filter-accent) !important;
  font: 600 14px/1 var(--esafe-font-primary, "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
):is(:hover, :focus-visible) {
  border-color: #9fb5c4 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(15, 35, 48, .12) !important;
  color: var(--esafe-filter-accent-hover) !important;
  outline: 2px solid transparent;
  transform: translateY(-1px);
}

.theme-harbor .esafe-filter-standard__button--reset,
.theme-harbor .esafe-ga-reset {
  color: var(--esafe-filter-danger) !important;
}

.theme-harbor .esafe-filter-standard__button svg,
.theme-harbor :is(.esafe-ga-filter-button, .esafe-ga-reset, .esafe-gbi-filter-toggle, .esmk-filterlink, .esafe-lfp-open-filter, .esafe-um-filter-link) svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.theme-harbor .esafe-filter-standard__button::after,
.theme-harbor :is(.esafe-ga-filter-button, .esafe-ga-reset, .esafe-gbi-filter-toggle, .esmk-filterlink, .esafe-lfp-open-filter, .esafe-um-filter-link)::after {
  content: attr(data-esafe-tooltip);
  position: absolute;
  z-index: 100005;
  left: 50%;
  bottom: calc(100% + 8px);
  width: max-content;
  max-width: 220px;
  padding: 6px 8px;
  border-radius: 4px;
  background: #0f2330;
  color: #fff;
  font: 500 12px/1.35 var(--esafe-font-primary, "Inter", sans-serif);
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity .15s ease, transform .15s ease;
}

.theme-harbor .esafe-filter-standard__button:is(:hover, :focus-visible)::after,
.theme-harbor :is(.esafe-ga-filter-button, .esafe-ga-reset, .esafe-gbi-filter-toggle, .esmk-filterlink, .esafe-lfp-open-filter, .esafe-um-filter-link):is(:hover, :focus-visible)::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.theme-harbor .esafe-filter-standard__count {
  margin-left: auto;
  color: var(--esafe-muted-color, #5a6a75);
  font: 400 13px/19px var(--esafe-font-primary, "Inter", sans-serif);
}

.esafe-filter-standard__overlay[hidden] {
  display: none !important;
}

.esafe-filter-standard__overlay {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: start center;
  overflow: auto;
  padding: clamp(78px, 10vh, 112px) 16px 32px;
  background: rgba(15, 35, 48, .52);
  overscroll-behavior: contain;
}

.esafe-filter-standard__dialog {
  width: min(100%, 560px);
  max-height: calc(100dvh - 110px);
  overflow: auto;
  border: 1px solid #d4dee6;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--esafe-filter-shadow, 0 18px 48px rgba(15, 35, 48, .22));
  color: #0f2330;
  font-family: var(--esafe-font-primary, "Inter", system-ui, sans-serif);
}

.esafe-filter-standard__header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 14px 16px 14px 20px;
  border-bottom: 1px solid #d4dee6;
  background: #fff;
}

.esafe-filter-standard__title {
  margin: 0 !important;
  color: #1e5476 !important;
  font: 600 18px/1.3 var(--esafe-font-secondary, "Source Sans 3", "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
}

.esafe-filter-standard__close {
  position: relative;
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid #d4dee6;
  border-radius: 6px;
  background: #f5f7f9;
  color: #1e5476;
  cursor: pointer;
}

.esafe-filter-standard__close:is(:hover, :focus-visible) {
  border-color: #9fb5c4;
  background: #fff;
  color: #153f5a;
  outline: 2px solid rgba(30, 84, 118, .16);
}

.esafe-filter-standard__close svg {
  display: none;
}

.esafe-filter-standard__close::before,
.esafe-filter-standard__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.esafe-filter-standard__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.esafe-filter-standard__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.esafe-filter-standard__body {
  padding: 20px;
}

.esafe-filter-standard__body .esafe-filter-mode-hidden {
  display: none !important;
}

.esafe-filter-standard__body .esafe-filter-standard__legacy-content {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.esafe-filter-standard__body .esafe-filter-standard__legacy-content :is(
  .esmk-filter-form,
  .esafe-lfp-filter-grid,
  .esafe-gbi-filter-grid,
  .esafe-um-filter-grid
) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
}

.esafe-filter-standard__body :is(form, .esafe-filter-standard__form) {
  display: grid;
  gap: 16px;
  width: 100%;
  margin: 0;
}

.esafe-filter-standard__body :is(label, .esafe-label, .esafe-vets-toolbar-label) {
  display: grid;
  gap: 8px;
  margin: 0;
  color: #0f2330;
  font: 600 14px/19.6px var(--esafe-font-primary, "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
}

.esafe-filter-standard__body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #d4dee6 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #0f2330 !important;
  font: 400 15px/24px var(--esafe-font-primary, "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
}

.esafe-filter-standard__body :is(input[type="checkbox"], input[type="radio"]) {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
}

.esafe-filter-standard__body :is(input, select, textarea):focus {
  border-color: #1e5476 !important;
  box-shadow: 0 0 0 3px rgba(30, 84, 118, .10) !important;
  outline: 0 !important;
}

.esafe-filter-standard__actions,
.esafe-filter-standard__body :is(.filterActions, .esafe-events-filter-actions, .esafe-everify-public-actions) {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px !important;
  width: 100%;
  margin: 4px 0 0 !important;
}

.esafe-filter-standard__body :is(button, .esafe-btn, .esafeButton, .esafe-everify-public-button):not(.esafe-filter-standard__close) {
  min-height: 38px !important;
  padding: 8px 14px !important;
  border: 1px solid #c8d5de !important;
  border-radius: 6px !important;
  background: #f5f7f9 !important;
  color: #1e5476 !important;
  box-shadow: none !important;
  font: 500 14px/19.6px var(--esafe-font-primary, "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.esafe-filter-standard__body :is(button, .esafe-btn, .esafeButton, .esafe-everify-public-button):not(.esafe-filter-standard__close):is(:hover, :focus-visible) {
  border-color: #9fb5c4 !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(15, 35, 48, .12) !important;
  color: #153f5a !important;
  outline: 2px solid transparent !important;
  transform: translateY(-1px);
}

.esafe-filter-standard__body .esafe-events-filter-panel {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.esafe-filter-standard__body .esafe-events-filter-panel > .esafe-events-filter-panel-header[hidden] {
  display: none !important;
}

.esafe-filter-standard__body .esafeFilterModal > header[hidden] {
  display: none !important;
}

.theme-harbor .esafe-cp-workspace :is(
  .esafe-btn,
  .esafe-cp-workspace-tab,
  .esafe-cp-directory-link,
  .esafe-cp-chat-clear,
  .esafe-cp-inbox-clear
) {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.esafe-filter-hidden {
  display: none !important;
}

/* GA News: panel content is moved into the shared modal without changing its form. */
.esafe-filter-standard__body .esafe-ga-filter-panels {
  display: block !important;
}

.esafe-filter-standard__body .esafe-ga-filter-panel {
  display: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.esafe-filter-standard__body .esafe-ga-filter-panel.open {
  display: grid !important;
  gap: 16px;
}

.theme-harbor .esafe-ga-filter-toolbar,
.theme-harbor .esafe-gbi-public-toolbar,
.theme-harbor .esafe-um-directory-topbar-left,
.theme-harbor .esafe-lfp-filter-mini-row,
.theme-harbor .esmk-control-links {
  gap: 8px !important;
}

.theme-harbor .esafe-ga-filter-button::before,
.theme-harbor .esafe-ga-reset::before {
  content: none !important;
}

/* Existing plugin dialogs receive the same visual contract. */
.theme-harbor :is(
  .esafe-gbi-filter-modal,
  .esmk-modal,
  .esafe-lfp-filter-modal,
  #esafe-um-filter-overlay
) {
  z-index: 100000 !important;
}

.theme-harbor :is(
  .esafe-gbi-filter-dialog,
  .esmk-modal-card,
  .esafe-lfp-filter-modal-dialog,
  #esafe-um-filter-overlay .esafe-um-small-modal
) {
  width: min(calc(100% - 32px), 560px) !important;
  max-width: 560px !important;
  max-height: calc(100dvh - 110px) !important;
  overflow: auto !important;
  border: 1px solid #d4dee6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: var(--esafe-filter-shadow) !important;
  color: #0f2330 !important;
  font-family: var(--esafe-font-primary, "Inter", sans-serif) !important;
}

.theme-harbor :is(
  .esafe-gbi-filter-dialog,
  .esmk-modal-card,
  .esafe-lfp-filter-modal-dialog,
  #esafe-um-filter-overlay .esafe-um-small-modal
) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100% !important;
  max-width: none !important;
  min-height: 42px !important;
  border-radius: 6px !important;
  font: 400 15px/24px var(--esafe-font-primary, "Inter", sans-serif) !important;
}

.theme-harbor :is(
  .esafe-gbi-filter-dialog,
  .esmk-modal-card,
  .esafe-lfp-filter-modal-dialog,
  #esafe-um-filter-overlay .esafe-um-small-modal
) :is(input[type="checkbox"], input[type="radio"]) {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
}

.theme-harbor .esafe-filter-standard + .esafe-gbi-help-link,
.theme-harbor .esafe-filter-standard .esafe-gbi-help-link {
  display: none !important;
}

@media (max-width: 767px) {
  .esafe-filter-standard__overlay {
    padding: 68px 12px 20px;
  }

  .esafe-filter-standard__dialog {
    width: 100%;
    max-height: calc(100dvh - 82px);
  }

  .esafe-filter-standard__header {
    padding: 12px 12px 12px 16px;
  }

  .esafe-filter-standard__body {
    padding: 16px;
  }

  .esafe-filter-standard__body :is(.filterActions, .esafe-events-filter-actions, .esafe-everify-public-actions) > * {
    flex: 1 1 150px;
    text-align: center;
  }

  .theme-harbor .esafe-filter-standard__count {
    flex: 1 0 100%;
    margin: 4px 0 0;
  }
}

/* Missing Kids scrollers use the same polished popup shell and form rhythm as
   the Missing Pets scroller on every page where either shortcode is embedded. */
body.theme-harbor .esafe-filter-standard__body .esmk-modal-body.esafe-filter-standard__kids-content {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esmk-filter-form {
  display: grid !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esmk-filter-form > label,
body.theme-harbor .esafe-filter-standard__kids-content .esmk-location-row > label {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #173f59 !important;
  font: 600 14px/19.6px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esmk-location-row {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) 140px !important;
  align-items: end !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esafe-filter-mode-hidden {
  display: none !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esmk-filter-form > label.esafe-filter-mode-hidden,
body.theme-harbor .esafe-filter-standard__kids-content .esmk-location-row > label.esafe-filter-mode-hidden {
  display: none !important;
}

body.theme-harbor .esafe-filter-standard__kids-content :is(input:not([type="checkbox"]):not([type="radio"]), select) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #cbd8e1 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #0f2330 !important;
  font: 400 15px/22px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}

body.theme-harbor .esafe-filter-standard__kids-content input[readonly] {
  background: #f5f7f9 !important;
  color: #5a6a75 !important;
}

body.theme-harbor .esafe-filter-standard__kids-content .esmk-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid #e0e7ec !important;
}

@media (max-width: 767px) {
  body.theme-harbor .esafe-filter-standard__kids-content .esmk-location-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.theme-harbor .esafe-filter-standard__kids-content .esmk-actions > * {
    flex: 1 1 140px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-harbor .esafe-filter-standard__button,
  .theme-harbor :is(.esafe-ga-filter-button, .esafe-ga-reset, .esafe-gbi-filter-toggle, .esmk-filterlink, .esafe-lfp-open-filter, .esafe-um-filter-link) {
    transition: none;
  }
}

/* 1.0.117: one command-button contract for every public component. */
.theme-harbor main .esafe-button-standard {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto;
  min-width: 0;
  min-height: 38px !important;
  margin: 0;
  padding: 8px 14px !important;
  border: 1px solid var(--esafe-filter-border) !important;
  border-radius: 6px !important;
  background: var(--esafe-filter-surface) !important;
  box-shadow: none !important;
  color: var(--esafe-filter-accent) !important;
  font: 500 14px/19.6px var(--esafe-font-primary, "Inter", sans-serif) !important;
  letter-spacing: 0 !important;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.theme-harbor main :is(.esafe-um-shortcode, .esafe-cp-workspace) .esafe-button-standard,
.theme-harbor main button.listingAccordion.esafe-ga-more.esafe-button-standard,
.theme-harbor main .esafe-lfp-btn.esafe-button-standard,
.theme-harbor main .elementor-button.esafe-button-standard,
.theme-harbor main button.premium-search__btn.esafe-button-standard {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  font: 500 14px/19.6px var(--esafe-font-primary, "Inter", sans-serif) !important;
  line-height: 19.6px !important;
}

.theme-harbor .esafe-filter-standard__button .screen-reader-text {
  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;
  white-space: nowrap !important;
  border: 0 !important;
}

.theme-harbor main .esafe-button-standard:is(:hover, :focus-visible) {
  border-color: #9fb5c4 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(15, 35, 48, .12) !important;
  color: var(--esafe-filter-accent-hover) !important;
  outline: 2px solid transparent !important;
  transform: translateY(-1px);
}

.theme-harbor main .esafe-button-standard:is(.active, .is-active, [aria-selected="true"], [aria-pressed="true"]) {
  border-color: var(--esafe-filter-accent) !important;
  background: var(--esafe-filter-accent) !important;
  color: #ffffff !important;
}

.theme-harbor main .esafe-button-standard--danger {
  color: var(--esafe-filter-danger) !important;
}

.theme-harbor main .esafe-button-standard:disabled,
.theme-harbor main .esafe-button-standard[aria-disabled="true"] {
  opacity: .52;
  cursor: not-allowed;
  transform: none;
}

.theme-harbor [data-esafe-tool-directory] > .esafe-filter-standard,
.theme-harbor .toolDirectory > .esafe-filter-standard {
  margin-top: 24px;
}

.theme-harbor .esafe-cp-room-directory .esafe-filter-standard {
  margin: 16px 0;
}

/* Visible choices may never be larger than their accompanying body text. */
.theme-harbor input[type="checkbox"]:not([role="switch"]):not([hidden]),
.theme-harbor input[type="radio"]:not([role="switch"]):not([hidden]) {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  font-size: inherit !important;
  flex: 0 0 min(1em, 15px) !important;
  width: min(1em, 15px) !important;
  inline-size: min(1em, 15px) !important;
  min-width: min(1em, 15px) !important;
  max-width: min(1em, 15px) !important;
  height: min(1em, 15px) !important;
  block-size: min(1em, 15px) !important;
  min-height: min(1em, 15px) !important;
  max-height: min(1em, 15px) !important;
  margin: 0 7px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  zoom: 1 !important;
  vertical-align: -2px !important;
  accent-color: var(--esafe-filter-accent);
  box-shadow: none !important;
}

.theme-harbor input[type="radio"]:not([role="switch"]):not([hidden]) {
  border-radius: 50% !important;
}

/* Approved Harbor Light typography: display copy uses Source Sans 3. */
html body.theme-harbor main#content.siteContent :is(h1, h2, h3, h4, h5, h6),
.theme-harbor :is(.esafe-filter-standard__dialog, .esafe-cp-room-dialog) :is(h1, h2, h3, h4, h5, h6) {
  font-family: "Source Sans 3", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

/* Every asterisk remains an informational trigger, never a boxed control. */
.theme-harbor :is(a, button).esafe-marker-standard {
  appearance: none !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 0 2px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7a7a7a !important;
  font: 800 16px/1 "Inter", system-ui, sans-serif !important;
  text-decoration: none !important;
  transform: none !important;
  vertical-align: 0.08em !important;
}

.theme-harbor :is(a, button).esafe-marker-standard:is(:hover, :focus-visible) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #d8677d !important;
  outline: 2px solid transparent !important;
}

/* Shared form, table, and pagination surfaces for plugin-generated pages. */
.theme-harbor main :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #d4dee6;
  border-radius: 6px;
  background: #fff;
  color: #0f2330;
  font: 400 14px/1.55 "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

.theme-harbor main textarea {
  min-height: 112px;
  resize: vertical;
}

.theme-harbor main table {
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  border: 1px solid #d4dee6;
  border-radius: 8px;
  background: #fff;
  color: #0f2330;
  font: 400 14px/1.5 "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  overflow: hidden;
}

.theme-harbor main table :is(th, td) {
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid #e3e9ee;
  border-bottom: 1px solid #e3e9ee;
  text-align: left;
  vertical-align: top;
}

.theme-harbor main table th {
  background: #f5f8fb;
  color: #131d65;
  font-weight: 600;
}

.theme-harbor main table tr:last-child > * { border-bottom: 0; }
.theme-harbor main table tr > *:last-child { border-right: 0; }

.theme-harbor main :is(.esafePageNumbers, .esafe-pagination-container, .esafe-pagination-wrap, .esafe-pagination, .elementor-pagination, [class*="pagination"]) {
  gap: 6px;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

.theme-harbor main :is(.esafe-page-button, .page-numbers, [class*="pagination"] a, [class*="pagination"] button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid #dadada;
  border-radius: 6px;
  background: #f5f5f5;
  color: #5f6f78;
  font: 400 13px/1 "Inter", system-ui, sans-serif !important;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.theme-harbor main :is(.esafe-page-button, .page-numbers, [class*="pagination"] a, [class*="pagination"] button):is(:hover, :focus-visible) {
  border-color: #b8c8d4;
  background: #fff;
  color: #0b2e4f;
  box-shadow: 0 4px 12px rgba(15,35,48,.12);
  transform: translateY(-1px);
}

.theme-harbor main :is(.esafe-page-button.active, .page-numbers.current, [aria-current="page"]) {
  border-color: #0b2e4f;
  background: #0b2e4f;
  color: #fff;
}

.theme-harbor main :is(.esafe-ga-grid, .esafe-cp-poll-grid) + .esafe-filter-standard,
.theme-harbor main .esafe-filter-standard--collection {
  margin: 16px 0;
}

.theme-harbor main :is(.cap, .esafe-events-scroller-meta) {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 600px) {
  .theme-harbor main .esafe-button-standard {
    max-width: 100%;
    min-height: 40px !important;
    padding: 9px 12px !important;
  }
}

/*
 * 1.0.137 controlling E-Safe Button Formatting Directive v2.2.
 * This final layer intentionally supersedes the retired blue/500/6px rules.
 */
body.theme-harbor {
  --esafe-button-bg: #f5f5f5;
  --esafe-button-border: #dadada;
  --esafe-button-text: #7a7a7a;
  --esafe-button-hover-bg: #ffffff;
  --esafe-button-hover-border: rgba(241, 193, 193, 0.5);
  --esafe-button-hover-text: #d8677d;
  --esafe-button-hover-shadow: 0 0 6px 0 rgba(224, 90, 90, 0.5);
  --esafe-button-focus: #1e3a8a;
}

body.theme-harbor .esafe-button-standard {
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto;
  min-width: 0;
  height: auto !important;
  margin: 0;
  border: 1px solid var(--esafe-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-button-text) !important;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal;
  cursor: pointer;
  transform: none !important;
  transition: all 0.25s ease !important;
}

body.theme-harbor .esafe-button-standard.esafe-button-standard--general,
body.theme-harbor .esafe-button-standard.esafe-button-standard--icon {
  min-height: 30px !important;
  padding: 7px 14px !important;
  font-size: 14px !important;
}

body.theme-harbor .esafe-button-standard.esafe-button-standard--form {
  min-height: 36px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
}

body.theme-harbor .esafe-button-standard.esafe-button-standard--tab {
  min-height: 31px !important;
  padding: 7px 14px !important;
  font-size: 14px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease !important;
}

body.theme-harbor .esafe-button-standard.esafe-button-standard--table {
  min-height: 28px !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
}

body.theme-harbor .esafe-button-standard.esafe-button-standard--pagination {
  min-width: 30px !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 6px 9px !important;
  font-size: 13px !important;
}

body.theme-harbor .esafe-button-standard:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus, :active),
body.theme-harbor .esafe-button-standard:is(.active, .is-active, .current, .nav-tab-active, [aria-selected="true"], [aria-pressed="true"], [aria-current="page"]) {
  border-color: var(--esafe-button-hover-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-button-hover-bg) !important;
  box-shadow: var(--esafe-button-hover-shadow) !important;
  color: var(--esafe-button-hover-text) !important;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transform: none !important;
}

body.theme-harbor .esafe-button-standard:focus:not(:focus-visible) {
  outline: 0 !important;
}

body.theme-harbor .esafe-button-standard:focus-visible {
  outline: 2px solid var(--esafe-button-focus) !important;
  outline-offset: 2px !important;
}

body.theme-harbor .esafe-button-standard:disabled,
body.theme-harbor .esafe-button-standard[aria-disabled="true"] {
  border-color: var(--esafe-button-border) !important;
  background: var(--esafe-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-button-text) !important;
  font-weight: 300 !important;
  opacity: 0.45;
  cursor: not-allowed;
  transform: none !important;
}

/* The original header owns its responsive menu visibility. */
@media (min-width: 851px) {
  body.theme-harbor #esafe-elementor-header-root .siteHeader .menuButton,
  body.theme-harbor .siteHeader .menuButton {
    display: none !important;
  }
}

/* Header account actions use the same typography and interaction contract as
   the original primary navigation. */
body.theme-harbor .siteHeader .accountActions > :is(a, button),
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-link,
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-user-menuwrap > .esafe-sam-user-link {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 7px 14px !important;
  border: 1px solid #dadada !important;
  border-radius: 10px !important;
  background: #f5f5f5 !important;
  box-shadow: none !important;
  color: #7a7a7a !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 14px !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transform: none !important;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease !important;
}

body.theme-harbor .siteHeader .accountActions > :is(a, button):is(:hover, :focus, :active),
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-link:is(:hover, :focus, :active),
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-user-menuwrap > .esafe-sam-user-link:is(:hover, :focus, :active) {
  border-color: rgba(142, 2, 28, .32) !important;
  background: #ffffff !important;
  box-shadow: 0 0 6px rgba(142, 2, 28, .32) !important;
  color: #8e021c !important;
  font-weight: 300 !important;
  outline: 0 !important;
  transform: translateY(-1px) !important;
}

body.theme-harbor .siteHeader .accountActions > :is(a, button):focus-visible,
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-link:focus-visible,
body.theme-harbor .siteHeader .accountActions > .esafe-sam-menu-auth > .esafe-sam-user-menuwrap > .esafe-sam-user-link:focus-visible {
  outline: 2px solid #1e5476 !important;
  outline-offset: 2px !important;
}

/* Missing Pets uses an owner-plugin form inside the shared popup. Flatten the
   nested modal and present the search and filter fields as one clean form. */
body.theme-harbor .esafe-filter-standard__body .esafe-lfp-filter-modal-dialog.esafe-filter-standard__pet-content {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-field-full {
  grid-column: 1 / -1 !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-field.esafe-filter-mode-hidden {
  display: none !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-label {
  margin: 0 !important;
  color: #173f59 !important;
  font: 600 14px/19.6px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

body.theme-harbor .esafe-filter-standard__pet-content :is(input:not([type="checkbox"]):not([type="radio"]), select) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #cbd8e1 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #0f2330 !important;
  font: 400 15px/22px "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}

body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-modal-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid #e0e7ec !important;
}

@media (max-width: 767px) {
  body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-field-full {
    grid-column: 1 !important;
  }

  body.theme-harbor .esafe-filter-standard__pet-content .esafe-lfp-filter-modal-actions > * {
    flex: 1 1 140px !important;
    text-align: center !important;
  }
}

/* Search/filter toolbar icon controls use the same visual and hover states. */
body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
) {
  border: 1px solid var(--esafe-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-button-text) !important;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  transform: none !important;
  transition: all 0.25s ease !important;
}

body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
):is(:hover, :focus, :active) {
  border-color: var(--esafe-button-hover-border) !important;
  background: var(--esafe-button-hover-bg) !important;
  box-shadow: var(--esafe-button-hover-shadow) !important;
  color: var(--esafe-button-hover-text) !important;
  outline: 0 !important;
  transform: none !important;
}

body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
):focus-visible {
  outline: 2px solid var(--esafe-button-focus) !important;
  outline-offset: 2px !important;
}

/* Search, Filter, and Reset are the same three controls on every listing. */
body.theme-harbor .esafe-filter-standard__button {
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
}

/* Keep the shared Search, Filter, and Reset symbols identical even after the
   global button contract class is applied dynamically. */
body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
).esafe-button-standard {
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  gap: 0 !important;
  padding: 0 !important;
  color: var(--esafe-filter-accent) !important;
}

body.theme-harbor :is(
  .esafe-filter-standard__button--reset,
  .esafe-ga-reset
).esafe-button-standard {
  color: var(--esafe-filter-danger) !important;
}

body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link
) svg {
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
}

/* Popup form commands are Form buttons, not a blue popup-specific variant. */
body.theme-harbor .esafe-filter-standard__body :is(button, input[type="button"], input[type="submit"], input[type="reset"], .esafe-btn, .esafeButton, .esafe-everify-public-button):not(.esafe-filter-standard__close) {
  min-height: 36px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--esafe-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-button-text) !important;
  font: 300 14px/1 "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transform: none !important;
  transition: all 0.25s ease !important;
}

body.theme-harbor .esafe-filter-standard__body :is(button, input[type="button"], input[type="submit"], input[type="reset"], .esafe-btn, .esafeButton, .esafe-everify-public-button):not(.esafe-filter-standard__close):not(:disabled):is(:hover, :focus, :active) {
  border-color: var(--esafe-button-hover-border) !important;
  background: var(--esafe-button-hover-bg) !important;
  box-shadow: var(--esafe-button-hover-shadow) !important;
  color: var(--esafe-button-hover-text) !important;
  font-weight: 300 !important;
  outline: 0 !important;
  transform: none !important;
}

body.theme-harbor .esafe-filter-standard__body :is(button, input[type="button"], input[type="submit"], input[type="reset"], .esafe-btn, .esafeButton, .esafe-everify-public-button):not(.esafe-filter-standard__close):focus-visible {
  outline: 2px solid var(--esafe-button-focus) !important;
  outline-offset: 2px !important;
}

/* Familiar symbol-only dismiss controls retain their compact geometry. */
body.theme-harbor .esafe-filter-standard__close {
  border: 1px solid var(--esafe-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-button-text) !important;
  transform: none !important;
  transition: all 0.25s ease !important;
}

body.theme-harbor .esafe-filter-standard__close:is(:hover, :focus, :active) {
  border-color: var(--esafe-button-hover-border) !important;
  background: var(--esafe-button-hover-bg) !important;
  box-shadow: var(--esafe-button-hover-shadow) !important;
  color: var(--esafe-button-hover-text) !important;
  transform: none !important;
}

body.theme-harbor .esafe-filter-standard__close:focus-visible {
  outline: 2px solid var(--esafe-button-focus) !important;
  outline-offset: 2px !important;
}

/* The shared line-icon family must stay outlined even when an owner plugin
   applies fill: currentColor to every SVG descendant. */
body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link,
  .esafe-filter-standard__close
) svg,
body.theme-harbor :is(
  .esafe-filter-standard__button,
  .esafe-ga-filter-button,
  .esafe-ga-reset,
  .esafe-gbi-filter-toggle,
  .esmk-filterlink,
  .esafe-lfp-open-filter,
  .esafe-um-filter-link,
  .esafe-filter-standard__close
) svg * {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Missing Kids can be embedded on several Tool pages. Preserve the intended
   card width in every scroller context instead of allowing flex-shrink. */
body.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-track {
  display: flex !important;
  width: max-content !important;
  min-width: max-content !important;
  align-items: stretch !important;
}

/* Touch focus persists after a scroller control is tapped. On small screens,
   keep the icon-only controls clear by suppressing only their hover labels. */
@media (max-width: 767px) {
  body.theme-harbor :is(
    .esmk-wrap[data-mode="scroller"],
    .esafe-lfp-discovery-scroller
  ) .esafe-filter-standard__button::after {
    content: none !important;
    display: none !important;
  }
}

body.theme-harbor .esmk-wrap[data-mode="scroller"] .esmk-card {
  box-sizing: border-box !important;
  width: var(--cardW, 240px) !important;
  min-width: var(--cardW, 240px) !important;
  max-width: var(--cardW, 240px) !important;
  flex: 0 0 var(--cardW, 240px) !important;
  overflow: hidden !important;
}

/* Legacy triggers must never reappear beside the three shared controls. This
   final rule intentionally follows every legacy-button compatibility rule. */
body.theme-harbor .esafe-filter-standard__legacy,
body.theme-harbor [aria-hidden="true"].esafe-filter-standard__legacy {
  display: none !important;
}


/* E-Safe bundle source: assets/harbor-access-gate.css */
.esafeSubscriberGate {
    position: fixed;
    inset: 0;
    z-index: 2146999000;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow: auto;
    background: rgba(8, 25, 42, 0.72);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

.esafeSubscriberGateDialog {
    width: min(620px, 100%);
    margin: auto;
    padding: 32px;
    border: 1px solid #d4dee6;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(8, 25, 42, 0.3);
    color: #0f2330;
}

.esafeSubscriberGateDialog .eyebrow {
    margin: 0 0 8px;
    color: #8b1e2d;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
}

.esafeSubscriberGateDialog h1 {
    margin: 0 0 16px;
    color: #1e5476;
    font-family: "Source Sans 3", "Inter", system-ui, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.esafeSubscriberGateDialog p {
    margin: 0 0 16px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

.esafeSubscriberGateActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.esafeSubscriberGateActions .esafeButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid #cbd6df;
    border-radius: 6px;
    background: #f5f5f5;
    color: #5a6a75;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.esafeSubscriberGateActions .esafeButton:hover,
.esafeSubscriberGateActions .esafeButton:focus-visible {
    border-color: #8b1e2d;
    outline: 0;
    background: #ffffff;
    color: #8b1e2d;
    box-shadow: 0 0 0 3px rgba(139, 30, 45, 0.1);
}

.esafeSubscriberGateActions .esafeButtonPrimary {
    border-color: #1e5476;
    background: #1e5476;
    color: #ffffff;
}

.esafeSubscriberGateReturn {
    display: inline-block;
    margin-top: 20px;
    color: #1e5476;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 600px) {
    .esafeSubscriberGate {
        align-items: start;
        padding: 16px;
    }

    .esafeSubscriberGateDialog {
        margin-top: 64px;
        padding: 24px 20px;
    }

    .esafeSubscriberGateDialog h1 {
        font-size: 25px;
    }

    .esafeSubscriberGateActions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* E-Safe bundle source: assets/harbor-mobile-header-1.0.221.css */
/* E-Safe phone-header fit. Desktop and 768px tablet presentation are unchanged. */
@media (max-width: 767px) {
  body #esafe-elementor-header-root .siteHeader {
    width: 100% !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    grid-template-columns: minmax(40px, 1fr) auto auto !important;
    gap: 6px !important;
  }

  body #esafe-elementor-header-root .brand {
    width: 44px !important;
    min-width: 44px !important;
    gap: 0 !important;
  }

  body #esafe-elementor-header-root .brand img.brandLogo {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
    object-fit: contain !important;
  }

  body #esafe-elementor-header-root .brandIdentity {
    display: none !important;
  }

  body #esafe-elementor-header-root .menuButton {
    min-width: 0 !important;
    gap: 5px !important;
    padding: 7px 9px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body #esafe-elementor-header-root .menuButtonIcon {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  body #esafe-elementor-header-root .accountActions,
  body #esafe-elementor-header-root .accountActions > .esafe-sam-menu-auth {
    min-width: 0 !important;
    gap: 4px !important;
  }

  body #esafe-elementor-header-root .accountActions .esafe-sam-user-menuwrap {
    min-width: 0 !important;
  }

  body #esafe-elementor-header-root .accountActions a {
    min-width: 0 !important;
    max-width: 104px !important;
    padding: 7px 8px !important;
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body #esafe-elementor-header-root .accountActions .esafe-sam-user-link {
    display: block !important;
    max-width: 96px !important;
    text-align: center !important;
  }

  /* Keep the compact account trigger, but never inherit its clipping rules in the menu. */
  body #esafe-elementor-header-root .accountActions .esafe-sam-user-menu a.esafe-sam-user-submenu-link {
    width: 100% !important;
    max-width: none !important;
    padding: 10px 12px !important;
    overflow: visible !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  body #esafe-elementor-header-root .nav a {
    font-size: 13px !important;
  }
}

@media (max-width: 374px) {
  body #esafe-elementor-header-root .siteHeader {
    padding-inline: 8px !important;
    gap: 4px !important;
  }

  body #esafe-elementor-header-root .brand {
    width: 40px !important;
    min-width: 40px !important;
  }

  body #esafe-elementor-header-root .brand img.brandLogo {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    flex-basis: 40px !important;
  }

  body #esafe-elementor-header-root .menuButton {
    gap: 4px !important;
    padding: 6px 7px !important;
  }

  body #esafe-elementor-header-root .accountActions a {
    padding: 6px 7px !important;
  }

}


/* E-Safe bundle source: assets/harbor-tab-standard-1.0.222.css */
/* Mandatory E-Safe tabbed sub-navigation presentation contract, v1.0.222. */

body.theme-harbor :is(
  [role="tablist"]:not(.uael-faq-accordion):not(.elementor-accordion):not(.elementor-toggle):not([class*="faq"]):not([class*="accordion"]),
  .esafe-cp-workspace-tabs,
  .gbiResearchTabList,
  .esafePetDashboardTabList,
  .esev-dd-tab-bar,
  .activeShooterTabBar,
  .veteransTabButtons,
  .esafe-prm__tabs,
  .esafe-prm__subtabs,
  .esw-weather-view-controls,
  .elementor-element-2942d09 ul.uael-nav-menu
) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  margin: 40px 0 20px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid var(--esafe-border-color, #d4dee6) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

/* Remove legacy workspace framing so every submenu presents one baseline only. */
body.theme-harbor :is(
  .gbiResearchWorkspace,
  .esev-dd-tab-wrap,
  .veteransTabMenu,
  .esafe-prm
) {
  display: flow-root !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-harbor .gbiResearchTabsSection {
  margin-top: 0 !important;
}

body.theme-harbor .elementor-element-2942d09 div.uael-nav-menu.uael-layout-horizontal {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* The shared 20px tab-to-panel gap owns this spacing; legacy panel margins do not. */
body.theme-harbor :is(
  .gbiResearchPanelWrap,
  .esafePetDashboardPanels,
  .esafe-cp-workspace-panel,
  .esev-dd-panel,
  .activeShooterTabPanel,
  .veteransTabPanels,
  .esafe-prm__panels,
  .esafe-prm__subpanels
) {
  margin-top: 0 !important;
}

body.theme-harbor .esafeConsumerDueDiligence .esev-dd-panel {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-harbor .elementor-element-2942d09 ul.uael-nav-menu > li,
body.theme-harbor :is(
  .esafe-cp-workspace-tabs,
  .gbiResearchTabList,
  .esafePetDashboardTabList,
  .esev-dd-tab-bar,
  .activeShooterTabBar,
  .veteransTabButtons,
  .esafe-prm__tabs,
  .esafe-prm__subtabs,
  .esw-weather-view-controls
) > li {
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-harbor :is(
  [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
  .esafe-button-standard--tab,
  .gbiResearchTab,
  .esafePetDashboardTab,
  .esafe-cp-workspace-tab,
  .esev-dd-tab,
  .activeShooterTab,
  .veteransTab,
  .esafe-prm__tab,
  .esafe-prm__subtab,
  .esw-weather-view-controls > button,
  .elementor-element-2942d09 a[data-veterans-tab]
) {
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 0 -1px !important;
  padding: 10px 16px 9px !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--esafe-muted-color, #5a6a75) !important;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transform: none !important;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease !important;
}

body.theme-harbor :is(
  [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
  .esafe-button-standard--tab,
  .gbiResearchTab,
  .esafePetDashboardTab,
  .esafe-cp-workspace-tab,
  .esev-dd-tab,
  .activeShooterTab,
  .veteransTab,
  .esafe-prm__tab,
  .esafe-prm__subtab,
  .esw-weather-view-controls > button,
  .elementor-element-2942d09 a[data-veterans-tab]
):is(:hover, :focus-visible) {
  border-color: #d8677d !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
  color: #d8677d !important;
  text-decoration: none !important;
  transform: none !important;
}

body.theme-harbor :is(
  [role="tab"][aria-selected="true"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
  .esafe-button-standard--tab.is-active,
  .esafe-button-standard--tab.active,
  .gbiResearchTab.is-active,
  .esafePetDashboardTab.is-active,
  .esafe-cp-workspace-tab.is-active,
  .esev-dd-tab.is-active,
  .activeShooterTab.is-active,
  .veteransTab.is-active,
  .esafe-prm__tab.is-active,
  .esafe-prm__subtab.is-active,
  .esw-weather-view-controls > button.is-active,
  .elementor-element-2942d09 a[data-veterans-tab].is-active
) {
  border-color: #c40228 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--esafe-heading-color, #1e5476) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transform: none !important;
}

body.theme-harbor :is(
  [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
  .esafe-button-standard--tab,
  .gbiResearchTab,
  .esafePetDashboardTab,
  .esafe-cp-workspace-tab,
  .esev-dd-tab,
  .activeShooterTab,
  .veteransTab,
  .esafe-prm__tab,
  .esafe-prm__subtab,
  .esw-weather-view-controls > button,
  .elementor-element-2942d09 a[data-veterans-tab]
):focus-visible {
  outline: 2px solid var(--esafe-heading-color, #1e5476) !important;
  outline-offset: 2px !important;
}

body.theme-harbor :is(
  [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
  .esafe-button-standard--tab,
  .gbiResearchTab,
  .esafePetDashboardTab,
  .esafe-cp-workspace-tab,
  .esev-dd-tab,
  .activeShooterTab,
  .veteransTab,
  .esafe-prm__tab,
  .esafe-prm__subtab,
  .esw-weather-view-controls > button,
  .elementor-element-2942d09 a[data-veterans-tab]
) :is(svg, i) {
  color: currentColor !important;
  stroke: currentColor !important;
}

@media (max-width: 767px) {
  body.theme-harbor.page-id-8769 .elementor-element-2942d09 .uael-nav-menu__toggle {
    display: none !important;
  }

  body.theme-harbor.page-id-8769 .elementor-element-2942d09 :is(
    .elementor-widget-container,
    .uael-nav-menu-layout,
    nav.uael-dropdown,
    nav.uael-dropdown > ul.uael-nav-menu
  ) {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.theme-harbor.page-id-8769 .elementor-element-2942d09 nav.uael-dropdown > ul.uael-nav-menu {
    display: flex !important;
  }

  body.theme-harbor :is(
    [role="tablist"]:not(.uael-faq-accordion):not(.elementor-accordion):not(.elementor-toggle):not([class*="faq"]):not([class*="accordion"]),
    .esafe-cp-workspace-tabs,
    .gbiResearchTabList,
    .esafePetDashboardTabList,
    .esev-dd-tab-bar,
    .activeShooterTabBar,
    .veteransTabButtons,
    .esafe-prm__tabs,
    .esafe-prm__subtabs,
    .esw-weather-view-controls,
    .elementor-element-2942d09 ul.uael-nav-menu
  ) {
    justify-content: safe center !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  body.theme-harbor :is(
    [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
    .esafe-button-standard--tab,
    .gbiResearchTab,
    .esafePetDashboardTab,
    .esafe-cp-workspace-tab,
    .esev-dd-tab,
    .activeShooterTab,
    .veteransTab,
    .esafe-prm__tab,
    .esafe-prm__subtab,
    .esw-weather-view-controls > button,
    .elementor-element-2942d09 a[data-veterans-tab]
  ) {
    width: auto !important;
    min-width: max-content !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-harbor :is(
    [role="tab"]:not(.uael-accordion-title):not([class*="faq"]):not([class*="accordion"]),
    .esafe-button-standard--tab,
    .gbiResearchTab,
    .esafePetDashboardTab,
    .esafe-cp-workspace-tab,
    .esev-dd-tab,
    .activeShooterTab,
    .veteransTab,
    .esafe-prm__tab,
    .esafe-prm__subtab,
    .esw-weather-view-controls > button,
    .elementor-element-2942d09 a[data-veterans-tab]
  ) {
    transition: none !important;
  }
}


/* E-Safe bundle source: assets/harbor-plugin-ui-standard-1.0.231.css */
/*
 * Mandatory E-Safe public plugin UI contract, v1.0.229.
 * This file is loaded after every component stylesheet. It changes presentation
 * only; plugin workflows, validation, authorization, and submission behavior are
 * deliberately outside its scope.
 */

body.theme-harbor {
  --esafe-ui-font: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --esafe-ui-heading: #1e5476;
  --esafe-ui-text: #0f2330;
  --esafe-ui-muted: #5a6a75;
  --esafe-ui-border: #d4dee6;
  --esafe-ui-surface: #ffffff;
  --esafe-ui-surface-alt: #f5f8fb;
  --esafe-ui-button-bg: #f5f5f5;
  --esafe-ui-button-border: #dadada;
  --esafe-ui-button-text: #7a7a7a;
  --esafe-ui-hover-border: rgba(241, 193, 193, 0.5);
  --esafe-ui-hover-text: #d8677d;
  --esafe-ui-hover-shadow: 0 0 6px 0 rgba(224, 90, 90, 0.5);
}

body.theme-harbor :where(
  [class^="esafe-"],
  [class*=" esafe-"],
  [class^="esmk-"],
  [class*=" esmk-"],
  [class^="esw-"],
  [class*=" esw-"]
) {
  box-sizing: border-box;
  font-family: var(--esafe-ui-font);
  letter-spacing: 0;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  color: var(--esafe-ui-text);
  font: 400 15px/1.55 var(--esafe-ui-font);
  text-align: left;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(.esafe-field, .esafe-form-row, .esafe-form-group, .esafe-sam-field, .esafe-um-field) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 20px;
  text-align: left;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(.esafe-field, .esafe-form-row, .esafe-form-group, .esafe-um-field):not(.esafe-sam-field) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 6px !important;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(label, .esafe-label, .esafe-sam-field-label) {
  max-width: 100%;
  color: var(--esafe-ui-text);
  font-family: var(--esafe-ui-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: left;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  select,
  textarea
) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--esafe-ui-border);
  border-radius: 8px;
  background: var(--esafe-ui-surface);
  color: var(--esafe-ui-text);
  font: 400 14px/1.55 var(--esafe-ui-font);
  letter-spacing: 0;
  text-align: left;
}

/* No E-Safe checkbox or radio control may exceed its accompanying text size. */
body.theme-harbor :where(
  [class^="esafe-"],
  [class*=" esafe-"],
  [class^="esmk-"],
  [class*=" esmk-"],
  [class^="esw-"],
  [class*=" esw-"]
) :is(input[type="checkbox"], input[type="radio"]):not([role="switch"]) {
  box-sizing: border-box !important;
  flex: 0 0 1em !important;
  width: 1em !important;
  min-width: 1em !important;
  max-width: 1em !important;
  height: 1em !important;
  min-height: 1em !important;
  max-height: 1em !important;
  margin: 0.18em 8px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  vertical-align: top !important;
}

body.theme-harbor :is(
  .esafe-sam-ack-label,
  .esafe-um-account-confirm,
  .esafe-cp-checkbox-label,
  .esafe-events-admin-toggle,
  .esafe-lfp-checkbox-label,
  .esmk-radio-line,
  [class^="esafe-"][class*="checkbox"],
  [class*=" esafe-"][class*="checkbox"],
  [class^="esafe-"][class*="radio"],
  [class*=" esafe-"][class*="radio"]
) {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  color: var(--esafe-ui-text) !important;
  font: 400 14px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
}

/* Acknowledgment copy must read as one sentence beside its checkbox. */
body.theme-harbor .esafe-sam-ack {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 20px 0 0 !important;
  text-align: left !important;
}

body.theme-harbor .esafe-sam-ack .esafe-sam-ack-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: var(--esafe-ui-text) !important;
  font: 400 14px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

body.theme-harbor .esafe-sam-ack .esafe-sam-ack-label > input[type="checkbox"] {
  display: inline-block !important;
  margin: 0.18em 6px 0 0 !important;
}

body.theme-harbor .esafe-sam-ack .esafe-sam-ack-label > :is(.esafe-sam-help-trigger, span, a) {
  display: inline !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: baseline !important;
  white-space: normal !important;
}

body.theme-harbor .esafe-sam-ack .esafe-sam-ack-label > .esafe-sam-help-trigger {
  margin-right: 4px !important;
}

/* Shared public plugin modal containment. Hidden-state and display rules stay owned by each plugin. */
body.theme-harbor :is(
  .esafe-sam-modal,
  .esafe-um-members-overlay,
  .esafe-um-small-overlay,
  .esafe-um-chat-overlay,
  .esafe-cp-modal,
  .esafe-events-modal,
  .esafe-gbi-filter-modal,
  .esafe-gbi-modal,
  .esafe-lfp-filter-modal,
  .esafe-vets-directory-modal,
  .esafe-everify-help-overlay,
  .esafe-everify-external-modal,
  .esmk-modal,
  .esmk-sub-modal,
  .esafePreparednessQuizOverlay,
  .esafeScamFraudQuizOverlay,
  .esafeModalOverlay
) {
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  color: var(--esafe-ui-text) !important;
  font: 400 15px/1.55 var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.theme-harbor :is(
  .esafe-sam-modal-panel,
  .esafe-sam-feedback-dialog,
  .esafe-um-members-popup,
  .esafe-um-small-modal,
  .esafe-um-chat-popup,
  .esafe-cp-modal-dialog,
  .esafe-events-modal-dialog,
  .esafe-gbi-filter-dialog,
  .esafe-gbi-modal-dialog,
  .esafe-lfp-filter-modal-dialog,
  .esafe-vets-directory-modal-dialog,
  .esafe-everify-help-popup,
  .esafe-everify-external-modal-dialog,
  .esmk-modal-card,
  .esmk-sub-card,
  .esafePreparednessQuizDialog,
  .esafeScamFraudQuizDialog,
  .esafeSubscriberGateDialog
) {
  box-sizing: border-box !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100vh - 24px) !important;
  max-height: calc(100dvh - 24px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  border: 1px solid var(--esafe-ui-border) !important;
  border-radius: 8px !important;
  background: var(--esafe-ui-surface) !important;
  box-shadow: 0 12px 32px rgba(15, 35, 48, 0.2) !important;
  color: var(--esafe-ui-text) !important;
  font: 400 15px/1.55 var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.theme-harbor :is(
  .esafe-sam-modal-title,
  .esafe-cp-modal-header,
  .esafe-events-modal-header,
  .esafe-gbi-modal-header,
  .esafe-lfp-filter-modal-header,
  .esafe-vets-directory-modal-header,
  .esmk-modal-head
) {
  color: var(--esafe-ui-heading) !important;
  font-family: var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
}

body.theme-harbor :is(
  .esafe-cp-modal-header,
  .esafe-events-modal-header,
  .esafe-gbi-modal-header,
  .esafe-lfp-filter-modal-header,
  .esafe-vets-directory-modal-header,
  .esmk-modal-head
) {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--esafe-ui-border) !important;
  background: var(--esafe-ui-surface) !important;
}

body.theme-harbor :is(
  .esafe-sam-modal-body,
  .esafe-um-small-body,
  .esafe-um-chat-popup-body,
  .esafe-cp-modal-body,
  .esafe-events-modal-content,
  .esafe-gbi-modal-body,
  .esafe-lfp-filter-modal-body,
  .esafe-vets-directory-modal-body,
  .esmk-modal-body
) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 20px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--esafe-ui-text) !important;
  font: 400 15px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
}

body.theme-harbor :is(
  .esafe-sam-modal-actions,
  .esafe-sam-feedback-actions,
  .esafe-form-actions,
  .esafe-cp-modal-actions,
  .esafe-events-modal-actions,
  .esafe-events-single-actions,
  .esafe-gbi-form-actions,
  .esafe-lfp-filter-modal-actions,
  .esafe-vets-directory-actions,
  .esmk-sub-actions
) {
  box-sizing: border-box !important;
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}

body.theme-harbor :where(
  .esafe-sam-modal,
  .esafe-um-members-overlay,
  .esafe-um-small-overlay,
  .esafe-um-chat-overlay,
  .esafe-cp-modal,
  .esafe-events-modal,
  .esafe-gbi-filter-modal,
  .esafe-gbi-modal,
  .esafe-lfp-filter-modal,
  .esafe-vets-directory-modal,
  .esafe-everify-help-overlay,
  .esafe-everify-external-modal,
  .esmk-modal,
  .esmk-sub-modal,
  .esafePreparednessQuizOverlay,
  .esafeScamFraudQuizOverlay,
  .esafeSubscriberGate
) :is(button, a.esafe-btn, a.esafeButton, input[type="button"], input[type="submit"], input[type="reset"]):not([role="tab"]):not(.fieldMarker):not(.esafe-sam-help-trigger) {
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--esafe-ui-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-ui-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-ui-button-text) !important;
  font: 300 14px/1 var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transform: none !important;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease !important;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(button, a.esafe-btn, a.esafeButton, input[type="button"], input[type="submit"], input[type="reset"]):not([role="tab"]):not(.fieldMarker):not(.esafe-sam-help-trigger):not(.esafe-um-help-trigger):not(.esafe-cp-help-trigger):not(.esafe-sam-combobox-toggle) {
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--esafe-ui-button-border) !important;
  border-radius: 10px !important;
  background: var(--esafe-ui-button-bg) !important;
  box-shadow: none !important;
  color: var(--esafe-ui-button-text) !important;
  font: 300 14px/1 var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transform: none !important;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease !important;
}

body.theme-harbor :where(
  .esafe-sam-modal,
  .esafe-um-members-overlay,
  .esafe-um-small-overlay,
  .esafe-um-chat-overlay,
  .esafe-cp-modal,
  .esafe-events-modal,
  .esafe-gbi-filter-modal,
  .esafe-gbi-modal,
  .esafe-lfp-filter-modal,
  .esafe-vets-directory-modal,
  .esafe-everify-help-overlay,
  .esafe-everify-external-modal,
  .esmk-modal,
  .esmk-sub-modal,
  .esafePreparednessQuizOverlay,
  .esafeScamFraudQuizOverlay,
  .esafeSubscriberGate
) :is(button, a.esafe-btn, a.esafeButton, input[type="button"], input[type="submit"], input[type="reset"]):not([role="tab"]):not(.fieldMarker):not(.esafe-sam-help-trigger):is(:hover, :focus-visible) {
  border-color: var(--esafe-ui-hover-border) !important;
  background: var(--esafe-ui-surface) !important;
  box-shadow: var(--esafe-ui-hover-shadow) !important;
  color: var(--esafe-ui-hover-text) !important;
  text-decoration: none !important;
  transform: none !important;
}

body.theme-harbor :where(
  form[class^="esafe-"],
  form[class*=" esafe-"],
  form[class^="esmk-"],
  form[class*=" esmk-"],
  form[class^="esw-"],
  form[class*=" esw-"]
) :is(button, a.esafe-btn, a.esafeButton, input[type="button"], input[type="submit"], input[type="reset"]):not([role="tab"]):not(.fieldMarker):not(.esafe-sam-help-trigger):not(.esafe-um-help-trigger):not(.esafe-cp-help-trigger):not(.esafe-sam-combobox-toggle):is(:hover, :focus-visible) {
  border-color: var(--esafe-ui-hover-border) !important;
  background: var(--esafe-ui-surface) !important;
  box-shadow: var(--esafe-ui-hover-shadow) !important;
  color: var(--esafe-ui-hover-text) !important;
  text-decoration: none !important;
  transform: none !important;
}

body.theme-harbor :where(
  [class^="esafe-"],
  [class*=" esafe-"],
  [class^="esmk-"],
  [class*=" esmk-"],
  [class^="esw-"],
  [class*=" esw-"]
) :is(
  [class*="-notice"],
  [class*="-warning"],
  [class*="-alert"],
  [class*="-feedback"],
  [class*="-status"]
):not(button):not(a):not([class*="-close"]) {
  box-sizing: border-box;
  max-width: 100%;
  color: var(--esafe-ui-text);
  font: 400 14px/1.55 var(--esafe-ui-font);
  letter-spacing: 0;
  text-align: left;
  overflow-wrap: anywhere;
}

/* Account Security and Delete Your Account are one accessible tabbed workspace. */
body.theme-harbor .esafe-um-account-security {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  color: var(--esafe-ui-text) !important;
  font: 400 15px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
}

html body.theme-harbor .esafe-um-profile-component .esafe-um-account-security .esafe-um-account-tabs[role="tablist"]:not(#esafe-ui-never),
html body.theme-harbor .esafe-um-account-security .esafe-um-account-tabs[role="tablist"]:not(#esafe-ui-never) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: safe center !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  margin: 40px 0 20px !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 0 !important;
  border-bottom: 1px solid var(--esafe-ui-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

html body.theme-harbor .esafe-um-account-security .esafe-um-account-tab[role="tab"]:not(#esafe-ui-never) {
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: 42px !important;
  margin: 0 0 -1px !important;
  padding: 10px 14px 9px !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--esafe-ui-muted) !important;
  font: 600 14px/1.4 var(--esafe-ui-font) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body.theme-harbor .esafe-um-account-security .esafe-um-account-tab[role="tab"]:not(#esafe-ui-never):is(:hover, :focus-visible) {
  border-color: var(--esafe-ui-hover-text) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: none !important;
  color: var(--esafe-ui-hover-text) !important;
}

html body.theme-harbor .esafe-um-account-security .esafe-um-account-tab[role="tab"]:not(#esafe-ui-never):is(.is-active, [aria-selected="true"]) {
  border-color: #c40228 !important;
  background: transparent !important;
  color: var(--esafe-ui-heading) !important;
  font-weight: 700 !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--esafe-ui-border) !important;
  border-radius: 8px !important;
  background: var(--esafe-ui-surface) !important;
  color: var(--esafe-ui-text) !important;
  font: 400 15px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-form > * {
  min-width: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-form .esafe-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-form :is(.esafe-input, input[type="text"], input[type="password"]) {
  width: 100% !important;
  max-width: 100% !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-confirm {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  color: var(--esafe-ui-text) !important;
  font: 400 14px/1.55 var(--esafe-ui-font) !important;
  text-align: left !important;
}

body.theme-harbor .esafe-um-account-security .esafe-um-account-response:empty {
  display: none !important;
}

@media (max-width: 767px) {
  body.theme-harbor :is(
    .esafe-sam-modal-panel,
    .esafe-sam-feedback-dialog,
    .esafe-um-members-popup,
    .esafe-um-small-modal,
    .esafe-um-chat-popup,
    .esafe-cp-modal-dialog,
    .esafe-events-modal-dialog,
    .esafe-gbi-filter-dialog,
    .esafe-gbi-modal-dialog,
    .esafe-lfp-filter-modal-dialog,
    .esafe-vets-directory-modal-dialog,
    .esafe-everify-help-popup,
    .esafe-everify-external-modal-dialog,
    .esmk-modal-card,
    .esmk-sub-card,
    .esafePreparednessQuizDialog,
    .esafeScamFraudQuizDialog,
    .esafeSubscriberGateDialog
  ) {
    width: 100% !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.theme-harbor :is(
    .esafe-cp-modal-header,
    .esafe-events-modal-header,
    .esafe-gbi-modal-header,
    .esafe-lfp-filter-modal-header,
    .esafe-vets-directory-modal-header,
    .esmk-modal-head
  ) {
    padding: 14px 16px !important;
  }

  body.theme-harbor :is(
    .esafe-sam-modal-panel,
    .esafe-sam-modal-body,
    .esafe-um-small-body,
    .esafe-um-chat-popup-body,
    .esafe-cp-modal-body,
    .esafe-events-modal-content,
    .esafe-gbi-modal-body,
    .esafe-lfp-filter-modal-body,
    .esafe-vets-directory-modal-body,
    .esmk-modal-body
  ) {
    padding: 16px !important;
  }

  html body.theme-harbor .esafe-um-profile-component .esafe-um-account-security .esafe-um-account-tabs[role="tablist"]:not(#esafe-ui-never),
  html body.theme-harbor .esafe-um-account-security .esafe-um-account-tabs[role="tablist"]:not(#esafe-ui-never) {
    justify-content: flex-start !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  html body.theme-harbor .esafe-um-account-security .esafe-um-account-tab[role="tab"]:not(#esafe-ui-never) {
    width: auto !important;
    min-width: max-content !important;
  }

  body.theme-harbor .esafe-um-account-security .esafe-um-account-panel {
    padding: 16px !important;
  }

  body.theme-harbor .esafe-um-account-security .esafe-um-account-form {
    gap: 16px !important;
  }

  body.theme-harbor .esafe-um-profile-embedded-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    overflow-x: hidden !important;
  }

  body.theme-harbor :is(
    .esafe-sam-modal-actions,
    .esafe-sam-feedback-actions,
    .esafe-form-actions,
    .esafe-cp-modal-actions,
    .esafe-events-modal-actions,
    .esafe-events-single-actions,
    .esafe-gbi-form-actions,
    .esafe-lfp-filter-modal-actions,
    .esafe-vets-directory-actions,
    .esmk-sub-actions
  ) {
    align-items: stretch !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-harbor :where([class^="esafe-"], [class*=" esafe-"]) * {
    scroll-behavior: auto !important;
  }
}
