/*
Theme Name: GeneratePress FFSA
Theme URI: https://freeflight.org.za/
Description: Child theme for FFSA based on GeneratePress.
Author: Louis Stanford
Template: generatepress
Version: 1.9.0
Text Domain: generatepress-ffsa
*/

/* --------------------------------------------------
   FFSA Design Tokens
-------------------------------------------------- */

:root {
  --ffsa-primary: #2d8f9f;
  --ffsa-primary-dark: #244e6b;
  --ffsa-primary-light: #2d9cc5;

  --ffsa-text: #222222;
  --ffsa-muted: #6b7280;

  --ffsa-border: #e6e6e6;
  --ffsa-border-light: #efefef;

  --ffsa-surface: #ffffff;
  --ffsa-soft-surface: #f7f9fa;
  --ffsa-soft-blue: #eef8fa;

  --ffsa-radius-sm: 4px;
  --ffsa-radius-md: 8px;
  --ffsa-radius-lg: 14px;

  --ffsa-content-width: 800px;
  --ffsa-page-width: 960px;
  --ffsa-article-width: 920px;
  --ffsa-document-width: 800px;
  --ffsa-shell-width: 1180px;
}

/* --------------------------------------------------
   Base Layout
-------------------------------------------------- */

html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--ffsa-text);
}

/*
 * Do not make #page a flex container.
 * GeneratePress and application-style plugins such as FluentCart rely on
 * normal block sizing inside the page wrapper.
 */
#page {
  width: 100%;
  min-width: 0;
  flex: 1 0 auto;
}

.site-content,
.content-area,
.site-main {
  width: 100%;
  min-width: 0;
}

.site-footer {
  flex-shrink: 0;
}

body,
button,
input,
select,
textarea {
  font-family: inherit;
}

a {
  text-underline-offset: 0.18em;
}

a:hover,
a:focus {
  color: var(--ffsa-primary-dark);
}

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

/* --------------------------------------------------
   Content Widths
-------------------------------------------------- */

