@import url("/css/ftlof-colors.css");
/* Shared by the TipTap editor and the public site. */
:root, .ProseMirror {
  --ftlof-line-height-heading: 1.05;
  --ftlof-line-height-body: 1.4;
}
:is(body, .ProseMirror) [class].ftlof-rte-size-display { font-size: clamp(3.5rem, 8vw, 7.625rem); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-large { font-size: clamp(2.5rem, 6.5vw, 5.875rem); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-lead { font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-small { font-size: .75rem; }
:is(body, .ProseMirror) [class].ftlof-rte-ink { color: var(--ink); }
:is(body, .ProseMirror) [class].ftlof-rte-blue { color: var(--clay); }
:is(body, .ProseMirror) [class].ftlof-rte-white { color: var(--paper); }
:is(body, .ProseMirror) [class].ftlof-rte-sand { color: var(--sand); }
:is(body, .ProseMirror) [class].ftlof-rte-charcoal { color: var(--charcoal); }
:is(body, .ProseMirror) [class].ftlof-rte-muted { color: var(--muted); }
:is(body, .ProseMirror) [class].ftlof-rte-muted-light { color: var(--muted-light); }
:is(body, .ProseMirror) [class].ftlof-rte-field-line { color: var(--field-line); }
:is(body, .ProseMirror) [class].ftlof-rte-border-soft { color: var(--border-soft); }
:is(body, .ProseMirror) [class].ftlof-rte-success { color: var(--success-color); }
:is(body, .ProseMirror) [class].ftlof-rte-error { color: var(--error-color); }
:is(body, .ProseMirror) [class].ftlof-rte-italic { font-family: Georgia, "Times New Roman", serif; font-style: italic; }
:is(body, .ProseMirror) [class].ftlof-rte-bold { font-weight: 700; }
:is(body, .ProseMirror) [class].ftlof-rte-eyebrow {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
/* Give RTE content breathing room without empty first/last paragraph gaps. */
.ftlof-rte-content { padding-block: 1rem; }
.ftlof-rte-content > :first-child { margin-top: 0; }
.ftlof-rte-content > :last-child { margin-bottom: 0; }
.ftlof-rte-content > * + * { margin-top: 1rem; }
:where(.hero-copy .ftlof-rte-content) > p:not(.eyebrow) {
  font: 20px/var(--ftlof-line-height-body) Georgia, "Times New Roman", serif;
  max-width: 470px;
}

/* Umbraco's TipTap surface is ProseMirror; it does not always carry a tiptap class. */
.ProseMirror[contenteditable="true"] { padding-block: 1rem; }
.ProseMirror[contenteditable="true"] > * + * { margin-top: 1rem; }

/* The spacing menu applies classes to the selected RTE block. */
:is(body, .ProseMirror) .ftlof-rte-mt-0 { margin-block-start: 0; }
:is(body, .ProseMirror) .ftlof-rte-mt-1 { margin-block-start: .5rem; }
:is(body, .ProseMirror) .ftlof-rte-mt-2 { margin-block-start: 1rem; }
:is(body, .ProseMirror) .ftlof-rte-mt-3 { margin-block-start: 2rem; }
:is(body, .ProseMirror) .ftlof-rte-mt-4 { margin-block-start: 3rem; }
:is(body, .ProseMirror) .ftlof-rte-mb-0 { margin-block-end: 0; }
:is(body, .ProseMirror) .ftlof-rte-mb-1 { margin-block-end: .5rem; }
:is(body, .ProseMirror) .ftlof-rte-mb-2 { margin-block-end: 1rem; }
:is(body, .ProseMirror) .ftlof-rte-mb-3 { margin-block-end: 2rem; }
:is(body, .ProseMirror) .ftlof-rte-mb-4 { margin-block-end: 3rem; }

/* Explicit editor choices take precedence over page typography defaults and legacy styles. */
:is(body, .ProseMirror) [class].ftlof-rte-serif { font-family: Georgia, "Times New Roman", serif; }
:is(body, .ProseMirror) [class].ftlof-rte-sans { font-family: Arial, Helvetica, sans-serif; }
:is(body, .ProseMirror) [class].ftlof-rte-regular { font-weight: 400; }
:is(body, .ProseMirror) [class].ftlof-rte-size-12 { --ftlof-rte-font-size: 12px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-14 { --ftlof-rte-font-size: 14px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-16 { --ftlof-rte-font-size: 16px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-18 { --ftlof-rte-font-size: 18px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-20 { --ftlof-rte-font-size: 20px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-22 { --ftlof-rte-font-size: 22px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-24 { --ftlof-rte-font-size: 24px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-28 { --ftlof-rte-font-size: 28px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-32 { --ftlof-rte-font-size: 32px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-36 { --ftlof-rte-font-size: 36px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-40 { --ftlof-rte-font-size: 40px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-44 { --ftlof-rte-font-size: 44px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-48 { --ftlof-rte-font-size: 48px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-56 { --ftlof-rte-font-size: 56px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-64 { --ftlof-rte-font-size: 64px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-72 { --ftlof-rte-font-size: 72px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-80 { --ftlof-rte-font-size: 80px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-88 { --ftlof-rte-font-size: 88px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-96 { --ftlof-rte-font-size: 96px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-104 { --ftlof-rte-font-size: 104px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-112 { --ftlof-rte-font-size: 112px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
:is(body, .ProseMirror) [class].ftlof-rte-size-120 { --ftlof-rte-font-size: 120px; font-size: var(--ftlof-rte-font-size); line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }

/* Large desktop choices stay within the mobile text column. */
@media (max-width: 767.98px) {
  :is(body, .ProseMirror) [class][class*="ftlof-rte-size-"]:where(:not(.ftlof-rte-size-display, .ftlof-rte-size-large, .ftlof-rte-size-lead, .ftlof-rte-size-small)) {
    font-size: min(var(--ftlof-rte-font-size), 15vw);
  }
}

/* Bootstrap md starts at 768px. Explicit mobile sizes apply below md. */
@media (max-width: 767.98px) {
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-12 { font-size: 12px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-14 { font-size: 14px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-16 { font-size: 16px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-18 { font-size: 18px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-20 { font-size: 20px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-22 { font-size: 22px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-24 { font-size: 24px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-body)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-28 { font-size: 28px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-32 { font-size: 32px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-36 { font-size: 36px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-40 { font-size: 40px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-44 { font-size: 44px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-48 { font-size: 48px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-56 { font-size: 56px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-64 { font-size: 64px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-72 { font-size: 72px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-80 { font-size: 80px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-88 { font-size: 88px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-96 { font-size: 96px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-104 { font-size: 104px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-112 { font-size: 112px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
  :is(body, .ProseMirror) [class].ftlof-rte-mobile-size-120 { font-size: 120px; line-height: var(--ftlof-rte-line-height, var(--ftlof-line-height-heading)); }
}
