/* Maxizo accessibility remediation layer */
.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100000;
  padding: 0.75rem 1rem;
  background: #ffffff;
  color: #111111;
  border: 3px solid #da2c46;
  border-radius: 0.25rem;
  font-weight: 700;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 3px !important;
}

#main-content:focus {
  outline: none;
}

.mobile-nav-toggler,
.mobile-menu .close-btn {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.mobile-menu[aria-hidden="true"] a,
.mobile-menu[aria-hidden="true"] button,
.mobile-menu[aria-hidden="true"] input,
.mobile-menu[aria-hidden="true"] select,
.mobile-menu[aria-hidden="true"] textarea,
.mobile-menu[aria-hidden="true"] [tabindex] {
  visibility: hidden;
}

.form-instructions {
  margin-bottom: 1rem;
}

.field-label {
  display: block;
  margin-bottom: 0.4rem;
  color: #222222;
  font-weight: 700;
}

.contact-style-two .field-label,
.contact-section .field-label {
  color: #ffffff;
}

.required-text {
  font-size: 0.9em;
  font-weight: 400;
}

.field-error,
.error-summary {
  color: #8b0000;
  background: #fff3f3;
  border-left: 4px solid #b00020;
  padding: 0.65rem 0.8rem;
  margin-top: 0.5rem;
}

.error-summary {
  margin-bottom: 1rem;
}

.form-status {
  margin-top: 1rem;
  font-weight: 700;
}

.carousel-a11y-controls {
  position: relative;
  z-index: 5;
  max-width: 1170px;
  margin: 0 auto;
  text-align: right;
}

.carousel-toggle {
  margin: 0.5rem;
  padding: 0.55rem 0.9rem;
  color: #ffffff;
  background: #173f63;
  border: 2px solid #ffffff;
  border-radius: 0.25rem;
  font-weight: 700;
}

.table-responsive-accessible {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table caption {
  padding: 0.6rem 0;
  color: #222222;
  font-weight: 700;
  text-align: left;
}

@media (max-width: 767px) {
  .main-footer .footer-column,
  .main-header .auto-container,
  main img {
    max-width: 100%;
  }

  main img {
    height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.link-placeholder { color: inherit; }

.share-toggle, .close-side-widget, .notice-close { border: 0; background: transparent; cursor: pointer; }

.mobile-menu[aria-hidden="true"] { display: none !important; }
.mobile-menu[aria-hidden="false"] { display: block; }
.mobile-menu .menu-box { max-width: 100vw; }
/* Prevent carousel internals from widening the document viewport. */
.banner-section,
.banner-carousel,
.banner-carousel .owl-stage-outer,
.owl-carousel .owl-stage-outer {
  max-width: 100%;
  overflow: hidden;
}

/* Reflow desktop map pins into readable cards on narrow screens. */
@media (max-width: 767px) {
  .world-cyber .office-location .location-area {
    display: grid;
    gap: 1rem;
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .world-cyber .office-location .location-area .location-box,
  .world-cyber .office-location .location-area .address-box {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
}

/* Reflow safeguards for long addresses and legacy grid/animation templates. */
a[href^="mailto:"] {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 767px) {
  main .row {
    margin-right: 0;
    margin-left: 0;
  }

  body {
    overflow-x: clip;
  }
}

/* Contain decorative legacy animations and carousel tracks without clipping reflowing content. */
html, body {
  max-width: 100%;
  overflow-x: clip;
}


/* WCAG AA contrast corrections identified during the internal audit. */
.main-footer .link-placeholder {
  color: #d6dde4 !important;
}

.blog-details-content .text a,
.other-stock-exchange-page .text a {
  color: #0056b3;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.support-section .field-label,
.support-section .form-instructions,
.support-section .required-text {
  color: #ffffff;
}

.support-section .inner-container .info-inner .info-box {
  background: #087552;
}

.main-footer table td,
.main-footer table th,
.main-footer table strong {
  color: #ffffff;
}


/* Keep keyboard-focused content clear of sticky navigation. */
#main-content,
:target,
a, button, input, select, textarea, [tabindex] {
  scroll-margin-top: 7rem;
}


/* Static investor notices replace inaccessible auto-scrolling marquee content. */
.investor-notices {
  color: #fff;
  padding: 1rem 0;
}

.investor-notices ol {
  margin: 0;
  padding-left: 1.5rem;
}

.investor-notices li + li {
  margin-top: 0.75rem;
}

.investor-document-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0.75rem 0;
}

.investor-document-links a,
.document-meta {
  color: inherit;
}

.document-meta {
  font-size: 0.9em;
}

@media (max-width: 767px) {
  .investor-document-links ul {
    display: block;
  }

  .investor-document-links li + li {
    margin-top: 0.75rem;
  }
}