.ffsa-narrow,
.ffsa-page-narrow {
  width: 100%;
  max-width: var(--ffsa-content-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-page,
.ffsa-page-standard {
  width: 100%;
  max-width: var(--ffsa-page-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-article,
.ffsa-article-width {
  width: 100%;
  max-width: var(--ffsa-article-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-document-width {
  width: 100%;
  max-width: var(--ffsa-document-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-shell {
  width: min(calc(100% - 48px), var(--ffsa-shell-width));
  margin-right: auto;
  margin-left: auto;
}

/*
 * Use this class on the outer GenerateBlocks container for FluentCart account
 * and other application-style interfaces.
 */
.ffsa-account {
  width: min(calc(100% - 48px), var(--ffsa-shell-width));
  max-width: var(--ffsa-shell-width);
  min-width: 0;
  margin-right: auto;
  margin-left: auto;
}

/* --------------------------------------------------
   Typography Helpers
-------------------------------------------------- */

.ffsa-eyebrow,
.ffsa-document__label {
  margin-bottom: 0.5rem;
  color: var(--ffsa-primary-dark);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ffsa-muted {
  color: var(--ffsa-muted);
}

.ffsa-lead {
  color: #374151;
  font-size: 1.12rem;
  line-height: 1.7;
}

.ffsa-small {
  font-size: 0.9rem;
}

.ffsa-kicker {
  color: var(--ffsa-primary-dark);
  font-weight: 700;
}

/* --------------------------------------------------
   Accent Lines
-------------------------------------------------- */

.accent-lines {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.accent-lines::before,
.accent-lines::after {
  content: "";
  width: 50px;
  border-bottom: 1px solid var(--ffsa-border);
}

.accent-lines::before {
  margin-left: auto;
}

.accent-lines::after {
  margin-right: auto;
}

/* --------------------------------------------------
   Navigation
-------------------------------------------------- */

.main-navigation .main-nav ul li.ffsa-nav-button a {
  margin-left: 12px;
  border-radius: 999px;
  padding: 12px 20px;
  background: #af2857;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(36, 78, 107, 0.18);
  font-weight: 700;
  line-height: 1;
}

.main-navigation .main-nav ul li.ffsa-nav-button a:hover,
.main-navigation .main-nav ul li.ffsa-nav-button a:focus {
  background: var(--ffsa-primary);
  color: #ffffff;
}

/* --------------------------------------------------
   Buttons and Links
-------------------------------------------------- */

.ffsa-button,
.ffsa-button-primary,
.gb-button.ffsa-button-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border: 1px solid var(--ffsa-primary);
  border-radius: var(--ffsa-radius-sm);
  background: var(--ffsa-primary);
  color: #ffffff;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.ffsa-button:hover,
.ffsa-button:focus,
.ffsa-button-primary:hover,
.ffsa-button-primary:focus,
.gb-button.ffsa-button-primary:hover,
.gb-button.ffsa-button-primary:focus {
  border-color: var(--ffsa-primary-dark);
  background: var(--ffsa-primary-dark);
  color: #ffffff;
}

.ffsa-button-secondary,
.gb-button.ffsa-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ffsa-border);
  border-radius: var(--ffsa-radius-sm);
  background: #ffffff;
  color: var(--ffsa-primary-dark);
  font-weight: 700;
  text-decoration: none;
  transition:
    border-color 0.15s ease,
    color 0.15s ease;
}

.ffsa-button-secondary:hover,
.ffsa-button-secondary:focus,
.gb-button.ffsa-button-secondary:hover,
.gb-button.ffsa-button-secondary:focus {
  border-color: var(--ffsa-primary);
  color: var(--ffsa-primary);
}

/* --------------------------------------------------
   Cards
-------------------------------------------------- */

.boxybox,
.ffsa-card,
.gb-container.ffsa-card {
  border: 1px solid var(--ffsa-border);
  border-radius: var(--ffsa-radius-md);
  background: var(--ffsa-surface);
}

.ffsa-card-soft,
.gb-container.ffsa-card-soft {
  border: 1px solid var(--ffsa-border-light);
  border-radius: var(--ffsa-radius-md);
  background: var(--ffsa-soft-surface);
}

.ffsa-card-highlight,
.gb-container.ffsa-card-highlight {
  border: 1px solid rgba(45, 143, 159, 0.25);
  border-radius: var(--ffsa-radius-md);
  background: var(--ffsa-soft-blue);
}

.ffsa-card h2,
.ffsa-card h3,
.ffsa-card h4,
.ffsa-card-soft h2,
.ffsa-card-soft h3,
.ffsa-card-soft h4 {
  margin-top: 0;
}

/* --------------------------------------------------
   Tables
-------------------------------------------------- */

.entry-content table,
.ffsa-table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.entry-content th,
.entry-content td,
.ffsa-table th,
.ffsa-table td {
  border: 1px solid var(--ffsa-border);
  padding: 0.7rem 0.8rem;
  vertical-align: top;
}

.entry-content th,
.ffsa-table th {
  background: var(--ffsa-soft-surface);
  color: var(--ffsa-primary-dark);
  font-weight: 700;
  text-align: left;
}

/* --------------------------------------------------
   Forms: Fluent Forms
-------------------------------------------------- */

.fluentform .ff_btn_style,
.fluentform .ff-btn-submit {
  border: 1px solid var(--ffsa-primary);
  border-radius: var(--ffsa-radius-sm);
  background-color: var(--ffsa-primary);
  color: #ffffff;
  font-weight: 700;
}

.fluentform .ff_btn_style:hover,
.fluentform .ff_btn_style:focus,
.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-submit:focus {
  border-color: var(--ffsa-primary-dark);
  background-color: var(--ffsa-primary-dark);
  color: #ffffff;
}

.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="url"],
.fluentform textarea,
.fluentform select {
  border-color: var(--ffsa-border);
  border-radius: var(--ffsa-radius-sm);
}

.fluentform input:focus,
.fluentform textarea:focus,
.fluentform select:focus {
  border-color: var(--ffsa-primary);
  box-shadow: 0 0 0 2px rgba(45, 143, 159, 0.14);
}

/* Keep Fluent Forms section breaks visually connected to their headings. */
.fluentform .ff-el-section-break {
  margin-bottom: 24px !important;
  padding-bottom: 0 !important;
}

.fluentform .ff-el-section-break hr {
  margin-top: 16px !important;
  margin-bottom: 24px !important;
}

/* --------------------------------------------------
   FluentCart / Application Layout Helpers
-------------------------------------------------- */

/*
 * Apply .ffsa-account to the outer block/container that contains the FluentCart
 * account shortcode/block. This deliberately uses the wide application shell.
 */
.ffsa-account,
.ffsa-account * {
  box-sizing: border-box;
}

.ffsa-account > * {
  min-width: 0;
}

/* --------------------------------------------------
   News and Article Listings
-------------------------------------------------- */

.ffsa-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ffsa-news-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  margin-bottom: 40px;
}

.ffsa-news-card {
  border-bottom: 1px solid var(--ffsa-border);
  padding-bottom: 20px;
}

.ffsa-news-card h2,
.ffsa-news-card h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.ffsa-news-meta {
  margin-bottom: 0.5rem;
  color: var(--ffsa-muted);
  font-size: 0.88rem;
}

.ffsa-news-article {
  border: 1px solid var(--ffsa-border);
  border-radius: var(--ffsa-radius-md);
  background: #ffffff;
}

/* --------------------------------------------------
   Footer
-------------------------------------------------- */

.footer-widgets {
  border-top: 1px solid var(--ffsa-border-light);
  background: var(--ffsa-soft-surface);
}

.footer-widgets .widget-title,
.site-footer .widget-title {
  margin-bottom: 0.8rem;
  color: var(--ffsa-primary-dark);
  font-size: 0.95rem;
  font-weight: 700;
}

.footer-widgets ul,
.site-footer ul {
  margin-left: 0;
  list-style: none;
}

.footer-widgets li,
.site-footer li {
  margin-bottom: 0.35rem;
}

.footer-widgets a,
.site-footer a {
  text-decoration: none;
}

.footer-widgets a:hover,
.footer-widgets a:focus,
.site-footer a:hover,
.site-footer a:focus {
  text-decoration: underline;
}

.site-info,
.footer-bar {
  display: block;
}

/* --------------------------------------------------
   FFSA Document CPT: single-ffsa_document.php
-------------------------------------------------- */

.single-ffsa_document .footer-widgets {
  display: none;
}

.single-ffsa_document .site-main {
  background: var(--ffsa-surface);
}

.single-ffsa_document .ffsa-document {
  margin: 0;
}

.single-ffsa_document .ffsa-document__wrap {
  width: min(100% - 48px, var(--ffsa-document-width)) !important;
  max-width: var(--ffsa-document-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 56px 0 72px !important;
}

.single-ffsa_document .ffsa-document__header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--ffsa-border);
}

.single-ffsa_document .ffsa-document__label {
  margin: 0 0 0.75rem;
}

.single-ffsa_document .ffsa-document__title {
  margin: 0;
}

.single-ffsa_document .ffsa-document__meta {
  margin: 0 0 40px !important;
  border: 1px solid var(--ffsa-border) !important;
  border-radius: var(--ffsa-radius-md) !important;
  padding: 24px !important;
  background: var(--ffsa-soft-surface) !important;
}

.single-ffsa_document .ffsa-document__meta h2 {
  margin-top: 0;
}

.single-ffsa_document .ffsa-document__meta table {
  width: 100%;
  margin-bottom: 0;
  background: var(--ffsa-surface);
}

.single-ffsa_document .ffsa-document__meta th {
  width: 35%;
}

.single-ffsa_document .ffsa-document__content {
  max-width: var(--ffsa-document-width);
  margin-right: auto;
  margin-left: auto;
}

.single-ffsa_document .ffsa-document__content h2,
.single-ffsa_document .ffsa-document__content h3,
.single-ffsa_document .ffsa-document__content h4 {
  scroll-margin-top: 110px;
}

.single-ffsa_document .ffsa-document__content h2 {
  margin-top: 2.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--ffsa-border-light);
}

.single-ffsa_document .ffsa-document__content h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.single-ffsa_document .ffsa-document__content p,
.single-ffsa_document .ffsa-document__content li {
  line-height: 1.75;
}

.single-ffsa_document .ffsa-document__content blockquote {
  margin: 1.5rem 0;
  border-left: 4px solid var(--ffsa-primary);
  padding: 0.2rem 0 0.2rem 1rem;
  color: #374151;
}

/* --------------------------------------------------
   Legacy / Block Document Page Classes
-------------------------------------------------- */

.document-page .footer-widgets,
.single-document .footer-widgets,
.page-template-document .footer-widgets,
.ffsa-document .footer-widgets {
  display: none;
}

.ffsa-document-shell {
  width: 100%;
  max-width: var(--ffsa-shell-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-document-layout {
  display: block;
}

.ffsa-document-header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--ffsa-border);
}

.ffsa-document-title {
  margin-bottom: 0.75rem;
}

.ffsa-document-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 24px;
  margin: 1.25rem 0 0;
  color: #374151;
  font-size: 0.92rem;
}

.ffsa-document-meta dt {
  color: var(--ffsa-muted);
  font-weight: 700;
}

.ffsa-document-meta dd {
  margin: 0;
}

.ffsa-document-content {
  max-width: var(--ffsa-document-width);
  margin-right: auto;
  margin-left: auto;
}

.ffsa-document-content h2,
.ffsa-document-content h3,
.ffsa-document-content h4 {
  scroll-margin-top: 110px;
}

.ffsa-document-content h2 {
  margin-top: 2.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--ffsa-border-light);
}

.ffsa-document-content h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.ffsa-document-content p,
.ffsa-document-content li {
  line-height: 1.75;
}

.ffsa-document-content blockquote {
  margin: 1.5rem 0;
  border-left: 4px solid var(--ffsa-primary);
  padding: 0.2rem 0 0.2rem 1rem;
  color: #374151;
}

.ffsa-document-citation,
.ffsa-document-control {
  margin: 2rem 0;
  border: 1px solid var(--ffsa-border);
  border-radius: var(--ffsa-radius-md);
  padding: 1rem;
  background: var(--ffsa-soft-surface);
  font-size: 0.92rem;
}

.ffsa-document-citation strong,
.ffsa-document-control strong {
  color: var(--ffsa-primary-dark);
}

/* --------------------------------------------------
   Document Table of Contents
-------------------------------------------------- */

.ffsa-document-toc {
  margin-bottom: 32px;
  border: 1px solid var(--ffsa-border);
  border-radius: var(--ffsa-radius-md);
  padding: 16px;
  background: var(--ffsa-surface);
  font-size: 0.92rem;
}

.ffsa-document-toc-title {
  margin: 0 0 0.8rem;
  color: var(--ffsa-primary-dark);
  font-size: 0.95rem;
  font-weight: 700;
}

.ffsa-document-toc ol,
.ffsa-document-toc ul {
  margin: 0;
  padding-left: 1.1rem;
}

.ffsa-document-toc li {
  margin-bottom: 0.45rem;
}

.ffsa-document-toc a {
  color: #374151;
  text-decoration: none;
}

.ffsa-document-toc a:hover,
.ffsa-document-toc a:focus,
.ffsa-document-toc .is-active > a {
  color: var(--ffsa-primary-dark);
  text-decoration: underline;
}

/* --------------------------------------------------
   Site Guide
-------------------------------------------------- */

.ffsa-site-guide {
  width: 100%;
  max-width: var(--ffsa-article-width);
  margin: 0 auto;
}

.ffsa-site-summary {
  margin-bottom: 2rem;
}

.ffsa-site-section {
  margin: 2rem 0;
}

.ffsa-site-section h2 {
  margin-bottom: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--ffsa-border);
  font-size: 1.35rem;
}

.ffsa-info-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.ffsa-info-table th,
.ffsa-info-table td {
  border: 1px solid var(--ffsa-border);
  padding: 0.75rem 0.85rem;
  vertical-align: top;
}

.ffsa-info-table th {
  width: 30%;
  background: var(--ffsa-soft-surface);
  font-weight: 600;
  text-align: left;
}

.ffsa-prose {
  line-height: 1.7;
}

.ffsa-site-disclaimer {
  border-left: 4px solid var(--ffsa-primary);
  padding: 1rem 1.25rem;
  background: var(--ffsa-soft-surface);
}

.ffsa-site-disclaimer h2 {
  margin-top: 0;
  border-bottom: 0;
}

.ffsa-site-meta {
  font-size: 0.95rem;
}

/* --------------------------------------------------
   Desktop Layout
-------------------------------------------------- */

@media (min-width: 1024px) {
  .ffsa-document-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 48px;
    align-items: start;
  }

  .ffsa-document-layout .ffsa-document-content {
    max-width: none;
  }

  .ffsa-document-toc {
    position: sticky;
    top: 96px;
    max-height: calc(100vh - 120px);
    margin-bottom: 0;
    overflow-y: auto;
  }
}

