/* css styles */

.navbar-title {
  font-size: 2.1rem;
  font-weight: bold;
  color: #5353ac !important;
}

#lfl-nav {
  padding-left: 2em;
}

#site-nav {
  display: none;
}

/* collapse the forced 60px grid row below <main> so footer sits close */
.page-rows-contents {
  grid-template-rows: [content-top] max-content [content-bottom] max-content [page-bottom] !important;
}

#site-footer {
  text-align: right;
  font-style: italic;
  margin-top: 0;
  margin-bottom: 1.5em;
}

#site-footer p {
  margin: 0;
}



body {
  line-height: 1.5;
  background-color: #f4f7fb;
}

h1, h2, h3, h4, h5, h6,
h1.title, h2.title, h3.title, h4.title, h5.title, h6.title {
  color: #5353ac !important;
}

/* Anchor offset for fixed header / Safari scroll positioning */
:target::before {
  content: "";
  display: block;
  height: 8rem;
  margin-top: -8rem;
  visibility: hidden;
}

h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] {
  scroll-margin-top: 8rem;
}

/* Ensure anchored headings are visible below the fixed navbar */
h1.anchored,
h2.anchored,
h3.anchored,
h4.anchored,
h5.anchored,
h6.anchored {
  scroll-margin-top: 10rem;
}

a, a:link, a:visited {
  text-decoration: none;
  color: #0d6efd;
  transition: color 0.2s ease;
}
a:hover, a:focus {
  text-decoration: none;
  color: #084298;
}
a:focus-visible {
  outline: 2px dashed #084298;
  outline-offset: 3px;
}

blockquote,
.blockquote,
blockquote p,
.blockquote p {
  color: inherit !important;
}

main.content {
  background-color: #ffffff;
  border: 1px solid #dfe4ea;
  border-radius: 0.85rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  padding: 1.75rem 1.75rem 1rem;
  align-self: start;
}

@media (max-width: 991.98px) {
  main.content {
    padding-top: 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .navbar-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .navbar-title {
    font-size: 1.5rem;
  }
  #lfl-nav {
    display: none;
  }
  .navbar-collapse .nav-link {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
  main.content {
    grid-column: 1 / -1 !important;
    border-radius: 0;
    border-left: none;
    border-right: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

main.content p:first-child {
  margin-top: 0;
}

main.content p:last-child {
  margin-bottom: 0;
}

.hanging p:first-child {
  padding-left: 2em;
  text-indent: -2em;
}

.hanging p + p {
  padding-left: 2em;
  margin-top: -0.50em;
}

.hanging .quoted + p {
  padding-left: 2em;
}

.hanging .quoted {
  margin-left: 4em;
  margin-right: 2em;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.hanging .quoted p:first-child,
.hanging .quoted p + p {
  padding-left: 0;
  text-indent: 0;
  margin-top: 0;
}
