a:not([class]) {
  text-decoration: none;
}

a:not([class]):hover {
  text-decoration: underline;
}

/* AER 2026-11-10: Links in the text of a post stay as they are above: blue,
   underlined under the pointer. An underline at rest (review item A5) was
   built and taken out again on Andrew's decision. The blue has about 3.4:1
   contrast against the text, which the guideline accepts for links marked
   by colour when they also change under the pointer. */

/* The newsletter controls are <button>s (they open the form and go
   nowhere). These rules take the browser's button look off, so each looks
   like the link it stands among: "Subscribe" in the header and "Newsletter"
   in the footer take their size, padding and colour from .nav-link as the
   links beside them do; "e-mail updates" under a post reads as a link in
   its sentence. */
button.nav-link,
.link-button {
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background: none;
  text-align: inherit;
}

/* In the header's list a link fills its row of the opened menu; a button is
   only as wide as its word unless told. */
.navbar-nav button.nav-link {
  width: 100%;
}

.link-button {
  display: inline;
  padding: 0;
  font: inherit;
  color: #0d6efd;
  text-decoration: none;
  vertical-align: baseline;
  -webkit-user-select: text;
  user-select: text;
}

.link-button:hover {
  color: #0a58ca;
  text-decoration: underline;
}

.responsive-object {
  position: relative;
}

.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* The click-to-load video (the video_url_to_embed tag): a button that fills
   Bootstrap's 16:9 box until the reader presses it. Without JavaScript the
   link inside <noscript> fills the box instead and covers the button. */
.video-placeholder {
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: #212529;
}

.video-play,
.video-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 1rem;
  background-color: #212529;
  color: #fff;
  text-align: center;
}

/* No display rule for the <noscript> itself: with scripts on, browsers hide
   it, and its content is text, not a link. */
.video-link {
  width: 100%;
  height: 100%;
}

.video-play:hover,
.video-play:focus-visible,
.video-link:hover,
.video-link:focus-visible {
  background-color: #343a40;
  color: #fff;
}

.video-play:focus-visible,
.video-link:focus-visible {
  outline: 0.2rem solid #9ec5fe;
  outline-offset: -0.4rem;
}

.video-play-icon {
  width: 4rem;
  height: 4rem;
  margin-bottom: 0.5rem;
  fill: currentColor;
}

.video-play-text {
  font-size: 1.25rem;
  font-weight: 500;
}

.video-play-note {
  font-size: 0.85rem;
  opacity: 0.8;
}

