:root {
  --faq-plum: #625064;
  --faq-mauve: #a5877d;
  --faq-cream: #f9f7f0;
  --faq-line: #ded3ce;
  --faq-text: #554a56;
  --cassiopeia-color-primary: var(--faq-plum);
  --cassiopeia-color-link: #725d74;
  --cassiopeia-color-hover: #423344;
}

html { scroll-behavior: smooth; }
body {
  color: var(--faq-text);
  background: var(--faq-cream);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
a { text-underline-offset: .16em; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, .card-header {
  color: var(--faq-plum);
  font-weight: 500;
  letter-spacing: -.015em;
}

/* Brand and primary navigation */
.container-header {
  background: #fff;
  background-image: none;
  border-bottom: 1px solid var(--faq-line);
  box-shadow: none;
}
.container-header .navbar-brand { color: var(--faq-plum); padding: .55rem 0; }
.container-header .navbar-brand img { width: min(310px, 72vw); height: auto; }
.site-description { display: none; }
.container-header .item-125 { display: none !important; }
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > button,
.container-header .mod-menu > li > span { color: var(--faq-mauve) !important; }
.container-header .mod-menu > li > a { border-radius: 0; text-decoration: none; }
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.active > a {
  color: var(--faq-plum) !important;
  background: transparent;
}
.container-header .navbar-toggler { color: var(--faq-plum); border-color: var(--faq-mauve); }

/* Wide visual shell with a readable text measure. */
body.wrapper-fluid .site-grid {
  grid-template-columns: [full-start] minmax(1.5rem, 1fr) [main-start] minmax(230px, 280px) repeat(3, minmax(0, 420px)) [main-end] minmax(1.5rem, 1fr) [full-end];
}
.site-grid > .grid-child { background: transparent; }
.container-component { min-width: 0; }
.com-content-article, .blog-items, .blog-featured {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: clamp(1.25rem, 2.4vw, 2.5rem);
}
.view-article .page-header,
.view-article .pagenavigation { display: none; }
.view-article .com-content-article__body h1 {
  color: var(--faq-plum) !important;
  font-size: 1.5rem !important;
  font-weight: 500;
  line-height: 1.25;
}

/* Context navigation belongs in the left column on section pages. */
.container-sidebar-left { width: 100%; }
.container-sidebar-left .sidebar-left.section-menu {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.section-menu .card-header {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--faq-plum);
  padding: .7rem .65rem .55rem;
}
.section-menu .card-header h3 {
  color: var(--faq-mauve);
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .02em;
  margin: 0;
  text-transform: uppercase;
}
.section-menu .card-body { padding: 0; }
.section-menu .mod-menu { margin: 0; }
.section-menu .mod-menu > li { border-bottom: 1px solid #cdbab2; }
.section-menu .mod-menu > li:last-child { border-bottom: 0; }
.section-menu .mod-menu a,
.section-menu .mod-menu .mod-menu__heading {
  color: var(--faq-plum);
  display: block;
  line-height: 1.35;
  padding: .62rem .7rem;
  text-decoration: none;
  white-space: normal;
}
.section-menu .mod-menu a,
.section-menu .mod-menu a:visited,
.section-menu .mod-menu a:hover,
.section-menu .mod-menu a:focus {
  text-decoration: none !important;
}
.section-menu .mod-menu a:hover,
.section-menu .mod-menu .active > a { color: #fff; background: var(--faq-mauve); }
.section-menu .mod-menu ul {
  background: rgb(165 135 125 / 9%);
  margin: 0;
  padding: .2rem 0 .45rem .55rem;
}
.section-menu .mod-menu ul li { border: 0; }
.section-menu .mod-menu ul a { font-size: .9rem; padding: .4rem .65rem; }

/* Legacy articles use centered three-cell tables for page indentation. Remove
   the empty spacer cells so all body copy follows the heading's left edge. */
.view-article .com-content-article__body > table[style*="margin-left: auto"],
.view-article .com-content-article__body > table[style*="float: left"] {
  border-collapse: collapse;
  border-spacing: 0;
  float: none !important;
  margin-inline: 0 !important;
  width: 100% !important;
}
.view-article .com-content-article__body > table[style*="margin-left: auto"] > tbody > tr:has(> td:nth-child(3)) > td:first-child,
.view-article .com-content-article__body > table[style*="margin-left: auto"] > tbody > tr:has(> td:nth-child(3)) > td:last-child,
.view-article .com-content-article__body > table[style*="float: left"] > tbody > tr:has(> td:nth-child(3)) > td:first-child,
.view-article .com-content-article__body > table[style*="float: left"] > tbody > tr:has(> td:nth-child(3)) > td:last-child {
  display: none;
}
.view-article .com-content-article__body > table[style*="margin-left: auto"] > tbody > tr:has(> td:nth-child(3)) > td:not(:first-child):not(:last-child),
.view-article .com-content-article__body > table[style*="float: left"] > tbody > tr:has(> td:nth-child(3)) > td:not(:first-child):not(:last-child) {
  padding-inline: 0;
  width: 100% !important;
}

/* Discard pasted editor typography while retaining semantic emphasis. */
.view-article .com-content-article__body :where(p, li, td) {
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
.view-article .com-content-article__body > p {
  margin-block: 0 1rem !important;
}

/* Legacy article markup contains inconsistent inline and visited-state styles
   on its previous/next question links. Keep the navigation uniform. */
.com-content-article__body > a,
.com-content-article__body > a:visited,
.com-content-article__body > p > a,
.com-content-article__body > p > a:visited {
  color: var(--link-color) !important;
  font-size: 1rem !important;
  line-height: 1.5;
}

/* Homepage */
body.itemid-125 .container-component { padding-top: 0; }
body.itemid-125 .blog-featured,
body.itemid-125 .blog-items,
body.itemid-125 .blog-item { margin: 0; padding: 0; }
body.itemid-125 .item-title { display: none; }
body.itemid-125 .item-content > p:first-of-type { line-height: 0; margin: 0; }
body.itemid-125 .item-content > p:first-of-type img {
  display: block;
  margin: 0 !important;
  max-width: none;
  width: 100% !important;
}
body.itemid-125 .item-content > table {
  background: transparent;
  margin-inline: auto;
  max-width: 1200px;
  width: calc(100% - 3rem) !important;
}

/* Footer */
.container-footer {
  background: var(--faq-mauve);
  color: #fff;
  margin-top: 2.5rem;
  padding-block: 1rem;
}
.container-footer .grid-child {
  margin-inline: auto;
  max-width: 1540px;
  text-align: center;
  width: 100%;
}
.container-footer .mod-custom { text-align: center; width: 100%; }
.container-footer p { margin: .25rem 0; }
.container-footer a { color: #fff; }

@media (min-width: 992px) {
  .container-header {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(1.5rem, 1fr) minmax(310px, 500px) minmax(620px, 1040px) minmax(1.5rem, 1fr);
    min-height: 72px;
  }
  .container-header > .grid-child:not(.container-nav) {
    grid-column: 2;
    margin: 0;
    max-width: none;
    width: 100%;
  }
  .container-header > .container-nav {
    grid-column: 3;
    justify-content: flex-end;
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
  }
  .container-header .container-nav nav { margin: 0 0 0 auto; }
  .container-header .navbar-collapse { justify-content: flex-end; }
  .container-header .mod-menu {
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3.5rem);
    justify-content: flex-end;
  }
  .container-header .metismenu > li + li { margin-left: 0; }
  .container-header .mod-menu > li > a {
    border-bottom: 2px solid transparent;
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: .015em;
    padding: 1.35rem 0 1.25rem;
  }
  .container-header .mod-menu > li > a:hover,
  .container-header .mod-menu > li.active > a { border-bottom-color: var(--faq-mauve); }
}

@media (max-width: 991.98px) {
  .container-header .grid-child { padding-inline: 1rem; }
  .container-header .container-nav { padding-bottom: .65rem; }
  .container-header .mod-menu > li > a { padding: .7rem .5rem; }
  body.wrapper-fluid .site-grid {
    grid-template-columns: [full-start] .9rem [main-start] repeat(4, minmax(0, 1fr)) [main-end] .9rem [full-end];
  }
  body.has-sidebar-left .site-grid {
    grid-template-areas: ". banner banner banner banner ."
                         ". top-a top-a top-a top-a ."
                         ". top-b top-b top-b top-b ."
                         ". side-l side-l side-l side-l ."
                         ". comp comp comp comp ."
                         ". bot-a bot-a bot-a bot-a ."
                         ". bot-b bot-b bot-b bot-b .";
  }
  .container-sidebar-left { width: 100%; }
  .container-sidebar-left .sidebar-left:first-child { margin-top: 1rem; }
  .com-content-article, .blog-items, .blog-featured { padding: .75rem 0; }
  body.itemid-125 .item-content > table { width: 100% !important; }
  .com-content-article__body h1,
  .com-content-article__body h1 span,
  body.itemid-125 .item-content h1,
  body.itemid-125 .item-content h1 span {
    font-size: clamp(1.65rem, 8vw, 2.1rem) !important;
  }
}
