/* Typography */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
  "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif;
  font-size: .8rem;
  font-weight:400;
}
a {
  font-weight:500;
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
}
p a, blockquote a {
  text-decoration:underline;
}
h1, h2, h3, h4 {
  margin-top:0;
  margin-bottom:.5rem;
}
h1, h2, h3 {
  font-weight:400;
}
h4 {
  font-weight:500;
}
body, caption, th, td, input, textarea, select, option, legend, fieldset, h1, h2, h3, h4, h5, h6 {
  font-size-adjust: 0.5;
}
#page, .container {
  font-size: 1em; /* equivalent to 16px */
  line-height: 1.25; /* equivalent to 20px */
  line-height: 1.5; /* equivalent to 24px */
}
@media (min-width: 43.75em) {
  #page, .container {
    font-size: 1em; /* equivalent to 16px */
    line-height: 1.375; /* equivalent to 22px */
    line-height: 1.5; /* equivalent to 24px */
  }
}
h1 {
  font-size: 2em; /* 2x body copy size = 32px */
  line-height: 1.25; /* 45px / 36px */
  margin-bottom: 1.25;
}
@media (min-width: 43.75em) {
  h1 {
    font-size: 2.5em;
    /* 2.5x body copy size = 40px */ line-height: 1.125;
    margin-bottom:1.125;
  }
}
@media (min-width: 56.25em) {
  h1 {
    font-size: 3em; /* 3x body copy size = 48px */
    line-height: 1.05; /* keep to a multiple of the 20px line height and something more appropriate for display headings */
  }
}
h2 {
  font-size: 1.625em; /* 1.625x body copy size = 26px */
  line-height: 1.15384615; /* 30px / 26px */
}
@media (min-width: 43.75em) {
  h2 {
    font-size: 2em; /* 2x body copy size = 32px */
    line-height: 1.25;
  }
}
@media (min-width: 56.25em) {
  h2 {
    font-size: 2.25em; /* 2.25x body copy size = 36px */
    line-height: 1.25;
  }
}
h3 {
  font-size: 1.375em; /* 1.375x body copy size = 22px */
  line-height: 1.13636364; /* 25px / 22px */
}
@media (min-width: 43.75em) {
  h3 {
    font-size: 1.5em; /* 1.5x body copy size = 24px */
    line-height: 1.25;
  }
}
@media (min-width: 56.25em) {
  h3 {
    font-size: 1.75em; /* 1.75x body copy size = 28px */
    line-height: 1.25;
  }
}
h4 {
  font-size: 1.125em; /* 1.125x body copy size = 18px */
  line-height: 1.11111111;
}
@media (min-width: 43.75em) {
  h4 {
    line-height: 1.22222222; /* (22px / 18px */
  }
}
blockquote {
  font-size: 1.25em; /* 20px / 16px */
  line-height: 1.25; /* 25px / 20px */
}
@media (min-width: 43.75em) {
  blockquote {
    font-size: 1.5em; /* 24px / 16px = */
    line-height: 1.45833333; /* 35px / 24px */
    border-left:3px solid rgba(0,34,68,.25);
  }
}
h1, h2, h3, blockquote {
  font-weight:300;
}
/* End typography */

body {
  background-color: #f5faff;
  color: #002244;
}
a, a:visited, .btn.btn-link {
  color: #004488;
}
a:hover, .btn.btn-link:hover {
  color: #005599;
  text-decoration:underline;
}
img {
  margin-bottom: 1.5rem;
  box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .15);
}
.container {
  padding: 0 1rem;
}
.card {
  border: 0;
  box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .15);
  height: 100%;
}
.card img {
  box-shadow: none;
  margin-bottom: 0;
}
.cards .column {
  padding: .4rem;
}
.card a:hover {
  text-decoration: none;
}
.card a:hover .card-header .card-title.h5 {
  text-decoration: underline;
}
.card-header {
  border-top: 1px solid #bcc3ce;

}
.navbar {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.navbar h3 {
  margin-bottom: 0;
}
.intro {
  margin-bottom: 2rem;
}
.actions {
  margin: 2rem 0 1.5rem 0;
}
footer {
  margin-bottom: 2rem;
  margin-top: 0;
}
.copyright::before {
  content: "© 2025 ";
}
/* Spectre overrides */
.columns, .cards.columns {
  margin-left: -.8rem;
  margin-right: -.8rem;
}
.column {
  padding-left: .8rem;
  padding-right: .8rem;
}
.cards.columns .column {
  padding: .8rem;
}
p {
  margin: 0 0 1.6rem;
}
