.ifcs-country-banner {
  --ifcs-flag-cell: 128px;
  --ifcs-flag-gap: 24px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  padding: 25px 0 27px;
  color: #fff;
  background: radial-gradient(ellipse at 75% 0, #174771 0, transparent 65%), linear-gradient(105deg, #051b32, #0b2b4b);
  border-block: 1px solid #c29b5055;
  isolation: isolate;
}
.ifcs-country-banner *, .ifcs-country-banner *::before, .ifcs-country-banner *::after { box-sizing: border-box; }
.ifcs-country-banner .ifcs-country-banner-heading {
  width: min(100%, 1480px);
  padding-inline: clamp(20px, 4vw, 68px);
  margin: 0 auto 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.ifcs-country-banner .ifcs-country-banner-eyebrow {
  margin: 0 0 7px;
  color: #ebc66e;
  font: 600 10px/1.3 Arial, sans-serif;
  letter-spacing: .22em;
}
.ifcs-country-banner h2 { margin: 0; color: #fff; font: 500 clamp(18px, 1.7vw, 25px)/1.25 Georgia, serif; }
.ifcs-country-banner .ifcs-country-banner-pause {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  min-width: 112px;
  border: 1px solid #d0ddeb70;
  border-radius: 24px;
  background: #ffffff0c;
  color: #fff;
  padding: 8px 17px;
  font: 600 12px/1.3 Arial, sans-serif;
  cursor: pointer;
}
.ifcs-country-banner .ifcs-country-banner-pause[hidden] { display: none; }
.ifcs-country-banner .ifcs-country-banner-pause:hover { background: #ffffff20; border-color: #e5c375; }
.ifcs-country-banner .ifcs-country-banner-pause:focus-visible,
.ifcs-country-banner .ifcs-country-banner-viewport:focus-visible { outline: 2px solid #f2c866; outline-offset: -3px; }
.ifcs-country-banner .ifcs-country-banner-viewport {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  direction: ltr;
  scrollbar-color: #e3bc66 #142f4a;
  scrollbar-width: thin;
}
.ifcs-country-banner .ifcs-country-banner-track {
  display: flex;
  width: max-content;
  animation: ifcs-country-flags-right 950s linear infinite;
  will-change: transform;
}
.ifcs-country-banner .ifcs-country-banner-group {
  display: flex;
  flex: 0 0 auto;
  align-items: start;
  gap: var(--ifcs-flag-gap);
  padding: 0 var(--ifcs-flag-gap) 0 0;
  margin: 0;
  list-style: none;
}
.ifcs-country-banner .ifcs-country-banner-item {
  width: var(--ifcs-flag-cell);
  flex: 0 0 var(--ifcs-flag-cell);
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
  text-align: center;
  color: #ecf3fc;
  font: 500 12px/1.35 Arial, sans-serif;
  letter-spacing: .015em;
}
.ifcs-country-banner .ifcs-country-banner-item span { max-width: 100%; overflow-wrap: break-word; }
.ifcs-country-banner .ifcs-country-banner-flag {
  width: 72px;
  height: 54px;
  object-fit: contain;
  border-radius: 3px;
  box-shadow: 0 5px 16px #00000040;
  outline: 1px solid #ffffff22;
  outline-offset: -1px;
}
@keyframes ifcs-country-flags-right { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
.ifcs-country-banner:is(:hover, :focus-within, [data-paused="true"], [data-offscreen="true"], [data-hidden-document="true"]) .ifcs-country-banner-track { animation-play-state: paused; }
.ifcs-country-banner[data-reduced-motion="true"] .ifcs-country-banner-track { animation: none; transform: none; will-change: auto; }
.ifcs-country-banner[data-reduced-motion="true"] .ifcs-country-banner-duplicate { display: none; }
.ifcs-country-banner[data-reduced-motion="true"] .ifcs-country-banner-viewport { overflow-x: auto; padding-bottom: 14px; }
@media (prefers-reduced-motion: reduce) {
  .ifcs-country-banner .ifcs-country-banner-track { animation: none; transform: none; will-change: auto; }
  .ifcs-country-banner .ifcs-country-banner-duplicate, .ifcs-country-banner .ifcs-country-banner-pause { display: none; }
  .ifcs-country-banner .ifcs-country-banner-viewport { overflow-x: auto; padding-bottom: 14px; }
}
@media (max-width: 640px) {
  .ifcs-country-banner { padding-block: 21px; --ifcs-flag-cell: 110px; --ifcs-flag-gap: 18px; }
  .ifcs-country-banner .ifcs-country-banner-heading { gap: 10px; margin-bottom: 20px; padding-inline: 17px; }
  .ifcs-country-banner .ifcs-country-banner-eyebrow { font-size: 8px; letter-spacing: .13em; }
  .ifcs-country-banner h2 { font-size: 18px; max-width: 240px; }
  .ifcs-country-banner .ifcs-country-banner-pause { min-width: 92px; min-height: 40px; padding-inline: 11px; font-size: 11px; }
  .ifcs-country-banner .ifcs-country-banner-item { font-size: 11px; }
}
