@font-face {
  font-family: "Freebird Lato";
  src: url("/assets/lato-regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Freebird Lato";
  src: url("/assets/lato-bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
.ff-skip {
  position: fixed; z-index: 20000; top: .75rem; left: .75rem;
  padding: .75rem 1rem; background: white; color: black;
  transform: translateY(-160%);
}
.ff-skip:focus { transform: none; }
.ff-carousel {
  display: flex; flex-direction: column; min-width: 0; position: relative; overflow: hidden;
}
.ff-carousel-stage {
  display: block; position: relative; flex: 1 1 0; min-height: 0; width: 100%;
  appearance: none; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left;
}
.ff-carousel-stage > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ff-carousel[data-fit="contain"] .ff-carousel-stage > img { object-fit: contain; }
.ff-carousel-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  color: white; background: rgb(0 0 0 / 70%); padding: 10px 14px;
  opacity: 0; transition: opacity .15s;
  font: 15px/1.4 Arial, sans-serif;
}
.ff-carousel-stage:hover .ff-carousel-caption,
.ff-carousel-stage:focus-visible .ff-carousel-caption { opacity: 1; }
.ff-carousel-caption:empty { display: none; }
.ff-carousel-controls {
  display: flex; gap: 4px; position: absolute; top: 10px; right: 10px;
  opacity: 0; transition: opacity .15s;
}
.ff-carousel:hover .ff-carousel-controls, .ff-carousel:focus-within .ff-carousel-controls { opacity: 1; }
.ff-carousel-controls button, .ff-dialog button {
  width: 40px; height: 40px; background: rgb(0 0 0 / 78%); color: white;
  border: 1px solid rgb(255 255 255 / 65%); border-radius: 3px;
  font: 23px/1 Arial, sans-serif; cursor: pointer;
}
.ff-thumbnails {
  display: flex; flex: 0 0 auto; gap: 5px; padding: 5px 0;
  overflow-x: auto; scrollbar-width: thin;
}
.ff-thumbnails button {
  flex: 0 0 66px; height: 48px; border: 2px solid transparent;
  padding: 0; background: transparent; cursor: pointer;
}
.ff-thumbnails button[aria-pressed="true"] { border-color: #1d70a7; }
.ff-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.ff-video-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, var(--ff-width, 940px)); gap: 10px; margin-inline: auto;
  height: auto !important; min-height: 0 !important;
  align-items: center;
}
.ff-video-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.ff-video-card {
  display: block; position: relative; width: 100%; overflow: hidden;
  aspect-ratio: var(--ff-ratio, 16 / 9); color: white;
  background: #141414; text-decoration: none; cursor: pointer;
}
.ff-video-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ff-play {
  position: absolute; top: 50%; left: 50%; translate: -50% -50%;
  display: grid; place-items: center; width: 54px; height: 38px;
  color: white; background: rgb(0 0 0 / 75%); border-radius: 7px;
  font: 20px/1 Arial, sans-serif;
}
.ff-video-title {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgb(0 0 0 / 75%); color: white; padding: 7px 10px;
  opacity: 0; transition: opacity .15s; font: 14px/1.4 Arial, sans-serif;
}
.ff-video-card:hover .ff-video-title, .ff-video-card:focus-visible .ff-video-title { opacity: 1; }
.ff-video-description { padding: 10px; overflow-wrap: anywhere; font: 16px/1.4 "Freebird Lato", Arial, sans-serif; }
.ff-video-description ul { list-style: disc; padding-inline-start: 22px; }
.ff-dialog {
  box-sizing: border-box; width: min(94vw, 1050px); max-height: 94dvh;
  overflow: auto; border: 0; padding: 15px; color: #fff; background: #171717;
  font: 16px/1.45 Arial, sans-serif; text-align: center;
}
.ff-dialog::backdrop { background: rgb(0 0 0 / 82%); }
.ff-dialog-bar { display: flex; gap: 6px; justify-content: flex-end; margin-bottom: 10px; }
.ff-dialog-photo { display: block; width: 100%; max-height: 72dvh; object-fit: contain; }
.ff-dialog iframe { display: block; border: 0; width: 100%; aspect-ratio: 16 / 9; }
.ff-dialog p { margin: 9px 0; white-space: pre-line; }
.ff-dialog a { color: #d1ecff; }
.ff-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ff-form-status { min-height: 0; margin-top: 8px; font: 15px/1.35 Arial, sans-serif; }
.ff-form-status:empty { display: none; }
.ff-form-status[data-error] { color: #9d1717; }
[data-ff-form] [type="submit"]:disabled { cursor: wait; }
.ff-mobile-nav [hidden] { display: none !important; }
.ff-mobile-nav { z-index: 1000 !important; }
.ff-menu-toggle {
  display: grid; place-items: center; width: 46px; height: 46px;
  color: #141414; background: transparent; border: 0; cursor: pointer;
  font: 25px/1 Arial, sans-serif;
}
.ff-mobile-nav #ff-mobile-links {
  display: grid; gap: 0; position: absolute; z-index: 1100; top: 50px; right: 0;
  width: 240px; max-height: 68dvh;
  overflow-y: auto; margin: 0; padding: 6px 0; list-style: none;
  background: white; color: #171717; box-shadow: 0 4px 20px rgb(0 0 0 / 22%);
}
.ff-mobile-nav #ff-mobile-links a {
  display: block; padding: 10px 14px; color: #171717; font: 16px/1.3 Arial, sans-serif;
  text-decoration: none;
}
.ff-mobile-nav #ff-mobile-links a[aria-current="page"] { font-weight: 700; }
@media (max-width: 980px) {
  body.device-mobile-optimized #SITE_CONTAINER { zoom: var(--ff-mobile-scale, 1); }
  .ff-video-grid { grid-template-columns: minmax(0, 1fr); }
  .ff-thumbnails button { flex-basis: 52px; height: 38px; }
  .ff-dialog { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ff-carousel-caption, .ff-carousel-controls, .ff-video-title { transition: none; }
}
.ff-dialog button[hidden],
[data-ff-desktop-nav] [data-index="__more__"] { display: none !important; }
.ff-challenge { width: min(94vw, 450px); }
.ff-challenge [data-widget] { min-height: 65px; }
.ff-video-mosaic { grid-column: 1 / -1; position: relative; }
.ff-video-mosaic > .ff-video-card { position: absolute; }