/* --------------------------------------------------
   GeneratePress Post Navigation Spacing
-------------------------------------------------- */

@media (min-width: 769px) {
  .entry-content > p:last-child,
  .entry-summary > p:last-child,
  .page-content > p:last-child,
  .read-more-container,
  .taxonomy-description p:last-child {
    padding-right: 80px;
    padding-left: 80px;
  }

  .single-document .entry-content > p:last-child,
  .page-template-document .entry-content > p:last-child,
  .document-page .entry-content > p:last-child,
  .single-ffsa_document .entry-content > p:last-child,
  .ffsa-document .entry-content > p:last-child {
    padding-right: 0;
    padding-left: 0;
  }
}

/* --------------------------------------------------
   Responsive Layout
-------------------------------------------------- */

@media (max-width: 1023px) {
  .ffsa-news-featured {
    grid-template-columns: 1fr;
  }

  .ffsa-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ffsa-document-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .main-navigation .main-nav ul li.ffsa-nav-button a {
    margin: 8px 16px;
    text-align: center;
    justify-content: center;
  }

  .ffsa-info-table th,
  .ffsa-info-table td {
    display: block;
    width: 100%;
  }

  .ffsa-info-table th {
    border-bottom: 0;
  }

  .ffsa-account,
  .ffsa-shell {
    width: min(calc(100% - 32px), var(--ffsa-shell-width));
  }
}