.figure-image {
  /* The <img> carries width and height attributes (for the browser to
     reserve its space); without a width here it would stay at that size
     instead of filling its figure. */
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.figure-caption {
  padding-left: 0.3em;
  padding-right: 0.3em;
  padding-bottom: 0.1em;
  text-align: left;
  font-size: 0.65em;
}

.figure-caption p {
  margin-bottom: 0;
}

.attribution {
  color: lightgrey;
}

.attribution a {
  color: inherit;
  text-decoration: inherit;
}

.attribution a:hover {
  text-decoration: inherit;
}

.attribution a:focus {
  color: #0056b3;
}

.richtext-image {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin-bottom: 0;
}

.richtext-image.right {
  float: right;
  margin-left: 0.8rem;
  width: 10rem;
}

.richtext-image.right.thumbnail {
  width: 5rem;
}

.richtext-image.left {
  float: left;
  margin-right: 0.8rem;
  width: 10rem;
}

.footer ul {
  display: inline;
  list-style-type: none;
  padding: 0;
}

.footer li {
  padding: 0;
  display: inline;
}

.social {
  height: 1em;
  width: 1em;
  filter: invert(55%) sepia(90%) saturate(6498%) hue-rotate(200deg) brightness(104%) contrast(105%);
}

.social:hover {
  filter: invert(24%) sepia(96%) saturate(1452%) hue-rotate(199deg) brightness(87%) contrast(97%);
}

.utility-footer {
  height: 1em;
  width: 1em;
  filter: invert(100%);
}

.search-icon {
  height: 1em;
  width: 1em;
  filter: invert(100%);
}

.file-icon {
  height: 1em;
  width: 1em;
  margin-right: .15em;
  filter: invert(20%) sepia(80%) saturate(2300%) hue-rotate(204deg) brightness(93%) contrast(89%);
}

.richtext-image.left.thumbnail {
  width: 5rem;
}

.richtext-image.full_width.thumbnail {
  width: 5rem;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

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

/* The newsletter and disclaimer boxes in the sidebar were Bootstrap toasts
   with most of the toast look undone here. They are plain sections now, and
   these rules keep the two things the toast classes still gave the
   disclaimer: its smaller text, and long words that break. */
.sidebar.disclaimer {
  font-size: 0.875rem;
}

.disclaimer-body {
  hyphens: auto;
  word-wrap: break-word;
}

.about {
  background: rgb(16, 83, 179);
  background: linear-gradient(
    80deg,
    rgba(16, 83, 179, 1) 0%,
    rgba(23, 105, 221, 1) 69%,
    rgba(0, 102, 249, 1) 100%
  );
}

.main-subheader {
  font-family: "Jura", sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  color: #fff;
}

.navbar-brand {
  font-family: "Kodchasan";
  font-weight: 500;
  font-size: 1.5rem;
}

.description {
  margin-left: 1rem;
  font-size: 0.8em;
}

.footer-link {
  color: rgba(255, 255, 255);
  font-size: 0.86rem;
  filter: opacity(50%);
}

.footer-link:hover,
.footer-link:active {
  color: rgba(255, 255, 255);
  filter: opacity(75%);
}

.footer-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

@media (min-width: 768px) {
  .navbar-brand {
    font-size: 2rem;
  }
  .footer-link {
    font-size: 1rem;
  }
  .description {
    font-size: 0.9em;
  }
  .richtext-image.right {
    width: 13rem;
  }
  .richtext-image.left {
    width: 13rem;
  }
  .figure-caption {
    font-size: 0.7em;
  }
}

@media (min-width: 992px) {
  .navbar-brand {
    font-size: 2.2rem;
  }
  .description {
    font-size: 1em;
  }
  .richtext-image.right {
    width: 15rem;
  }
  .richtext-image.left {
    width: 15rem;
  }
  .figure-caption {
    font-size: 0.8em;
  }
}

@media (min-width: 1200px) {
  .navbar-brand {
    font-size: 2.4rem;
  }
  .richtext-image.right {
    width: 20rem;
  }
  .richtext-image.left {
    width: 20rem;
  }
}

.navbar-toggler {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
  padding-top: 0%;
  padding-bottom: 0%;
}

.navbar-toggler-icon {
  font-size: 0.9em;
}

.smallbreak {
  line-height: 0.3rem;
}

body {
  font-family: "Quicksand";
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Quicksand";
  hyphens: auto;
  font-size: .90rem;
  margin-bottom: 0rem;
}

h1 {
  font-size: 1.85rem;
  font-weight: 500;
}

h2 {
  font-size: 1.55rem;
}

h3 {
  font-size: 1.33rem;
}

h4 {
  font-size: 1.15rem;
}

.article h1,
h2,
h3,
h4,
h5 {
  margin-bottom: 1rem;
}

.sidebar h4 {
  text-align: center;
  margin-bottom: 1rem;
}

h5 a {
  color: inherit;
  text-decoration: inherit;
}

h5 a:hover {
  text-decoration: inherit;
}

hr {
  border-top: 0.1rem solid rgba(0, 0, 0, 0.6);
}

.entry-notice {
  font-size: 0.9em;
  font-style: italic;
  opacity: 0.8;
}

.meta {
  font-size: 0.7rem;
  margin-left: 0.6rem;
  text-align: right;
}

.social-share {
  display: block;
  float: left;
  margin-bottom: 0;
}

.social-item {
  display: block;
  float: left;
}

.blog_grid {
  border-radius: 0.8rem;
}

.entry_grid {
  border-radius: 0.8rem;
  margin-bottom: 1.5rem;
}

.page-content {
  font-family: Quicksand;
  font-size: 1.05rem;
}

.post_title {
  font-size: 1.85rem;
  font-weight: 500;
  margin-bottom: 0.2rem;
}

.entry_links {
  font-size: 1rem;
}

.author-date {
  font-size: 0.9rem;
}

.sidebar {
  background: #f7f7f7;
  border-radius: 0.8rem;
  margin-bottom: 1.5rem;
  list-style-type: none;
}

.categories {
  font-size: 0.9rem;
}

.link-unstyled,
.link-unstyled:link {
  color: inherit;
  text-decoration: inherit;
}

.link-unstyled:hover {
  text-decoration: inherit;
}

.link-unstyled:focus {
  color: #0056b3;
}

.badge {
  border: 1px solid transparent;
  text-decoration: none;
}

.badge.badge-outlined,
.badge.badge-outlined:focus {
  background-color: transparent !important;
}

.badge.badge-outlined.bg-primary {
  border-color: #007bff;
  color: #007bff;
}

.badge.badge-outlined.bg-primary:hover {
  border-color: #0062cc;
  background-color: #0062cc !important;
  color: white;
}

.badge.badge-outlined.bg-primary:hover:focus {
  border-color: #0062cc;
  color: #0062cc;
}

.badge.badge-outlined.bg-secondary {
  border-color: #323a45;
  color: #323a45;
}

.badge.badge-outlined.bg-secondary:hover {
  background-color: #545b62 !important;
  color: white;
}

.badge.badge-outlined.badge-success {
  border-color: #64dd17;
  color: #64dd17;
}

.badge.badge-outlined.badge-warning {
  border-color: #ffd600;
  color: #ffd600;
}

.badge.badge-outlined.badge-info {
  border-color: #29b6f6;
  color: #29b6f6;
}

.badge.badge-outlined.badge-danger {
  border-color: #ef1c1c;
  color: #ef1c1c;
}

.entry_header_img {
  border-radius: 0.5em;
}

.thumbnail_header_img {
  border-radius: 0.2em;
}

.relatedPosts {
  font-size: 0.8rem;
  hyphens: auto;
}

.relatedPosts .minipost {
  font-size: 1.05rem;
  font-weight: 500;
}

.relatedPosts h2 {
  font-size: .95rem;
}

.relatedPosts h3 {
  font-size: .85rem;
  font-weight: bold;
}

.relatedPosts h4 {
  font-size: 0.8rem;
  font-weight: bold;
}

.relatedPosts h5 {
  font-size: 0.8rem;
  font-weight: bold;
}

.searchbutton {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.searchbox {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.no-bullets {
  list-style: none;
  list-style-position: inside;
}

.searchform {
  padding-left: 0;
}

.archive-months {
  list-style: none;
  display: inline;
}

.categorybox {
  display: inline;
  background-color: rgba(255, 255, 255, 0.5);
}

.datebox {
  background-color: rgba(255, 255, 255, 0.5);
}

.tagbox {
  box-sizing: border-box;
}

.archive-months li {
  display: inline;
}

.iframe.pdf {
  border: 0.15rem rgba(71, 71, 71, 1) solid;
  border-radius: 0.15rem;
}

.spacer {
  width: 100%;
}

.doclink {
  padding-left: 1.25rem;
  line-height: 1.5;
  display: block;
  text-indent: -1.16em;
}

.rich-text p,
.rich-text blockquote,
.rich-text ul,
.rich-text li {
  text-align: justify;
}

blockquote {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 0.9em;
}

code {
  line-height: 1.2;
}

.searchTerm {
  border-radius: 0.8rem;
}

.breadcrumb.categories {
  background-color: unset;
  font-size: 0.6rem;
}

.breadcrumb.categories li {
  background-color: unset;
  font-size: 0.87rem;
  padding-left: 0rem;
  padding-right: 0.2rem;
}

.breadcrumb.categories li::before {
  padding-right: 0.2rem;
  color: #007bff;
}

.right-arrow::after {
  content: "\00BB";
  padding-left: 0.3em;
  line-height: 100%;
}

.left-arrow::before {
  content: "\00AB";
  padding-right: 0.3em;
}

/* An abbreviation's tooltip is an <abbr tabindex="0"> (it was a link to "#").
   Bootstrap gives abbr[title] a dotted underline in the text colour, drawn
   through the letters' descenders; the abbr.abbreviation selector matches
   that rule in weight and comes later, so the site's light blue underline
   stays as it was. */
.abbreviation,
abbr.abbreviation,
.abbreviation:hover {
  color: inherit;
  text-decoration: underline dotted #9fcdfe;
  text-decoration-skip-ink: auto;
  color: inherit;
}

.abbreviation:focus {
  color: #0056b3;
  text-decoration: underline;
}

.tooltip.show {
  opacity: 0.95;
}

.tooltip-inner {
  background-color: #004b9b;
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #004b9b;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #004b9b;
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #004b9b;
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #004b9b;
}

p {
  -webkit-hyphens: auto;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  -webkit-hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-last: always;
  -webkit-hyphenate-limit-zone: 8%;
  -moz-hyphens: auto;
  -moz-hyphenate-limit-chars: 6 3 3;
  -moz-hyphenate-limit-lines: 2;
  -moz-hyphenate-limit-last: always;
  -moz-hyphenate-limit-zone: 8%;
  -ms-hyphens: auto;
  -ms-hyphenate-limit-chars: 6 3 3;
  -ms-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-last: always;
  -ms-hyphenate-limit-zone: 8%;
  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
  hyphenate-limit-zone: 8%;
}
mark {
  background: #fffea5;
}
.text-justify {
  text-align: justify !important;
}