@media (max-width: 767px) {
  .carousel-inner .carousel-item > div {
    display: none; }
  .carousel-inner .carousel-item > div:first-child {
    display: block; } }

.carousel .carousel-item {
  min-width: 250px; }

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
  display: flex; }

/* medium and up screens */
@media (min-width: 768px) {
  .carousel-inner .carousel-item-end.active,
  .carousel-inner .carousel-item-next {
    transform: translateX(25%); }
  .carousel-inner .carousel-item-start.active,
  .carousel-inner .carousel-item-prev {
    transform: translateX(-25%); } }

.carousel-inner .carousel-item-end,
.carousel-inner .carousel-item-start {
  transform: translateX(0); }

.tns-outer {
  padding: 0 !important; }

.tns-outer [hidden] {
  display: none !important; }

.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer; }

.tns-slider {
  transition: all 0s; }

.tns-slider > .tns-item {
  box-sizing: border-box;
  position: relative; }

.tns-horizontal.tns-subpixel {
  white-space: nowrap; }

.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal; }

.tns-horizontal.tns-no-subpixel:after {
  clear: both;
  content: "";
  display: table; }

.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left; }

.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%; }

.tns-no-calc {
  left: 0;
  position: relative; }

.tns-gallery {
  left: 0;
  min-height: 1px;
  position: relative; }

.tns-gallery > .tns-item {
  left: -100%;
  position: absolute;
  transition: transform 0s, opacity 0s; }

.tns-gallery > .tns-slide-active {
  left: auto !important;
  position: relative; }

.tns-gallery > .tns-moving {
  transition: all 0.25s; }

.tns-autowidth {
  display: inline-block; }

.tns-lazy-img {
  opacity: 0.6;
  transition: opacity 0.6s; }

.tns-lazy-img.tns-complete {
  opacity: 1; }

.tns-ah {
  transition: height 0s; }

.tns-ovh {
  overflow: hidden; }

.tns-visually-hidden {
  left: -10000em;
  position: absolute; }

.tns-transparent {
  opacity: 0;
  visibility: hidden; }

.tns-fadeIn {
  filter: alpha(opacity=100);
  opacity: 1;
  z-index: 0; }

.tns-normal,
.tns-fadeOut {
  filter: alpha(opacity=0);
  opacity: 0;
  z-index: -1; }

.tns-vpfix {
  white-space: nowrap; }

.tns-vpfix > div,
.tns-vpfix > li {
  display: inline-block; }

.tns-t-subp2 {
  height: 10px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  width: 310px; }

.tns-t-ct {
  position: absolute;
  right: 0;
  width: calc(100% * 70 / 3);
  width: 2333.33333%;
  width: -webkit-calc(100% * 70 / 3); }

.tns-t-ct:after {
  clear: both;
  content: "";
  display: table; }

.tns-t-ct > div {
  float: left;
  height: 10px;
  width: calc(100% / 70);
  width: 1.42857%;
  width: -webkit-calc(100% / 70); }

.spotlight {
  background-color: #f9f9f9;
  overflow: hidden;
  padding: 0 0 50px 0; }
  .wide-layout .spotlight {
    background-color: transparent;
    padding-bottom: 55px; }

.spotlight.no-background {
  background-color: transparent; }

.spotlight-container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  overflow: hidden; }
  @media (min-width: 576px) {
    .spotlight-container {
      max-width: 1140px; } }
  @media (min-width: 768px) {
    .spotlight-container {
      max-width: 1140px; } }
  @media (min-width: 992px) {
    .spotlight-container {
      max-width: 1140px; } }
  @media (min-width: 1200px) {
    .spotlight-container {
      max-width: 1140px; } }
  .spotlight-container.is-pinned {
    display: grid;
    grid-template-columns: calc(33.33% - 15px) calc(66.66% - 15px);
    grid-template-rows: auto;
    grid-gap: 0 30px; }
    @media (max-width: 991.98px) {
      .spotlight-container.is-pinned {
        grid-template-columns: repeat(2, calc(50% - 15px)); } }
    @media (max-width: 767.98px) {
      .spotlight-container.is-pinned {
        display: block; } }
    .spotlight-container.is-pinned .carousel-controls-container {
      grid-column: 1 / -1; }
    @media (max-width: 767.98px) {
      .spotlight-container.is-pinned .pinned-items {
        margin-bottom: 15px; } }
    .spotlight-container.is-pinned .pinned-items .pinned-slide {
      height: 100%; }
  .spotlight-container .tns-outer {
    overflow: hidden;
    margin: -3px;
    padding: 3px !important; }
    .spotlight-container .tns-outer .tns-ovh {
      overflow: visible; }