@media (max-width: 767px) {
  .ffsa-news-grid {
    grid-template-columns: 1fr;
  }

  .accent-lines::before,
  .accent-lines::after {
    width: 32px;
  }

  .entry-content table,
  .ffsa-table,
  .ffsa-info-table {
    font-size: 0.88rem;
  }

  .entry-content th,
  .entry-content td,
  .ffsa-table th,
  .ffsa-table td,
  .ffsa-info-table th,
  .ffsa-info-table td {
    padding: 0.55rem 0.6rem;
  }

  .single-ffsa_document .ffsa-document__wrap {
    width: min(100% - 32px, var(--ffsa-document-width)) !important;
    padding-top: 40px !important;
    padding-bottom: 56px !important;
  }

  .single-ffsa_document .ffsa-document__meta {
    padding: 18px !important;
  }

  .single-ffsa_document .ffsa-document__meta th,
  .single-ffsa_document .ffsa-document__meta td {
    display: block;
    width: 100%;
  }

  .single-ffsa_document .ffsa-document__meta th {
    border-bottom: 0;
  }
}

/* --------------------------------------------------
   Print Styles
-------------------------------------------------- */

@media print {
  @page {
    margin: 18mm 16mm;
  }

  html,
  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt;
  }

  body {
    display: block !important;
    min-height: auto;
  }

  a {
    color: #000000 !important;
    text-decoration: none !important;
  }

  .main-navigation,
  .site-header,
  .footer-widgets,
  .footer-bar,
  .site-info,
  .sidebar,
  .widget-area,
  .ffsa-document-toc,
  .comments-area,
  .post-navigation,
  .paging-navigation,
  .generate-back-to-top,
  .gb-button,
  .ffsa-button,
  .ffsa-button-primary,
  .ffsa-button-secondary {
    display: none !important;
  }

  #page,
  .site,
  .site-content,
  .content-area,
  .inside-article,
  .entry-content,
  .ffsa-document,
  .ffsa-document__wrap,
  .ffsa-document__content,
  .ffsa-document-shell,
  .ffsa-document-layout,
  .ffsa-document-content {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .ffsa-document__header,
  .ffsa-document-header {
    margin-bottom: 18pt;
    padding-bottom: 12pt;
    border-bottom: 1pt solid #000000;
  }

  .ffsa-document__title,
  .ffsa-document-title {
    margin-bottom: 8pt;
    font-size: 18pt;
    line-height: 1.25;
  }

  .ffsa-document__label {
    color: #000000 !important;
  }

  .ffsa-document__meta {
    margin: 14pt 0 18pt !important;
    border: 0.5pt solid #999999 !important;
    border-radius: 0 !important;
    padding: 8pt !important;
    background: #ffffff !important;
    font-size: 9pt;
  }

  .ffsa-document__meta h2 {
    margin-top: 0;
    font-size: 12pt;
  }

  .ffsa-document-meta {
    display: grid !important;
    grid-template-columns: 35mm 1fr;
    gap: 3pt 8pt;
    margin-top: 10pt;
    font-size: 9pt;
  }

  .ffsa-document-meta dt {
    color: #000000 !important;
  }

  .ffsa-document__content h2,
  .ffsa-document-content h2 {
    margin-top: 18pt;
    padding-top: 10pt;
    border-top: 0.5pt solid #999999;
    page-break-after: avoid;
  }

  .ffsa-document__content h3,
  .ffsa-document__content h4,
  .ffsa-document-content h3,
  .ffsa-document-content h4 {
    page-break-after: avoid;
  }

  .ffsa-document__content p,
  .ffsa-document__content li,
  .ffsa-document-content p,
  .ffsa-document-content li {
    line-height: 1.55;
  }

  .ffsa-document__content table,
  .ffsa-document-content table,
  .ffsa-document-control,
  .ffsa-document-citation {
    page-break-inside: avoid;
  }

  .ffsa-document-citation,
  .ffsa-document-control {
    display: block !important;
    margin: 14pt 0;
    border: 0.5pt solid #999999;
    border-radius: 0;
    padding: 8pt;
    background: #ffffff !important;
    font-size: 9pt;
  }

  .entry-content th,
  .entry-content td,
  .ffsa-table th,
  .ffsa-table td,
  .ffsa-info-table th,
  .ffsa-info-table td {
    border: 0.5pt solid #999999;
  }

  .entry-content th,
  .ffsa-table th,
  .ffsa-info-table th {
    background: #eeeeee !important;
    color: #000000 !important;
  }
}