@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700&family=Source+Sans+3:ital,wght@0,400;0,600;1,400&display=swap');

/* SSA Architecture: modern overrides for inner pages. Loaded after the old stylesheets. */
:root {
  --purple: #55499E;
  --purple-dk: #3F3780;
  --taupe: #6E6258;
  --ink: #24262B;
  --body: #3A3C42;
  --mist: #F3F2F6;
  --line: #E4E2EA;
  --head: "Archivo", Arial, Helvetica, sans-serif;
  --text: "Source Sans 3", Arial, Helvetica, sans-serif;
}

html, body {
  background: #fff !important;
  background-image: none !important;
}
body {
  font-family: var(--text) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--body) !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

/* Old floating header container: keep it in normal flow */
#floatingheader, .header_top, .slider-relative {
  position: static !important;
  background: none !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Layout: let the old fixed-width grid flex */
.container_12 {
  width: auto !important;
  max-width: 1160px;
  margin: 0 auto !important;
  padding: 0 28px;
  float: none !important;
}
.container_12 .grid_9, .container_12 .grid_12, .container_12 .grid_6, .container_12 .grid_3 {
  width: auto !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Content */
.container_12 { padding-top: 28px; padding-bottom: 40px; }
.container_12 img { max-width: 100%; height: auto; }
.container_12 table { max-width: 100%; }
.container_12 iframe { max-width: 100%; }
.container_12 h1, .container_12 h2, .container_12 h3 {
  font-family: var(--head) !important;
  color: var(--purple-dk) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.container_12 h1, .container_12 h2 { font-size: 1.8rem !important; margin: 0 0 18px !important; }
.container_12 h3 { font-size: 1.3rem !important; margin: 24px 0 10px !important; }
.container_12 p, .container_12 li, .container_12 td {
  font-family: var(--text) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--body) !important;
  text-align: left !important;
}
.container_12 p { max-width: 72ch; }
.container_12 a { color: var(--purple-dk) !important; text-underline-offset: 3px; }
.container_12 a:hover { color: var(--purple) !important; }
a:focus-visible { outline: 3px solid var(--purple) !important; outline-offset: 3px; }

/* Shared header */
.site-header { border-bottom: 1px solid var(--line); background: #fff; }
.site-header .wrap, .site-footer .wrap { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.site-header .brand { text-decoration: none; display: flex; align-items: center; gap: 12px; }
.site-header .brand-mark { width: 38px; height: 38px; background: var(--purple); border-radius: 3px; flex: none; }
.site-header .brand-name { font-family: var(--head); font-weight: 700; font-size: 1.25rem; color: var(--purple-dk); display: block; line-height: 1.1; }
.site-header .brand-sub { font-size: 0.85rem; color: var(--taupe); display: block; }
.site-header .nav { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; font-family: var(--text); font-size: 1rem; }
.site-header .nav li { float: none !important; background: none !important; margin: 0 !important; padding: 0 !important; }
.site-header .nav a { color: var(--ink) !important; text-decoration: none; text-transform: none !important; font-size: 1rem !important; padding: 0 !important; background: none !important; }
.site-header .nav a:hover { color: var(--purple) !important; text-decoration: underline; }
.site-header .nav .phone a { color: var(--purple-dk) !important; font-weight: 600; }

/* Shared footer */
.site-footer { background: var(--ink); color: #CFCAC5; padding: 40px 0; font-family: var(--text); font-size: 1rem; line-height: 1.6; }
.site-footer .wrap { display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.site-footer a { color: #fff !important; }
.site-footer ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
.site-footer li { margin-bottom: 6px; color: #CFCAC5; }
.site-footer address { font-style: normal; }
.site-footer .copy { margin-top: 18px; font-size: 0.9rem; color: #A8A29C; }

@media (max-width: 820px) {
  body { font-size: 17px !important; }
  .container_12 { padding-left: 18px; padding-right: 18px; }
  .container_12 table, .container_12 tbody, .container_12 tr, .container_12 td { display: block; width: 100% !important; }
}

/* Neutralize old template rules that collide with the new header and footer */
html, body { font-size: 100% !important; height: auto !important; }
body { max-width: none !important; min-width: 0 !important; }
header#floatingheader, header.site-header { background: none !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
header.site-header { background: #fff !important; }
.site-header h1, .site-header a { text-shadow: none !important; }
footer#footerinfo { background: none !important; padding: 0 !important; font-size: 1rem !important; }
.site-footer li { overflow: visible !important; }
.main_bg, .content_block { background: #fff !important; }
.container_12 h2, .container_12 h2 + p { text-align: left !important; text-shadow: none !important; border-bottom: 0 !important; }
.container_12 h4 { text-transform: none !important; }
.container_12 strong { color: var(--ink) !important; }
.container_12 table { margin-left: 0 !important; }
.container_12 [align="center"] { text-align: left; }
.container_12 div[style*="width:750px"], .container_12 div[style*="width: 750px"] { width: auto !important; max-width: 72ch; }
.container_12 h1, .container_12 h2, .container_12 h3 { padding: 0 !important; }
.container_12 h1::first-letter, .container_12 h2::first-letter, .container_12 h3::first-letter { text-transform: uppercase; }
.container_12 p { margin: 0 0 14px !important; }
.block1 { padding-top: 0 !important; padding-bottom: 24px !important; }
.content_block { padding-bottom: 0 !important; }
.container_12 a.btn { background: var(--purple) !important; background-image: none !important; color: #fff !important; font-family: var(--head) !important; font-size: 1rem !important; text-transform: none !important; padding: 10px 18px !important; border-radius: 3px; margin-top: 8px; transition: none !important; }
.container_12 a.btn:hover { background: var(--purple-dk) !important; color: #fff !important; font-size: 1rem !important; }

/* SSA logo in the header and footer (added Oct 2026) */
.site-header .brand { display: inline-flex !important; align-items: center; line-height: 0; }
.site-header .brand-logo { display: block; height: 60px !important; width: auto !important; max-width: none !important; border: 0; }
.site-footer .footer-logo { display: block; height: 48px !important; width: auto !important; margin: 0 0 12px; border: 0; }
@media (max-width: 820px) {
  .site-header .brand-logo { height: 46px !important; }
}