.spotlight-heading {
  margin-bottom: 60px; }

.intranet .spotlight-heading {
  text-align: center; }

.spotlight-button {
  margin-top: 60px;
  text-align: center; }

.spotlight-button a {
  transition: all 0.35s ease;
  display: inline-flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 25px;
  padding: 12px 30px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  background-color: #005ae8;
  border-color: #005ae8;
  color: #fff; }

.spotlight-button a {
  font-size: 16px; }

.prefers-reduced-motion .spotlight-button a {
  transition: none; }

.spotlight-button a:hover {
  color: #000;
  background-color: #e6e6e6; }

.spotlight-button a:disabled,
.spotlight-button a.disabled {
  transition: none;
  opacity: 1;
  box-shadow: none;
  cursor: default;
  background-color: #f2f2f2;
  color: #434343;
  pointer-events: none; }

.prefers-reduced-motion .spotlight-button a:disabled,
.prefers-reduced-motion .spotlight-button a.disabled {
  transition: none; }

.spotlight-button a:active,
.spotlight-button a.active {
  background-color: #d9d9d9; }

.spotlight-button a:hover {
  color: #005ae8 !important;
  background-color: #fff; }

.spotlight-button a:active,
.spotlight-button a.active {
  color: #fff;
  border-color: #002d97;
  background-color: #002d97; }

.spotlight-button a:disabled,
.spotlight-button a.disabled {
  opacity: 1;
  color: #fff;
  border-color: #002d97;
  background-color: #002d97; }

.spotlight-button a:disabled:hover,
.spotlight-button a.disabled:hover {
  color: #fff !important;
  box-shadow: none !important; }

.spotlight .tns-nav {
  display: none; }

.spotlight .carousel-slide {
  width: 100%; }

.spotlight .carousel-controls-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 25px 15px auto 15px 25px;
  grid-template-columns: 25px auto 25px;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  grid-gap: 15px;
  /* autoprefixer: ignore next */
  justify-content: center;
  margin-bottom: 30px;
  margin-top: 60px;
  pointer-events: none;
  z-index: 10; }

.spotlight .carousel-controls-container > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1; }

.spotlight .carousel-controls-container > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3; }

.spotlight .carousel-controls-container > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5; }

@media (max-width: 991.98px) {
  .spotlight .carousel-controls-container {
    grid-template-columns: 25px 1fr 25px;
    grid-template-rows: auto; }
  .spotlight .carousel-controls-container > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .spotlight .carousel-controls-container > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
  .spotlight .carousel-controls-container > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5; } }

@media (max-width: 767.98px) {
  .spotlight .carousel-controls-container {
    -ms-grid-columns: 25px 15px 1fr 15px 25px;
    grid-template-columns: 25px 1fr 25px;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    margin-bottom: 60px; }
  .spotlight .carousel-controls-container > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .spotlight .carousel-controls-container > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
  .spotlight .carousel-controls-container > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5; } }

.spotlight .carousel-controls {
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1 / 4;
  -ms-grid-row: 1;
  grid-row: 1; }

.spotlight .carousel-controls .btn--prev {
  transition: all 0.35s ease;
  display: inline-flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  transition: none;
  border: none;
  border-radius: 0;
  padding: 0;
  color: #005ae8;
  pointer-events: auto; }

.spotlight .carousel-controls .btn--prev {
  font-size: 16px; }

.prefers-reduced-motion .spotlight .carousel-controls .btn--prev {
  transition: none; }

.spotlight .carousel-controls .btn--prev:hover {
  color: #000;
  background-color: #e6e6e6; }

.prefers-reduced-motion .spotlight .carousel-controls .btn--prev {
  transition: none; }

.spotlight .carousel-controls .btn--prev {
  font-size: 20px; }

.spotlight .carousel-controls .btn--next {
  transition: all 0.35s ease;
  display: inline-flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  transition: none;
  border: none;
  border-radius: 0;
  padding: 0;
  color: #005ae8;
  pointer-events: auto; }

.spotlight .carousel-controls .btn--next {
  font-size: 16px; }

.prefers-reduced-motion .spotlight .carousel-controls .btn--next {
  transition: none; }

.spotlight .carousel-controls .btn--next:hover {
  color: #000;
  background-color: #e6e6e6; }

.spotlight .carousel-controls .btn--next {
  font-size: 20px; }

.spotlight .carousel-pagination {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: center;
  align-self: center;
  -ms-grid-column-align: center;
  justify-self: center;
  font-size: 0; }

.spotlight .carousel-pagination button {
  transition: all 0.35s ease;
  display: inline-flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 25px;
  padding: 12px 30px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  transition: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  display: inline-block;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background-color: #b3b3b3;
  margin: 0 7px;
  pointer-events: auto; }

.spotlight .carousel-pagination button {
  font-size: 16px; }

.prefers-reduced-motion .spotlight .carousel-pagination button {
  transition: none; }

.spotlight .carousel-pagination button:hover {
  color: #000;
  background-color: #e6e6e6; }

.spotlight .carousel-pagination button:disabled,
.spotlight .carousel-pagination button.disabled {
  transition: none;
  opacity: 1;
  box-shadow: none;
  cursor: default;
  background-color: #f2f2f2;
  color: #434343;
  pointer-events: none; }

.prefers-reduced-motion .spotlight .carousel-pagination button:disabled,
.prefers-reduced-motion .spotlight .carousel-pagination button.disabled {
  transition: none; }

.spotlight .carousel-pagination button:active,
.spotlight .carousel-pagination button.active {
  background-color: #d9d9d9; }

.prefers-reduced-motion .spotlight .carousel-pagination button {
  transition: none; }

.spotlight .carousel-pagination button:hover,
.spotlight .carousel-pagination button:focus {
  background-color: transparent; }

.spotlight .carousel-pagination button.tns-nav-active {
  height: 15px;
  width: 15px;
  background-color: #005ae8; }

.spotlight .carousel-pagination button:hover {
  background-color: #002d97; }

.spotlight .carousel-spotlight {
  height: calc(100% - 2px); }

.spotlight .carousel-spotlight-content:before {
  right: 0; }

.carousel-spotlight .block_header {
  position: relative;
  background: #ccc;
  height: 194px; }

.carousel-spotlight .article_type {
  width: auto;
  position: absolute;
  bottom: 0;
  right: 0; }

.article_type {
  color: #464646;
  background: #f9c62d;
  font-size: 14px;
  font-style: italic;
  padding: 3px 7px; }

.article-title {
  font-size: 18px;
  color: #003b5c;
  font-weight: bold; }

.carousel-pagination {
  display: none; }

.spotlight .carousel-controls-container .btn--prev {
  background-color: #005587;
  height: 35px;
  width: 35px;
  min-height: 35px;
  min-width: 35px;
  margin-right: 80px; }
  @media (max-width: 1199.98px) {
    .spotlight .carousel-controls-container .btn--prev {
      margin-right: 60px; } }
  @media (max-width: 767.98px) {
    .spotlight .carousel-controls-container .btn--prev {
      margin-right: 0; } }
  .spotlight .carousel-controls-container .btn--prev:after {
    content: "";
    display: inline-block;
    height: 0;
    width: 0;
    border-width: 10px;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    margin-left: -10px; }

.spotlight .carousel-controls-container .btn--next {
  background-color: #005587;
  height: 35px;
  width: 35px;
  min-height: 35px;
  min-width: 35px;
  margin-left: 80px;
  order: 3; }
  @media (max-width: 1199.98px) {
    .spotlight .carousel-controls-container .btn--next {
      margin-left: 60px; } }
  @media (max-width: 767.98px) {
    .spotlight .carousel-controls-container .btn--next {
      margin-left: 0; } }
  .spotlight .carousel-controls-container .btn--next:after {
    content: "";
    display: inline-block;
    height: 0;
    width: 0;
    border-width: 10px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    margin-left: 10px; }

.spotlight .carousel-controls-container .carousel-controls button:hover, .spotlight .carousel-controls-container .carousel-controls button:focus {
  background: #003554; }

.spotlight .carousel-controls .btn--prev:disabled, .spotlight .carousel-controls .btn--next:disabled {
  transition: none;
  opacity: 1;
  box-shadow: none;
  cursor: default;
  background-color: #434343;
  color: #434343;
  pointer-events: none;
  opacity: 0.5; }

.spotlight .carousel-controls .btn--prev:active, .spotlight .carousel-controls .btn--next:active {
  background-color: #005587; }

.featured-spotlight {
  background-color: transparent;
  margin-top: 60px;
  margin-bottom: 60px;
  padding-bottom: 0; }
  .featured-spotlight .carousel-controls-container {
    margin-top: 0; }
  @media (max-width: 991.98px) {
    .featured-spotlight {
      background-color: #f9f9f9;
      padding-top: 30px;
      padding-bottom: 30px;
      margin: 30px -15px; }
      .featured-spotlight .card .card-content {
        background-color: #fff !important; } }
  .featured-spotlight img {
    width: 100%; }
  .featured-spotlight .carousel-spotlight {
    background-color: #f9f9f9; }
  .featured-spotlight .card .card-content {
    background-color: transparent; }

.carousel-spotlight figure img {
  width: 100%; }

.spotlight img {
  width: 100%; }

.spotlight .tns-slider {
  display: flex; }

.spotlight .spotlight-title {
  font-size: 2.25rem;
  font-weight: 300;
  margin: 0 20px;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  padding-top: 0;
  font-weight: 300; }

.spotlight-container .card-day-month {
  color: #000;
}

@media all and (max-width:767px) {
  div#tns1-mw {
    height: auto !important;
}
.carousel-spotlight .block_header {
  height: auto !important;
}
}


/* 1) Card-level focus ring for keyboard users */
:where(.carousel a.card, .carousel .card[tabindex]):focus-visible {
  outline: 3px solid #111;
  outline-offset: 4px;              /* avoids clipping */
  box-shadow: 0 0 0 4px #ffc72c;
  border-radius: 10px;              /* optional: match your corners */
  position: relative;               /* for the overlay below */
  display: block;
}

/* 2) Overlay halo to beat overflow clipping */
:where(.carousel a.card, .carousel .card[tabindex]):focus-visible::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: 0 0 0 3px #ffc72c inset;
}

/* 3) Fallback if :has() isn’t available: light the card when inner link gets focus */
.carousel .carousel-slide:focus-within a.card {
  outline: 3px solid #111;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px #ffc72c;
  border-radius: 10px;
}

/* 4) Inactive slides should never show hover/focus visuals */
.carousel .carousel-slide[aria-hidden="true"] a.card {
  outline: none !important;
  box-shadow: none !important;
}

/* 5) Forced colors (Windows High Contrast) */
@media (forced-colors: active) {
  :where(.carousel a.card, .carousel .card[tabindex]):focus-visible,
  .carousel .carousel-slide:focus-within a.card {
    outline: 2px solid CanvasText;
    outline-offset: 3px;
    box-shadow: none;
  }
}

/* Strong keyboard focus for the carousel controls */
.spotlight .carousel-controls .btn--prev:focus-visible,
.spotlight .carousel-controls .btn--next:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #ffc72c;  /* brand halo */
  position: relative;             /* for the overlay below */
}

/* Overlay halo in case a parent clips outlines/box-shadows */
.spotlight .carousel-controls .btn--prev:focus-visible::before,
.spotlight .carousel-controls .btn--next:focus-visible::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: 0 0 0 3px #ffc72c inset;
}

/* High Contrast (Windows) */
@media (forced-colors: active) {
  .spotlight .carousel-controls .btn--prev:focus-visible,
  .spotlight .carousel-controls .btn--next:focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 3px;
    box-shadow: none;
  }
}
