/**
 * MaritimeNZ Main Stylesheet
 * 
 * This is the main LESS file that compiles to main.css
 * Organized using component-based architecture
 * 
 * LAST UPDATED: 26/02/2026
 */
/**
 * Roboto Font - Self-Hosted
 * 
 * Self-hosted Roboto font as specified in Figma Design System
 * Weights: 400 (Regular), 500 (Medium), 600 (SemiBold), 700 (Bold)
 * License: Apache License 2.0
 * 
 * Source: https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System
 */
/* Roboto Regular (400) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/roboto-regular.woff2') format('woff2'), url('/fonts/roboto-regular.ttf') format('truetype');
}
/* Roboto Medium (500) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/roboto-medium.woff2') format('woff2'), url('/fonts/roboto-medium.ttf') format('truetype');
}
/* Roboto SemiBold (600) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/roboto-semibold.woff2') format('woff2'), url('/fonts/roboto-semibold.ttf') format('truetype');
}
/* Roboto Bold (700) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/roboto-bold.woff2') format('woff2'), url('/fonts/roboto-bold.ttf') format('truetype');
}
/**
 * MaritimeNZ Design System - Color Tokens
 * 
 *  
 * LAST UPDATED: 19/01/2026
 */
/**
 * MaritimeNZ Design System - Design Tokens
 * 
 * 
 * LAST UPDATED: 16/01/2026
 */
/**
 * Typography Mixins
 * 
 * Reusable mixins for typography styles (headings, body text, etc.)
 * These mixins are used across components to ensure consistency.
 *
 * Heading mixins: mobile-first â€” `*-mobile` tokens below @grid-breakpoint (768px),
 * desktop/tablet tokens from @grid-breakpoint up (matches _variables.less).
 * 
 * LAST UPDATED: 12/03/2026
 */
/**
 * Custom SVG Icons from Figma Design System
 * 
 * Icon sizes (matching design system):
 *   .icon-xs  - 16px (extra small)
 *   .icon-sm  - 20px (small)
 *   .icon-md  - 24px (medium/default)
 *   .icon-lg  - 32px (large)
 *   .icon-xl  - 48px (extra large)
 */
 /*
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon.icon-xs {
  width: 16px;
  height: 16px;
}
.icon.icon-sm {
  width: 20px;
  height: 20px;
}
.icon.icon-md {
  width: 24px;
  height: 24px;
}
.icon.icon-lg {
  width: 32px;
  height: 32px;
}
.icon.icon-xl {
  width: 48px;
  height: 48px;
}
.icon-primary {
  color: #002e56;
}
.icon-secondary {
  color: #0089cf;
}
.icon-success {
  color: #007240;
}
.icon-error,
.icon-danger {
  color: #dc3545;
}
.icon-warning {
  color: #ffcc00;
}
.icon-info {
  color: #0068f0;
}
.icon-align-top {
  vertical-align: top;
}
.icon-align-middle {
  vertical-align: middle;
}
.icon-align-bottom {
  vertical-align: bottom;
}
.icon-align-text-top {
  vertical-align: text-top;
}
.icon-align-text-bottom {
  vertical-align: text-bottom;
}
.icon-mr-1 {
  margin-right: 0.25rem;
}
.icon-mr-2 {
  margin-right: 0.5rem;
}
.icon-mr-3 {
  margin-right: 0.75rem;
}
.icon-mr-4 {
  margin-right: 1rem;
}
.icon-ml-1 {
  margin-left: 0.25rem;
}
.icon-ml-2 {
  margin-left: 0.5rem;
}
.icon-ml-3 {
  margin-left: 0.75rem;
}
.icon-ml-4 {
  margin-left: 1rem;
}
.icon-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.icon-inline .icon {
  flex-shrink: 0;
}
.btn .icon {
  margin-right: 0.5rem;
}
.btn .icon:last-child:not(:first-child) {
  margin-right: 0;
  margin-left: 0.5rem;
}
.btn .icon:only-child {
  margin: 0;
}
a:not(.btn) .icon {
  transition: transform 0.2s ease;
}
a:not(.btn):hover .icon {
  transform: translateX(2px);
}

.icon-spin {
  animation: icon-spin 1s linear infinite;
}
@keyframes icon-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.icon-pulse {
  animation: icon-pulse 2s ease-in-out infinite;
}
@keyframes icon-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
*/


html, body {
  overflow-x: clip;
}

/**
 * MaritimeNZ Top Navigation
 * Two-row header with utility bar + primary nav, mega menu
 * Content width: max 1224px, centered, 80px side padding (desktop)
 */
.mnz-header {
  background: #ffffff;
  border-top: 1px solid #cdd2e1;
  border-bottom: 1px solid #cdd2e1;
}
.mnz-header__mobile-top {
  display: none;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  padding: 0.75rem 24px;
  background: #e6eaee;
  min-height: 2.5rem;
}
@media (max-width: 767px) {
  .mnz-header__mobile-top {
    display: flex;
  }
}
.mnz-header__mobile-top-link {
  color: #002a4e;
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}
.mnz-header__mobile-top-link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.mnz-header__utility-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1384px;
  margin: 0 auto;
  padding: 1rem 1.5rem 1.25rem;
  min-height: 3.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__utility-bar {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media (min-width: 992px) {
  .mnz-header__utility-bar {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (max-width: 767px) {
  .mnz-header__utility-bar {
    padding: 1rem 24px 1.25rem;
    padding-right: 1.25rem;
    gap: 1.25rem;
  }
}
.mnz-header__logo {
  flex-shrink: 0;
}
.mnz-header__logo img {
  max-height: 2.5rem;
  width: auto;
}
.mnz-header__utility-nav {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 2rem;
}
@media (min-width: 768px) {
  .mnz-header__utility-nav {
    gap: 1.5rem;
  }
}
.mnz-header__utility-link {
  font-size: 1rem;
  font-weight: 400;
  color: #002e56;
  text-decoration: none;
  white-space: nowrap;
}
.mnz-header__utility-link:hover {
  color: #027bb8;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .mnz-header:has(.mnz-header__search.is-open) {
    position: relative;
    z-index: 1061;
  }
}
.mnz-header__search {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__search.is-open {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-self: stretch;
  }
  .mnz-header__search.is-open .mnz-header__search-form {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    gap: 1rem;
    display: flex !important;
  }
  .mnz-header__search.is-open .mnz-header__search-box {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}
.mnz-header__search-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  color: #002a4e;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.mnz-header__search-trigger .mnz-header__search-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  background-color: currentColor;
  mask-image: url('/icons/icon-search.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/icon-search.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.mnz-header__search-trigger:hover {
  color: #0089cf;
}
.mnz-header__search-trigger:focus {
  outline: none;
}
.mnz-header__search-trigger:focus-visible {
  outline: 2px solid #0089cf;
  outline-offset: 2px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__search-trigger {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
  }
}
.mnz-header__search.is-open .mnz-header__search-trigger {
  display: none !important;
}
@media (max-width: 767px) {
  .mnz-header__search-trigger {
    width: 2.25rem;
    height: 2.25rem;
  }
  .mnz-header__search-trigger .mnz-header__search-icon {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.mnz-header__search-form {
  display: none;
  align-items: center;
  flex: 1;
  min-width: 12.5rem;
  max-width: 24.125rem;
  min-height: 3rem;
  gap: 0.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__search-form {
    max-width: none;
  }
}
@media (min-width: 992px) {
  .mnz-header__search-form {
    flex: 0 0 24.125rem;
    width: 24.125rem;
    min-width: 24.125rem;
    max-width: 24.125rem;
  }
}
.mnz-header__search-form[hidden] {
  display: none !important;
}
.mnz-header__search-form.is-open {
  display: flex;
}
@media (max-width: 767px) {
  .mnz-header__search.is-open {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    background: #ffffff;
    padding: 0;
  }
  .mnz-header__search.is-open .mnz-header__search-form {
    display: flex !important;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    padding: 1rem;
    gap: 1rem;
    align-items: center;
    border-bottom: 1px solid #cdd2e1;
    background: #ffffff;
    min-width: 0;
    max-width: none;
    height: auto;
  }
  .mnz-header__search.is-open .mnz-header__search-form .mnz-header__search-close {
    order: -1;
    flex-shrink: 0;
  }
  .mnz-header__search.is-open .mnz-header__search-form .mnz-header__search-close .mnz-header__search-close-icon {
    background-color: currentColor;
    mask-image: url('/icons/icon-arrow-left.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/icon-arrow-left.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .mnz-header__search.is-open .mnz-header__search-form .mnz-header__search-box {
    order: 0;
    flex: 1;
    min-width: 0;
  }
  .mnz-header__search.is-open .mnz-header__search-form .mnz-header__search-audio {
    order: 1;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
  }
  .mnz-header__search.is-open .mnz-header__search-form .mnz-header__search-audio .mnz-header__search-audio-icon {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.mnz-header__search-box {
  display: flex;
  align-items: stretch;
  flex: 1;
  min-width: 0;
  min-height: 3rem;
  box-sizing: border-box;
  border: 1px solid #cdd2e1;
  border-radius: 6px;
  background: #ffffff;
  overflow: visible;
  position: relative;
}
.mnz-header__search-box:focus-within {
  border-color: #0068f0;
  z-index: 2;
}
.mnz-header__search-box:focus-within .mnz-header__search-submit {
  color: #0068f0;
}
.mnz-header__search-input {
  flex: 1;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  padding: 0.75rem 1rem !important;
  border: none !important;
  background: transparent;
  font-size: 1rem !important;
  color: #002e56 !important;
}
.mnz-header__search-input::placeholder {
  color: #747e96;
}
.mnz-header__search-input:focus {
  outline: none;
}
.mnz-header__search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  align-self: stretch;
  padding: 0;
  border: none;
  background: transparent;
  color: #6e6e6e;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.mnz-header__search-submit:hover {
  color: #0089cf;
}
.mnz-header__search-submit .mnz-header__search-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url('/icons/icon-search.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/icon-search.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.mnz-header__search-audio,
.mnz-header__search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #6e6e6e;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
}
.mnz-header__search-audio:hover,
.mnz-header__search-close:hover {
  color: #0089cf;
}
.mnz-header__search-audio .mnz-header__search-audio-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url('/icons/microphone.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/microphone.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.mnz-header__search-close .mnz-header__search-close-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url('/icons/icon-close.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/icon-close.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
@media (min-width: 992px) {
  .mnz-header__search-close {
    display: none !important;
  }
}
.mnz-header__notify-btn {
  gap: 0.5rem;
  color: #c8303f;
  border-color: #c8303f;
}
.mnz-header__notify-btn.btn-secondary.btn-alert:hover:not(:disabled):not(.btn-disabled) {
  border: 1px solid #c8303f;
}
.mnz-header__notify-btn .notify-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.mnz-header__notify-btn--desktop {
  margin: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header:has(.mnz-header__search.is-open) .mnz-header__utility-link--desktop,
  .mnz-header:has(.mnz-header__search.is-open) .mnz-header__notify-btn--desktop {
    display: none !important;
  }
  .mnz-header:has(.mnz-header__search.is-open) .mnz-header__utility-nav {
    flex: 1 1 0;
    min-width: 0;
    margin-left: 0;
    gap: 1.5rem;
  }
  .mnz-header:has(.mnz-header__search.is-open) .mnz-header__utility-bar {
    gap: 2rem;
    justify-content: flex-start;
  }
}
.mnz-header__nav-bar {
  width: 100%;
  max-width: 1384px;
  margin: 0 auto;
}
.mnz-header__nav-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 0 1.5rem;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__nav-inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header:has(.dropdown-menu.show) .mnz-header__nav-inner {
    padding-bottom: 0;
  }
}
@media (min-width: 992px) {
  .mnz-header__nav-inner {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (max-width: 767px) {
  .mnz-header__nav-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
  }
}
.mnz-header__nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: stretch;
  justify-content: space-between;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__nav-list {
    align-items: flex-start;
  }
  .mnz-header:has(.mnz-header__nav-item--short.dropdown:has(.dropdown-menu.show)) .mnz-header__nav-list {
    gap: 2.5rem;
  }
}
.mnz-header__nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 2.9375rem;
  position: relative;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__nav-item {
    width: 120px;
    gap: 1.25rem;
  }
}
.mnz-header__nav-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  height: 2.9375rem;
  gap: 1.25rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 500;
  color: #002e56;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__nav-link {
    width: 120px;
    white-space: normal;
    text-align: center;
  }
}
.mnz-header__nav-link::after {
  display: none !important;
  border: none;
}
.mnz-header__nav-link:hover {
  color: #0089cf;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  text-decoration-color: #0089cf;
}
.mnz-header__nav-link.show,
.mnz-header__nav-link.active,
.mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link {
  height: auto;
  gap: 1rem;
  color: #002e56;
  text-decoration: none;
  font-weight: 500;
}
.mnz-header__nav-link.show::after,
.mnz-header__nav-link.active::after,
.mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link::after {
  content: '';
  display: block !important;
  align-self: stretch;
  height: 0.5rem;
  flex-shrink: 0;
  background: #0089cf;
  border: none;
  border-radius: 0.5rem 0.5rem 0 0;
  margin-left: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-header__nav-item--short.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link.show,
  .mnz-header__nav-item--short.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link.active,
  .mnz-header__nav-item--short.dropdown:has(.dropdown-menu.show) .mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link {
    gap: 2.5rem;
  }
}
@media (max-width: 767px) {
  .mnz-header__nav-link.show::after,
  .mnz-header__nav-link.active::after,
  .mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link::after {
    display: none !important;
  }
}
.mnz-header__nav-link.show:hover,
.mnz-header__nav-link.active:hover,
.mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link:hover {
  text-decoration: none;
}
.mnz-header__nav-link-text {
  color: #002e56;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
}
.mnz-header__nav-link.active .mnz-header__nav-link-text,
.mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link .mnz-header__nav-link-text {
  color: #027bb8;
  font-weight: 700;
}
@media (max-width: 767px) {
  .mnz-header__nav-link.active .mnz-header__nav-link-text,
  .mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link .mnz-header__nav-link-text {
    color: #002e56;
  }
}
.mnz-header__menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  background: none;
  border: none;
  color: #002e56;
  cursor: pointer;
  transition: all 0.15s ease;
}
.mnz-header__menu-toggle:hover {
  color: #002e56;
}
.mnz-header__menu-toggle:focus-visible {
  outline: 2px solid #0089cf;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .mnz-header__menu-toggle {
    display: flex;
    width: 2.25rem;
    height: 2.25rem;
  }
  .mnz-header__menu-toggle .mnz-header__menu-toggle-icon {
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    background-color: currentColor;
    mask-image: url('/icons/icon-hamburger.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/icon-hamburger.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .mnz-header__menu-toggle[aria-expanded="true"] {
    color: #002e56;
  }
  .mnz-header__menu-toggle[aria-expanded="true"] .mnz-header__menu-toggle-icon {
    background-color: currentColor;
    mask-image: url('/icons/icon-close.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/icon-close.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
}
.mnz-header__menu-toggle-icon {
  display: none;
}
@media (min-width: 768px) {
  .mnz-header__nav-list {
    flex-direction: row !important;
    flex-wrap: nowrap;
  }
}
@media (max-width: 767px) {
  .mnz-header:has(.mnz-header__nav-bar.collapse.show) {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    height: 100dvh;
    z-index: 1050;
    overflow: hidden;
    background: #ffffff;
  }
  body:has(.mnz-header .mnz-header__nav-bar.collapse.show) {
    overflow: hidden;
  }
  .mnz-header__nav-bar.collapse.show {
    flex: 1 1 0;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column;
    background: #ffffff;
    overflow: hidden;
  }
  .mnz-header__nav-bar.collapse.show .mnz-header__nav-inner {
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .mnz-header__nav-bar.collapse.show .mnz-header__nav-list {
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
  }
  .mnz-header__nav-bar.collapse.show .mnz-header__nav-mobile-footer {
    flex-shrink: 0;
  }
  .mnz-header__utility-link--desktop,
  .mnz-header__notify-btn--desktop {
    display: none !important;
  }
  .mnz-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
  }
  .mnz-header__nav-item {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    border-bottom: none;
  }
  .mnz-header__nav-bar.collapse.show .mnz-header__nav-item {
    flex: 0 0 auto;
    width: 100%;
  }
  .mnz-header__nav-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 3.9375rem;
    padding: 1.25rem 1.5rem;
    gap: 0.5rem;
    text-align: left;
    font-weight: 400;
    border-top: 1px solid #b0daf0;
    background: #ffffff;
  }
  .mnz-header__nav-link:hover {
    text-decoration: none;
  }
  .mnz-header__nav-link::after {
    display: none !important;
  }
  .mnz-header__nav-item.dropdown:has(.dropdown-menu.show) .mnz-header__nav-link {
    border-radius: var(--size-0, 0);
    border-top: 1px solid var(--Primary-MNZ_Blue-mnz-blue-100, #b0daf0);
    background: var(--Primary-MNZ_Blue-mnz-blue-50, #e6f3fa);
    display: flex;
    min-height: 3.9375rem;
    padding: 1.25rem 1.5rem;
    align-items: center;
    gap: 0.5rem;
  }
  .mnz-header__nav-link .mnz-header__nav-link-text {
    flex: 1;
    text-align: left;
  }
  .mnz-header__nav-link .mnz-header__nav-link-chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    color: #002e56;
    background-color: currentColor;
    mask-image: url('/icons/drop-down.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/drop-down.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    transition: transform all 0.15s ease, color all 0.15s ease;
  }
  .mnz-header__nav-link[aria-expanded="true"] .mnz-header__nav-link-chevron {
    transform: rotate(180deg);
    color: #027bb8;
  }
  .mnz-header__nav-item:last-child .mnz-header__nav-link {
    border-bottom: 1px solid #b0daf0;
  }
  .mnz-header__nav-item:not(.dropdown) .mnz-header__nav-link-chevron {
    display: none;
  }
  .mnz-header__nav-item.dropdown .dropdown-menu {
    position: static !important;
    float: none;
    width: 100%;
    margin: 0;
    border: none;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }
  .mnz-header__nav-mobile-footer {
    display: block;
    flex-shrink: 0;
    padding: 1.5rem;
    border-top: 1px solid #cdd2e1;
    background: #ffffff;
    position: sticky;
    bottom: 0;
    z-index: 1;
  }
  .mnz-header__notify-btn--mobile {
    display: flex !important;
    width: 100%;
    justify-content: center;
    min-height: 3rem;
  }
  .mnz-header__nav-bar.collapse:not(.show) .mnz-header__nav-inner {
    display: none;
  }
}
@media (min-width: 768px) {
  .mnz-header__nav-link-chevron,
  .mnz-header__nav-mobile-footer,
  .mnz-header__notify-btn--mobile {
    display: none !important;
  }
}
.mnz-megamenu {
  position: absolute;
  left: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  top: 100%;
  background: #ffffff;
  z-index: 1000;
  padding: 0;
}
@media (max-width: 767px) {
  .mnz-megamenu {
    position: static !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
  }
}
.mnz-megamenu__inner {
  max-width: 1384px;
  margin: 0 auto;
  padding: 0;
  padding-bottom: 5rem;
}
@media (max-width: 767px) {
  .mnz-megamenu__inner {
    padding-bottom: 0;
  }
}
@media (min-width: 768px) {
  .mnz-megamenu__inner {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.mnz-megamenu__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 4rem 0 1.5rem;
  background: #ffffff;
}
.mnz-megamenu__header .mega-close-button {
  margin-left: auto;
}
@media (max-width: 767px) {
  .mnz-megamenu__header {
    display: none;
  }
}
.mnz-megamenu__title {
  color: #002e56;
  font-family: 'Roboto', sans-serif;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  position: relative;
  padding-top: 16px;
}
.mnz-megamenu__title::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 104px;
  height: 0.25rem;
  background: linear-gradient(90deg, #009a95 0%, #002e56 100%);
  border-radius: 2px;
}
.mnz-megamenu__title a {
  color: inherit;
  text-decoration: none;
}
.mnz-megamenu__title a:hover {
  color: #0089cf;
}
.mnz-megamenu__close {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.75rem;
  gap: 0.625rem;
  background: #ffffff;
  border: 1px solid #002e56;
  border-radius: 0.5rem;
  color: #002e56;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .mnz-megamenu__close {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mnz-megamenu__close:hover {
  background: #f7fbfe;
  border-color: #0089cf;
  color: #0089cf;
}
.mnz-megamenu__close:focus-visible {
  outline: none;
  border: 2px solid #0068f0;
  background: #ffffff;
}
.mnz-megamenu__close .mnz-megamenu__close-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  background-color: currentColor;
  mask-image: url('/icons/icon-close.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/icon-close.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.mnz-megamenu__content {
  padding: 1.5rem 0;
}
@media (max-width: 767px) {
  .mnz-megamenu__content {
    padding: 0;
  }
}
.mnz-megamenu__section:not(:first-child) {
  border-top: 1px solid #8ac9e9;
  padding-top: 2.5rem;
  margin-top: 2.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-megamenu__section:not(:first-child) {
    border-top: 1px solid #8ac9e9;
  }
}
@media (max-width: 767px) {
  .mnz-megamenu__section:not(:first-child) {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
    border-bottom: 1px solid var(--Primary-MNZ_Blue-mnz-blue-50, #e6f3fa);
    background: var(--Primary-MNZ_Blue-mnz-blue-5, #f7fbfe);
  }
}
.mnz-megamenu__columns {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  gap: 1.5rem 2.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .mnz-megamenu__columns {
    grid-template-columns: repeat(2, 1fr);
  }
  .mnz-megamenu__columns:has(.mnz-megamenu__column:nth-child(3))::before {
    content: '';
    grid-column: 1 / -1;
    grid-row: 2;
    border-top: 1px solid #8ac9e9;
    padding-top: 1.5rem;
  }
}
@media (min-width: 992px) {
  .mnz-megamenu__columns {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767px) {
  .mnz-megamenu__columns {
    display: block;
    gap: 0;
  }
}
.mnz-megamenu__column {
  min-width: 0;
}
@media (max-width: 767px) {
  .mnz-megamenu__column {
    padding: 0;
    border-bottom: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
    padding: 1rem 3rem 1rem 1.5rem;
    border-bottom: 1px solid var(--Primary-MNZ_Blue-mnz-blue-50, #e6f3fa);
    background: var(--Primary-MNZ_Blue-mnz-blue-5, #f7fbfe);
  }
  .mnz-megamenu__column:has(.mnz-megamenu__heading-chevron-btn[aria-expanded="true"]) {
    padding: 0 3rem 0 1.5rem;
  }
}
.mnz-megamenu__heading {
  font-size: 1rem;
  font-weight: 700;
  color: #002e56;
  margin: 0 0 1.5rem;
  display: block;
}
.mnz-megamenu__heading a {
  color: inherit;
  text-decoration: none;
}
.mnz-megamenu__heading a:hover {
  color: #0089cf;
}
@media (max-width: 767px) {
  .mnz-megamenu__heading {
    margin: 0;
    color: #002e56;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
    padding: 0;
    min-height: auto;
    border: none;
    background: transparent;
  }
  .mnz-megamenu__heading a {
    display: block;
    padding: 0;
  }
  .mnz-megamenu__heading.is-active,
  .mnz-megamenu__heading:has(.mnz-megamenu__heading-chevron-btn[aria-expanded="true"]) {
    display: flex;
    min-height: 3.9375rem;
    margin-left: -1.5rem;
    margin-right: calc(-1 * 3rem);
    width: calc(100% + 1.5rem + 3rem);
    padding: 1rem 3rem 1rem 1.5rem;
    align-items: center;
    gap: 0.5rem;
    color: #002a4e;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25;
    border-radius: var(--size-0, 0);
    border-top: 1px solid var(--Primary-MNZ_Blue-mnz-blue-100, #b0daf0);
    background: var(--Primary-MNZ_Blue-mnz-blue-5, #f7fbfe);
  }
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem;
  }
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle .mnz-megamenu__heading-link,
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle .mnz-megamenu__heading-text {
    flex: 1 1 auto;
    min-width: 0;
  }
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle .mnz-megamenu__heading-chevron-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
    color: inherit;
  }
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle .mnz-megamenu__heading-chevron {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    color: #002e56;
    background-color: currentColor;
    mask-image: url('/icons/drop-down.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/drop-down.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    transition: transform all 0.15s ease, color all 0.15s ease;
  }
  .mnz-megamenu__heading.mnz-megamenu__heading--toggle .mnz-megamenu__heading-chevron-btn[aria-expanded="true"] .mnz-megamenu__heading-chevron {
    transform: rotate(180deg);
    color: #027bb8;
  }
}
@media (min-width: 768px) {
  .mnz-megamenu .mnz-megamenu__heading-chevron-btn {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .mnz-megamenu__l2-collapse {
    transition: none !important;
  }
  .mnz-megamenu__l2-collapse.collapse.show {
    width: 100%;
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .mnz-megamenu__l2-collapse.collapse {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
  }
}
.mnz-megamenu__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .mnz-megamenu__links {
    padding: 0;
    width: 100%;
  }
}
.mnz-megamenu__link-item {
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  .mnz-megamenu__link-item {
    margin-bottom: 0;
    margin-left: -1.5rem;
    margin-right: calc(-1 * 3rem);
    width: calc(100% + 1.5rem + 3rem);
    border-bottom: 1px solid var(--Primary-MNZ_Blue-mnz-blue-50, #e6f3fa);
    background: var(--System-system-grey-0-white, #ffffff);
    transition: none;
  }
}
.mnz-megamenu__link {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 400;
  color: #002e56;
  text-decoration: none;
}
.mnz-megamenu__link:hover {
  color: #0089cf;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .mnz-megamenu__link {
    display: flex;
    min-height: 3rem;
    padding: 1rem 4rem 1rem 2rem;
    align-items: center;
    gap: 0.625rem;
    color: #6e6e6e;
    font-family: 'Roboto', sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    background: transparent;
  }
  .mnz-megamenu__link:hover {
    color: #0089cf;
    text-decoration: none;
  }
  .mnz-megamenu__link::after {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .mnz-megamenu__link::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    margin-left: auto;
    background-color: currentColor;
    mask-image: url('/icons/icon-arrow-right.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('/icons/icon-arrow-right.svg');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
}
.mnz-header__nav-item.dropdown .dropdown-menu {
  padding: 0;
  border: none;
  border-radius: 0;
}
@media (min-width: 768px) {
  .mnz-header__nav-item.dropdown .dropdown-menu.mnz-megamenu.show {
    border-bottom: 1px solid var(--Primary-MNZ_Blue-mnz-blue-100, #b0daf0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
}
.mnz-print-logo {
  display: none;
}
@media print {
  .mnz-header {
    border: none;
    background: transparent;
  }
  .print-only {
    display: block !important;
    text-align: left;
  }
  .mnz-print-logo {
    display: block !important;
    max-width: 40%;
    height: auto;
    margin: 1rem 0 10pt 0;
  }
  .mnz-header__mobile-top,
  .mnz-header__utility-bar,
  .mnz-header__utility-nav,
  .mnz-header__nav-bar,
  .mnz-megamenu {
    display: none !important;
  }
}
/**
 * Breadcrumbs Component Styles
 * 
 * Based on MNZ Design System Figma specification
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=1-655
 * 
 * Uses Tabler Icons (ti-chevron-right) for separators
 * 
 * LAST UPDATED: 23/01/2026
 */
.breadcrumbs-container {
  width: 100%;
  padding: 1rem 0;
}
.breadcrumbs {
  max-width: 1384px;
  margin: 0 auto;
}
.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs__item {
  display: flex;
  align-items: center;
}
.breadcrumbs__link {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  text-decoration: none;
  padding: 0.25rem 0;
  border-radius: 0.5rem;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.breadcrumbs__link:hover,
.breadcrumbs__link:focus {
  color: #027bb8;
  text-decoration: none;
}
.breadcrumbs__link:focus {
  outline: none;
}
.breadcrumbs__separator {
  display: flex;
  align-items: center;
  color: #747e96;
  margin: 0;
}
.breadcrumbs__icon {
  font-size: 1.25rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
}
.breadcrumbs__truncation {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  padding: 0.25rem 0;
}
.breadcrumbs__current {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  padding: 0.25rem 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .breadcrumbs__item--hide-mobile,
  .breadcrumbs__separator--hide-mobile {
    display: none;
  }
  .breadcrumbs__item--truncated,
  .breadcrumbs__separator--truncated {
    display: flex;
  }
}
@media (min-width: 768px) {
  .breadcrumbs__item--truncated,
  .breadcrumbs__separator--truncated {
    display: none;
  }
}
.text-page-layout .breadcrumbs-container {
  padding-bottom: 1.375rem;
}
.text-page-layout.news-media-page-layout .breadcrumbs-container {
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .text-page-layout.news-media-page-layout .breadcrumbs-container {
    padding-bottom: 3rem;
  }
}
.section-landing-page-layout .breadcrumbs-container {
  padding-top: 3rem;
  padding-bottom: 22px;
}
@media (max-width: 767px) {
  .section-landing-page-layout .breadcrumbs-container {
    padding-top: 1.5rem;
    padding-bottom: 1.25rem;
  }
}
.breadcrumb-panel .breadcrumbs-container {
  padding: 0;
}
.breadcrumb-panel-mymnz .breadcrumbs-container {
  padding: 0;
}
/**
 * Accordion Component Styles
 * 
 * Based on Figma Design System
 * Uses Bootstrap 5 accordion structure with custom MNZ styling
 * 
 * LAST UPDATED: 22/01/2026
 */
/*  *****ACCORDION STYLES*****    */
.accordion {
  margin-bottom: 1.5rem;
}
.accordion-item {
  background-color: #e6f3fa;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  transition: all 0.15s ease;
}
.accordion-item:not(:first-of-type) {
  border-top: 1px solid transparent;
}
.accordion-item:last-of-type {
  margin-bottom: 1rem;
}
.accordion-item:has(.accordion-button:not(.collapsed)) {
  border-color: #b0daf0;
  background-color: #f7fbfe;
}
.accordion-item:hover {
  border-color: #b0daf0;
  background-color: #f7fbfe;
}
.accordion-item:hover .accordion-button {
  color: #027bb8;
}
.accordion-item:hover .accordion-chevron {
  color: #027bb8;
}
.accordion-header {
  position: relative;
}
.accordion-header-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  width: 100%;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .accordion-header-wrapper {
    padding-right: 1.5rem;
    gap: 1.5rem;
  }
}
.accordion-button {
  background-color: transparent;
  border: none;
  color: #002e56;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 1rem;
  flex: 1;
  text-align: left;
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  transition: all 0.15s ease;
  position: relative;
  cursor: pointer;
}
.accordion-button:focus {
  outline: 2px solid #027bb8;
  outline-offset: 2px;
  box-shadow: none;
}
.accordion-button:not(.collapsed) {
  background-color: transparent;
  color: #002e56;
  box-shadow: none;
}
.accordion-button::after {
  display: none;
}
.accordion-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background-color: #ffffff;
  border: 1px solid #002e56;
  border-radius: 0.5rem;
  color: #002e56;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color all 0.15s ease, color all 0.15s ease, border-color all 0.15s ease;
  white-space: nowrap;
  height: 3rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .accordion-cta-button {
    white-space: normal;
    height: auto;
    min-height: 2.5rem;
    padding: 0.75rem 1rem;
    text-align: center;
  }
}
.accordion-cta-button .icon,
.accordion-cta-button img.icon {
  width: 1.25rem;
  height: 1.25rem;
  transition: filter all 0.15s ease;
}
.accordion-cta-button:hover {
  background-color: #004f83;
  border: none;
  color: #ffffff;
  text-decoration: none;
}
.accordion-cta-button:hover .icon,
.accordion-cta-button:hover img.icon {
  filter: brightness(0) invert(1);
}
.accordion-cta-button:focus,
.accordion-cta-button:focus-visible {
  background-color: #ffffff;
  border: 2px solid #0068f0;
  color: #002e56;
  outline: none;
}
.accordion-cta-button:focus .icon,
.accordion-cta-button:focus-visible .icon,
.accordion-cta-button:focus img.icon,
.accordion-cta-button:focus-visible img.icon {
  filter: none;
}
.accordion-cta-button:disabled {
  background-color: #e0e4eb;
  border: none;
  color: #596173;
  cursor: not-allowed;
}
.accordion-cta-button:disabled .icon,
.accordion-cta-button:disabled img.icon {
  filter: none;
  opacity: 0.5;
}
@media (max-width: 768px) {
  .accordion-cta-button {
    padding: 2.5rem / 4 1rem;
    font-size: 0.875rem;
    gap: 0.25rem;
    height: 2.5rem;
  }
  .accordion-cta-button .icon,
  .accordion-cta-button img.icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.accordion-chevron-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0.5rem;
  margin: -0.5rem;
  transition: all 0.15s ease;
}
.accordion-chevron-wrapper:hover .accordion-chevron {
  color: #027bb8;
}
.accordion-chevron-wrapper:focus {
  outline: 2px solid #027bb8;
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.accordion-chevron {
  width: 1.5rem;
  height: 1.5rem;
  color: #333333;
  transition: all 0.15s ease;
  flex-shrink: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .accordion-chevron {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.accordion-button:not(.collapsed) ~ .accordion-chevron-wrapper .accordion-chevron {
  transform: rotate(180deg);
}
.accordion-button-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.accordion-button-title {
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  color: inherit;
  margin: 0;
}
.accordion-button-subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
}
.accordion-collapse {
  transition: height all 0.3s ease;
}
.accordion-body {
  background-color: #ffffff;
  padding: 1.5rem;
  border-radius: 0.25rem;
  margin: 0 1rem 1rem 1rem;
}
.accordion-body h6 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  color: #333333;
  margin-bottom: 0.25rem;
}
.accordion-body .subtitle {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  color: #6e6e6e;
  margin-bottom: 1rem;
}
.accordion-body p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 1rem;
}
.accordion-body p:last-child {
  margin-bottom: 0;
}
.accordion-flush .accordion-item {
  border-radius: 0.5rem;
}
.accordion-link-hidden {
  display: none;
}
.accordion-body-show-more-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  background: none;
  border: none;
  color: #6e6e6e;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 0.5rem 0;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  width: auto;
}
.accordion-body-show-more-btn:hover {
  color: #027bb8;
}
.accordion-body-show-more-btn:hover .accordion-show-more-icon {
  color: #027bb8;
}
.accordion-body-show-more-btn:focus {
  outline: 2px solid #027bb8;
  outline-offset: 2px;
}
.accordion-show-more-icon {
  width: 1rem;
  height: 1rem;
  transition: transform all 0.15s ease;
  color: #6e6e6e;
}
.accordion-body-show-more-btn.expanded .accordion-show-more-icon {
  transform: rotate(180deg);
}
/**
 * Button Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=1-1197
 * 
 * Supports:
 * - Types: Primary, Secondary, Tertiary, Text-only
 * - Sizes: Large (L), Medium (M), Small (S)
 * - States: Default, Focused, Hovered, Disabled
 * - Variants: Normal, Alert, Inversed
 * - Icons: Left, Right, Both, Icon-only
 *
 * Primary / Secondary / Tertiary **base** variants use mixins in `mixins/_cta-buttons.less`
 * (also applied in `form-maritime-theme.less` to beat legacy `forms.css`).
 * 
 * LAST UPDATED: 30/01/2026
 */
/**
 * Shared button helper mixins (focus, disabled, icon, underline).
 * Used by `components/button.less` and `mixins/_cta-buttons.less`.
 *
 * LAST UPDATED: 19/03/2026
 */
/**
 * MNZ CTA button mixins â€” design-system Primary / Secondary / Tertiary + base sizing.
 * Use inside `components/button.less` for `.btn-*` classes and in
 * `form-maritime-theme.less` to override legacy `wwwroot/css/forms.css` button rules.
 *
 * Depends on: `_button-helpers.less`, design tokens.
 *
 * LAST UPDATED: 19/03/2026
 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: none;
  cursor: pointer;
  transition: background-color all 0.15s ease, color all 0.15s ease, border-color all 0.15s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  outline: none;
}
.btn svg.icon {
  stroke: currentColor;
  fill: none;
  flex-shrink: 0;
}
.btn:disabled,
.btn.btn-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.btn {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.5rem;
  --bs-btn-padding-y: 1rem;
  --bs-btn-padding-x: 1.5rem;
}
.btn .btn-icon {
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.btn.btn-lg,
.btn-lg {
  height: 3.5rem;
  padding: 1rem 2rem;
  font-size: 1.125rem;
  line-height: 1.25;
  border-radius: 0.5rem;
  --bs-btn-padding-y: 1rem;
  --bs-btn-padding-x: 2rem;
}
.btn.btn-lg .btn-icon,
.btn-lg .btn-icon {
  font-size: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
}
.btn.btn-md,
.btn-md {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.5rem;
  --bs-btn-padding-y: 1rem;
  --bs-btn-padding-x: 1.5rem;
}
.btn.btn-md .btn-icon,
.btn-md .btn-icon {
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.btn.btn-sm,
.btn-sm {
  height: 2.5rem;
  padding: 2.5rem / 4 1rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.5rem;
  --bs-btn-padding-y: 2.5rem / 4;
  --bs-btn-padding-x: 1rem;
}
.btn.btn-sm .btn-icon,
.btn-sm .btn-icon {
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.btn-icon-only {
  padding: 0.75rem;
  width: auto;
  height: auto;
  aspect-ratio: 1;
}
.btn-icon-only.btn-lg {
  padding: 0.75rem;
}
.btn-icon-only.btn-lg .btn-icon {
  font-size: 1.75rem;
  width: 1.75rem;
  height: 1.75rem;
}
.btn-icon-only.btn-md {
  padding: 0.75rem;
}
.btn-icon-only.btn-md .btn-icon {
  font-size: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
}
.btn-icon-only.btn-sm {
  padding: 0.5rem;
}
.btn-icon-only.btn-sm .btn-icon {
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.btn-icon-only:hover:not(:disabled):not(.btn-disabled)::after {
  display: none !important;
}
.btn-icon-only.btn-tertiary {
  padding: 0.5rem;
}
.btn-icon-only.btn-tertiary.btn-lg,
.btn-icon-only.btn-tertiary.btn-md {
  padding: 0.5rem;
}
.btn-icon-only.btn-primary:disabled,
.btn-icon-only.btn-secondary:disabled,
.btn-icon-only.btn-tertiary:disabled,
.btn-icon-only.btn-primary.btn-disabled,
.btn-icon-only.btn-secondary.btn-disabled,
.btn-icon-only.btn-tertiary.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-icon-only.btn-primary:disabled .btn-icon,
.btn-icon-only.btn-secondary:disabled .btn-icon,
.btn-icon-only.btn-tertiary:disabled .btn-icon,
.btn-icon-only.btn-primary.btn-disabled .btn-icon,
.btn-icon-only.btn-secondary.btn-disabled .btn-icon,
.btn-icon-only.btn-tertiary.btn-disabled .btn-icon {
  color: #596173;
}
.btn-icon-only.btn-primary:disabled .btn-icon.icon,
.btn-icon-only.btn-secondary:disabled .btn-icon.icon,
.btn-icon-only.btn-tertiary:disabled .btn-icon.icon,
.btn-icon-only.btn-primary.btn-disabled .btn-icon.icon,
.btn-icon-only.btn-secondary.btn-disabled .btn-icon.icon,
.btn-icon-only.btn-tertiary.btn-disabled .btn-icon.icon {
  filter: none;
  opacity: 1;
}
.btn-primary {
  background-color: #002e56;
  color: #ffffff;
  border: none;
}
.btn-primary .btn-icon {
  color: #ffffff;
}
.btn-primary .btn-icon.icon {
  filter: brightness(0) invert(1);
}
.btn-primary:hover:not(:disabled):not(.btn-disabled) {
  background-color: #004f83;
}
.btn-primary:focus:not(:disabled):not(.btn-disabled),
.btn-primary:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #002e56;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-primary:disabled,
.btn-primary.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-primary:disabled .btn-icon,
.btn-primary.btn-disabled .btn-icon {
  color: #596173;
}
.btn-primary:disabled .btn-icon.icon,
.btn-primary.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-alert {
  background-color: #dc3545;
  color: #ffffff;
  border: none;
}
.btn-primary.btn-alert .btn-icon {
  color: #ffffff;
}
.btn-primary.btn-alert .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-alert:hover:not(:disabled):not(.btn-disabled) {
  background-color: #c8303f;
}
.btn-primary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-primary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-alert:focus:not(:disabled):not(.btn-disabled),
.btn-primary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #dc3545;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-primary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-primary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-primary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-primary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-alert:disabled,
.btn-primary.btn-alert.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-primary.btn-alert:disabled .btn-icon,
.btn-primary.btn-alert.btn-disabled .btn-icon {
  color: #596173;
}
.btn-primary.btn-alert:disabled .btn-icon.icon,
.btn-primary.btn-alert.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-inversed {
  background-color: #54c5c2;
  color: #002e56;
  border: none;
  position: relative;
}
.btn-primary.btn-inversed .btn-icon {
  color: #002e56;
}
.btn-primary.btn-inversed .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled) {
  background-color: #33bab6;
  color: #002e56;
  border: none;
}
.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #54c5c2;
  border: 2px solid #0068f0;
  color: #002e56;
  outline: none;
  box-shadow: none;
}
.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-primary.btn-inversed:disabled,
.btn-primary.btn-inversed.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-primary.btn-inversed:disabled .btn-icon,
.btn-primary.btn-inversed.btn-disabled .btn-icon {
  color: #596173;
}
.btn-primary.btn-inversed:disabled .btn-icon.icon,
.btn-primary.btn-inversed.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-secondary {
  background-color: #ffffff;
  color: #002e56;
  border: 1px solid #002e56;
}
.btn-secondary .btn-icon {
  color: #002e56;
}
.btn-secondary .btn-icon.icon {
  filter: none;
}
.btn-secondary:hover:not(:disabled):not(.btn-disabled) {
  background-color: #004f83;
  border: none;
  color: #ffffff;
}
.btn-secondary:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-secondary:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: brightness(0) invert(1);
}
.btn-secondary:focus:not(:disabled):not(.btn-disabled),
.btn-secondary:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff;
  border: 2px solid #0068f0;
  color: #333333;
  outline: none;
  box-shadow: none;
}
.btn-secondary:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #333333;
}
.btn-secondary:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-secondary:disabled,
.btn-secondary.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-secondary:disabled .btn-icon,
.btn-secondary.btn-disabled .btn-icon {
  color: #596173;
}
.btn-secondary:disabled .btn-icon.icon,
.btn-secondary.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-alert {
  background-color: #ffffff;
  color: #dc3545;
  border: 1px solid #dc3545;
}
.btn-secondary.btn-alert .btn-icon {
  color: #dc3545;
}
.btn-secondary.btn-alert .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-alert:hover:not(:disabled):not(.btn-disabled) {
  background-color: #c8303f;
  border: none;
  color: #ffffff;
}
.btn-secondary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-secondary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-alert:focus:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff;
  border: 2px solid #0068f0;
  color: #dc3545;
  outline: none;
  box-shadow: none;
}
.btn-secondary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #dc3545;
}
.btn-secondary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-alert:disabled,
.btn-secondary.btn-alert.btn-disabled {
  background-color: #e0e4eb;
  color: #596173;
  border: none;
  cursor: not-allowed;
}
.btn-secondary.btn-alert:disabled .btn-icon,
.btn-secondary.btn-alert.btn-disabled .btn-icon {
  color: #596173;
}
.btn-secondary.btn-alert:disabled .btn-icon.icon,
.btn-secondary.btn-alert.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-inversed {
  background-color: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
}
.btn-secondary.btn-inversed .btn-icon {
  color: #ffffff;
}
.btn-secondary.btn-inversed .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled) {
  background-color: #33bab6;
  color: #002e56;
  border: none;
}
.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-secondary.btn-inversed:disabled,
.btn-secondary.btn-inversed.btn-disabled {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn-secondary.btn-inversed:disabled .btn-icon,
.btn-secondary.btn-inversed.btn-disabled .btn-icon {
  color: rgba(255, 255, 255, 0.5);
}
.btn-secondary.btn-inversed:disabled .btn-icon.icon,
.btn-secondary.btn-inversed.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-tertiary {
  background-color: transparent;
  color: #002e56;
  border: none;
  position: relative;
}
.btn-tertiary .btn-icon {
  color: #002e56;
}
.btn-tertiary .btn-icon.icon {
  filter: none;
}
.btn-tertiary:hover:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #027bb8;
}
.btn-tertiary:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #027bb8;
}
.btn-tertiary:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-10.5px);
}
.btn-tertiary:focus:not(:disabled):not(.btn-disabled),
.btn-tertiary:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff;
  border: 2px solid #0068f0;
  color: #002e56;
  outline: none;
  box-shadow: none;
}
.btn-tertiary:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-tertiary:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary:disabled,
.btn-tertiary.btn-disabled {
  background-color: transparent;
  color: #747e96;
  border: none;
  cursor: not-allowed;
}
.btn-tertiary:disabled .btn-icon,
.btn-tertiary.btn-disabled .btn-icon {
  color: #747e96;
}
.btn-tertiary:disabled .btn-icon.icon,
.btn-tertiary.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-md:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-12px);
}
.btn-tertiary.btn-sm:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 26px;
  right: 22px;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-8px);
}
.btn-tertiary.btn-alert {
  background-color: transparent;
  color: #dc3545;
  border: none;
}
.btn-tertiary.btn-alert .btn-icon {
  color: #dc3545;
}
.btn-tertiary.btn-alert .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-alert:hover:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #c8303f;
}
.btn-tertiary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #c8303f;
}
.btn-tertiary.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-alert:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 36px;
  right: 32px;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-10.5px);
}
.btn-tertiary.btn-alert:focus:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff;
  border: 2px solid #0068f0;
  color: #dc3545;
  outline: none;
  box-shadow: none;
}
.btn-tertiary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #dc3545;
}
.btn-tertiary.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-alert:disabled,
.btn-tertiary.btn-alert.btn-disabled {
  background-color: transparent;
  color: #747e96;
  border: none;
  cursor: not-allowed;
}
.btn-tertiary.btn-alert:disabled .btn-icon,
.btn-tertiary.btn-alert.btn-disabled .btn-icon {
  color: #747e96;
}
.btn-tertiary.btn-alert:disabled .btn-icon.icon,
.btn-tertiary.btn-alert.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-alert.btn-md:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 28px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-12px);
}
.btn-tertiary.btn-alert.btn-sm:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 26px;
  right: 22px;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-8px);
}
.btn-tertiary.btn-inversed {
  background-color: transparent;
  color: #ffffff;
  border: none;
}
.btn-tertiary.btn-inversed .btn-icon {
  color: #ffffff;
}
.btn-tertiary.btn-inversed .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #54c5c2;
}
.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #54c5c2;
}
.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2rem + 0.25rem;
  right: 2rem;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-10.5px);
}
.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-inversed:disabled,
.btn-tertiary.btn-inversed.btn-disabled {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
  border: none;
  cursor: not-allowed;
}
.btn-tertiary.btn-inversed:disabled .btn-icon,
.btn-tertiary.btn-inversed.btn-disabled .btn-icon {
  color: rgba(255, 255, 255, 0.5);
}
.btn-tertiary.btn-inversed:disabled .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-tertiary.btn-inversed.btn-md:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 28px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-12px);
}
.btn-tertiary.btn-inversed.btn-sm:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 26px;
  right: 22px;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-8px);
}
.btn-text {
  background-color: transparent;
  color: #002e56;
  border: 1px solid transparent;
  padding: 4px 0;
  height: auto;
  min-height: 32px;
  text-decoration: none;
  position: relative;
}
.btn-text .btn-icon {
  color: #002e56;
}
.btn-text .btn-icon.icon {
  filter: none;
}
.btn-text:hover:not(:disabled):not(.btn-disabled) {
  color: #027bb8;
}
.btn-text:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #027bb8;
}
.btn-text:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text:focus:not(:disabled):not(.btn-disabled),
.btn-text:focus-visible:not(:disabled):not(.btn-disabled) {
  color: #002e56;
  border: 2px solid #0068f0;
  border-radius: 4px;
  outline: none;
  box-shadow: none;
}
.btn-text:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-text:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-text:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-text:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text:disabled,
.btn-text.btn-disabled {
  color: #747e96;
  text-decoration: none;
  cursor: not-allowed;
}
.btn-text:disabled .btn-icon,
.btn-text.btn-disabled .btn-icon {
  color: #747e96;
}
.btn-text:disabled .btn-icon.icon,
.btn-text.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-text.btn-alert {
  background-color: transparent;
  color: #dc3545;
  border: 1px solid transparent;
}
.btn-text.btn-alert .btn-icon {
  color: #dc3545;
}
.btn-text.btn-alert .btn-icon.icon {
  filter: none;
}
.btn-text.btn-alert:hover:not(:disabled):not(.btn-disabled) {
  color: #c8303f;
}
.btn-text.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #c8303f;
}
.btn-text.btn-alert:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text.btn-alert:focus:not(:disabled):not(.btn-disabled),
.btn-text.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #dc3545;
  border: 2px solid #0068f0;
  border-radius: 4px;
  outline: none;
  box-shadow: none;
}
.btn-text.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-text.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #dc3545;
}
.btn-text.btn-alert:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-text.btn-alert:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text.btn-alert:disabled,
.btn-text.btn-alert.btn-disabled {
  background-color: transparent;
  color: #747e96;
  border: 1px solid transparent;
}
.btn-text.btn-alert:disabled .btn-icon,
.btn-text.btn-alert.btn-disabled .btn-icon {
  color: #747e96;
}
.btn-text.btn-alert:disabled .btn-icon.icon,
.btn-text.btn-alert.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-text.btn-alert.btn-lg:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-2px);
}
.btn-text.btn-alert.btn-md:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-10px);
}
.btn-text.btn-alert.btn-sm:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #c8303f;
  transform: translateY(-6px);
}
.btn-text.btn-inversed {
  background-color: transparent;
  color: #ffffff;
  border: 1px solid transparent;
  padding: 0.25rem 0;
}
.btn-text.btn-inversed .btn-icon {
  color: #ffffff;
}
.btn-text.btn-inversed .btn-icon.icon {
  filter: none;
}
.btn-text.btn-inversed:hover:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #54c5c2;
}
.btn-text.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #54c5c2;
}
.btn-text.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-text.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  color: #ffffff;
  border: 2px solid #0068f0;
  border-radius: 0.25rem;
  outline: none;
  box-shadow: none;
}
.btn-text.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-text.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-text.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-text.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-text.btn-inversed:disabled,
.btn-text.btn-inversed.btn-disabled {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid transparent;
}
.btn-text.btn-inversed:disabled .btn-icon,
.btn-text.btn-inversed.btn-disabled .btn-icon {
  color: rgba(255, 255, 255, 0.5);
}
.btn-text.btn-inversed:disabled .btn-icon.icon,
.btn-text.btn-inversed.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-text.btn-inversed.btn-lg:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-2px);
}
.btn-text.btn-inversed.btn-md:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-10px);
}
.btn-text.btn-inversed.btn-sm:hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #54c5c2;
  transform: translateY(-6px);
}
.btn-text.btn-lg {
  padding: 4px 0;
}
.btn-text.btn-lg:not(.btn-alert):not(.btn-inversed):hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-2px);
}
.btn-text.btn-md {
  padding: 4px 0;
}
.btn-text.btn-md:not(.btn-alert):not(.btn-inversed):hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-10px);
}
.btn-text.btn-sm {
  padding: 4px 0;
}
.btn-text.btn-sm:not(.btn-alert):not(.btn-inversed):hover:not(:disabled):not(.btn-disabled)::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #027bb8;
  transform: translateY(-6px);
}
.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  transition: color all 0.15s ease;
  text-decoration: none !important;
}
.btn-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
}
.btn-icon svg path,
.btn-icon svg line,
.btn-icon svg polyline,
.btn-icon svg polygon,
.btn-icon svg circle,
.btn-icon svg ellipse,
.btn-icon svg rect {
  stroke: currentColor;
}
.btn-icon.icon {
  transition: color all 0.15s ease;
}
.btn-icon-left {
  order: -1;
}
.btn-icon-right {
  order: 1;
}
.btn-icon-only.btn-secondary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) {
  background-color: #f7fbfe !important;
  border: 1px solid #0089cf !important;
  color: #0089cf !important;
}
.btn-icon-only.btn-secondary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #0089cf !important;
}
.btn-icon-only.btn-secondary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) {
  background-color: #f7fbfe !important;
  border: 1px solid #0089cf !important;
  color: #0089cf !important;
}
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #0089cf !important;
}
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-secondary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) {
  background-color: #f7fbfe !important;
  border: 1px solid #0089cf !important;
  color: #0089cf !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #0089cf !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled)::after,
.btn-tertiary.btn-icon-only:not(.btn-inversed):hover:not(:disabled):not(.btn-disabled)::after {
  display: none !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) {
  background-color: #f7fbfe !important;
  border: 1px solid #0089cf !important;
  color: #0089cf !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #0089cf !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled)::after,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-sm:hover:not(:disabled):not(.btn-disabled)::after,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled)::after,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-md:hover:not(:disabled):not(.btn-disabled)::after,
.btn-icon-only.btn-tertiary:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled)::after,
.btn-tertiary.btn-icon-only:not(.btn-inversed).btn-lg:hover:not(:disabled):not(.btn-disabled)::after {
  display: none !important;
}
.btn-icon-only.btn-primary.btn-inversed,
.btn-primary.btn-inversed.btn-icon-only {
  background-color: #54c5c2;
  color: #002e56;
  border: none;
}
.btn-icon-only.btn-primary.btn-inversed .btn-icon,
.btn-primary.btn-inversed.btn-icon-only .btn-icon {
  color: #002e56;
}
.btn-icon-only.btn-primary.btn-inversed .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled),
.btn-primary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) {
  background-color: #33bab6;
  color: #002e56;
  border: none;
}
.btn-icon-only.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-primary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-icon-only.btn-primary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-primary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled),
.btn-primary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #54c5c2;
  border: 2px solid #0068f0;
  color: #002e56;
  outline: none;
  box-shadow: none;
}
.btn-icon-only.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-primary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-primary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56;
}
.btn-icon-only.btn-primary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-primary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-primary.btn-inversed:disabled,
.btn-primary.btn-inversed.btn-icon-only:disabled,
.btn-icon-only.btn-primary.btn-inversed.btn-disabled,
.btn-primary.btn-inversed.btn-icon-only.btn-disabled {
  background-color: #e0e4eb;
  border: none;
  color: #596173;
}
.btn-icon-only.btn-primary.btn-inversed:disabled .btn-icon,
.btn-primary.btn-inversed.btn-icon-only:disabled .btn-icon,
.btn-icon-only.btn-primary.btn-inversed.btn-disabled .btn-icon,
.btn-primary.btn-inversed.btn-icon-only.btn-disabled .btn-icon {
  color: #596173;
}
.btn-icon-only.btn-primary.btn-inversed:disabled .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only:disabled .btn-icon.icon,
.btn-icon-only.btn-primary.btn-inversed.btn-disabled .btn-icon.icon,
.btn-primary.btn-inversed.btn-icon-only.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-secondary.btn-inversed,
.btn-secondary.btn-inversed.btn-icon-only {
  background-color: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
}
.btn-icon-only.btn-secondary.btn-inversed .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only .btn-icon {
  color: #ffffff;
}
.btn-icon-only.btn-secondary.btn-inversed .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) {
  background-color: #004b72;
  color: #54c5c2;
  border: 1px solid #54c5c2;
}
.btn-icon-only.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #54c5c2;
}
.btn-icon-only.btn-secondary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled),
.btn-secondary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-icon-only.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-icon-only.btn-secondary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-secondary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-secondary.btn-inversed:disabled,
.btn-secondary.btn-inversed.btn-icon-only:disabled,
.btn-icon-only.btn-secondary.btn-inversed.btn-disabled,
.btn-secondary.btn-inversed.btn-icon-only.btn-disabled {
  background-color: #e0e4eb;
  border: none;
  color: #596173;
}
.btn-icon-only.btn-secondary.btn-inversed:disabled .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only:disabled .btn-icon,
.btn-icon-only.btn-secondary.btn-inversed.btn-disabled .btn-icon,
.btn-secondary.btn-inversed.btn-icon-only.btn-disabled .btn-icon {
  color: #596173;
}
.btn-icon-only.btn-secondary.btn-inversed:disabled .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only:disabled .btn-icon.icon,
.btn-icon-only.btn-secondary.btn-inversed.btn-disabled .btn-icon.icon,
.btn-secondary.btn-inversed.btn-icon-only.btn-disabled .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-tertiary.btn-inversed,
.btn-tertiary.btn-inversed.btn-icon-only {
  background-color: transparent;
  color: #ffffff;
  border: none;
}
.btn-icon-only.btn-tertiary.btn-inversed .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only .btn-icon {
  color: #ffffff;
}
.btn-icon-only.btn-tertiary.btn-inversed .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) {
  background-color: #004b72;
  color: #54c5c2;
  border: 1px solid #54c5c2;
}
.btn-icon-only.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #54c5c2;
}
.btn-icon-only.btn-tertiary.btn-inversed:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled),
.btn-icon-only.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled),
.btn-tertiary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: transparent;
  border: 2px solid #0068f0;
  color: #ffffff;
  outline: none;
  box-shadow: none;
}
.btn-icon-only.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-icon-only.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff;
}
.btn-icon-only.btn-tertiary.btn-inversed:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-icon-only.btn-tertiary.btn-inversed:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none;
}
.btn-icon-only.btn-tertiary.btn-inversed:disabled,
.btn-tertiary.btn-inversed.btn-icon-only:disabled,
.btn-icon-only.btn-tertiary.btn-inversed.btn-disabled,
.btn-tertiary.btn-inversed.btn-icon-only.btn-disabled {
  background-color: #e0e4eb;
  border: none;
  color: #596173;
}
.btn-icon-only.btn-tertiary.btn-inversed:disabled .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only:disabled .btn-icon,
.btn-icon-only.btn-tertiary.btn-inversed.btn-disabled .btn-icon,
.btn-tertiary.btn-inversed.btn-icon-only.btn-disabled .btn-icon {
  color: #596173;
}
.btn-icon-only.btn-tertiary.btn-inversed:disabled .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only:disabled .btn-icon.icon,
.btn-icon-only.btn-tertiary.btn-inversed.btn-disabled .btn-icon.icon,
.btn-tertiary.btn-inversed.btn-icon-only.btn-disabled .btn-icon.icon {
  filter: none;
}
@media (max-width: 767px) {
  .btn:not(.btn-icon-only):not(.btn-text):not(.btn-tertiary) {
    width: 100%;
    white-space: normal;
  }
  .btn-icon-only {
    width: auto;
  }
  .btn-text {
    justify-content: flex-start;
    text-align: left;
    width: auto !important;
    display: inline-flex !important;
    position: relative;
  }
  .btn-tertiary:not(.btn-icon-only) {
    width: auto !important;
    display: inline-flex !important;
    position: relative;
  }
}
/**
 * Card Component Styles
 * Based on MNZ Website Design System - Figma
 */
.card {
  background-color: #ffffff;
  border: 1px solid #cdd2e1;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
  height: 100%;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.card:hover {
  background-color: #e6f3fa;
  border-color: #b0daf0;
}
.card:hover .card__title {
  text-decoration: underline;
  color: #002e56;
}
.card:hover .card__description {
  color: #333333;
  text-decoration: underline;
}
.card:not(a) {
  cursor: default;
}
.card:not(a):hover {
  background-color: #ffffff;
  border-color: #cdd2e1;
}
.card:not(a):hover .card__title {
  text-decoration: none;
  color: #002e56;
}
.card:not(a):hover .card__description {
  text-decoration: none;
  color: #6e6e6e;
}
.card__image-container {
  width: 100%;
  height: 10.5rem;
  overflow: hidden;
  position: relative;
  line-height: 0;
  flex-shrink: 0;
}
.card__image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.card__tags--overlay {
  position: absolute;
  top: 1rem;
  z-index: 1;
}
.card__tags--overlay.card__tags--right {
  right: 1rem;
}
.card__tags--content {
  margin-bottom: 0;
}
.card__top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0.75rem;
}
.card__arrow-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.card__arrow-icon::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23333333' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.card--small .card__image-container {
  height: 7.5rem;
}
.card--medium .card__image-container {
  height: 10.5rem;
}
.card--large .card__image-container {
  height: 15rem;
}
.card--horizontal {
  flex-direction: row;
  height: 281px;
}
.card--horizontal .card__image-container {
  width: 50%;
  height: 100%;
  flex-shrink: 0;
}
.card--horizontal .card__image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card--horizontal .card__content {
  width: 50%;
  flex: 0 0 50%;
  padding: 1.5rem 1.25rem;
}
.card--horizontal .card__header {
  gap: 0.75rem;
}
.card--horizontal .card__title {
  font-size: 1.75rem;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.card--horizontal .card__description {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  max-height: 81px;
}
.card--horizontal .card__date {
  display: none;
}
.card--horizontal .card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #002e56;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  margin-top: auto;
}
.card--horizontal .card__cta::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23003057' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .card--horizontal {
    flex-direction: column;
    width: 100%;
    height: auto;
  }
  .card--horizontal .card__image-container {
    width: 100%;
    height: 15rem;
  }
  .card--horizontal .card__image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .card--horizontal .card__content {
    width: 100%;
    padding: 1.25rem;
    padding-bottom: 1.5rem;
  }
  .card--horizontal .card__date {
    display: block;
  }
  .card--horizontal .card__cta {
    display: inline-flex;
    margin-top: 0.75rem;
  }
  .card--horizontal .card__title {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .card--horizontal .card__description {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    max-height: 81px;
  }
}
.card--background {
  position: relative;
  min-height: 20rem;
  border: 2px solid transparent;
  border-radius: 1rem;
}
.card--background .card__image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  border-radius: 1rem;
}
.card--background .card__image-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  border-radius: 1rem;
  transition: all 0.3s ease;
}
.card--background .card__image-container img {
  height: 100%;
  border-radius: 1rem;
}
.card--background .card__content {
  position: relative;
  z-index: 2;
  margin-top: auto;
  background: transparent;
  align-items: flex-start;
  text-align: left;
  padding: 2.5rem;
  gap: 1.5rem;
  max-width: 483px;
}
.card--background .card__content .card__tags {
  margin-bottom: 0;
}
.card--background .card__header {
  gap: 1.5rem;
}
.card--background .card__title {
  color: #ffffff;
}
.card--background .card__date {
  color: #ffffff;
  opacity: 0.9;
}
.card--background .card__description {
  color: #ffffff;
  opacity: 1;
  max-width: 464px;
}
.card--background .card__date {
  display: none;
}
.card--background .card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
}
.card--background .card__cta::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23FFFFFF' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.card--background:hover {
  background-color: transparent;
  border-color: transparent;
}
.card--background:hover .card__image-container::after {
  background: rgba(0, 0, 0, 0.6);
}
.card--background:hover .card__title,
.card--background:hover .card__description {
  color: #ffffff;
  text-decoration: none;
}
.card--button {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 2rem 1.25rem;
  gap: 2.5rem;
  border: 2px solid #cdd2e1;
  border-radius: 1rem;
  background-color: #ffffff;
  min-height: auto;
}
.card--button .card__image-container {
  display: none;
}
.card--button .card__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2.5rem;
  padding: 0;
  flex: 1;
  width: 100%;
}
.card--button .card__tags {
  display: flex;
  flex-shrink: 0;
}
.card--button .card__text-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}
.card--button .card__date {
  display: block;
  font-size: 0.875rem;
  color: #6e6e6e;
  margin-bottom: 0.25rem;
}
.card--button .card__top-row-mobile {
  display: none;
}
.card--button .card__header {
  gap: 0.25rem;
}
.card--button .card__title {
  font-size: 1.25rem;
  color: #002e56;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
}
.card--button .card__description {
  font-size: 1rem;
  color: #6e6e6e;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
}
.card--button .card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  margin-right: 1.25rem;
  border: 2px solid #002e56;
  border-radius: 0.5rem;
  background-color: #ffffff;
  color: #002e56;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  height: 3rem;
  transition: all 0.3s ease;
}
.card--button .card__cta::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23002e56' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.card--button:hover {
  border-color: #002e56;
}
.card--button:hover .card__cta {
  background-color: #004f83;
  border-color: #004f83;
  color: #ffffff;
}
.card--button:hover .card__cta::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23FFFFFF' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.card--background.card--small {
  height: 15rem;
  min-height: 15rem;
}
.card--background.card--small .card__content {
  padding: 1.5rem 1.6875rem;
  gap: 0;
  justify-content: flex-start;
}
.card--background.card--small .card__content > .card__tags {
  margin-bottom: 1rem;
}
.card--background.card--small .card__content > .card__header {
  margin-bottom: 1rem;
}
.card--background.card--small .card__content > .card__cta {
  margin-top: auto;
}
.card--background.card--small .card__header {
  gap: 1rem;
}
.card--background.card--small .card__title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
.card--background.card--small .card__description {
  display: none;
}
.card--background.card--small .card__cta {
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .card--background.card--small {
    height: auto;
    min-height: auto;
  }
  .card--background.card--small .card__content {
    padding: 1.5rem 1.6875rem;
  }
  .card--background.card--small .card__content > .card__tags {
    margin-bottom: 1rem;
  }
  .card--background.card--small .card__content > .card__header {
    margin-bottom: 1rem;
  }
}
.card--background.card--medium {
  height: 249px;
  min-height: 249px;
}
.card--background.card--medium .card__content {
  padding: 1.5rem 1.6875rem;
  gap: 0;
  justify-content: flex-start;
}
.card--background.card--medium .card__content > .card__tags {
  margin-bottom: 1rem;
}
.card--background.card--medium .card__content > .card__header {
  margin-bottom: 1rem;
}
.card--background.card--medium .card__content > .card__cta {
  margin-top: auto;
}
.card--background.card--medium .card__header {
  gap: 1rem;
}
.card--background.card--medium .card__title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
.card--background.card--medium .card__description {
  display: none;
}
.card--background.card--medium .card__cta {
  font-size: 1rem;
}
@media (max-width: 768px) {
  .card--background.card--medium {
    height: auto;
    min-height: auto;
  }
  .card--background.card--medium .card__content {
    padding: 1.5rem 1.6875rem;
  }
  .card--background.card--medium .card__content > .card__tags {
    margin-bottom: 1rem;
  }
  .card--background.card--medium .card__content > .card__header {
    margin-bottom: 1rem;
  }
}
.card--background.card--large {
  height: 523px;
  min-height: 523px;
}
.card--background.card--large .card__content {
  gap: 0;
}
.card--background.card--large .card__content > .card__tags {
  margin-bottom: 1.5rem;
}
.card--background.card--large .card__content > .card__header {
  margin-bottom: 1.5rem;
}
.card--background.card--large .card__content > .card__description {
  margin-bottom: 2rem;
}
.card--background.card--large .card__header {
  gap: 1.5rem;
}
.card--background.card--large .card__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}
.card--background.card--large .card__description {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media (max-width: 768px) {
  .card--background.card--large {
    height: auto;
    min-height: auto;
  }
  .card--background.card--large .card__content {
    padding: 1.5rem;
  }
}
.card__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  padding-bottom: 1.5rem;
  flex: 1;
}
.card__content > .card__tags {
  margin-bottom: 0;
}
.card__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .card__header {
    gap: 0.75rem;
  }
}
.card__title {
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.card__date {
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  margin: 0;
}
.card__description {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: all 0.3s ease;
}
.card__cta {
  color: #002e56;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
}
.card__cta--secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 10px 1rem;
  margin-top: auto;
  width: 100%;
  border: 2px solid #002e56;
  border-radius: 0.5rem;
  background-color: #ffffff;
  color: #002e56;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  transition: all 0.3s ease;
}
.card__cta--secondary::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23002e56' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.card:hover .card__cta--secondary,
.card__cta--secondary:hover {
  background-color: #004f83;
  border-color: #004f83;
  color: #ffffff;
}
.card:hover .card__cta--secondary::after,
.card__cta--secondary:hover::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23FFFFFF' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media (max-width: 767px) {
  .card--button {
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 0;
  }
  .card--button .card__content {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
  .card--button .card__top-row-mobile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0;
  }
  .card--button .card__top-row-mobile .card__date {
    margin-left: auto;
    margin-bottom: 0;
  }
  .card--button .card__tags--desktop {
    display: none;
  }
  .card--button .card__date--desktop {
    display: none;
  }
  .card--button .card__tags {
    align-self: flex-start;
    margin-bottom: 0;
  }
  .card--button .card__text-content {
    gap: 0.75rem;
  }
  .card--button .card__cta {
    width: 100%;
    align-self: stretch;
  }
}
@media (min-width: 768px) {
  .card--button .card__top-row-mobile {
    display: none;
  }
}
/**
 * Information Banner Component
 * 
 * Static banner component based on Figma Design System
 * Supports: General, Warning, and Danger variants
 *
 * LAST UPDATED: 12/02/2026
 */
.information-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f2f4fb;
  padding: 1.5rem;
  margin: 1.25rem 0;
  position: relative;
  width: 100%;
}
.information-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.25rem;
}
.information-banner__container {
  display: flex;
  align-items: flex-start;
  max-width: 1222px;
  width: 100%;
}
.information-banner__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.information-banner__title-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  width: 100%;
}
.information-banner__icon-wrapper {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
.information-banner__icon {
  display: block;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}
.information-banner__title {
  flex: 1;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #333333;
  margin: 0;
  padding: 0;
}
.information-banner__inline-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}
.information-banner__indented-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding-left: calc(1.75rem + 1rem);
  width: 100%;
}
.information-banner__subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
}
.information-banner__description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
}
.information-banner__cta {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  text-decoration-color: #002e56;
  min-height: auto !important;
  height: auto !important;
  display: inline-block !important;
  width: auto !important;
  padding: 0 !important;
  justify-content: flex-start;
  align-items: baseline;
}
.information-banner__cta::after {
  display: none !important;
}
.information-banner__cta:hover:not(:disabled):not(.btn-disabled) {
  text-decoration: underline;
  text-decoration-color: #027bb8;
  background-color: transparent !important;
}
.information-banner__cta:hover:not(:disabled):not(.btn-disabled)::after {
  display: none !important;
}
.information-banner__cta:focus:not(:disabled):not(.btn-disabled),
.information-banner__cta:focus-visible:not(:disabled):not(.btn-disabled) {
  text-decoration: underline;
  text-decoration-color: #002e56;
  background-color: transparent !important;
  padding: 2px 0.25rem !important;
}
.information-banner-general::before {
  background: linear-gradient(90deg, #007F7B 0%, #002E56 100%);
}
.information-banner-general .information-banner__icon-wrapper {
  color: #007f7b;
}
.information-banner-warning::before {
  background: linear-gradient(90deg, #DD651D 0%, #662F0D 100%);
}
.information-banner-warning .information-banner__icon-wrapper {
  color: #dd651d;
}
.information-banner-danger::before {
  background: linear-gradient(90deg, #C8303F 0%, #5C1219 100%);
}
.information-banner-danger .information-banner__icon-wrapper {
  color: #c8303f;
}
@media (max-width: 768px) {
  .information-banner__content {
    gap: 0.5rem;
  }
  .information-banner__title {
    font-size: 1.125rem;
  }
  .information-banner__subtitle {
    font-size: 1rem;
  }
  .information-banner__indented-content {
    gap: 10px;
  }
}
/**
 * Global Banner Component
 * 
 * Site-wide notification banner based on Figma Design System (node-id=8044-3923)
 * Variants: Danger (red), Warning (orange), Information (teal)
 * Features: Dismissible, expandable "Show more"
 *
 * LAST UPDATED: 19/02/2026
 */
.global-banner {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  padding: 1rem 24px;
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
}
@media (min-width: 768px) {
  .global-banner {
    padding: 1.5rem 80px;
  }
}
.global-banner[hidden] {
  display: none !important;
}
.global-banner__container {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  max-width: 1224px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .global-banner__container {
    gap: 0;
  }
}
.global-banner__icon-wrapper {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  color: #ffffff;
}
.global-banner__icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}
@media (min-width: 768px) {
  .global-banner__icon {
    width: 2rem;
    height: 2rem;
  }
}
.global-banner__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .global-banner__content {
    gap: 0;
    margin-left: 1rem;
  }
}
.global-banner__title {
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .global-banner__title {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .global-banner__title + .global-banner__subtitle {
    margin-top: 0.5rem;
  }
}
@media (min-width: 768px) {
  .global-banner__title + .global-banner__description {
    margin-top: 0.5rem;
  }
}
.global-banner__subtitle {
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .global-banner__subtitle {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .global-banner__subtitle + .global-banner__description {
    margin-top: 1rem;
  }
}
.global-banner__description {
  margin: 0;
  padding: 0;
}
.global-banner__description[hidden] {
  display: none !important;
}
.global-banner__description :first-child {
  margin-top: 0;
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .global-banner__description :first-child {
    font-size: 1rem;
  }
}
.global-banner__description :first-child a {
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
}
@media (min-width: 768px) {
  .global-banner__description :first-child a {
    font-size: 1rem;
  }
}
.global-banner__description :first-child a:hover {
  opacity: 0.9;
}
.global-banner__description p {
  margin-bottom: 0;
}
.global-banner__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .global-banner__actions {
    gap: 1rem;
    margin-left: 2.5rem;
  }
}
.global-banner__learn-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  cursor: pointer;
  border-radius: 6px;
  transition: opacity 0.2s ease;
}
.global-banner__learn-more:hover {
  opacity: 0.9;
}
.global-banner__learn-more:focus,
.global-banner__learn-more:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
.global-banner__learn-more-icon {
  display: inline-flex;
  transition: transform 0.2s ease;
}
.global-banner__learn-more-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.global-banner__learn-more[aria-expanded="true"] .global-banner__learn-more-icon {
  transform: rotate(180deg);
}
.global-banner__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: transparent;
  border: none;
  color: #ffffff;
  cursor: pointer;
  border-radius: 0.25rem;
  transition: opacity 0.2s ease;
}
.global-banner__close:hover {
  opacity: 0.9;
}
.global-banner__close:focus,
.global-banner__close:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}
.global-banner__close svg {
  width: 1.5rem;
  height: 1.5rem;
}
@media (min-width: 768px) {
  .global-banner__close svg {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.global-banner--danger {
  background: linear-gradient(90deg, #C8303F 0%, #5C1219 100%);
}
.global-banner--warning {
  background: linear-gradient(90deg, #DD651D 0%, #662F0D 100%);
}
.global-banner--information {
  background: linear-gradient(90deg, #007F7B 0%, #002E56 100%);
}
@media (max-width: 768px) {
  .global-banner {
    padding: 1.5rem;
  }
  .global-banner__container {
    flex-wrap: wrap;
  }
  .global-banner__actions {
    display: contents;
  }
  .global-banner__close {
    order: 3;
    align-self: flex-start;
    padding: 0;
  }
  .global-banner__learn-more {
    order: 4;
    flex-basis: 100%;
    width: 100%;
    justify-content: center;
  }
}
/**
 * Emergency Alert Banner - Structure component for Maritime Home
 */
.emergency-alert-banner {
  position: relative;
  background-color: #f2f4fb;
  padding: 2.5rem 24px;
  margin: 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.emergency-alert-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #C8303F 0%, #5C1219 100%);
}
@media (min-width: 768px) {
  .emergency-alert-banner {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.emergency-alert-banner__container {
  max-width: 1224px;
  margin: 0 auto;
  width: 100%;
}
.emergency-alert-banner__alert-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.emergency-alert-banner__icon-wrapper {
  color: #c8303f;
  flex-shrink: 0;
}
.emergency-alert-banner__icon {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
  stroke: currentColor;
  fill: none;
}
.emergency-alert-banner__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1.25;
  color: #333333;
  margin: 0;
}
.emergency-alert-banner__steps-row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
}
.emergency-alert-banner__steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.emergency-alert-banner__step {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.emergency-alert-banner__step-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #ffffff;
  padding: 0.75rem 1rem;
  padding-left: 1.25rem;
  border-radius: 0 6px 6px 0;
  margin-left: -12px;
  flex-shrink: 0;
  height: 2.5rem;
}
.emergency-alert-banner__step-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 21px;
  background: #004f83;
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
}
.emergency-alert-banner__step-text {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #333333;
}
.emergency-alert-banner__step-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #002e56;
  flex-shrink: 0;
  display: block;
  stroke: currentColor;
  fill: none;
}
.emergency-alert-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #004f83;
}
.emergency-alert-banner__cta-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  stroke: currentColor;
  fill: none;
}
@media (max-width: 767px) {
  .emergency-alert-banner {
    padding: 1.5rem;
  }
  .emergency-alert-banner__container {
    padding: 0 1.5rem;
  }
  .emergency-alert-banner__steps-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .emergency-alert-banner__title {
    font-size: 1.5rem;
  }
  .emergency-alert-banner__steps {
    flex-direction: column;
    gap: 0.75rem;
    margin-left: 44px;
  }
  .emergency-alert-banner__step-number {
    width: 36px;
    height: 36px;
  }
  .emergency-alert-banner__step-content {
    margin-left: -10px;
    padding-left: 1rem;
    height: 36px;
  }
  .emergency-alert-banner__cta {
    width: 100%;
    margin-left: 0;
    margin-top: 2.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1221px) {
  .emergency-alert-banner__container {
    padding: 0 1.5rem;
  }
  .emergency-alert-banner__steps-row {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    padding-left: 44px;
    gap: 1rem;
  }
  .emergency-alert-banner__steps {
    flex-direction: column;
    gap: 1rem;
  }
  .emergency-alert-banner__step-content {
    height: 39px;
  }
  .emergency-alert-banner__step-number {
    width: 39px;
    height: 39px;
  }
  .emergency-alert-banner__step-text {
    white-space: nowrap;
  }
  .emergency-alert-banner__cta {
    margin-left: 0;
    flex-shrink: 0;
  }
}
@media (min-width: 1222px) {
  .emergency-alert-banner__steps-row {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;
  }
  .emergency-alert-banner__steps {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    flex: 1;
    min-width: 0;
  }
  .emergency-alert-banner__step-text {
    white-space: nowrap;
  }
  .emergency-alert-banner__cta {
    margin-left: auto;
    flex-shrink: 0;
  }
}
/**
 * Error page (404 / 500) â€” Umbraco ErrorPage template
 * BEM: `error-page` (layout), `error-page-popular` (popular links nav)
 *
 * LAST UPDATED: 26/02/2026
 */
.error-page {
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .error-page {
    margin-top: 2.8125rem;
  }
}
.error-page .rte-content h1 {
  margin-bottom: 0.75rem;
}
.error-page .rte-content h3 {
  color: #333333;
}
.error-page .rte-content h5 {
  color: #6e6e6e;
}
.error-page .rte-content li {
  margin-bottom: 0.5rem !important;
}
.error-page .rte-content ul {
  padding-left: 1.5rem !important;
}
@media (min-width: 768px) {
  .error-page .rte-content ul {
    padding-left: 2rem !important;
  }
}
/**
 * Link Card Component
*/
.link-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  background-color: #f2f4fb;
  border: none;
  border-left: 8px solid #335878;
  border-radius: 0.5rem;
  padding: 1rem 1rem 1rem 1.5rem;
  margin: 1rem 0;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  min-height: 4.5rem;
}
.link-card:hover {
  text-decoration: none;
  color: inherit;
  border-left-color: #002e56;
}
.link-card:focus {
  outline: 2px solid #002e56;
  outline-offset: 2px;
}
.link-card__content {
  flex: 1;
  min-width: 0;
}
.link-card__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #001324;
  margin: 0 0 0.5rem 0;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}
.link-card--no-description {
  min-height: unset;
  align-items: center;
}
.link-card--no-description .link-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.link-card--no-description .link-card__title {
  margin: 0;
}
.link-card__description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #333333;
  margin: 0;
}
.link-card__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
}
.link-card__arrow-icon {
  width: 20px;
  height: 20px;
  color: #333333;
  transition: transform 0.2s ease, color 0.2s ease;
}
.link-card:hover .link-card__title {
  text-decoration: underline;
}
.link-card:hover .link-card__description {
  text-decoration: underline;
}
.link-card--teal {
  background-color: #e6f6f6;
  border-left-color: #54c5c2;
}
.link-card--teal .link-card__title {
  color: #004745;
}
.link-card--teal:hover {
  border-left-color: #007f7b;
}
.link-card--teal:hover .link-card__arrow-icon {
  color: #004745;
}
.link-card--blue {
  background-color: #e6f3fa;
  border-left-color: #54b0df;
}
.link-card--blue .link-card__title {
  color: #003a57;
}
.link-card--blue:hover {
  border-left-color: #006193;
}
.link-card--blue:hover .link-card__arrow-icon {
  color: #003a57;
}
.link-card--orange {
  background-color: #fef1e9;
  border-left-color: #f79f6a;
}
.link-card--orange .link-card__title {
  color: #662f0d;
}
.link-card--orange:hover {
  border-left-color: #ad4f17;
}
.link-card--orange:hover .link-card__arrow-icon {
  color: #662f0d;
}
.link-card--yellow {
  background-color: #fffae6;
  border-left-color: #ffdc58;
}
.link-card--yellow .link-card__title {
  color: #6b5502;
}
.link-card--yellow:hover {
  border-left-color: #b59004;
}
.link-card--yellow:hover .link-card__arrow-icon {
  color: #6b5502;
}
.link-card--grey {
  background-color: #f5f5f5;
  border-left-color: #969696;
}
.link-card--grey .link-card__title {
  color: #333333;
}
.link-card--grey:hover {
  border-left-color: #6e6e6e;
}
.link-card--grey:hover .link-card__arrow-icon {
  color: #333333;
}
.link-card--navy {
  background-color: #f2f4fb;
  border-left-color: #335878;
}
.link-card--navy .link-card__title {
  color: #001324;
}
.link-card--navy:hover {
  border-left-color: #002e56;
}
.link-card--navy:hover .link-card__arrow-icon {
  color: #001324;
}
@media (max-width: 768px) {
  .link-card {
    padding: 1rem 1.25rem;
    min-height: 3.5rem;
    margin: 0.5rem 0;
  }
  .link-card--no-description {
    min-height: unset;
  }
  .link-card__title {
    font-size: 1rem;
  }
  .link-card__description {
    font-size: 0.875rem;
  }
}
/**
 * Tag Component Styles
*/
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0.75rem 0;
}
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: default;
  white-space: nowrap;
  border-style: solid;
  box-sizing: border-box;
  border-radius: 0.5rem;
}
a.tag {
  cursor: pointer;
}
.tag--small {
  padding: 0.5rem 0.75rem;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
}
.tag--medium {
  padding: 0.75rem 1rem;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}
.tag--primary.tag--yellow {
  background-color: #ffd537;
  color: #333333;
  border: none;
}
.tag--primary.tag--yellow:hover {
  background-color: #ffcc00;
}
.tag--primary.tag--green {
  background-color: #007240;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--green:hover {
  background-color: #00512d;
}
.tag--primary.tag--blue {
  background-color: #027bb8;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--blue:hover {
  background-color: #006193;
}
.tag--primary.tag--teal {
  background-color: #007f7b;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--teal:hover {
  background-color: #005d5a;
}
.tag--primary.tag--orange {
  background-color: #f36f20;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--orange:hover {
  background-color: #ad4f17;
}
.tag--primary.tag--red {
  background-color: #c8303f;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--red:hover {
  background-color: #9c2631;
}
.tag--primary.tag--grey {
  background-color: #616d7c;
  color: #ffffff;
  border: none;
}
.tag--primary.tag--grey:hover {
  background-color: #4a545f;
}
.tag--secondary.tag--yellow {
  background-color: #fffae6;
  color: #6b5502;
  border: 1px solid #ffe78c;
}
.tag--secondary.tag--yellow:hover {
  background-color: #ffefb2;
}
.tag--secondary.tag--green {
  background-color: #e6f1ec;
  color: #007240;
  border: 1px solid #8abea7;
}
.tag--secondary.tag--green:hover {
  background-color: #b0d3c4;
  color: #003f23;
}
.tag--secondary.tag--blue {
  background-color: #e6f3fa;
  color: #006193;
  border: 1px solid #8ac9e9;
}
.tag--secondary.tag--blue:hover {
  background-color: #b0daf0;
  color: #004b72;
}
.tag--secondary.tag--teal {
  background-color: #e6f6f6;
  color: #005d5a;
  border: 1px solid #8ad7d5;
}
.tag--secondary.tag--teal:hover {
  background-color: #b0e4e3;
  color: #004745;
}
.tag--secondary.tag--orange {
  background-color: #fef1e9;
  color: #ad4f17;
  border: 1px solid #f9bd98;
}
.tag--secondary.tag--orange:hover {
  background-color: #fbd2ba;
  color: #863d12;
}
.tag--secondary.tag--red {
  background-color: #fceaec;
  color: #c8303f;
  border: 1px solid #efa2a9;
}
.tag--secondary.tag--red:hover {
  background-color: #f4c0c5;
  color: #9c2631;
}
.tag--secondary.tag--grey {
  background-color: #e6edf3;
  color: #004877;
  border: 1px solid #8aaec6;
}
.tag--secondary.tag--grey:hover {
  background-color: #b0c8d9;
}
.tag__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  transition: opacity all 0.3s ease;
}
.tag__icon:hover {
  opacity: 0.7;
}
.tag__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.tag--primary .tag__icon svg path {
  stroke: #ffffff;
}
.tag--secondary.tag--yellow .tag__icon svg path {
  stroke: #6b5502;
}
.tag--secondary.tag--green .tag__icon svg path {
  stroke: #007240;
}
.tag--secondary.tag--blue .tag__icon svg path {
  stroke: #006193;
}
.tag--secondary.tag--teal .tag__icon svg path {
  stroke: #005d5a;
}
.tag--secondary.tag--orange .tag__icon svg path {
  stroke: #ad4f17;
}
.tag--secondary.tag--red .tag__icon svg path {
  stroke: #c8303f;
}
.tag--secondary.tag--grey .tag__icon svg path {
  stroke: #004877;
}
.tag--secondary.tag--green:hover .tag__icon svg path {
  stroke: #003f23;
}
.tag--secondary.tag--blue:hover .tag__icon svg path {
  stroke: #004b72;
}
.tag--secondary.tag--teal:hover .tag__icon svg path {
  stroke: #004745;
}
.tag--secondary.tag--orange:hover .tag__icon svg path {
  stroke: #863d12;
}
.tag--secondary.tag--red:hover .tag__icon svg path {
  stroke: #9c2631;
}
.tag__text {
  flex: 0 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: lowercase;
}
.tag__text::first-letter {
  text-transform: uppercase;
}
.card .tag--primary.tag--yellow:hover {
  background-color: #ffd537 !important;
}
.card .tag--primary.tag--green:hover {
  background-color: #007240 !important;
}
.card .tag--primary.tag--blue:hover {
  background-color: #027bb8 !important;
}
.card .tag--primary.tag--teal:hover {
  background-color: #007f7b !important;
}
.card .tag--primary.tag--orange:hover {
  background-color: #f36f20 !important;
}
.card .tag--primary.tag--red:hover {
  background-color: #c8303f !important;
}
.card .tag--primary.tag--grey:hover {
  background-color: #616d7c !important;
}
.card .tag--secondary.tag--yellow:hover {
  background-color: #fffae6 !important;
}
.card .tag--secondary.tag--green:hover {
  background-color: #e6f1ec !important;
  color: #007240 !important;
}
.card .tag--secondary.tag--blue:hover {
  background-color: #e6f3fa !important;
  color: #006193 !important;
}
.card .tag--secondary.tag--teal:hover {
  background-color: #e6f6f6 !important;
  color: #005d5a !important;
}
.card .tag--secondary.tag--orange:hover {
  background-color: #fef1e9 !important;
  color: #ad4f17 !important;
}
.card .tag--secondary.tag--red:hover {
  background-color: #fceaec !important;
  color: #c8303f !important;
}
.card .tag--secondary.tag--grey:hover {
  background-color: #e6edf3 !important;
}
.card .tag__icon:hover {
  opacity: 1 !important;
}
.card .tag--secondary.tag--green:hover .tag__icon svg path {
  stroke: #007240 !important;
}
.card .tag--secondary.tag--blue:hover .tag__icon svg path {
  stroke: #006193 !important;
}
.card .tag--secondary.tag--teal:hover .tag__icon svg path {
  stroke: #005d5a !important;
}
.card .tag--secondary.tag--orange:hover .tag__icon svg path {
  stroke: #ad4f17 !important;
}
.card .tag--secondary.tag--red:hover .tag__icon svg path {
  stroke: #c8303f !important;
}
.card .tag {
  cursor: pointer !important;
}
.card .tag__icon {
  cursor: pointer !important;
}
/**
 * Four Image Block Component Styles
 * 
 * Based on Figma Design System
 * Supports two layouts: 2x2 Grid and 4x1 Flex
 * 
 * LAST UPDATED: 27/01/2026
 */
/*  *****FOUR IMAGE BLOCK STYLES*****    */
h4 + .four-image-block {
  margin-top: 1rem;
}
.four-image-block::before {
  content: none;
}
h4:has(+ .four-image-block) {
  color: #002e56;
}
.four-image-block.flex {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.75rem;
  margin-bottom: 0.25rem;
}
.four-image-block.flex > * {
  padding: 0.75rem;
  display: flex;
}
.four-image-block.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.four-image-block .four-image-block__card {
  background-color: #ffffff;
  border: 1px solid #cdd2e1;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
  height: 100%;
  width: 100%;
}
.four-image-block .four-image-block__card:hover {
  background-color: #e6f3fa;
  border-color: #b0daf0;
}
.four-image-block .four-image-block__card:hover .four-image-block__title {
  text-decoration: underline;
  color: #002e56;
}
.four-image-block .four-image-block__card:hover .four-image-block__description {
  color: #333333;
  text-decoration: underline;
}
.four-image-block .four-image-block__image-container {
  width: 100%;
  height: 168px;
  overflow: hidden;
  position: relative;
  line-height: 0;
  flex-shrink: 0;
}
.four-image-block .four-image-block__image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.four-image-block .four-image-block__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  padding-bottom: 1.5rem;
  flex: 1;
}
.four-image-block .four-image-block__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .four-image-block .four-image-block__header {
    gap: 0.75rem;
  }
}
.four-image-block .four-image-block__title {
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 50px;
}
.four-image-block .four-image-block__date {
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  margin: 0;
}
.four-image-block .four-image-block__description {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  max-height: 72px;
  transition: all 0.3s ease;
}
/*  *****END FOUR IMAGE BLOCK STYLES*****    */
/**
 * Cards Row Block Component Styles
 *
 * Reuses card component styles; adds:
 * - Header with heading and news category filter tags
 * - Grid layout for 4 cards
 * - View all link
 *
 * Background: full width; Content: matches page content width (container minus padding)
 * LAST UPDATED: 18/02/2026
 */
.cards-row-block__bg-wrap {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  padding-left: 24px;
  padding-right: 24px;
}
@media (min-width: 768px) {
  .cards-row-block__bg-wrap {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.cards-row-block__bg-wrap--container-width {
  width: 100%;
  left: auto;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
}
.cards-row-block__bg-wrap.cards-row-block--bg-light {
  background-color: #F7FBFE;
}
.cards-row-block__bg-wrap.cards-row-block--bg-white {
  background-color: #FFFFFF;
}
.cards-row-block {
  max-width: 1224px;
  padding: 2.5rem 0;
  margin-left: auto;
  margin-right: auto;
}
.cards-row-block--container-width {
  max-width: 100%;
  padding: 1.5rem 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .cards-row-block--container-width {
    padding: 2.5rem 0;
  }
}
@media (min-width: 992px) {
  .cards-row-block--container-width {
    padding: 3rem 0;
  }
}
@media (min-width: 768px) {
  .cards-row-block:not(.cards-row-block--container-width) {
    padding: 8rem 0;
  }
}
.cards-row-block__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .cards-row-block__header {
    margin-bottom: 4rem;
  }
}
.cards-row-block--container-width .cards-row-block__header {
  margin-bottom: 0;
}
.cards-row-block__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cards-row-block__heading-accent {
  display: block;
  width: 104px;
  height: 4px;
  background: linear-gradient(90deg, #009A95 0%, #002E56 100%);
  border-radius: 2px;
}
.cards-row-block__heading {
  color: #002e56;
  margin: 0;
}
.cards-row-block__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cards-row-block__filters a.tag {
  cursor: pointer;
  text-transform: capitalize;
}
.cards-row-block .card .card__tags .tag {
  width: 7.875rem;
  min-width: 7.875rem;
  max-width: 7.875rem;
  white-space: normal;
  text-align: center;
  word-wrap: break-word;
}
.cards-row-block__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.cards-row-block__grid .card {
  margin: 0;
}
.cards-row-block--container-width .cards-row-block__grid {
  margin-bottom: 0;
}
.cards-row-block__grid--container-width--count-1 {
  grid-template-columns: repeat(1, 1fr);
}
.cards-row-block__grid--container-width--count-2 {
  grid-template-columns: repeat(2, 1fr);
}
.cards-row-block__grid--container-width--count-3 {
  grid-template-columns: repeat(3, 1fr);
}
.cards-row-block__grid--container-width--count-4 {
  grid-template-columns: repeat(4, 1fr);
}
.cards-row-block__grid--highlight {
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1.5rem;
}
.cards-row-block__grid--highlight > .cards-row-block__highlight-large {
  grid-column: 1;
  grid-row: 1 / -1;
  min-height: 0;
}
.cards-row-block__grid--highlight > .cards-row-block__highlight-large .card {
  height: 100%;
  min-height: 20rem;
}
.cards-row-block__grid--highlight > .cards-row-block__highlight-small {
  min-height: 0;
  min-width: 0;
}
.cards-row-block__grid--highlight > .cards-row-block__highlight-small .card {
  height: 100%;
  min-height: 16rem;
}
.cards-row-block__grid--highlight > .cards-row-block__highlight-small .card .card__description {
  display: none;
}
.cards-row-block__alert-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.cards-row-block__alert-list .card {
  margin: 0;
  width: 100%;
}
.cards-row-block__highlight-mobile {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.cards-row-block__highlight-mobile .card {
  margin: 0;
  width: 100%;
}
.cards-row-block__highlight-mobile__highlight-mobile-item {
  width: 100%;
}
.cards-row-block__mobile-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.cards-row-block__mobile-stack .card {
  margin: 0;
  width: 100%;
}
.cards-row-block__mobile-stack-item {
  width: 100%;
}
.cards-row-block__carousel {
  margin-bottom: 1.5rem;
  overflow: hidden;
  width: 100%;
  min-width: 0;
}
.cards-row-block__carousel-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
  width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.cards-row-block__carousel-track::-webkit-scrollbar {
  display: none;
}
.cards-row-block__carousel-item {
  flex: 0 0 288px;
  scroll-snap-align: start;
}
.cards-row-block__carousel-item .card {
  margin: 0;
  width: 288px;
}
.cards-row-block__carousel-item .card .card__description {
  display: none;
}
.cards-row-block__carousel-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
}
.cards-row-block__carousel-indicators {
  display: flex;
  gap: 0.25rem;
  margin: 0;
}
.cards-row-block__carousel-indicators button {
  width: 8px;
  height: 8px;
  border-radius: 10px;
  margin: 0;
  padding: 0;
  border: none;
  background-color: #b0becb;
  cursor: pointer;
  transition: width 0.2s, border-radius 0.2s, background-color 0.2s;
}
.cards-row-block__carousel-indicators button.active {
  width: 24px;
  border-radius: 4px;
  background-color: #002e56;
}
.cards-row-block__view-all {
  display: flex;
  justify-content: flex-end;
}
.cards-row-block__view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #002e56;
  text-decoration: none;
}
.cards-row-block__view-all-link::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23002e56' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.cards-row-block__view-all-link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.cards-row-block__view-all-link:hover::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16699 10H15.8337M15.8337 10L10.0003 4.16669M15.8337 10L10.0003 15.8334' stroke='%23027bb8' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/**
 * Links Row Block Component
 *
 * Displays 1 to 3 groups of link cards side-by-side. Each group has:
 * - Persona Links (blue): "I am a" sections, user type navigation
 * - Related Links (navy): Links to related pages or content
 * - Tools & Resources (teal): Tools, utilities, and resource links
 *
 * Reuses link-card component styles; adds section heading and layout.
 * Figma: 9360-23435
 * LAST UPDATED: 03/03/2026
 */
.umb-block-grid__layout-item:has(.links-row-block) {
  container-type: inline-size;
  container-name: links-row-block;
}
.links-row-block {
  display: grid;
  gap: 3rem;
  margin-bottom: 2.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .links-row-block {
    gap: 1.5rem;
    margin-bottom: 4rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .links-row-block {
    grid-template-columns: repeat(3, 1fr);
  }
}
.links-row-block__group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}
.links-row-block__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 0;
}
.links-row-block__header--section {
  gap: 1rem;
}
.links-row-block__heading {
  display: flex;
  height: 2.75rem;
  flex-direction: column;
  justify-content: flex-end;
  align-self: stretch;
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
}
.links-row-block__heading--persona {
  font-size: 1.375rem;
  color: #004b72;
}
.links-row-block__heading--section {
  font-size: 2rem;
  font-weight: 700;
  color: #002e56;
}
.links-row-block__accent {
  display: block;
  height: 4px;
  border-radius: 2px;
}
.links-row-block__accent--persona {
  width: 100%;
  height: 0;
  min-height: 0;
  border-top: 1px solid #b0daf0;
  background: none;
}
.links-row-block__accent--section {
  width: 104px;
  background: linear-gradient(90deg, #007F7B 0%, #002E56 100%);
}
.links-row-block__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.links-row-block__list .link-card {
  margin: 0;
}
.links-row-block__group.links-row-block--blue .links-row-block__list {
  gap: 0.5rem;
}
@supports (container-type: inline-size) {
  .links-row-block {
    gap: 3rem;
    margin-bottom: 2.5rem;
    grid-template-columns: 1fr;
  }
  @container links-row-block (min-width: 768px) {
    .links-row-block {
      gap: 1.5rem;
      margin-bottom: 4rem;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @container links-row-block (min-width: 992px) {
    .links-row-block {
      grid-template-columns: repeat(3, 1fr);
    }
  }
}
@media (max-width: 767px) {
  .links-row-block__heading--persona {
    font-size: 1.25rem;
  }
  .links-row-block__heading--section {
    font-size: 1.75rem;
  }
}
/**
 * Links Grid Component
 *
 * Accordion-style grid of link categories. "In this section" with collapsible panels.
 * Figma: 8643-22049 (node-id=8643-22049)
 * Design: 3-column grid, light blue panel headers, expand/collapse, Show all/Show less
 *
 * LAST UPDATED: 09/03/2026
 */
.umb-block-grid__layout-item:has(.links-grid) {
  align-self: start;
}
.links-grid {
  position: relative;
  max-width: 1224px;
  margin: 0 auto;
  padding-top: 1rem;
  padding-bottom: 4rem;
  align-self: start;
  container-type: inline-size;
  container-name: links-grid;
}
.links-grid__accent-bar {
  width: 6.5rem;
  height: 0.25rem;
  margin-bottom: 1rem;
  background: linear-gradient(90deg, #009a95 0%, #002e56 100%);
}
.links-grid__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .links-grid__header {
    flex-wrap: nowrap;
  }
}
.links-grid__title {
  font-family: Roboto, 'Roboto', sans-serif;
  font-size: var(--Font-size-H2, 2rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  color: var(--System-system-text-primary, #002e56);
  margin: 0;
  min-width: 0;
}
@media (max-width: 767px) {
  .links-grid__title {
    flex: 1 1 auto;
    font-size: 1.75rem;
  }
}
.links-grid__hide-all {
  flex-shrink: 0;
  gap: 0.5rem;
  width: auto !important;
}
@media (max-width: 767px) {
  .links-grid__hide-all {
    padding: 10px 1rem;
  }
}
.links-grid__hide-all:hover:not(:disabled):not(.btn-disabled) {
  background-color: #004f83 !important;
  border: none !important;
  color: #ffffff !important;
}
.links-grid__hide-all-icon {
  display: inline-flex;
  transition: transform 0.2s ease;
  color: #333333;
}
.links-grid__hide-all:hover:not(:disabled):not(.btn-disabled) .links-grid__hide-all-icon {
  color: #ffffff !important;
}
.links-grid__panel-chevron--rotated {
  transform: rotate(180deg);
}
.links-grid__hide-all-icon-svg {
  width: 1.25rem;
  height: 1.25rem;
}
.links-grid__panels {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
}
@media (min-width: 768px) {
  .links-grid__panels {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
    align-items: stretch;
    gap: 1.5rem;
  }
}
@container links-grid (min-width: 960px) {
  .links-grid__panels {
    grid-template-columns: repeat(3, 1fr);
  }
}
.links-grid__panel {
  border-radius: 4px;
  overflow: hidden;
  background: #f7fbfe;
}
@media (min-width: 768px) {
  .links-grid__panel {
    display: block;
  }
}
.links-grid__panel--collapsed .links-grid__panel-content {
  display: none;
}
.links-grid__panel--collapsed .links-grid__panel-chevron {
  transform: rotate(180deg);
}
.links-grid__panel--collapsed {
  align-self: start;
  background: #e6f3fa;
}
.links-grid__panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.5rem 1rem;
  background: #e6f3fa;
  transition: background 0.2s ease;
}
.links-grid__panel-header:hover {
  background: #ddeff8;
}
.links-grid__panel-title-link {
  text-decoration: none;
  color: inherit;
  display: inline-block;
}
.links-grid__panel-title-link:hover .links-grid__panel-title {
  text-decoration: underline;
}
.links-grid__panel-title-link:focus {
  outline: none;
}
.links-grid__panel-chevron-btn {
  flex-shrink: 0;
  padding: 0.25rem;
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.links-grid__panel-chevron-btn:hover {
  color: #002e56;
}
.links-grid__panel-chevron-btn:focus {
  outline: 2px solid #002e56;
  outline-offset: -2px;
}
.links-grid__panel-header-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.links-grid__panel-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
}
@media (max-width: 767px) {
  .links-grid__panel-title {
    font-size: 1.125rem;
  }
}
.links-grid__panel-description {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #6e6e6e;
  margin: 0;
}
.links-grid__panel-chevron {
  flex-shrink: 0;
  display: inline-flex;
  transition: transform 0.2s ease;
  color: #6e6e6e;
}
.links-grid__panel-chevron-svg {
  width: 1.25rem;
  height: 1.25rem;
}
.links-grid__panel-content {
  padding: 1.5rem 1rem 2rem;
  background: #f7fbfe;
}
.links-grid__links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.links-grid__link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #004b72;
  text-decoration: none;
  transition: color 0.2s ease;
}
.links-grid__link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.links-grid__link:focus {
  outline: 2px solid #002e56;
  outline-offset: 0.5rem;
}
.links-grid__link-icon {
  flex-shrink: 0;
  display: inline-flex;
}
.links-grid__link-icon-svg {
  width: 1.25rem;
  height: 1.25rem;
}
.links-grid__link-text {
  flex: 1 1 auto;
  min-width: 0;
}
.links-grid__extra {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.links-grid__extra[hidden] {
  display: none;
}
.links-grid__show-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  background: none;
  border: none;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #6e6e6e;
  cursor: pointer;
}
.links-grid__show-toggle:hover {
  color: #004b72;
}
.links-grid__show-toggle:focus {
  outline: 2px solid #002e56;
  outline-offset: 0.5rem;
}
.links-grid__show-toggle-icon {
  display: inline-flex;
  transition: transform 0.2s ease;
}
.links-grid__show-toggle-icon-svg {
  width: 1.25rem;
  height: 1.25rem;
}
.links-grid__empty {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  color: #6e6e6e;
  margin: 0;
}
.links-grid__preview-note {
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  color: #6e6e6e;
  margin: 1rem 0 0;
  font-style: italic;
}
/**
 * Persona Panel Component
 *
 * Persona selector with popular links section.
 * Figma: 8044-4015 (desktop), 9267-5131 (mobile)
 * LAST UPDATED: 03/03/2026
 */
.persona-panel {
  position: relative;
  max-width: 76.375rem;
  margin: 0 auto;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  /* Subtitle L */
  /* H3 */
  /* Each page: desktop = row of 3, mobile = column of 3 with peek of next 3 cards */
}
@media (min-width: 768px) {
  .persona-panel {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
.persona-panel__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.persona-panel__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.persona-panel__heading-accent {
  display: block;
  width: 6.5rem;
  height: 0.25rem;
  background: linear-gradient(90deg, #009a95 0%, #002e56 100%);
  border-radius: 2px;
}
.persona-panel__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
}
@media (min-width: 768px) {
  .persona-panel__title {
    font-size: 2rem;
  }
}
.persona-panel__subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
}
@media (min-width: 768px) {
  .persona-panel__subtitle {
    font-size: 1.375rem;
  }
}
.persona-panel__personas-wrap {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.persona-panel__personas {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
  scrollbar-width: none;
}
.persona-panel__personas::-webkit-scrollbar {
  display: none;
}
@media (min-width: 992px) {
  .persona-panel__personas {
    overflow: visible;
    scroll-snap-type: none;
    gap: 0.75rem;
  }
}
.persona-panel__persona {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  scroll-snap-align: start;
}
@media (min-width: 992px) {
  .persona-panel__persona {
    flex: 1 1 0;
    min-width: 0;
  }
}
.persona-panel__persona:focus {
  outline: 2px solid #002e56;
  outline-offset: 0.5rem;
}
.persona-panel__persona-avatar {
  position: relative;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #b0daf0;
}
@media (min-width: 768px) {
  .persona-panel__persona-avatar {
    width: 10rem;
    height: 10rem;
    border-width: 2px;
  }
}
.persona-panel__persona--selected .persona-panel__persona-avatar {
  border-width: 0.1875rem;
  border-color: #33a1d9;
}
.persona-panel__persona-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.persona-panel__persona-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: #e0e4eb;
}
.persona-panel__persona-label {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  color: #6e6e6e;
}
@media (max-width: 767px) {
  .persona-panel__persona-label {
    /* Subtitle S - mobile */
    font-size: 0.875rem;
    line-height: 1.25;
    max-width: 5rem;
    white-space: normal;
    word-wrap: break-word;
  }
}
.persona-panel__persona--selected .persona-panel__persona-label {
  color: #002e56;
}
.persona-panel__nav {
  display: flex;
  justify-content: flex-end;
  padding: 0 0.5rem;
}
.persona-panel__next {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #002e56;
  cursor: pointer;
  padding: 0;
}
.persona-panel__next:focus {
  outline: 2px solid #002e56;
  outline-offset: 2px;
}
.persona-panel__next-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: inherit;
}
.persona-panel__links-wrap {
  position: relative;
  margin-top: 1.75rem;
  min-width: 0;
}
.persona-panel__accent-bar {
  display: none;
  position: absolute;
  top: -0.5rem;
  height: 0.5rem;
  background: #33a1d9;
  border-radius: 0.5rem 0.5rem 0 0;
  pointer-events: none;
  transition: left 0.2s ease, width 0.2s ease;
}
@media (min-width: 768px) {
  .persona-panel__accent-bar {
    display: block;
  }
}
.persona-panel__links-section {
  position: relative;
  background: #f7fbfe;
  border-radius: 1rem 0.5rem 1rem 1rem;
  border: 2px solid #e6f3fa;
  padding: 1rem 0 1rem 0;
  min-width: 0;
}
@media (min-width: 768px) {
  .persona-panel__links-section {
    padding: 2.5rem 3rem;
    border-radius: 0.5rem 0.5rem 1rem 1rem;
    border: none;
  }
}
.persona-panel__links-section--last-page {
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .persona-panel__links-section--last-page {
    padding-right: 3rem;
  }
}
.persona-panel__links-section--last-page .persona-panel__view-all-link {
  padding-right: 0;
}
.persona-panel__links-empty {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  color: #6e6e6e;
  margin: 0;
}
.persona-panel__links-heading {
  font-family: 'Roboto', sans-serif;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
  color: #002e56;
  margin: 0 0 1.5rem;
}
@media (max-width: 767px) {
  .persona-panel__links-heading {
    padding-left: 1.5rem;
  }
}
.persona-panel__links-section--hidden {
  display: none !important;
}
.persona-panel__links-section--active {
  display: block;
}
.persona-panel__carousel {
  overflow: hidden;
  width: 100%;
  min-width: 0;
}
.persona-panel__carousel-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  /* Disable snap during JS animation so cards visibly slide */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
  width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.persona-panel__carousel-track--animating {
  scroll-snap-type: none;
}
.persona-panel__carousel-track::-webkit-scrollbar {
  display: none;
}
@media (max-width: 767px) {
  .persona-panel__carousel-track {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    grid-auto-columns: calc(100% - 3.75rem);
    grid-auto-flow: column;
  }
}
.persona-panel__carousel-page {
  flex: 0 0 100%;
  display: flex;
  gap: 1rem;
  scroll-snap-align: start;
  min-width: 0;
}
@media (min-width: 768px) {
  .persona-panel__carousel-page {
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .persona-panel__carousel-page {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 1rem;
    /* Partially show next 3 cards (next column)*/
    min-width: calc(100% - 3.75rem);
  }
  .persona-panel__carousel-page:first-child {
    padding-left: 1.5rem;
  }
}
.persona-panel__carousel-item {
  min-width: 0;
}
@media (min-width: 768px) {
  .persona-panel__carousel-item {
    flex: 0 0 calc((100% - 2 * 1rem) / 3);
  }
}
@media (max-width: 767px) {
  .persona-panel__carousel-item {
    min-height: 0;
    width: 100%;
  }
}
.persona-panel__carousel-item .card {
  margin: 0;
  width: 100%;
}
.persona-panel__carousel-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .persona-panel__carousel-footer {
    padding-left: 1.5rem;
  }
}
.persona-panel__carousel-indicators {
  display: flex;
  height: 9px;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
}
.persona-panel__carousel-indicators button {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin: 0;
  padding: 0;
  border: none;
  background-color: #b0becb;
  cursor: pointer;
  transition: width 0.2s, border-radius 0.2s, background-color 0.2s;
}
.persona-panel__carousel-indicators button.active {
  width: 40px;
  height: 9px;
  border-radius: 10px;
  background: #002e56;
}
.persona-panel__view-all {
  margin-top: 1.5rem;
  display: flex;
  justify-content: flex-end;
}
.persona-panel__view-all-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #002e56;
  text-decoration: none;
  padding-right: 1.5rem;
}
.persona-panel__view-all-link:hover {
  color: #002a4e;
  text-decoration: underline;
}
.persona-panel__view-all-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: inherit;
}
/**
 * Back to Top Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=1-516
 * 
 * A floating button that appears when the user scrolls down the page.
 * Clicking the button smoothly scrolls the page back to the top.
 * 
 * LAST UPDATED: 30/01/2026
 */
.back-to-top-container {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1030;
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease;
}
.back-to-top-container.is-visible {
  opacity: 1;
  visibility: visible;
}
.back-to-top-button {
  width: 3rem;
  height: 3rem;
  padding: 0;
  background-color: #ffffff;
  border: 1px solid #002e56;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.15s ease;
}
.back-to-top-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  border-color: #002e56;
}
.back-to-top-button:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.back-to-top-button:focus:not(:disabled),
.back-to-top-button:focus-visible:not(:disabled) {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.back-to-top-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.back-to-top-button .back-to-top-icon {
  width: 24px;
  height: 24px;
  color: #000000;
  display: block;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.back-to-top-container.is-visible .back-to-top-button {
  animation: all 0.15s ease;
}
/**
 * Site Footer Component
 * Figma: MNZ Website Design System â€“ Footer (10313-7963), Mobile (10313-8045)
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=10313-8045
 *
 * BEM: .site-footer, __seachange, __main, __container, __header, __tagline, __logo,
 * __contact, __contact-title, __contact-grid, __contact-item, __contact-label, __contact-value,
 * __separator, __bottom, __bottom-content, __government-logo, __social, __legal, __copyright.
 */
.site-footer {
  background-color: #002e56;
  color: #ffffff;
  width: 100%;
}
.site-footer__seachange {
  width: 100%;
  position: relative;
}
.site-footer__seachange-inner {
  position: relative;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.55);
  padding: 96px 0 80px;
  box-sizing: border-box;
  isolation: isolate;
}
@media (max-width: 767px) {
  .site-footer__seachange-inner {
    padding: 40px 0;
  }
}
.site-footer__seachange-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -2;
}
.site-footer__seachange-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.55);
  z-index: -1;
}
.site-footer__seachange-content {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1224px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .site-footer__seachange-content {
    align-items: flex-start;
    text-align: left;
  }
}
.site-footer__seachange-heading {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.25;
  color: #ffffff !important;
  margin: 0 0 1rem 0;
}
@media (max-width: 767px) {
  .site-footer__seachange-heading {
    font-size: 34px;
  }
}
.site-footer__seachange-description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #ffffff;
  margin: 0 0 3rem 0;
}
@media (max-width: 767px) {
  .site-footer__seachange-description {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
}
.site-footer__seachange-cta {
  width: auto;
  align-self: flex-start;
  background-color: #54c5c2 !important;
  color: #002e56 !important;
  border: none !important;
}
.site-footer__seachange-cta:hover {
  background-color: #33bab6 !important;
  color: #002e56 !important;
}
.site-footer__seachange-cta .btn-label {
  color: inherit;
}
@media (max-width: 767px) {
  .site-footer__seachange-cta {
    align-self: flex-start;
  }
}
.site-footer__main {
  padding: 4rem 0 0 0;
}
@media (max-width: 767px) {
  .site-footer__main {
    padding: 3rem 0 0 0;
  }
}
.site-footer__container {
  max-width: 1224px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
.site-footer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 82px;
}
@media (max-width: 767px) {
  .site-footer__header {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
.site-footer__tagline {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #ffffff;
  margin: 0;
}
@media (max-width: 767px) {
  .site-footer__tagline {
    font-size: 2.125rem;
  }
}
.site-footer__tagline--image {
  font-size: 0;
  line-height: 0;
  margin: 0;
  padding: 0;
}
.site-footer__tagline-images {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  max-width: 100%;
}
.site-footer__tagline-images img {
  display: block;
}
.site-footer__tagline-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.site-footer__tagline-image--mobile {
  display: block !important;
}
@media (min-width: 768px) {
  .site-footer__tagline-image--mobile {
    display: none !important;
  }
}
.site-footer__tagline-image--tablet {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .site-footer__tagline-image--tablet {
    display: block !important;
  }
}
@media (min-width: 1024px) {
  .site-footer__tagline-image--tablet {
    display: none !important;
  }
}
.site-footer__tagline-image--desktop {
  display: none !important;
}
@media (min-width: 1024px) {
  .site-footer__tagline-image--desktop {
    display: block !important;
  }
}
.site-footer__logo {
  height: 52.34px;
  width: 200px;
}
.site-footer__logo-link {
  display: block;
  height: 100%;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
.site-footer__logo-link:hover,
.site-footer__logo-link:focus {
  color: inherit;
  text-decoration: none;
}
.site-footer__logo-link img {
  height: 100%;
  width: auto;
  object-fit: contain;
  display: block;
}
.site-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
@media (max-width: 767px) {
  .site-footer__contact {
    align-items: flex-start;
    width: 100%;
    gap: 1.25rem;
  }
}
.site-footer__contact-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #54c5c2;
  margin: 0 0 1rem 0;
}
@media (max-width: 767px) {
  .site-footer__contact-title {
    font-size: 1.375rem;
    margin-bottom: 0;
  }
}
.site-footer__contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: left;
  justify-content: flex-start;
  min-width: 0;
}
@media (min-width: 1200px) {
  .site-footer__contact-grid {
    grid-template-columns: repeat(4, minmax(0, max-content));
    row-gap: 15px;
    column-gap: 48px;
  }
}
.site-footer__contact-item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
}
@media (max-width: 767px) {
  .site-footer__contact-item {
    gap: 0.75rem;
  }
}
.site-footer__phone-value a,
.site-footer__fax-value a {
  font-weight: 700;
}
.site-footer__contact-label {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #ffffff;
  margin: 0;
}
@media (max-width: 767px) {
  .site-footer__contact-label {
    font-size: 1.125rem;
  }
}
.site-footer__contact-value {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #ffffff;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.site-footer__contact-value--address {
  white-space: pre-line;
}
.site-footer__contact-value a.site-footer__link {
  color: #ffffff;
  text-decoration: none;
}
.site-footer__contact-value a.site-footer__link:hover {
  text-decoration: underline;
}
.site-footer__contact-value p {
  margin: 0;
  line-height: 1.5;
}
.site-footer__contact-value p + p {
  margin-top: 0.25rem;
}
.site-footer__contact-value strong {
  font-weight: 700;
}
@media (max-width: 767px) {
  .site-footer__contact-value {
    font-size: 1rem;
  }
}
.site-footer__separator.separator {
  margin-top: 5rem;
  margin-bottom: 3rem;
}
/*
.site-footer__separator.separator .separator__svg {
  color: #00a9a4;
}
*/
.site-footer__bottom {
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .site-footer__bottom {
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 767px) {
  .site-footer__separator.separator {
    margin-top: 3rem;
    margin-bottom: 2.5rem;
  }
}
.site-footer__bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .site-footer__bottom-content {
    flex-direction: column;
    align-items: flex-start;
    text-align: center;
    gap: 2rem;
  }
}
.site-footer__government-logo {
  height: 53.89px;
  width: 240px;
  opacity: 0.75;
}
.site-footer__government-logo a {
  display: block;
  height: 100%;
  width: 100%;
}
.site-footer__government-logo img {
  height: 100%;
  width: auto;
  object-fit: contain;
}
@media (max-width: 767px) {
  .site-footer__government-logo {
    width: 240px;
  }
}
.site-footer__social {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  opacity: 0.8;
}
@media (max-width: 767px) {
  .site-footer__social {
    gap: 2rem;
  }
}
.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 6px;
  color: #ffffff;
  transition: opacity all 0.15s ease;
}
.site-footer__social-link:hover,
.site-footer__social-link:focus {
  opacity: 1;
}
.site-footer__social-icon {
  width: 28px;
  height: 28px;
  display: block;
  object-fit: contain;
}
.site-footer__legal {
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .site-footer__legal {
    gap: 2rem;
  }
}
.site-footer__legal-link {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
  transition: color all 0.15s ease, text-decoration all 0.15s ease;
}
.site-footer__legal-link:hover,
.site-footer__legal-link:focus {
  color: #ffffff;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .site-footer__legal-link {
    font-size: 1rem;
  }
}
.site-footer__copyright {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.site-footer__copyright-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1;
  color: #ffffff;
}
.site-footer__copyright-text {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0;
  color: #ffffff;
  margin: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .site-footer__copyright-text {
    font-size: 0.875rem;
  }
}
/**
 * Hero Banner Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=8044-4381
 * 
 * A full-width hero banner component with background image support.
 * Supports variations with and without CTA button.
 * Responsive design for mobile and desktop.
 */
.hero-banner {
  position: relative;
  width: 100%;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 16px;
}
.hero-banner--no-image {
  background-color: #002e56;
}
.hero-banner__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 16px;
}
.hero-banner__background-image {
  display: none;
}
.hero-banner__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 2;
  border-radius: 16px;
}
.hero-banner__container {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1384px;
  margin: 0 auto;
  padding: 2rem 80px;
}
@media (max-width: 767px) {
  .hero-banner__container {
    padding: 1.5rem 24px;
  }
}
.hero-banner__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 800px;
  color: #ffffff;
}
.hero-banner__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.25;
  color: #ffffff !important;
  margin: 0;
  padding: 0;
  border-bottom: none;
  opacity: 0.9;
}
@media (max-width: 767px) {
  .hero-banner__title {
    font-size: 34px;
  }
}
.hero-banner__title--image {
  font-size: 0;
  line-height: 0;
  color: transparent;
}
.hero-banner__title-images {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  max-width: 100%;
}
.hero-banner__title-images img {
  display: block;
}
.hero-banner__title-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.hero-banner__title-image--mobile {
  display: block !important;
}
@media (min-width: 768px) {
  .hero-banner__title-image--mobile {
    display: none !important;
  }
}
.hero-banner__title-image--tablet {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-banner__title-image--tablet {
    display: block !important;
  }
}
@media (min-width: 1024px) {
  .hero-banner__title-image--tablet {
    display: none !important;
  }
}
.hero-banner__title-image--desktop {
  display: none !important;
}
@media (min-width: 1024px) {
  .hero-banner__title-image--desktop {
    display: block !important;
  }
}
.hero-banner__subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #ffffff;
  margin: 0;
  padding: 0;
  opacity: 0.9;
}
@media (max-width: 767px) {
  .hero-banner__subtitle {
    font-size: 18px;
  }
}
.hero-banner__description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
  padding: 0;
  opacity: 0.9;
}
.hero-banner__description p {
  margin: 0 0 0.5rem 0;
}
.hero-banner__description p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .hero-banner__description {
    font-size: 1rem;
  }
}
.hero-banner__cta {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
}
.hero-banner__cta-button {
  background-color: #54c5c2 !important;
  color: #002e56 !important;
  border: none !important;
}
.hero-banner__cta-button .btn-icon {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button .btn-icon.icon {
  filter: none !important;
}
.hero-banner__cta-button .btn-icon svg {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button .btn-icon svg path {
  stroke: #002e56 !important;
  fill: none !important;
}
.hero-banner__cta-button:hover:not(:disabled):not(.btn-disabled) {
  background-color: #33bab6 !important;
  color: #002e56 !important;
}
.hero-banner__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.hero-banner__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: #002e56 !important;
}
.hero-banner__cta-button:focus:not(:disabled):not(.btn-disabled),
.hero-banner__cta-button:focus-visible:not(:disabled):not(.btn-disabled) {
  background-color: #54c5c2 !important;
  border: 2px solid #0068f0 !important;
  color: #002e56 !important;
  outline: none !important;
  box-shadow: none !important;
}
.hero-banner__cta-button:focus:not(:disabled):not(.btn-disabled) .btn-icon,
.hero-banner__cta-button:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button:focus:not(:disabled):not(.btn-disabled) .btn-icon.icon,
.hero-banner__cta-button:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.hero-banner__cta-button:focus:not(:disabled):not(.btn-disabled) .btn-icon svg,
.hero-banner__cta-button:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #002e56 !important;
  filter: none !important;
}
.hero-banner__cta-button:focus:not(:disabled):not(.btn-disabled) .btn-icon svg path,
.hero-banner__cta-button:focus-visible:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: #002e56 !important;
}
.hero-banner__cta-button:disabled,
.hero-banner__cta-button.btn-disabled {
  background-color: #e0e4eb !important;
  color: #596173 !important;
}
.hero-banner__cta-button:disabled .btn-icon,
.hero-banner__cta-button.btn-disabled .btn-icon {
  color: #596173 !important;
}
.hero-banner__cta-button:disabled .btn-icon svg path,
.hero-banner__cta-button.btn-disabled .btn-icon svg path {
  stroke: #596173 !important;
}
.hero-banner--contained .hero-banner__container {
  max-width: 1384px;
  margin: 0 auto;
  padding-left: 80px;
  padding-right: 80px;
}
@media (max-width: 767px) {
  .hero-banner--contained .hero-banner__container {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.hero-banner--contained .hero-banner__content {
  max-width: 800px;
  padding-left: 0;
  padding-right: 0;
}
.hero-banner--full-width .hero-banner__container {
  max-width: 100%;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
@media (max-width: 767px) {
  .hero-banner--full-width .hero-banner__container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.hero-banner--full-width .hero-banner__content {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.hero-banner--with-cta .hero-banner__content {
  gap: 0.75rem;
}
.hero-banner--with-cta .hero-banner__cta {
  margin-top: 0.75rem;
}
@media (max-width: 767px) {
  .hero-banner__content {
    gap: 0.75rem;
  }
  .hero-banner__cta {
    margin-top: 0.75rem;
  }
  .hero-banner__cta-button {
    width: auto !important;
    display: inline-flex !important;
  }
  .hero-banner--with-cta .hero-banner__content {
    gap: 0.75rem;
  }
  .hero-banner--with-cta .hero-banner__cta {
    margin-top: 0.75rem;
  }
}
.hero-banner__title,
.hero-banner__subtitle,
.hero-banner__description {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
/**
 * Homepage Banner Component
 *
 * Based on MNZ Website Design Figma
 * https://www.figma.com/design/99x23TKJEgj6bdg0hH9SVp/MNZ-Website-Design?node-id=12133-32339
 *
 * Full-width banner with navy background, diagonal pattern overlay,
 * heading, subheading, search form, and action chips.
 */
main .container .homepage-banner {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.homepage-banner {
  position: relative;
  width: 100%;
  min-height: 25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  background-color: #002e56;
  padding: 6rem 0;
  color: #ffffff;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 767px) {
  .homepage-banner {
    padding: 2.3125rem 1.5625rem 2.125rem 1.375rem;
  }
}
.homepage-banner--has-bg-image .homepage-banner__bg-image {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.homepage-banner--has-bg-image .homepage-banner__bg-image--desktop {
  display: none;
}
@media (min-width: 768px) {
  .homepage-banner--has-bg-image .homepage-banner__bg-image--desktop {
    display: block;
  }
}
.homepage-banner--has-bg-image .homepage-banner__bg-image--mobile {
  display: block;
}
@media (min-width: 768px) {
  .homepage-banner--has-bg-image .homepage-banner__bg-image--mobile {
    display: none;
  }
}
.homepage-banner--has-bg-image .homepage-banner__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.4;
}
.homepage-banner__pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  min-width: 125.625rem;
  min-height: 42.375rem;
  opacity: 0.4;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: 3.75rem 3.75rem;
  pointer-events: none;
  z-index: 0;
}
.homepage-banner__gradient-top {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1;
  top: 0;
  height: 18.1875rem;
  background: linear-gradient(to bottom, #002e56 43.643%, rgba(0, 46, 86, 0) 100%);
}
@media (max-width: 767px) {
  .homepage-banner__gradient-top {
    display: none;
  }
}
.homepage-banner__gradient-bottom {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1;
  bottom: 0;
  height: 9.8125rem;
  background: linear-gradient(to top, #002e56 43.643%, rgba(0, 46, 86, 0) 100%);
}
@media (max-width: 767px) {
  .homepage-banner__gradient-bottom {
    display: none;
  }
}
.homepage-banner__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1384px;
  margin: 0 auto;
  padding: 0 80px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (max-width: 767px) {
  .homepage-banner__container {
    padding: 0;
  }
}
.homepage-banner__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 76.375rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .homepage-banner__content {
    align-items: flex-start;
  }
}
.homepage-banner__heading {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.25;
  color: #ffffff !important;
  margin: 0 0 0.8125rem 0;
  padding: 0;
  text-align: center;
  border-bottom: none;
}
@media (max-width: 767px) {
  .homepage-banner__heading {
    font-size: 2.125rem;
  }
}
.homepage-banner__heading--image {
  font-size: 0;
  line-height: 0;
  border-bottom: none;
  padding: 0;
  margin-bottom: 0.8125rem;
}
@media (max-width: 767px) {
  .homepage-banner__heading--image {
    margin-bottom: 1rem;
  }
}
.homepage-banner__heading--image .homepage-banner__heading-img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.homepage-banner__heading--image .homepage-banner__heading-img--desktop {
  max-width: 42.1875rem;
  display: none;
}
@media (min-width: 768px) {
  .homepage-banner__heading--image .homepage-banner__heading-img--desktop {
    display: block;
  }
}
.homepage-banner__heading--image .homepage-banner__heading-img--mobile {
  max-width: 23.625rem;
  display: block;
}
@media (min-width: 768px) {
  .homepage-banner__heading--image .homepage-banner__heading-img--mobile {
    display: none;
  }
}
.homepage-banner__subheading {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #ffffff;
  margin: 0;
  text-align: center;
  max-width: 63.5rem;
}
@media (max-width: 767px) {
  .homepage-banner__subheading {
    font-size: 1rem;
    text-align: left;
  }
}
.homepage-banner__search {
  width: 100%;
  max-width: 76.375rem;
  margin-top: 3.5rem;
  backdrop-filter: blur(0.1875rem);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.75rem;
  padding: 2rem 3.75rem 3rem 1.9375rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search {
    margin-top: 2.5rem;
    padding: 1.25rem 1rem;
  }
}
@media (max-width: 767px) {
  .homepage-banner__search {
    margin-top: 2rem;
    padding: 1.25rem 1rem;
  }
}
.homepage-banner__search-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 0;
  column-gap: 0;
  align-items: end;
}
@media (max-width: 1023px) {
  .homepage-banner__search-fields {
    grid-template-columns: 1fr 1fr auto;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-fields {
    grid-template-columns: 1fr 1fr 1fr auto;
  }
}
@media (max-width: 767px) {
  .homepage-banner__search-fields {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.homepage-banner__search-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-field {
    gap: 0.5rem;
  }
}
@media (max-width: 767px) {
  .homepage-banner__search-field {
    gap: 0.75rem;
  }
}
.homepage-banner__search-field:first-child {
  position: relative;
  z-index: 3;
}
.homepage-banner__search-field:first-child .homepage-banner__search-input-wrapper {
  border-radius: 0.5rem 0 0 0.5rem;
  border-right: none;
  overflow: visible;
}
.homepage-banner__search-field:first-child .homepage-banner__search-input-wrapper::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1.75rem;
  background: #B2B2B2;
  z-index: 1;
}
.homepage-banner__search-field:nth-child(2) {
  position: relative;
  z-index: 2;
}
.homepage-banner__search-field:nth-child(2) .homepage-banner__search-input-wrapper {
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.homepage-banner__search-field:nth-child(2) .homepage-banner__search-input-wrapper::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1.75rem;
  background: #B2B2B2;
  z-index: 1;
}
.homepage-banner__search-field:nth-child(3) {
  position: relative;
  z-index: 1;
}
.homepage-banner__search-field:nth-child(3) .homepage-banner__search-input-wrapper {
  border-radius: 0 0.5rem 0.5rem 0;
  border-left: none;
  border-right: none;
}
.homepage-banner__search-field:has(.dropdown-menu.show) {
  z-index: 1060;
}
@media (max-width: 767px) {
  .homepage-banner__search-field:first-child .homepage-banner__search-input-wrapper,
  .homepage-banner__search-field:nth-child(2) .homepage-banner__search-input-wrapper,
  .homepage-banner__search-field:nth-child(3) .homepage-banner__search-input-wrapper {
    border-radius: 0.5rem;
    border: 1px solid #cdd2e1;
  }
  .homepage-banner__search-field:first-child .homepage-banner__search-input-wrapper::after,
  .homepage-banner__search-field:nth-child(2) .homepage-banner__search-input-wrapper::after,
  .homepage-banner__search-field:nth-child(3) .homepage-banner__search-input-wrapper::after {
    display: none;
  }
}
.homepage-banner__search-label {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #ffffff;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-label {
    font-size: 1rem;
  }
}
.homepage-banner__search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  height: 3.5rem;
  background: #ffffff;
  border: 1px solid #cdd2e1;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-input-wrapper {
    height: 3rem;
  }
}
.homepage-banner__search-input-wrapper--select.dropdown {
  position: relative;
  overflow: visible;
}
.homepage-banner__search-input-wrapper--select.dropdown:has(.dropdown-menu.show) {
  z-index: 1060;
}
.homepage-banner__search-icon {
  position: absolute;
  left: 0.5rem;
  display: block;
  width: 1.5rem;
  height: 1.6875rem;
  color: #4D4D4D;
  stroke-width: 1.25;
  pointer-events: none;
}
.homepage-banner__search-mic {
  position: absolute;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: none;
  color: #6e6e6e;
  cursor: pointer;
  transition: color 0.2s ease;
}
.homepage-banner__search-mic:hover {
  color: #002e56;
}
.homepage-banner__search-mic:focus {
  outline: 2px solid #002e56;
  outline-offset: 0.125rem;
}
.homepage-banner__search-mic-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  mask: url("/icons/microphone.svg") no-repeat center;
  mask-size: contain;
  -webkit-mask: url("/icons/microphone.svg") no-repeat center;
  -webkit-mask-size: contain;
  background-color: currentColor;
}
.homepage-banner__search-input {
  flex: 1;
  padding: 0.75rem 2.5rem 0.75rem 2.5rem !important;
  border: none !important;
  outline: none;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-input {
    font-size: 0.875rem !important;
    padding: 0.25rem 0 0.25rem 2.25rem !important;
    min-height: 3rem !important;
  }
}
.homepage-banner__search-input::placeholder {
  color: #54738e !important;
}
.homepage-banner__search-input:focus {
  box-shadow: none !important;
}
.homepage-banner__search-dropdown-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1.375rem 0.75rem 1rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #54738e;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-align: left;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-dropdown-trigger {
    font-size: 0.875rem;
    padding: 0.25rem 1rem 0.25rem 0.5rem;
  }
}
.homepage-banner__search-dropdown-trigger:hover {
  color: #002e56;
}
.homepage-banner__search-dropdown-label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.homepage-banner__search-dropdown-menu {
  padding: 0.25rem;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  z-index: 1060;
  min-width: 100%;
  background: #ffffff;
  border: 1px solid #8692b2;
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.625rem rgba(68, 92, 155, 0.2);
}
.homepage-banner__search-dropdown-menu.show {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-dropdown-menu.show {
    margin-top: 10px !important;
  }
}
.homepage-banner__search-dropdown-menu .homepage-banner__search-dropdown-option {
  padding: 0.75rem 1rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333333;
  text-align: left;
  border-radius: 0.25rem;
  cursor: pointer;
  background: transparent;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-dropdown-menu .homepage-banner__search-dropdown-option {
    padding: 0.5rem 10px;
    font-size: 0.875rem;
  }
}
.homepage-banner__search-dropdown-menu .homepage-banner__search-dropdown-option:hover {
  background: #f2f4fb;
}
.homepage-banner__search-chevron {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  color: #666;
}
.homepage-banner__search-dropdown-trigger .homepage-banner__search-chevron {
  margin-left: 0.5rem;
}
.homepage-banner__search-chevron--down {
  mask: url("/icons/drop-down.svg") no-repeat center;
  mask-size: contain;
  -webkit-mask: url("/icons/drop-down.svg") no-repeat center;
  -webkit-mask-size: contain;
  background-color: currentColor;
}
.homepage-banner__search-chevron--up {
  mask: url("/icons/drop-up.svg") no-repeat center;
  mask-size: contain;
  -webkit-mask: url("/icons/drop-up.svg") no-repeat center;
  -webkit-mask-size: contain;
  background-color: currentColor;
}
.homepage-banner__search-submit-wrapper {
  display: flex;
  align-items: flex-end;
  margin-left: 0.5625rem;
}
.homepage-banner__search-submit-wrapper .btn {
  margin: 0;
  border-radius: 0.5rem;
}
@media (max-width: 1023px) {
  .homepage-banner__search-submit-wrapper {
    margin-left: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__search-submit-wrapper {
    margin-left: 0.75rem;
  }
  .homepage-banner__search-submit-wrapper .btn {
    min-width: 6.125rem;
    height: 3rem;
    padding: 1rem 1.5rem;
    border-radius: 6px;
  }
}
@media (max-width: 767px) {
  .homepage-banner__search-submit-wrapper {
    padding-top: 1.25rem;
  }
}
.homepage-banner__chips {
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  align-self: stretch;
  max-width: 68.75rem;
  gap: 1rem;
  margin-top: 2.75rem;
  padding-top: 0.5rem;
}
.homepage-banner__chips .tag {
  font-weight: 500;
}
@media (min-width: 768px) and (max-width: 991px) {
  .homepage-banner__chips {
    margin-top: 2.5rem;
  }
}
@media (max-width: 767px) {
  .homepage-banner__chips {
    display: none;
  }
  .separator {
	  margin-top: 3rem;
	  margin-bottom: 2.5rem;
	}
}
/**
 * Separator Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=9828-5564
 * 
 * A horizontal wavy separator component for dividing content sections.
 * Fixed spacing: 32px top/bottom on desktop, 10px top/bottom on mobile.
 * 
 * LAST UPDATED: 30/01/2026
 */
 .separator {
  width: 100vw;
  max-width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  margin-top: 5rem;
  margin-bottom: 3rem;
}
.separator__svg {
  position: relative;
  left: 50%;
  right: 50%;
  width: calc(100vw - var(--scrollbar-width, 0px));
  max-width: calc(100vw - var(--scrollbar-width, 0px));
  margin-left: -50vw;
  margin-right: -50vw;
  height: 20px;
  display: block;
  color: #00a9a4;
  padding: 0;
}
.separator__path {
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/**
 * Padding Component
 *
 * Vertical spacing block with three variations.
 */
.padding {
  display: block;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}
.padding--small {
  padding: 0.75rem 0;
}
.padding--medium {
  padding: 1.25rem 0;
}
.padding--large {
  padding: 2.375rem 0;
}
@media (min-width: 768px) {
  .padding--small {
    padding: 1rem 0;
  }
  .padding--medium {
    padding: 1.25rem 0;
  }
  .padding--large {
    padding: 2.5rem 0;
  }
}
@media (min-width: 992px) {
  .padding--medium {
    padding: 1.5rem 0;
  }
}
/**
 * Table Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=8044-4295
 *
 * A table component with header and data cells, checkboxes, and navigation arrows.
 * Each cell can display primary text and description.
 */
.table-component {
  width: 100%;
  margin: 2rem 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.table-component__caption {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #002e56;
  text-align: left;
  margin-bottom: 1rem;
  padding: 0;
}
.table-component__table {
  width: 100%;
  min-width: 600px;
  border-collapse: separate;
  border-spacing: 0;
  background-color: transparent;
}
.table-component__thead .table-component__th {
  padding: 1rem 1.25rem;
  text-align: left;
  border: 1px solid #b0daf0;
  border-bottom: 2px solid #b0daf0;
  background-color: #e6f3fa;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #003a57;
  vertical-align: middle;
}
.table-component__tbody .table-component__td {
  padding: 1rem 1.25rem;
  text-align: left;
  border: 1px solid #b0daf0;
  border-top: none;
  background-color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  color: #003a57;
  vertical-align: middle;
}
.table-component__tbody .table-component__td:first-child {
  border-left: 1px solid #b0daf0;
}
.table-component__tbody .table-component__td:last-child {
  border-right: 1px solid #b0daf0;
}
.table-component__tbody .table-component__th--body {
  padding: 1rem 1.25rem;
  text-align: left;
  border-left: 1px solid #b0daf0 !important;
  border-right: 1px solid #b0daf0 !important;
  border-bottom: 1px solid #b0daf0 !important;
  border-top: none;
  background-color: #e6f3fa !important;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #003a57;
  vertical-align: middle;
  min-height: 48px;
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.table-component__tbody .table-component__th--body:first-child {
  border-left: 1px solid #b0daf0 !important;
}
.table-component__tbody .table-component__th--body:last-child {
  border-right: 1px solid #b0daf0 !important;
}
.table-component__tbody .table-component__th--body .table-component__cell-content {
  min-height: 20px;
  display: flex !important;
  visibility: visible !important;
}
.table-component__tbody .table-component__th--body .table-component__cell-text {
  min-width: 50px;
  display: flex !important;
  flex-direction: column;
}
.table-component__tbody .table-component__th--body .table-component__cell-primary {
  min-height: 1.5em;
  display: block !important;
  visibility: visible !important;
}
.table-component__tbody .table-component__tr:has(.table-component__th--body) + .table-component__tr .table-component__th--body {
  border-top: none !important;
}
.table-component__thead .table-component__tr > :first-child {
  border-top-left-radius: 16px !important;
}
.table-component__thead .table-component__tr > :last-child {
  border-top-right-radius: 16px !important;
}
.table-component__tbody .table-component__tr:last-child > :first-child {
  border-bottom-left-radius: 16px !important;
}
.table-component__tbody .table-component__tr:last-child > :last-child {
  border-bottom-right-radius: 16px !important;
}
.table-component__cell-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.table-component__checkbox {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  border: 1px solid #747e96;
  border-radius: 4px;
  background-color: #ffffff;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  flex-shrink: 0;
}
.table-component__checkbox:checked {
  background-color: #0089cf;
  border-color: #0089cf;
}
.table-component__checkbox:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 5.5px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: translate(-50%, -60%) rotate(-45deg);
}
.table-component__checkbox:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.table-component__checkbox:hover:not(:disabled) {
  border-color: #0089cf;
}
.table-component__cell-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.table-component__cell-primary {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #003a57;
  margin: 0;
  padding: 0;
}
.table-component__cell-description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
  height: 23px;
  display: flex;
  align-items: center;
}
.table-component__arrow {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #003a57;
}
.table-component__arrow svg {
  width: 20px;
  height: 20px;
  color: inherit;
}
.table-component__arrow .MNZicon {
  font-family: 'MNZWeb';
  font-size: 20px;
  line-height: 1;
  color: inherit;
}
.table-component__th--clickable,
.table-component__td--clickable {
  position: relative;
}
.table-component__cell-link-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: transparent;
  z-index: 1;
  cursor: pointer;
}
.table-component__cell-link-overlay:focus {
  outline: 2px solid #0068f0;
  outline-offset: -2px;
}
@media (max-width: 991px) {
  .table-component {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
  }
  .table-component::-webkit-scrollbar {
    height: 4px;
  }
  .table-component::-webkit-scrollbar-track {
    background: #e0e4eb;
    border-radius: 4px;
  }
  .table-component::-webkit-scrollbar-thumb {
    background: #747e96;
    border-radius: 4px;
  }
  .table-component::-webkit-scrollbar-thumb:hover {
    background: #596173;
  }
  .table-component__table {
    min-width: 600px;
  }
}
@media (max-width: 767px) {
  .table-component {
    margin: 1.5rem 0;
  }
  .table-component__thead .table-component__th,
  .table-component__tbody .table-component__td {
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }
  .table-component__cell-primary {
    font-size: 1rem;
  }
  .table-component__cell-description {
    font-size: 0.875rem;
  }
}
/**
 * Media Block Common Styles
 * 
 * Shared styling for text content (caption, credit, link) used by both
 * Image Block and Video Block components.
 *
 * LAST UPDATED: 26/02/2026
 */
.media-block__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
}
.media-block__caption {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #333333;
  margin: 0;
  padding: 0;
  display: inline;
}
.media-block__caption-text {
  display: inline;
}
.media-block__caption-text * {
  font-size: 1rem !important;
}
.media-block__caption a {
  color: #027bb8;
  text-decoration: underline;
}
.media-block__caption a:hover,
.media-block__caption a:focus {
  color: #006193;
}
.media-block__caption a:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.media-block__caption p {
  margin: 0;
  padding: 0;
  display: inline;
}
.media-block__link {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #027bb8 !important;
  text-decoration: underline;
  display: inline;
  margin-left: 0.25rem;
}
.media-block__link:hover,
.media-block__link:focus {
  color: #006193 !important;
}
.media-block__link:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.media-block__credit {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
}
/**
 * Video Block Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=8044-3609
 *
 * A video block component that displays embedded video content with caption and credits.
 * Supports YouTube and other video platforms via VideoHelper.
 *
 * LAST UPDATED: 26/02/2026
 */
.video-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.video-block__media {
  width: 100%;
}
.video-block__video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
  border: 1px solid #cdd2e1;
  border-radius: 16px;
  background-color: #ffffff;
}
.video-block__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
@media (max-width: 767px) {
  .video-block {
    gap: 0.5rem;
  }
  .video-block__video-container {
    border-radius: 12px;
  }
}
/**
 * Image Block Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=8044-3609
 *
 * An image block component that displays images with caption, credit, and optional link.
 * Styled similar to Hero Banner with rounded corners and proper image handling.
 * Text styling matches Video Block component.
 *
 * LAST UPDATED: 26/02/2026
 */
.image-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.image-block__media {
  width: 100%;
  position: relative;
  overflow: hidden;
  border: 1px solid #cdd2e1;
  border-radius: 16px;
  background-color: #ffffff;
  min-height: 193px;
}
.image-block__media .hero-banner__background {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 193px;
  border-radius: 16px;
  z-index: auto;
}
.image-block--auto-height .image-block__media {
  min-height: auto !important;
  height: auto;
  display: block;
}
.image-block--auto-height .image-block__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  border-radius: 16px;
}
.image-block--auto-height .hero-banner__background {
  min-height: auto !important;
  height: auto;
}
.image-block--auto-height .hero-banner__background-image {
  height: auto;
  object-fit: contain;
}
@media (max-width: 767px) {
  .image-block {
    gap: 0.5rem;
  }
  .image-block__media {
    border-radius: 12px;
  }
  .image-block__media .hero-banner__background {
    border-radius: 12px;
  }
  .image-block--auto-height .image-block__image {
    border-radius: 12px;
  }
}
/**
 * Tracked Button Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=8877-8524
 *
 * A document download CTA component with GA tracking support.
 * Features:
 * - Document name and description
 * - Download button with icons
 * - Color variations (blue/teal)
 * - Responsive mobile stacking
 * - Google Analytics event tracking
 *
 * LAST UPDATED: 26/02/2026
 */
.tracked-button {
  width: 100%;
  padding: 1rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.tracked-button--blue {
  background-color: #e6f3fa;
}
.tracked-button--teal {
  background-color: #e6f6f6;
}
.tracked-button__content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  flex: 1 0 0;
}
.tracked-button__text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 0 0;
  min-width: 0;
}
.tracked-button__document-name {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  padding: 0;
}
.tracked-button__description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
}
.tracked-button__button {
  background-color: #002e56 !important;
  border-color: #002e56 !important;
  border-radius: 6px;
  flex-shrink: 0;
  gap: 0.5rem;
}
.tracked-button__button:hover:not(:disabled) {
  background-color: #00203d !important;
  border-color: #00203d !important;
}
.tracked-button__button .btn-icon,
.tracked-button__button .btn-label {
  color: #ffffff;
}
@media (max-width: 1023px) {
  .tracked-button__button {
    width: auto !important;
    min-width: fit-content;
    white-space: nowrap !important;
    padding: 10px 1rem !important;
    height: auto !important;
  }
  .tracked-button__button .btn-label {
    white-space: nowrap !important;
  }
}
@media (max-width: 767px) {
  .tracked-button {
    gap: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
  }
  .tracked-button__content {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    width: 100%;
  }
  .tracked-button__text {
    width: 100%;
    margin-bottom: 1rem;
  }
  .tracked-button__document-name {
    font-size: 18px;
  }
  .tracked-button__button {
    width: 100% !important;
    min-width: 100% !important;
  }
}
/**
 * Timeline Block Component
 * https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=9298-5417
 *
 * Layout: year (left, blue H6), vertical line + circle marker, content (title, description, document card).
 * Document card: light blue (#e6f3fa), 8px radius, 16px padding; download = tracked button (navy).
 * Typography: H6 20px, Body M 16px, Body S 14px, Button M 16px.
 */
.timeline-block {
  width: 100%;
  max-width: 100%;
}
.timeline-block__heading {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0 0 1.5rem 0;
}
.timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.timeline__row {
  display: grid;
  grid-template-columns: 80px 20px 1fr;
  grid-template-areas: "year line content";
  align-items: start;
  gap: 0 24px;
  min-height: 1px;
}
.timeline__row .timeline__line-col {
  align-self: stretch;
}
.timeline__year-col {
  grid-area: year;
  padding-top: 7px;
  text-align: right;
}
.timeline__year {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #0089cf !important;
  white-space: nowrap;
}
.timeline__line-col {
  grid-area: line;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20px;
  flex-shrink: 0;
  padding-top: 14px;
}
.timeline__row:first-child .timeline__line-col::before {
  content: '';
  display: block;
  width: 2px;
  height: 0.75rem;
  flex-shrink: 0;
  background-color: #0089cf;
  border-radius: 1px;
}
.timeline__row:first-child .timeline__year-col,
.timeline__row:first-child .timeline__content-col {
  padding-top: 0.75rem;
}
.timeline__row:first-child .timeline__line-col {
  padding-top: 7px;
}
.timeline__marker {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #0089cf;
  flex-shrink: 0;
}
.timeline__line {
  width: 2px;
  flex: 1;
  min-height: 24px;
  margin-top: 0;
  margin-bottom: -2rem;
  background-color: #0089cf;
  border-radius: 1px;
}
.timeline__row:last-child .timeline__line {
  margin-bottom: 0;
}
.timeline__content-col {
  grid-area: content;
  padding-top: 7px;
  padding-bottom: 2rem;
  min-width: 0;
}
.timeline__content-col .umb-block-grid__layout-container {
  display: block;
}
.timeline__content-col .umb-block-grid__layout-item {
  display: block;
  max-width: 100%;
}
.timeline-item__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem !important;
  line-height: 1.25;
  color: #002e56;
  margin: 0 0 0.5rem 0;
}
.timeline-item__description {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0 0 1rem 0;
}
.timeline-item__description p:last-child {
  margin-bottom: 0;
}
.timeline-item__document-card {
  width: 100%;
  box-sizing: border-box;
  background-color: #e6f3fa;
  border-radius: 0.5rem;
  padding: 1rem;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .timeline__row {
    grid-template-columns: 60px 20px 1fr;
    grid-template-areas: "year line content";
    gap: 0.5rem 24px;
  }
  .timeline__year-col {
    min-width: 0;
  }
  .timeline__line-col {
    align-self: stretch;
  }
  .timeline__line {
    min-height: 100%;
    margin-bottom: -2rem;
  }
  .timeline__row:last-child .timeline__line {
    margin-bottom: 0;
  }
  .timeline-item__document-card {
    width: 100%;
  }
}
/**
 * Jump Navigation Block Component
 * https://www.figma.com/design/99x23TKJEgj6bdg0hH9SVp/MNZ-Website-Design?node-id=8882-31478
 *
 * A table of contents navigation component that displays a list of navigation items
 * with jump links to sections on the same page.
 * Features:
 * - Title (defaults to "On this page")
 * - Two-column layout for navigation items
 * - Down arrow icon for each item
 * - Smooth scroll to target sections
 *
 * LAST UPDATED: 26/02/2026
 */
.jump-navigation,
#jump-navigation-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 2.5rem;
  padding-right: 1.5rem;
  border-bottom: 1px solid #b0daf0;
  margin-bottom: 0;
}
.jump-navigation__title,
#jump-navigation-block__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  padding: 0;
}
.jump-navigation__items,
#jump-navigation-block__items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .jump-navigation__items,
  #jump-navigation-block__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem 1.5rem;
    align-items: start;
  }
}
.jump-navigation__icon,
#jump-navigation-block__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #002e56;
}
.jump-navigation__icon svg,
#jump-navigation-block__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.jump-navigation__text,
#jump-navigation-block__text {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  padding: 0;
}
.jump-navigation__item,
#jump-navigation-block__item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: none;
  color: #002e56;
  transition: all 0.15s ease;
}
.jump-navigation__item:hover .jump-navigation__icon,
#jump-navigation-block__item:hover .jump-navigation__icon,
.jump-navigation__item:focus .jump-navigation__icon,
#jump-navigation-block__item:focus .jump-navigation__icon,
.jump-navigation__item:hover .jump-navigation__text,
#jump-navigation-block__item:hover .jump-navigation__text,
.jump-navigation__item:focus .jump-navigation__text,
#jump-navigation-block__item:focus .jump-navigation__text {
  color: #095db1;
  text-decoration-color: #095db1;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .jump-navigation,
  #jump-navigation-block {
    padding-right: 0;
  }
  .jump-navigation__items,
  #jump-navigation-block__items {
    flex-direction: column;
  }
}
/**
 * Side Navigation Menu Component
 *
 * Based on Figma Design: MNZ Website Design - Side menu/tab
 * Displays L2â€“L6 items from the content tree with accordion expand/collapse
 *
 * Design tokens: @font-size-subtitle-s, @spacing-4, @spacing-5, etc.
 * Colors: mnz-blue-50, mnz-blue-100, mnz-blue-600, mnz-blue-800
 * Typography: H5, Subtitle L/M/S, Body M
 *
 * LAST UPDATED: 26/02/2026
 */
#side-navigation {
  padding-left: 0;
  padding-right: 2rem;
}
.side-nav-persona-links-wrap {
  margin-top: 3rem;
}
.side-menu {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.side-menu__heading {
  margin: 0;
  padding-top: 1rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  color: #004b72;
  letter-spacing: 0;
}
.side-menu__heading::after {
  content: "";
  display: block;
  align-self: stretch;
  height: 0;
  margin-top: 1.5rem;
  border-top: 1px solid #b0daf0;
}
.side-menu__list {
  display: flex;
  flex-direction: column;
}
.side-menu__item .side-menu__tab {
  border-top: 1px solid #b0daf0;
}
.side-menu__item.side-menu__item--expanded .side-menu__tab--expandable {
  border-top: 2px solid #027bb8;
}
.side-menu__tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 63px;
  padding: 1.25rem 0.5rem;
  border: 1px solid transparent;
  border-radius: 0 0 4px 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.side-menu__tab--link {
  background-color: #ffffff;
  border-top-color: #b0daf0;
  color: #6e6e6e;
}
.side-menu__tab--link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.side-menu__tab--expandable {
  background-color: #ffffff;
  border-top-color: #b0daf0;
  color: #6e6e6e;
}
.side-menu__tab--expandable:hover .side-menu__link {
  color: #027bb8;
  text-decoration: underline;
}
.side-menu__tab--expandable:hover .side-menu__toggle {
  color: #027bb8;
}
.side-menu__tab--active {
  background-color: #e6f3fa;
  border-top-color: #027bb8;
  border-top-width: 2px;
  color: #002e56;
}
.side-menu__item--expanded .side-menu__tab--expandable {
  /* No background on ancestor L1; keep border/color to show expanded state */
  background-color: #ffffff;
  border-top-color: #027bb8;
  border-top-width: 2px;
  color: #002e56;
  /* Background only when L1 is the current page (has active link) */
}
.side-menu__item--expanded .side-menu__tab--expandable:has(.side-menu__link--active) {
  background-color: #e6f3fa;
}
.side-menu__link {
  flex: 1;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  color: inherit;
  text-decoration: none;
}
.side-menu__link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.side-menu__link--active {
  color: #002e56;
  font-weight: 600;
}
.side-menu__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: all 0.15s ease;
  /* Active state: chevron #027BB8 (mnz-blue-600) */
  /* Project SVG: drop-down, rotate when expanded */
}
.side-menu__toggle:hover {
  color: #027bb8;
}
.side-menu__tab--active .side-menu__toggle,
.side-menu__item--expanded .side-menu__tab--expandable .side-menu__toggle,
.side-menu__child-row--active-line .side-menu__toggle {
  color: #027bb8;
}
.side-menu__toggle .side-menu__toggle-icon {
  display: block;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.side-menu__toggle[aria-expanded="true"] .side-menu__toggle-icon {
  transform: rotate(180deg);
}
.side-menu__children {
  display: none;
  background-color: #ffffff;
  padding-left: 0.5rem;
}
.side-menu__children--open {
  display: block;
}
.side-menu__line-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-left: 1px solid #b0daf0;
  padding-left: 0.75rem;
}
.side-menu__children-inner {
  display: flex;
  flex-direction: column;
}
.side-menu__child-item {
  display: flex;
  flex-direction: column;
}
.side-menu__child-item:first-child {
  padding-top: 0.5rem;
}
.side-menu__child-item:last-child {
  padding-bottom: 0.5rem;
}
.side-menu__child-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 1rem 0.5rem 1rem 0.75rem;
  border-left: 1px solid #b0daf0;
  text-decoration: none;
  transition: all 0.15s ease;
  /* Active/current path: innermost line uses mnz-blue-600 (Figma) */
  /* Current page: light blue background + rounded corners (Figma Level 6 active) */
  /* L3+ (Level 4 page and deeper): 14px - link-only rows */
}
.side-menu__child-row:hover .side-menu__child-link {
  color: #027bb8;
  text-decoration: underline;
}
.side-menu__child-row--expandable {
  cursor: default;
}
.side-menu__child-row--active-line {
  border-left-color: #027bb8;
}
.side-menu__child-row--current {
  background-color: #e6f3fa;
  border-radius: 0 4px 4px 0;
}
.side-menu__child-row--deep.side-menu__child-row.side-menu__child-link {
  font-size: 0.875rem;
}
.side-menu__item:has(.side-menu__children--open) > .side-menu__tab .side-menu__link {
  color: #002e56;
}
.side-menu__item:has(.side-menu__children--open) > .side-menu__tab .side-menu__toggle {
  color: #027bb8;
}
.side-menu__child-item:has(.side-menu__child-children--open) > .side-menu__child-row .side-menu__child-link {
  color: #002e56;
}
.side-menu__child-item:has(.side-menu__child-children--open) > .side-menu__child-row .side-menu__toggle {
  color: #027bb8;
}
.side-menu__child-link {
  flex: 1;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  color: #6e6e6e;
  text-decoration: none;
  /* L3+ (Level 4 page and deeper): 14px - override base 16px */
}
.side-menu__child-row--deep .side-menu__child-link {
  font-size: 0.875rem;
}
.side-menu__child-link:hover {
  color: #027bb8;
  text-decoration: underline;
}
.side-menu__child-link--active {
  color: #002e56;
}
.side-menu__child-children {
  display: none;
  border-left: 1px solid #b0daf0;
  padding-left: 0.75rem;
  /* Show more: hidden until expanded, no extra border/padding so items align with 1â€“10 */
}
.side-menu__child-children--open {
  display: block;
}
.side-menu__child-children--more {
  display: none;
  border-left: none;
  padding-left: 0;
  /* Remove top padding on first revealed item so it flows seamlessly after last visible item */
}
.side-menu__child-children--more--open {
  display: block;
}
.side-menu__child-children--more > .side-menu__child-item:first-child {
  padding-top: 0;
}
.side-menu__child-row--show-more {
  color: #6e6e6e;
  text-decoration: none;
  cursor: pointer;
}
.side-menu__child-row--show-more .side-menu__child-link {
  color: inherit;
}
.side-menu__child-row--show-more:hover {
  color: #027bb8;
}
.side-menu__child-row--show-more:hover .side-menu__child-link {
  text-decoration: underline;
}
.side-menu__child-row--show-more .side-menu__show-more-icon {
  display: block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}
/**
 * News Template - News Landing Page Filters
 *
 * LAST UPDATED: 25/02/2026
 */
@media (max-width: 767px) {
  .news-page-layout #content {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}
.news-hero-banner {
  margin-top: 1.625rem;
  margin-bottom: 3rem;
}
@media (max-width: 991px) {
  .news-hero-banner {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }
}
.news-page-layout .breadcrumbs-container {
  padding-top: 0;
}
.news-filters__heading {
  margin: 0 0 1.5rem 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  color: #004b72;
  letter-spacing: 0;
}
.news-filters__section {
  display: flex;
  padding: 1.5rem 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  align-self: stretch;
  border-top: 1px solid var(--Primary-MNZ_Blue-mnz-blue-100, #b0daf0);
}
.news-filters__section-title {
  margin: 0 0 1rem 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  color: #002e56;
}
.news-filters__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}
.news-filters__item {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.news-filters__item--collapsed {
  display: none;
}
.news-filters__item--collapsed.news-filters__item--expanded {
  display: flex;
}
.news-filters__item input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: 2px solid #747e96;
  border-radius: 4px;
  background-color: #ffffff;
  cursor: pointer;
  position: relative;
  transition: border-color all 0.15s ease, background-color all 0.15s ease;
}
.news-filters__item input[type="checkbox"]:hover:not(:disabled) {
  border-color: #002e56;
}
.news-filters__item input[type="checkbox"]:focus {
  outline: none;
}
.news-filters__item input[type="checkbox"]:checked {
  background-color: #002e56;
  border-color: #002e56;
  /* check.svg is stroke-only; mask-image turns it into a hairline at 24px â€” use a solid white tick */
}
.news-filters__item input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  box-sizing: border-box;
  left: 8px;
  top: 4px;
  width: 6px;
  height: 11px;
  border: 2px solid #ffffff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}
.news-filters__label {
  flex: 1;
  margin: 0;
  text-transform: capitalize;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  color: #6e6e6e;
  cursor: pointer;
}
.news-filters__item:has(input:checked) .news-filters__label {
  color: #002e56;
  font-weight: 700;
}
.news-filters__count {
  flex-shrink: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
}
.news-filters__show-more {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  padding: 0.25rem 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #002e56;
  cursor: pointer;
  text-align: left;
}
.news-filters__show-more:hover {
  text-decoration: underline;
}
.news-filters__show-more .news-filters__show-more-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.news-filters__show-more .news-filters__show-more-icon .icon,
.news-filters__show-more .news-filters__show-more-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.news-filters__show-more.is-expanded .news-filters__show-more-icon {
  transform: rotate(180deg);
}
.news-filters__actions {
  margin-top: 1rem;
}
.news-filters__btn-clear {
  width: 100%;
}
.news-filters-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.news-filters-trigger .news-filters-trigger__icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  margin-right: 0;
}
.news-filters-trigger .news-filters-trigger__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
@media (max-width: 991px) {
  .news-filters-trigger.btn-primary {
    padding: 0.625rem 1rem;
    flex-shrink: 0;
    width: auto;
    max-width: none;
  }
}
.news-filters-overlay {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity all 0.3s ease, visibility all 0.3s ease;
}
.news-filters-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.news-filters-overlay__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform all 0.3s ease;
}
.news-filters-overlay.is-open .news-filters-overlay__panel {
  transform: translateX(0);
}
.news-filters-overlay__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 2.5rem 2.5rem 1.5rem;
}
.news-filters-overlay__title {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  color: #004b72;
  letter-spacing: 0;
}
.news-filters-overlay__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #002e56;
}
.news-filters-overlay__close:hover {
  opacity: 0.8;
}
.news-filters-overlay__close:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.news-filters-overlay__close-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url('/icons/icon-close.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('/icons/icon-close.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.news-filters-overlay__body {
  flex: 1;
  overflow-y: auto;
  padding: 0 2.5rem 1.5rem;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 991px) {
  .news-filters-overlay__body {
    padding-bottom: 0;
  }
}
.news-filters-overlay__footer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex-shrink: 0;
  padding: 1.5rem 2.5rem 2.5rem;
  padding-bottom: calc(2.5rem + env(safe-area-inset-bottom, 0));
}
@media (max-width: 991px) {
  .news-filters-overlay__footer {
    padding-top: 0;
  }
}
.news-filters-overlay__btn-clear {
  width: 100%;
}
.news-filters-overlay__btn-results {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.625rem 1rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #ffffff;
  background-color: #002e56;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.news-filters-overlay__btn-results:hover {
  background-color: #002a4e;
}
.news-filters-overlay__btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}
.news-filters-overlay__btn-icon .icon,
.news-filters-overlay__btn-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.news-results-bar__controls-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .news-results-bar__controls-row {
    justify-content: space-between;
    width: 100%;
    flex-wrap: nowrap;
    padding-bottom: 1.25rem;
  }
  .news-results-bar__controls-row .news-filters-trigger.btn-primary {
    width: auto !important;
    flex-shrink: 0;
  }
}
.news-results-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 991px) {
  .news-results-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
}
.news-results-bar__count {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #6e6e6e;
}
@media (max-width: 991px) {
  .news-results-bar__count {
    font-size: 1rem;
    line-height: 1.25;
    color: var(--system / system-text-400-secondarytext, #6e6e6e);
  }
}
.news-results-bar__controls {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 991px) {
  .news-results-bar__controls {
    min-width: 0;
  }
}
.news-results-bar__dropdown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #002e56;
  border-radius: 6px;
  cursor: default;
}
.news-results-bar__dropdown.dropdown {
  padding: 0;
  position: relative;
  border: none;
  background: none;
  cursor: default;
  width: fit-content;
}
@media (max-width: 991px) {
  .news-results-bar__dropdown.dropdown {
    min-width: 0;
  }
  .news-results-bar__dropdown.dropdown .btn .icon:last-child:not(:first-child) {
    margin-left: 0;
  }
}
.news-results-bar__dropdown-trigger {
  width: 100%;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-radius: 6px;
}
@media (max-width: 991px) {
  .news-results-bar__dropdown-trigger {
    min-width: 0;
    overflow: hidden;
  }
  .news-results-bar__dropdown-trigger .btn-label.js-sort-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
  }
}
.news-results-bar__dropdown-trigger.show {
  color: #002e56;
  background-color: #ffffff;
  border-color: #002e56;
}
.news-results-bar__dropdown-trigger .btn-icon svg,
.news-results-bar__dropdown-trigger .btn-icon path {
  stroke-width: 2px;
}
.news-results-bar__dropdown-label {
  white-space: nowrap;
}
.news-sort-dropdown__menu {
  width: 100%;
  min-width: 100%;
  padding: 0.25rem;
  margin-top: 0.25rem;
  border: 1px solid #cdd2e1;
  border-radius: 6px;
  box-shadow: 2px 4px 16px rgba(116, 126, 150, 0.2);
}
@media (max-width: 991px) {
  .news-sort-dropdown__menu {
    min-width: max-content;
    width: max-content;
  }
}
.news-sort-dropdown__menu .dropdown-item.news-sort-option {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #333333;
  text-align: left;
  width: 100%;
  cursor: pointer;
  background-color: #ffffff;
}
.news-sort-dropdown__menu .dropdown-item.news-sort-option.active {
  background-color: #ffffff;
}
.news-sort-dropdown__menu .dropdown-item.news-sort-option:hover {
  background-color: #f2f4fb;
}
.news-perpage-dropdown__menu {
  width: 100%;
  min-width: 100%;
  padding: 0.25rem;
  margin-top: 0.25rem;
  border: 1px solid #cdd2e1;
  border-radius: 6px;
  box-shadow: 2px 4px 16px rgba(116, 126, 150, 0.2);
}
@media (max-width: 991px) {
  .news-perpage-dropdown__menu {
    min-width: max-content;
    width: max-content;
  }
}
.news-perpage-dropdown__menu .dropdown-item.news-perpage-option {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #333333;
  text-align: left;
  width: 100%;
  cursor: pointer;
  background-color: #ffffff;
}
.news-perpage-dropdown__menu .dropdown-item.news-perpage-option.active {
  background-color: #ffffff;
}
.news-perpage-dropdown__menu .dropdown-item.news-perpage-option:hover {
  background-color: #f2f4fb;
}
.news-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 1rem 1.5rem;
  margin: 3rem 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #ffffff;
  background-color: #002e56;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color all 0.3s ease;
}
.news-load-more:hover {
  background-color: #002a4e;
}
.news-load-more:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
/**
 * Horizontal button layout: Print/Share or social links row.
 * Also styles .news-media-footer (shared with news listing / case study footers that only use that class).
 */
.news-media-footer:not(.horizontal-button-layout) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start;
  padding-top: 3rem;
  border-top: none;
}
@media (max-width: 991px) {
  .news-media-footer:not(.horizontal-button-layout) {
    padding-top: 2.5rem;
    margin-top: 0.25rem;
  }
}
@media (max-width: 991px) {
  .news-media-footer:not(.horizontal-button-layout) .btn.btn-secondary.btn-md {
    width: auto;
  }
}
.horizontal-button-layout.news-media-footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  padding-top: 3rem;
  border-top: none;
}
@media (max-width: 991px) {
  .horizontal-button-layout.news-media-footer {
    padding-top: 2.5rem;
    margin-top: 0.25rem;
  }
}
.horizontal-button-layout.news-media-footer .horizontal-button-layout__last-updated {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #333333;
}
.horizontal-button-layout.news-media-footer .horizontal-button-layout__last-updated time {
  font: inherit;
  color: inherit;
}
.horizontal-button-layout.news-media-footer .horizontal-button-layout__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start;
  width: 100%;
}
.horizontal-button-layout.news-media-footer .horizontal-button-layout__preview-hint {
  margin: 0;
  max-width: 28rem;
  font-family: 'Roboto', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #333333;
  font-style: italic;
}
@media (max-width: 991px) {
  .horizontal-button-layout.news-media-footer .btn.btn-secondary.btn-md {
    width: auto;
  }
}
.horizontal-button-layout__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
.horizontal-button-layout__social-icon {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}
.horizontal-button-layout__social-icon img {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
}
/**
 * News article page footer: media contact line below the horizontal button layout.
 */
.news-media-page-footer .horizontal-button-layout.news-media-footer {
  padding-top: 2rem;
}
@media (max-width: 991px) {
  .news-media-page-footer .horizontal-button-layout.news-media-footer {
    padding-top: 1.625rem;
  }
}
.news-media-page-footer__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding-top: 3rem;
}
@media (max-width: 991px) {
  .news-media-page-footer__contact {
    padding-top: 2.5rem;
  }
}
.news-media-page-footer__contact-label {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #002e56;
  opacity: 0.9;
}
.news-media-page-footer__contact-phone.btn {
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.25;
}
.news-media-page-footer__contact-phone.btn:hover,
.news-media-page-footer__contact-phone.btn:focus {
  text-decoration: none;
}
/**
 * Results Card Component Styles
 * Based on Figma design: MNZ Website Design node 8847:16139
 */
.results-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
  border-top: 1px solid #b0daf0;
  width: 100%;
}
.results-card__link-wrap {
  display: block;
  text-decoration: none;
  color: inherit;
}
.results-card__link-wrap:hover .results-card__title {
  color: #027bb8;
  text-decoration: underline;
}
.results-card__link-wrap:hover .results-card__url {
  text-decoration: underline;
}
.results-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.results-card__title {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #002e56;
  word-wrap: break-word;
}
.results-card__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.results-card__url {
  flex: 1 1 auto;
  min-width: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #027bb8;
  text-decoration: none;
  transition: color all 0.3s ease;
}
.results-card__url:hover {
  color: #095db1;
}
.results-card__last-updated-date {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25;
  color: #333333;
}
.results-card__summary {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.results-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-start;
}
.results-card__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.25;
  color: #006193;
  background-color: #e6f3fa;
  border: 1px solid #8ac9e9;
  border-radius: 0.5rem;
  white-space: nowrap;
}
/**
 * Rich Text Editor Component
 * https://www.figma.com/design/99x23TKJEgj6bdg0hH9SVp/MNZ-Website-Design?node-id=11405-13694
 *
 * Styles for rich text editor content rendered on the front-end.
 * Ensures all RTE elements (headings, paragraphs, lists, links) match Figma design.
 * Uses typography mixins for consistency.
 *
 * LAST UPDATED: 12/03/2026
 */
.rte-content,
.rich-text-editor,
[data-umb-rte] {
  font-family: 'Roboto', sans-serif;
  color: #6e6e6e;
}
.rte-content h1,
.rich-text-editor h1,
[data-umb-rte] h1 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.25;
  letter-spacing: 0;
  margin: 0 0 10px 0;
  padding: 10px 0;
  border-bottom: 2px solid #cdd2e1;
  border-bottom: none;
  color: #002e56;
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h1,
  .rich-text-editor h1,
  [data-umb-rte] h1 {
    font-size: 2.5rem;
  }
}
.rte-content h1:has(+ p.rte-content__p-spacer),
.rich-text-editor h1:has(+ p.rte-content__p-spacer),
[data-umb-rte] h1:has(+ p.rte-content__p-spacer),
.rte-content h1:has(+ p:empty),
.rich-text-editor h1:has(+ p:empty),
[data-umb-rte] h1:has(+ p:empty),
.rte-content h1:has(+ p > br:only-child),
.rich-text-editor h1:has(+ p > br:only-child),
[data-umb-rte] h1:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content h2,
.rich-text-editor h2,
[data-umb-rte] h2 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: 0;
  margin: 0 0 15px 0;
  color: #002e56;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h2,
  .rich-text-editor h2,
  [data-umb-rte] h2 {
    font-size: 2rem;
  }
}
.rte-content h2:has(+ p.rte-content__p-spacer),
.rich-text-editor h2:has(+ p.rte-content__p-spacer),
[data-umb-rte] h2:has(+ p.rte-content__p-spacer),
.rte-content h2:has(+ p:empty),
.rich-text-editor h2:has(+ p:empty),
[data-umb-rte] h2:has(+ p:empty),
.rte-content h2:has(+ p > br:only-child),
.rich-text-editor h2:has(+ p > br:only-child),
[data-umb-rte] h2:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content h3,
.rich-text-editor h3,
[data-umb-rte] h3 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #6e6e6e;
  margin: 0 0 15px 0;
  color: #002e56;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h3,
  .rich-text-editor h3,
  [data-umb-rte] h3 {
    font-size: 1.75rem;
  }
}
.rte-content h3:has(+ p.rte-content__p-spacer),
.rich-text-editor h3:has(+ p.rte-content__p-spacer),
[data-umb-rte] h3:has(+ p.rte-content__p-spacer),
.rte-content h3:has(+ p:empty),
.rich-text-editor h3:has(+ p:empty),
[data-umb-rte] h3:has(+ p:empty),
.rte-content h3:has(+ p > br:only-child),
.rich-text-editor h3:has(+ p > br:only-child),
[data-umb-rte] h3:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content h4,
.rich-text-editor h4,
[data-umb-rte] h4 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333333;
  margin: 0 0 10px 0;
  color: #002e56;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h4,
  .rich-text-editor h4,
  [data-umb-rte] h4 {
    font-size: 1.5rem;
  }
}
.rte-content h4:has(+ p.rte-content__p-spacer),
.rich-text-editor h4:has(+ p.rte-content__p-spacer),
[data-umb-rte] h4:has(+ p.rte-content__p-spacer),
.rte-content h4:has(+ p:empty),
.rich-text-editor h4:has(+ p:empty),
[data-umb-rte] h4:has(+ p:empty),
.rte-content h4:has(+ p > br:only-child),
.rich-text-editor h4:has(+ p > br:only-child),
[data-umb-rte] h4:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content h5,
.rich-text-editor h5,
[data-umb-rte] h5 {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333333;
  margin: 0 0 10px 0;
  color: #002e56;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h5,
  .rich-text-editor h5,
  [data-umb-rte] h5 {
    font-size: 1.375rem;
  }
}
.rte-content h5:has(+ p.rte-content__p-spacer),
.rich-text-editor h5:has(+ p.rte-content__p-spacer),
[data-umb-rte] h5:has(+ p.rte-content__p-spacer),
.rte-content h5:has(+ p:empty),
.rich-text-editor h5:has(+ p:empty),
[data-umb-rte] h5:has(+ p:empty),
.rte-content h5:has(+ p > br:only-child),
.rich-text-editor h5:has(+ p > br:only-child),
[data-umb-rte] h5:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content h6,
.rich-text-editor h6,
[data-umb-rte] h6 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333333;
  margin: 0 0 10px 0;
  color: #002e56;
  margin-bottom: 0;
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .rte-content h6,
  .rich-text-editor h6,
  [data-umb-rte] h6 {
    font-size: 1.25rem;
  }
}
.rte-content h6:has(+ p.rte-content__p-spacer),
.rich-text-editor h6:has(+ p.rte-content__p-spacer),
[data-umb-rte] h6:has(+ p.rte-content__p-spacer),
.rte-content h6:has(+ p:empty),
.rich-text-editor h6:has(+ p:empty),
[data-umb-rte] h6:has(+ p:empty),
.rte-content h6:has(+ p > br:only-child),
.rich-text-editor h6:has(+ p > br:only-child),
[data-umb-rte] h6:has(+ p > br:only-child) {
  padding-bottom: 0;
}
.rte-content p,
.rich-text-editor p,
[data-umb-rte] p {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #6e6e6e;
  margin: 0 0 1rem 0;
}
@media (min-width: 768px) {
  .rte-content p,
  .rich-text-editor p,
  [data-umb-rte] p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 0;
    color: #6e6e6e;
    margin: 0 0 1rem 0;
  }
}
.rte-content .rte-content__subheading,
.rich-text-editor .rte-content__subheading,
[data-umb-rte] .rte-content__subheading {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  color: #6e6e6e;
  margin: 0 0 0.75rem 0;
  padding: 0;
}
@media (min-width: 768px) {
  .rte-content .rte-content__subheading,
  .rich-text-editor .rte-content__subheading,
  [data-umb-rte] .rte-content__subheading {
    font-size: 1.125rem;
  }
}
.rte-content ul,
.rich-text-editor ul,
[data-umb-rte] ul,
.rte-content ol,
.rich-text-editor ol,
[data-umb-rte] ol {
  margin: 0 0 1rem 0;
  padding-left: 2.5rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
}
@media (min-width: 768px) {
  .rte-content ul,
  .rich-text-editor ul,
  [data-umb-rte] ul,
  .rte-content ol,
  .rich-text-editor ol,
  [data-umb-rte] ol {
    font-size: 1.125rem;
  }
}
.rte-content ul,
.rich-text-editor ul,
[data-umb-rte] ul {
  list-style-type: disc;
}
.rte-content ol,
.rich-text-editor ol,
[data-umb-rte] ol {
  list-style-type: decimal;
}
.rte-content li,
.rich-text-editor li,
[data-umb-rte] li {
  margin-bottom: 0.5rem;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #6e6e6e;
}
@media (min-width: 768px) {
  .rte-content li,
  .rich-text-editor li,
  [data-umb-rte] li {
    font-size: 1.125rem;
  }
}
.rte-content ul ul,
.rich-text-editor ul ul,
[data-umb-rte] ul ul,
.rte-content ol ol,
.rich-text-editor ol ol,
[data-umb-rte] ol ol,
.rte-content ul ol,
.rich-text-editor ul ol,
[data-umb-rte] ul ol,
.rte-content ol ul,
.rich-text-editor ol ul,
[data-umb-rte] ol ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.rte-content a,
.rich-text-editor a,
[data-umb-rte] a {
  color: #002e56;
  text-decoration: underline;
  text-decoration-color: #002e56;
  transition: color all 0.15s ease, text-decoration-color all 0.15s ease;
}
.rte-content a:hover,
.rich-text-editor a:hover,
[data-umb-rte] a:hover,
.rte-content a:focus,
.rich-text-editor a:focus,
[data-umb-rte] a:focus {
  color: #095db1;
  text-decoration-color: #095db1;
  text-decoration: underline;
}
.rte-content a:focus,
.rich-text-editor a:focus,
[data-umb-rte] a:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.rte-content p:empty,
.rich-text-editor p:empty,
[data-umb-rte] p:empty,
.rte-content p:has(> br:only-child),
.rich-text-editor p:has(> br:only-child),
[data-umb-rte] p:has(> br:only-child),
.rte-content p.rte-content__p-spacer,
.rich-text-editor p.rte-content__p-spacer,
[data-umb-rte] p.rte-content__p-spacer {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 32px;
  min-height: 32px;
}
.rte-content *:has(+ p:empty),
.rich-text-editor *:has(+ p:empty),
[data-umb-rte] *:has(+ p:empty),
.rte-content *:has(+ p > br:only-child),
.rich-text-editor *:has(+ p > br:only-child),
[data-umb-rte] *:has(+ p > br:only-child),
.rte-content *:has(+ p.rte-content__p-spacer),
.rich-text-editor *:has(+ p.rte-content__p-spacer),
[data-umb-rte] *:has(+ p.rte-content__p-spacer) {
  margin-bottom: 0;
}
.rte-content__top-divider {
  width: 100px;
  height: 4px;
  margin-top: 2rem;
  margin-bottom: 1rem;
  background: linear-gradient(to right, #00a9a4, #002e56);
  border-radius: 2px;
  display: block;
}
@media (max-width: 767px) {
  .rte-content__top-divider {
    margin-top: 0.625rem;
  }
}
/**
 * Gallery Block Component
 * https://www.figma.com/design/99x23TKJEgj6bdg0hH9SVp/MNZ-Website-Design?node-id=9099-17765&m=dev
 *
 * A gallery component that displays images in a responsive grid.
 * Features:
 * - Title (H5) and subtitle
 * - 3 columns on desktop, 2 on tablet, 1 on mobile
 * - Clickable images that open in a modal
 * - Modal with image, caption, credit, title, and optional link
 *
 * LAST UPDATED: 26/02/2026
 */
.gallery-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.gallery-block__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.gallery-block__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.25;
  color: #002e56;
  margin: 0;
  padding: 0;
}
.gallery-block__subtitle {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #6e6e6e;
  margin: 0;
  padding: 0;
}
.gallery-block__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .gallery-block__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .gallery-block__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.gallery-block__item {
  cursor: pointer;
  transition: all 0.15s ease;
}
.gallery-block__item:hover {
  opacity: 0.9;
}
.gallery-block__item:focus {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.gallery-block__item:focus:not(:focus-visible) {
  outline: none;
}
.gallery-block__image-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid #cdd2e1;
  border-radius: 16px;
  background-color: #ffffff;
  height: 193px;
}
.gallery-block__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
}
.gallery-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.gallery-modal[aria-hidden="false"] {
  display: flex;
}
.gallery-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 46, 86, 0.9);
  cursor: pointer;
}
.gallery-modal__content {
  position: relative;
  background-color: #ffffff;
  border-radius: 24px;
  padding: 1.25rem 2.5rem 2.5rem;
  max-width: 807px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .gallery-modal__content {
    padding: 1rem 1.5rem 1.5rem;
    max-width: 100%;
    border-radius: 16px;
  }
}
.gallery-modal__header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin: 0;
}
.gallery-modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #333333;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.gallery-modal__close svg {
  width: 28px;
  height: 28px;
  display: block;
}
.gallery-modal__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  margin: 0;
}
.gallery-modal__body--no-title {
  gap: 0;
}
.gallery-modal__body:has(.gallery-modal__title[style*="display: none"]) {
  gap: 0;
}
.gallery-modal__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: 0;
  margin: 0 0 15px 0;
  color: #002e56;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .gallery-modal__title {
    font-size: 2rem;
  }
}
.gallery-modal__media-block {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.gallery-modal__media-block .image-block__media {
  min-height: 0;
  aspect-ratio: 862 / 485;
  border: 1px solid #cdd2e1;
  border-radius: 16px;
  background-color: #ffffff;
}
.gallery-modal__media-block .image-block__media .hero-banner__background {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 16px;
  z-index: auto;
}
.gallery-modal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding-top: 2.5rem;
}
@media (max-width: 767px) {
  .gallery-modal__footer {
    flex-direction: column;
    align-items: stretch;
    padding-top: 1.5rem;
  }
  .gallery-modal__footer .gallery-modal__button-group {
    width: 100%;
    flex-direction: column;
  }
}
.gallery-modal__button-group {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
}
.gallery-modal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 48px;
  padding: 1rem 1.5rem;
  border: none;
  border-radius: 6px;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.gallery-modal__button svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.gallery-modal__button--secondary {
  background: #ffffff;
  color: #002e56;
  border: 1px solid #002e56;
}
.gallery-modal__button--secondary:hover {
  background-color: #e6eaee;
}
/**
 * Major Incident Block Component
 * Figma: https://www.figma.com/design/99x23TKJEgj6bdg0hH9SVp/MNZ-Website-Design?node-id=11628-20200
 * Implemented: only the 3 layouts in the bottom row (Desktop, Tablet, Mobile).
 *
 * - Desktop (â‰¥1200px): Single-column content, 323px image, 154px height, 24px padding
 * - Tablet (768pxâ€“1199px): Two columns, 254px image, 260px height, 24px padding
 * - Mobile (<768px): Stacked, full-width image 159px, 24px padding
 * - 4 color themes; banner full viewport width
 *
 * LAST UPDATED: 12/03/2026
 */
.major-incident {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 0;
  padding-left: 0;
  padding-right: 1.5rem;
}
.major-incident--dark-grey {
  background-color: #333333;
}
.major-incident--dark-grey .major-incident__timestamp {
  color: #cdd2e1 !important;
}
.major-incident--dark-grey .major-incident__heading {
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__description {
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__description p {
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__cta-button {
  background-color: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__cta-button .btn-label,
.major-incident--dark-grey .major-incident__cta-button .btn-icon {
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__cta-button .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--dark-grey .major-incident__cta-button .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff !important;
  color: #333333 !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-label {
  color: #333333 !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #333333 !important;
  filter: none !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #333333 !important;
  filter: none !important;
}
.major-incident--dark-grey .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: #333333 !important;
}
.major-incident--dark-blue {
  background-color: #335878;
}
.major-incident--dark-blue .major-incident__timestamp {
  color: #cdd2e1 !important;
}
.major-incident--dark-blue .major-incident__heading {
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__description {
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__description p {
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__cta-button {
  background-color: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__cta-button .btn-label,
.major-incident--dark-blue .major-incident__cta-button .btn-icon {
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__cta-button .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--dark-blue .major-incident__cta-button .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) {
  background-color: #ffffff !important;
  color: #335878 !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-label {
  color: #335878 !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #335878 !important;
  filter: none !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon.icon {
  filter: none !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #335878 !important;
  filter: none !important;
}
.major-incident--dark-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: #335878 !important;
}
.major-incident--light-red {
  background-color: #fceaec;
}
.major-incident--light-red .major-incident__timestamp {
  color: #333333 !important;
}
.major-incident--light-red .major-incident__heading {
  color: #002e56 !important;
}
.major-incident--light-red .major-incident__description {
  color: #333333 !important;
}
.major-incident--light-red .major-incident__description p {
  color: #333333 !important;
}
.major-incident--light-red .major-incident__cta-button {
  background-color: #002e56 !important;
  border: none !important;
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button .btn-label,
.major-incident--light-red .major-incident__cta-button .btn-icon {
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident--light-red .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) {
  background-color: #00203d !important;
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-label {
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--light-red .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident--light-blue {
  background-color: #e6f3fa;
}
.major-incident--light-blue .major-incident__timestamp {
  color: #333333 !important;
}
.major-incident--light-blue .major-incident__heading {
  color: #002e56 !important;
}
.major-incident--light-blue .major-incident__description {
  color: #333333 !important;
}
.major-incident--light-blue .major-incident__description p {
  color: #333333 !important;
}
.major-incident--light-blue .major-incident__cta-button {
  background-color: #002e56 !important;
  border: none !important;
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button .btn-label,
.major-incident--light-blue .major-incident__cta-button .btn-icon {
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident--light-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) {
  background-color: #00203d !important;
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-label {
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon {
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg {
  color: #ffffff !important;
}
.major-incident--light-blue .major-incident__cta-button:hover:not(:disabled):not(.btn-disabled) .btn-icon svg path {
  stroke: currentColor !important;
}
.major-incident__image {
  flex-shrink: 0;
  width: 254px;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  align-self: stretch;
}
.major-incident__image-element {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.major-incident__content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex: 1 0 0;
  min-width: 0;
  align-items: flex-start;
  padding: 1.5rem 0;
}
.major-incident__header-column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
}
.major-incident__timestamp {
  font-family: 'Roboto', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  padding: 0;
}
.major-incident__heading {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0;
  color: #002e56;
  margin: 0 0 15px 0;
  color: inherit;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .major-incident__heading {
    font-size: 2rem;
  }
}
.major-incident__description-column {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1 0 0;
  min-width: 0;
  padding-top: 0 !important;
  margin-top: 0 !important;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .major-incident .major-incident__content-wrapper {
    gap: 0.75rem;
  }
  .major-incident .major-incident__description-column {
    flex-direction: column;
    gap: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .major-incident {
    max-height: none;
    overflow: visible;
    gap: 1.5rem;
    padding-right: 1.5rem;
  }
  .major-incident .major-incident__image {
    width: 323px;
  }
  .major-incident .major-incident__content-wrapper {
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem 0;
  }
  .major-incident .major-incident__header-column {
    max-width: none;
    width: 100%;
    gap: 0.75rem;
  }
  .major-incident .major-incident__description-column {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
  }
  .major-incident .major-incident__description {
    flex: 1 1 0;
    min-width: 0;
    display: block !important;
  }
  .major-incident .major-incident__cta {
    flex-shrink: 0;
    margin-left: auto;
  }
}
.major-incident__description {
  color: inherit;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.major-incident__description > p:first-child {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: block !important;
}
.major-incident__description p {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
}
.major-incident__description p + p {
  margin-top: 0.25rem !important;
  margin-block-start: 0.25rem !important;
}
.major-incident__description p:last-child {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}
.major-incident__cta {
  display: flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
  flex-shrink: 0;
}
.major-incident__cta-button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: auto !important;
}
.major-incident__cta-button .btn-icon {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  justify-content: center;
}
.major-incident__cta-button .btn-icon svg {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 20px;
  height: 20px;
}
.major-incident__cta-button .btn-label {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  .major-incident {
    flex-direction: column;
    gap: 0;
    padding: 0;
    min-height: auto;
    max-height: none;
  }
  .major-incident__image {
    width: 100%;
    height: 159px;
  }
  .major-incident__content-wrapper {
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem;
  }
  .major-incident__header-column {
    width: 100%;
  }
  .major-incident__description-column {
    gap: 1.5rem;
  }
  .major-incident__cta {
    width: 100%;
  }
  .major-incident__cta-button {
    width: 100% !important;
    padding: 10px 1rem !important;
    height: auto !important;
  }
}
/**
 * MaritimeNZ Form Input Components
 * 
 * Reusable styles for form textbox and textarea fields
 * Based on Figma Design System - Input Fields
 * 
 * LAST UPDATED: 19/01/2026
 */

 .mnz-services-subdomain-layout form {
    margin: 20px 0 50px 0;
}
 
span .invalid{
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #c8303f;
    padding: 0;
}	
 
.umbraco-forms-field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.umbraco-forms-label {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  color: #002e56;
  margin-bottom: 0;
}
.umbraco-forms-label .umbracoForms-Indicator,
.umbraco-forms-label .form-field-required {
  color: #dc3545;
  margin-left: 0.25em;
}
.form-row:has(.umbraco-forms-field-wrapper input.field-validation-error) .umbraco-forms-label .umbracoForms-Indicator,
.form-row:has(.umbraco-forms-field-wrapper input.input-validation-error) .umbraco-forms-label .umbracoForms-Indicator,
.form-row:has(.umbraco-forms-field-wrapper textarea.field-validation-error) .umbraco-forms-label .umbracoForms-Indicator,
.form-row:has(.umbraco-forms-field-wrapper textarea.input-validation-error) .umbraco-forms-label .umbracoForms-Indicator {
  color: #c8303f !important;
}
.form-row .umbraco-forms-field-wrapper input.field-validation-error ~ * + .umbraco-forms-label .umbracoForms-Indicator,
.form-row .umbraco-forms-field-wrapper input.input-validation-error ~ * + .umbraco-forms-label .umbracoForms-Indicator,
.form-row .umbraco-forms-field-wrapper textarea.field-validation-error ~ * + .umbraco-forms-label .umbracoForms-Indicator,
.form-row .umbraco-forms-field-wrapper textarea.input-validation-error ~ * + .umbraco-forms-label .umbracoForms-Indicator {
  color: #c8303f !important;
}
.form-row:has(.field-validation-error) .umbraco-forms-label .umbracoForms-Indicator {
  color: #c8303f !important;
}
.form-input-base {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  width: 100%;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-input-base::placeholder {
  color: #898989;
  opacity: 1;
}
.form-input-base:focus {
  outline: none;
  border: 2px solid #0068f0;
}
.form-input-base:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
.form-input-base:disabled::placeholder {
  color: #898989;
}
.form-input-base.form-input-error,
.form-input-base.field-validation-error,
.form-input-base[data-val="true"].field-validation-error,
.form-input-base.input-validation-error {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
.form-input-base.form-input-error:focus,
.form-input-base.field-validation-error:focus,
.form-input-base[data-val="true"].field-validation-error:focus,
.form-input-base.input-validation-error:focus {
  border-color: #c8303f;
}
.form-input-base:not(:placeholder-shown):not(:disabled) {
  color: #002e56;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input.form-control.text,
.form-phone-input,
.form-phone-field__input,
.umbraco-forms-field-wrapper input {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  width: 100%;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  min-height: 56px;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
input[type="search"]::placeholder,
input[type="number"]::placeholder,
input.form-control.text::placeholder,
.form-phone-input::placeholder,
.form-phone-field__input::placeholder,
.umbraco-forms-field-wrapper input::placeholder {
  color: #898989;
  opacity: 1;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input.form-control.text:focus,
.form-phone-input:focus,
.form-phone-field__input:focus,
.umbraco-forms-field-wrapper input:focus {
  outline: none;
  border: 2px solid #0068f0;
}
input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="tel"]:disabled,
input[type="url"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="number"]:disabled,
input.form-control.text:disabled,
.form-phone-input:disabled,
.form-phone-field__input:disabled,
.umbraco-forms-field-wrapper input:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
input[type="text"]:disabled::placeholder,
input[type="email"]:disabled::placeholder,
input[type="tel"]:disabled::placeholder,
input[type="url"]:disabled::placeholder,
input[type="password"]:disabled::placeholder,
input[type="search"]:disabled::placeholder,
input[type="number"]:disabled::placeholder,
input.form-control.text:disabled::placeholder,
.form-phone-input:disabled::placeholder,
.form-phone-field__input:disabled::placeholder,
.umbraco-forms-field-wrapper input:disabled::placeholder {
  color: #898989;
}
input[type="text"].form-input-error,
input[type="email"].form-input-error,
input[type="tel"].form-input-error,
input[type="url"].form-input-error,
input[type="password"].form-input-error,
input[type="search"].form-input-error,
input[type="number"].form-input-error,
input.form-control.text.form-input-error,
.form-phone-input.form-input-error,
.form-phone-field__input.form-input-error,
.umbraco-forms-field-wrapper input.form-input-error,
input[type="text"].field-validation-error,
input[type="email"].field-validation-error,
input[type="tel"].field-validation-error,
input[type="url"].field-validation-error,
input[type="password"].field-validation-error,
input[type="search"].field-validation-error,
input[type="number"].field-validation-error,
input.form-control.text.field-validation-error,
.form-phone-input.field-validation-error,
.form-phone-field__input.field-validation-error,
.umbraco-forms-field-wrapper input.field-validation-error,
input[type="text"][data-val="true"].field-validation-error,
input[type="email"][data-val="true"].field-validation-error,
input[type="tel"][data-val="true"].field-validation-error,
input[type="url"][data-val="true"].field-validation-error,
input[type="password"][data-val="true"].field-validation-error,
input[type="search"][data-val="true"].field-validation-error,
input[type="number"][data-val="true"].field-validation-error,
input.form-control.text[data-val="true"].field-validation-error,
.form-phone-input[data-val="true"].field-validation-error,
.form-phone-field__input[data-val="true"].field-validation-error,
.umbraco-forms-field-wrapper input[data-val="true"].field-validation-error,
input[type="text"].input-validation-error,
input[type="email"].input-validation-error,
input[type="tel"].input-validation-error,
input[type="url"].input-validation-error,
input[type="password"].input-validation-error,
input[type="search"].input-validation-error,
input[type="number"].input-validation-error,
input.form-control.text.input-validation-error,
.form-phone-input.input-validation-error,
.form-phone-field__input.input-validation-error,
.umbraco-forms-field-wrapper input.input-validation-error {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
input[type="text"].form-input-error:focus,
input[type="email"].form-input-error:focus,
input[type="tel"].form-input-error:focus,
input[type="url"].form-input-error:focus,
input[type="password"].form-input-error:focus,
input[type="search"].form-input-error:focus,
input[type="number"].form-input-error:focus,
input.form-control.text.form-input-error:focus,
.form-phone-input.form-input-error:focus,
.form-phone-field__input.form-input-error:focus,
.umbraco-forms-field-wrapper input.form-input-error:focus,
input[type="text"].field-validation-error:focus,
input[type="email"].field-validation-error:focus,
input[type="tel"].field-validation-error:focus,
input[type="url"].field-validation-error:focus,
input[type="password"].field-validation-error:focus,
input[type="search"].field-validation-error:focus,
input[type="number"].field-validation-error:focus,
input.form-control.text.field-validation-error:focus,
.form-phone-input.field-validation-error:focus,
.form-phone-field__input.field-validation-error:focus,
.umbraco-forms-field-wrapper input.field-validation-error:focus,
input[type="text"][data-val="true"].field-validation-error:focus,
input[type="email"][data-val="true"].field-validation-error:focus,
input[type="tel"][data-val="true"].field-validation-error:focus,
input[type="url"][data-val="true"].field-validation-error:focus,
input[type="password"][data-val="true"].field-validation-error:focus,
input[type="search"][data-val="true"].field-validation-error:focus,
input[type="number"][data-val="true"].field-validation-error:focus,
input.form-control.text[data-val="true"].field-validation-error:focus,
.form-phone-input[data-val="true"].field-validation-error:focus,
.form-phone-field__input[data-val="true"].field-validation-error:focus,
.umbraco-forms-field-wrapper input[data-val="true"].field-validation-error:focus,
input[type="text"].input-validation-error:focus,
input[type="email"].input-validation-error:focus,
input[type="tel"].input-validation-error:focus,
input[type="url"].input-validation-error:focus,
input[type="password"].input-validation-error:focus,
input[type="search"].input-validation-error:focus,
input[type="number"].input-validation-error:focus,
input.form-control.text.input-validation-error:focus,
.form-phone-input.input-validation-error:focus,
.form-phone-field__input.input-validation-error:focus,
.umbraco-forms-field-wrapper input.input-validation-error:focus {
  border-color: #c8303f;
}
input[type="text"]:not(:placeholder-shown):not(:disabled),
input[type="email"]:not(:placeholder-shown):not(:disabled),
input[type="tel"]:not(:placeholder-shown):not(:disabled),
input[type="url"]:not(:placeholder-shown):not(:disabled),
input[type="password"]:not(:placeholder-shown):not(:disabled),
input[type="search"]:not(:placeholder-shown):not(:disabled),
input[type="number"]:not(:placeholder-shown):not(:disabled),
input.form-control.text:not(:placeholder-shown):not(:disabled),
.form-phone-input:not(:placeholder-shown):not(:disabled),
.form-phone-field__input:not(:placeholder-shown):not(:disabled),
.umbraco-forms-field-wrapper input:not(:placeholder-shown):not(:disabled) {
  color: #002e56;
}
textarea,
.umbraco-forms-field-wrapper textarea {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  width: 100%;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  min-height: 120px;
  resize: vertical;
  overflow: auto;
  padding-right: 1.5rem;
  padding-bottom: 0.5rem;
}
textarea::placeholder,
.umbraco-forms-field-wrapper textarea::placeholder {
  color: #898989;
  opacity: 1;
}
textarea:focus,
.umbraco-forms-field-wrapper textarea:focus {
  outline: none;
  border: 2px solid #0068f0;
}
textarea:disabled,
.umbraco-forms-field-wrapper textarea:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
textarea:disabled::placeholder,
.umbraco-forms-field-wrapper textarea:disabled::placeholder {
  color: #898989;
}
textarea.form-input-error,
.umbraco-forms-field-wrapper textarea.form-input-error,
textarea.field-validation-error,
.umbraco-forms-field-wrapper textarea.field-validation-error,
textarea[data-val="true"].field-validation-error,
.umbraco-forms-field-wrapper textarea[data-val="true"].field-validation-error,
textarea.input-validation-error,
.umbraco-forms-field-wrapper textarea.input-validation-error {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
textarea.form-input-error:focus,
.umbraco-forms-field-wrapper textarea.form-input-error:focus,
textarea.field-validation-error:focus,
.umbraco-forms-field-wrapper textarea.field-validation-error:focus,
textarea[data-val="true"].field-validation-error:focus,
.umbraco-forms-field-wrapper textarea[data-val="true"].field-validation-error:focus,
textarea.input-validation-error:focus,
.umbraco-forms-field-wrapper textarea.input-validation-error:focus {
  border-color: #c8303f;
}
textarea:not(:placeholder-shown):not(:disabled),
.umbraco-forms-field-wrapper textarea:not(:placeholder-shown):not(:disabled) {
  color: #002e56;
}
textarea::-webkit-resizer,
.umbraco-forms-field-wrapper textarea::-webkit-resizer {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cline x1='4' y1='12' x2='12' y2='4' stroke='%23747e96' stroke-width='1'/%3E%3Cline x1='6' y1='12' x2='12' y2='6' stroke='%23747e96' stroke-width='1'/%3E%3Cline x1='8' y1='12' x2='12' y2='8' stroke='%23747e96' stroke-width='1'/%3E%3C/svg%3E") no-repeat bottom right;
  background-size: 12px 12px;
  background-color: transparent;
}
textarea:disabled::-webkit-resizer,
.umbraco-forms-field-wrapper textarea:disabled::-webkit-resizer {
  opacity: 0.6;
}
.form-helper-text-container {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0.5rem;
}
.form-helper-text {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
}
.field-validation-error,
span.field-validation-error,
span[data-valmsg-for],
.field-validation-error span {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #c8303f;
  padding: 0;
  display: block;
}
.form-row .col-md-4 {
  padding-left: 0;
  margin-left: 0;
}
.form-row .col-md-4 .field-validation-error,
.form-row .col-md-4 span.field-validation-error {
  margin-left: 0;
  padding-left: 0;
}
.form-row .col-12:has(.field-validation-error) {
  padding-left: 0;
  margin-left: 0;
}
.form__help-block {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin-top: 0.5rem;
  padding: 0;
  width: 100%;
}
.form__validation-message {
  margin-top: 0.5rem;
}
.form-helper-text-container .form-helper-text {
  margin-bottom: 0;
}
.form-helper-text-container .form-error-message {
  margin-top: 0;
}
.form-group {
  margin-bottom: 1.25rem;
}
.form-group .umbraco-forms-label {
  margin-bottom: 0.75rem;
}
.form-input-base:focus-visible {
  outline: 2px solid #0068f0;
  outline-offset: 2px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.form-checkbox-base,
.form-radio-base {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 1px solid #747e96;
  background-color: #ffffff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  z-index: 1;
}
.form-checkbox-base::-webkit-checkbox,
.form-radio-base::-webkit-checkbox,
.form-checkbox-base::-webkit-radio-button,
.form-radio-base::-webkit-radio-button {
  appearance: none;
  -webkit-appearance: none;
}
.form-checkbox-base:focus,
.form-radio-base:focus {
  outline: none;
  box-shadow: none;
}
.form-checkbox-base:hover:not(:disabled),
.form-radio-base:hover:not(:disabled) {
  border-color: #002e56;
}
.form-checkbox-base:checked,
.form-radio-base:checked {
  background-color: #002e56;
  border-color: #002e56;
}
.form-checkbox-base:disabled,
.form-radio-base:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  cursor: not-allowed;
}
.form-checkbox-base:disabled:checked::after,
.form-radio-base:disabled:checked::after {
  border-left-color: #596173;
  border-bottom-color: #596173;
}
input[type="checkbox"],
input[type="checkbox"].form-check-input,
input[type="checkbox"].checkbox-single,
.form-check input[type="checkbox"],
.checkboxlist input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 1px solid #747e96;
  background-color: #ffffff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  z-index: 1;
  border-radius: 4px;
  background-image: none !important;
  background-size: auto !important;
}
input[type="checkbox"]::-webkit-checkbox,
input[type="checkbox"].form-check-input::-webkit-checkbox,
input[type="checkbox"].checkbox-single::-webkit-checkbox,
.form-check input[type="checkbox"]::-webkit-checkbox,
.checkboxlist input[type="checkbox"]::-webkit-checkbox,
input[type="checkbox"]::-webkit-radio-button,
input[type="checkbox"].form-check-input::-webkit-radio-button,
input[type="checkbox"].checkbox-single::-webkit-radio-button,
.form-check input[type="checkbox"]::-webkit-radio-button,
.checkboxlist input[type="checkbox"]::-webkit-radio-button {
  appearance: none;
  -webkit-appearance: none;
}
input[type="checkbox"]:focus,
input[type="checkbox"].form-check-input:focus,
input[type="checkbox"].checkbox-single:focus,
.form-check input[type="checkbox"]:focus,
.checkboxlist input[type="checkbox"]:focus {
  outline: none;
  box-shadow: none;
}
input[type="checkbox"]:hover:not(:disabled),
input[type="checkbox"].form-check-input:hover:not(:disabled),
input[type="checkbox"].checkbox-single:hover:not(:disabled),
.form-check input[type="checkbox"]:hover:not(:disabled),
.checkboxlist input[type="checkbox"]:hover:not(:disabled) {
  border-color: #002e56;
}
input[type="checkbox"]:checked,
input[type="checkbox"].form-check-input:checked,
input[type="checkbox"].checkbox-single:checked,
.form-check input[type="checkbox"]:checked,
.checkboxlist input[type="checkbox"]:checked {
  background-color: #002e56;
  border-color: #002e56;
}
input[type="checkbox"]:disabled,
input[type="checkbox"].form-check-input:disabled,
input[type="checkbox"].checkbox-single:disabled,
.form-check input[type="checkbox"]:disabled,
.checkboxlist input[type="checkbox"]:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  cursor: not-allowed;
}
input[type="checkbox"]:disabled:checked::after,
input[type="checkbox"].form-check-input:disabled:checked::after,
input[type="checkbox"].checkbox-single:disabled:checked::after,
.form-check input[type="checkbox"]:disabled:checked::after,
.checkboxlist input[type="checkbox"]:disabled:checked::after {
  border-left-color: #596173;
  border-bottom-color: #596173;
}
input[type="checkbox"]::after,
input[type="checkbox"].form-check-input::after,
input[type="checkbox"].checkbox-single::after,
.form-check input[type="checkbox"]::after,
.checkboxlist input[type="checkbox"]::after {
  background-color: transparent !important;
  border: none !important;
  display: none !important;
  height: auto !important;
  width: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
  border-radius: 0 !important;
  content: '' !important;
  font-family: inherit !important;
  font-weight: normal !important;
  color: transparent !important;
  line-height: normal !important;
}
input[type="checkbox"]::before,
input[type="checkbox"].form-check-input::before,
input[type="checkbox"].checkbox-single::before,
.form-check input[type="checkbox"]::before,
.checkboxlist input[type="checkbox"]::before {
  display: none !important;
  content: none !important;
}
input[type="checkbox"]:checked::after,
input[type="checkbox"].form-check-input:checked::after,
input[type="checkbox"].checkbox-single:checked::after,
.form-check input[type="checkbox"]:checked::after,
.checkboxlist input[type="checkbox"]:checked::after {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 6px !important;
  height: 10px !important;
  border-left: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  border-top: none !important;
  border-right: none !important;
  background-color: transparent !important;
  transform: translate(-50%, calc(-50% - 1px)) rotate(45deg) scaleX(-1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  right: auto !important;
  bottom: auto !important;
  border-radius: 0 !important;
  content: '' !important;
  font-family: inherit !important;
  font-weight: normal !important;
  color: transparent !important;
  line-height: normal !important;
}
input[type="radio"],
input[type="radio"].form-check-input,
.form-check input[type="radio"],
.radiobuttonlist input[type="radio"] {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 1px solid #747e96;
  background-color: #ffffff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  z-index: 1;
  border-radius: 50%;
  background-image: none !important;
  background-size: auto !important;
}
input[type="radio"]::-webkit-checkbox,
input[type="radio"].form-check-input::-webkit-checkbox,
.form-check input[type="radio"]::-webkit-checkbox,
.radiobuttonlist input[type="radio"]::-webkit-checkbox,
input[type="radio"]::-webkit-radio-button,
input[type="radio"].form-check-input::-webkit-radio-button,
.form-check input[type="radio"]::-webkit-radio-button,
.radiobuttonlist input[type="radio"]::-webkit-radio-button {
  appearance: none;
  -webkit-appearance: none;
}
input[type="radio"]:focus,
input[type="radio"].form-check-input:focus,
.form-check input[type="radio"]:focus,
.radiobuttonlist input[type="radio"]:focus {
  outline: none;
  box-shadow: none;
}
input[type="radio"]:hover:not(:disabled),
input[type="radio"].form-check-input:hover:not(:disabled),
.form-check input[type="radio"]:hover:not(:disabled),
.radiobuttonlist input[type="radio"]:hover:not(:disabled) {
  border-color: #002e56;
}
input[type="radio"]:checked,
input[type="radio"].form-check-input:checked,
.form-check input[type="radio"]:checked,
.radiobuttonlist input[type="radio"]:checked {
  background-color: #002e56;
  border-color: #002e56;
}
input[type="radio"]:disabled,
input[type="radio"].form-check-input:disabled,
.form-check input[type="radio"]:disabled,
.radiobuttonlist input[type="radio"]:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  cursor: not-allowed;
}
input[type="radio"]:disabled:checked::after,
input[type="radio"].form-check-input:disabled:checked::after,
.form-check input[type="radio"]:disabled:checked::after,
.radiobuttonlist input[type="radio"]:disabled:checked::after {
  border-left-color: #596173;
  border-bottom-color: #596173;
}
input[type="radio"]::after,
input[type="radio"].form-check-input::after,
.form-check input[type="radio"]::after,
.radiobuttonlist input[type="radio"]::after {
  background-color: transparent !important;
  border: none !important;
  display: none !important;
  height: auto !important;
  width: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: static !important;
  border-radius: 0 !important;
  content: '' !important;
  font-family: inherit !important;
  font-weight: normal !important;
  color: transparent !important;
  line-height: normal !important;
}
input[type="radio"]::before,
input[type="radio"].form-check-input::before,
.form-check input[type="radio"]::before,
.radiobuttonlist input[type="radio"]::before {
  display: none !important;
  content: none !important;
}
input[type="radio"]:checked::after,
input[type="radio"].form-check-input:checked::after,
.form-check input[type="radio"]:checked::after,
.radiobuttonlist input[type="radio"]:checked::after {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 6px !important;
  height: 10px !important;
  border-left: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  border-top: none !important;
  border-right: none !important;
  background-color: transparent !important;
  transform: translate(-50%, calc(-50% - 1px)) rotate(45deg) scaleX(-1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  right: auto !important;
  bottom: auto !important;
  border-radius: 0 !important;
  content: '' !important;
  font-family: inherit !important;
  font-weight: normal !important;
  color: transparent !important;
  line-height: normal !important;
}
input[type="radio"]:focus,
input[type="radio"].form-check-input:focus,
.form-check input[type="radio"]:focus,
.radiobuttonlist input[type="radio"]:focus {
  outline: none;
  box-shadow: none;
}
.form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding-left: 0;
}
.form-check input[type="checkbox"],
.form-check input[type="radio"] {
  margin-top: -2px;
}
.form-check .form-check-label {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  cursor: pointer;
  margin: 0;
  padding: 0;
  flex: 1;
}
.form-check:has(input:disabled) .form-check-label {
  color: #596173;
  cursor: not-allowed;
}
.checkboxlist,
.radiobuttonlist {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
.checkboxlist .form-check,
.radiobuttonlist .form-check {
  margin-bottom: 0;
}
.checkbox-single {
  margin-right: 0.5rem;
  vertical-align: middle;
}
.checkbox-single--control {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap !important;
}
.checkbox-single--control.col-sm-12 {
  display: flex !important;
}
.checkbox-single--control .checkbox-single {
  margin-top: -2px;
  margin-bottom: 0;
  flex-shrink: 0;
  display: inline-block !important;
  width: auto !important;
}
.checkbox-single--control > * {
  flex-shrink: 0;
  white-space: nowrap;
}
.checkbox-single--control > text,
.checkbox-single--control > span:not(.umbracoForms-Indicator) {
  white-space: normal;
}
.form-check input.field-validation-error,
.form-check input.input-validation-error {
  border-color: #c8303f;
}
.form-check input.field-validation-error:focus,
.form-check input.input-validation-error:focus {
  outline-color: #c8303f;
}
@media (max-width: 767px) {
  .umbraco-forms-label {
    font-size: 1rem;
  }
  .form-input-base {
    font-size: 1rem;
    padding: 0.5rem 0.75rem;
  }
  textarea.form-input-base,
  .umbraco-forms-field-wrapper textarea.form-input-base {
    padding-right: 1.5rem;
    padding-bottom: 0.5rem;
  }
  textarea.form-input-base::-webkit-resizer,
  .umbraco-forms-field-wrapper textarea.form-input-base::-webkit-resizer {
    background-size: 14px 14px;
  }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input.form-control.text {
    min-height: 48px;
  }
  textarea {
    min-height: 100px;
  }
  .form-check-label {
    font-size: 1rem;
  }
}
.form-control:focus {
  box-shadow: none !important;
}
/**
 * MaritimeNZ Form Datepicker Component
 *
 * Reusable styles for Umbraco Forms date picker field.
 * Based on Figma Design System - Form Datepicker (node 1-3207).
 * Calendar: Pikaday (.pika-single > .pika-lendar > .pika-title, .pika-table).
 *
 * LAST UPDATED: 12/03/2026
 */
.form-datepicker {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  min-height: 56px;
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  transition: border-color 0.15s ease-in-out;
  overflow: hidden;
}
.form-datepicker:focus-within {
  outline: none;
  border-color: #747e96;
}
.form-datepicker:has(.form-datepicker-input.field-validation-error),
.form-datepicker:has(.form-datepicker-input.input-validation-error) {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
.form-datepicker:has(.form-datepicker-input.field-validation-error):focus-within,
.form-datepicker:has(.form-datepicker-input.input-validation-error):focus-within {
  border-color: #c8303f;
}
.form-datepicker:has(.form-datepicker-input:disabled) {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  cursor: not-allowed;
}
.form-datepicker:has(.form-datepicker-input:disabled) .form-datepicker-trigger {
  color: #596173;
  cursor: not-allowed;
}
.form-datepicker input.form-datepicker-input,
.form-datepicker input.field-calendar,
.form-datepicker input.datepickerfield {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  padding: 0.75rem 1rem;
  width: 100%;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  flex: 1 1 0%;
  min-width: 0;
  width: auto !important;
  margin: 0;
  border: none;
  border-radius: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  min-height: 54px;
  box-shadow: none;
  display: block;
}
.form-datepicker input.form-datepicker-input::placeholder,
.form-datepicker input.field-calendar::placeholder,
.form-datepicker input.datepickerfield::placeholder {
  color: #898989;
  opacity: 1;
}
.form-datepicker input.form-datepicker-input:focus,
.form-datepicker input.field-calendar:focus,
.form-datepicker input.datepickerfield:focus {
  outline: none;
  border: 2px solid #0068f0;
}
.form-datepicker input.form-datepicker-input:disabled,
.form-datepicker input.field-calendar:disabled,
.form-datepicker input.datepickerfield:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
.form-datepicker input.form-datepicker-input:disabled::placeholder,
.form-datepicker input.field-calendar:disabled::placeholder,
.form-datepicker input.datepickerfield:disabled::placeholder {
  color: #898989;
}
.form-datepicker input.form-datepicker-input.form-input-error,
.form-datepicker input.field-calendar.form-input-error,
.form-datepicker input.datepickerfield.form-input-error,
.form-datepicker input.form-datepicker-input.field-validation-error,
.form-datepicker input.field-calendar.field-validation-error,
.form-datepicker input.datepickerfield.field-validation-error,
.form-datepicker input.form-datepicker-input[data-val="true"].field-validation-error,
.form-datepicker input.field-calendar[data-val="true"].field-validation-error,
.form-datepicker input.datepickerfield[data-val="true"].field-validation-error,
.form-datepicker input.form-datepicker-input.input-validation-error,
.form-datepicker input.field-calendar.input-validation-error,
.form-datepicker input.datepickerfield.input-validation-error {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
.form-datepicker input.form-datepicker-input.form-input-error:focus,
.form-datepicker input.field-calendar.form-input-error:focus,
.form-datepicker input.datepickerfield.form-input-error:focus,
.form-datepicker input.form-datepicker-input.field-validation-error:focus,
.form-datepicker input.field-calendar.field-validation-error:focus,
.form-datepicker input.datepickerfield.field-validation-error:focus,
.form-datepicker input.form-datepicker-input[data-val="true"].field-validation-error:focus,
.form-datepicker input.field-calendar[data-val="true"].field-validation-error:focus,
.form-datepicker input.datepickerfield[data-val="true"].field-validation-error:focus,
.form-datepicker input.form-datepicker-input.input-validation-error:focus,
.form-datepicker input.field-calendar.input-validation-error:focus,
.form-datepicker input.datepickerfield.input-validation-error:focus {
  border-color: #c8303f;
}
.form-datepicker input.form-datepicker-input:not(:placeholder-shown):not(:disabled),
.form-datepicker input.field-calendar:not(:placeholder-shown):not(:disabled),
.form-datepicker input.datepickerfield:not(:placeholder-shown):not(:disabled) {
  color: #002e56;
}
.form-datepicker input.form-datepicker-input:focus,
.form-datepicker input.field-calendar:focus,
.form-datepicker input.datepickerfield:focus {
  border: none;
  box-shadow: none;
  outline: none;
}
.form-datepicker input.form-datepicker-input:focus-visible,
.form-datepicker input.field-calendar:focus-visible,
.form-datepicker input.datepickerfield:focus-visible {
  outline: none;
}
.form-datepicker input.form-datepicker-input:disabled,
.form-datepicker input.field-calendar:disabled,
.form-datepicker input.datepickerfield:disabled {
  background-color: transparent;
  border: none;
  color: #596173;
  cursor: not-allowed;
}
.form-datepicker input.form-datepicker-input.field-validation-error,
.form-datepicker input.field-calendar.field-validation-error,
.form-datepicker input.datepickerfield.field-validation-error,
.form-datepicker input.form-datepicker-input.input-validation-error,
.form-datepicker input.field-calendar.input-validation-error,
.form-datepicker input.datepickerfield.input-validation-error {
  border: none;
  background-color: transparent;
}
.form-datepicker input.form-datepicker-input.field-validation-error:focus,
.form-datepicker input.field-calendar.field-validation-error:focus,
.form-datepicker input.datepickerfield.field-validation-error:focus,
.form-datepicker input.form-datepicker-input.input-validation-error:focus,
.form-datepicker input.field-calendar.input-validation-error:focus,
.form-datepicker input.datepickerfield.input-validation-error:focus {
  border: none;
  box-shadow: none;
}
.form-datepicker .form-datepicker-trigger {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 54px;
  padding: 0;
  margin: 0;
  background-color: transparent;
  color: #747e96;
  cursor: pointer;
  border-radius: 0;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.form-datepicker .form-datepicker-trigger .form-datepicker-trigger__icon {
  display: block;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}
.form-datepicker .form-datepicker-trigger .form-datepicker-trigger__icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pika-single {
  margin-top: 0.25rem !important;
  width: 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  -webkit-border-radius: 6px !important;
  box-shadow: 2px 4px 20px 4px rgba(116, 126, 150, 0.28) !important;
  border: 1px solid #cdd2e1 !important;
  overflow: hidden !important;
  font-family: 'Roboto', sans-serif;
  background: #ffffff !important;
  z-index: 1070 !important;
}
.pika-single .pika-lendar {
  width: 320px;
  box-sizing: border-box;
  padding: 0.75rem 1rem 1rem;
  margin: 0;
}
.pika-single .pika-table {
  width: 100% !important;
  table-layout: fixed !important;
}
.pika-single .pika-table th,
.pika-single .pika-table td {
  width: 14.28% !important;
  box-sizing: border-box;
}
.pika-single .pika-table thead th {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6e6e6e;
  text-align: center;
  padding: 0.5rem 0;
}
.pika-single .pika-table thead th abbr {
  text-decoration: none;
}
.pika-single .pika-table td {
  padding: 2px;
}
.pika-single .pika-table td.is-empty {
  visibility: hidden;
}
.pika-single .pika-table td.is-today .pika-button.pika-day {
  font-weight: 600;
  color: #002e56;
  background: #f2f4fb;
}
.pika-single .pika-table td.is-selected .pika-button.pika-day,
.pika-single .pika-table td[aria-selected="true"] .pika-button.pika-day {
  background: #002e56;
  color: #ffffff;
}
.pika-single .pika-table td.is-selected .pika-button.pika-day:hover,
.pika-single .pika-table td[aria-selected="true"] .pika-button.pika-day:hover {
  background: #002a4e;
  color: #ffffff;
}
.pika-single .pika-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: #333333;
}
.pika-single .pika-title .pika-prev {
  order: 1;
}
.pika-single .pika-title .pika-label:nth-child(1) {
  order: 2;
}
.pika-single .pika-title .pika-label:nth-child(2) {
  order: 3;
}
.pika-single .pika-title .pika-next {
  order: 4;
}
.pika-single .pika-label {
  font-size: 1rem;
  font-weight: 600;
  color: #333333;
}
.pika-single .pika-select-month,
.pika-single .pika-select-year {
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
  background: #ffffff;
  border: 1px solid #747e96;
  border-radius: 4px;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}
.pika-single .pika-prev,
.pika-single .pika-next {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #cdd2e1;
  border-radius: 8px;
  background: #f2f4fb;
  color: #002e56;
  font-size: 0;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.pika-single .pika-prev::before,
.pika-single .pika-next::before,
.pika-single .pika-prev::after,
.pika-single .pika-next::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 9px;
  height: 2px;
  background-color: #6e6e6e;
}
.pika-single .pika-prev:hover,
.pika-single .pika-next:hover {
  border-color: #002e56;
  background: #f2f4fb;
}
.pika-single .pika-prev:focus,
.pika-single .pika-next:focus {
  outline: none;
}
.pika-single .pika-prev::before,
.pika-single .pika-prev::after {
  left: calc(50% - 3px);
  transform-origin: left center;
  transform: translateY(-50%) rotate(-45deg);
}
.pika-single .pika-prev::after {
  transform: translateY(-50%) rotate(45deg);
}
.pika-single .pika-next::before,
.pika-single .pika-next::after {
  left: calc(50% - 6px);
  transform-origin: right center;
  transform: translateY(-50%) rotate(45deg);
}
.pika-single .pika-next::after {
  transform: translateY(-50%) rotate(-45deg);
}
.pika-single .pika-button.pika-day {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0 auto;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.pika-single .pika-button.pika-day:hover {
  background: #e0e4eb;
  color: #002e56;
}
.pika-single .pika-button.pika-day:focus {
  outline: none;
}
body.datepicker-open .form-datepicker:focus-within {
  border-color: #747e96 !important;
}
body.datepicker-open .form-datepicker input.form-datepicker-input:focus,
body.datepicker-open .form-datepicker input.field-calendar:focus,
body.datepicker-open .form-datepicker input.datepickerfield:focus {
  outline: none !important;
  box-shadow: none !important;
}
@media (max-width: 767px) {
  .form-datepicker {
    min-height: 48px;
  }
  .form-datepicker input.form-datepicker-input,
  .form-datepicker input.field-calendar,
  .form-datepicker input.datepickerfield {
    min-height: 46px;
    font-size: 1rem;
    padding: 0.5rem 0.75rem;
  }
  .form-datepicker .form-datepicker-trigger {
    height: 46px;
    width: 44px;
  }
}
/**
 * Form Phone Field â€“ country code dropdown + number input
 * Custom dropdown list styled like single form-dropdown (same list/option style, no radio).
 * Chevron flips when open; trigger shows code only.
 */
.form-phone-field {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.form-phone-field__row {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
}
.form-phone-field__country {
  position: relative;
  flex: 0 0 auto;
  width: 108px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 56px;
  min-height: 56px;
  padding: 0 1rem 0 0.75rem;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px 0 0 6px;
  margin-right: -1px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
}
.form-phone-field--opened .form-phone-field__country {
  border: 2px solid #0068f0;
  outline: none;
}
.form-phone-field__select--hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.form-phone-field__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  min-width: 0;
  text-align: left;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
}
.form-phone-field__value {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  white-space: nowrap;
}
.form-phone-field:has(.form-phone-field__input:focus) .form-phone-field__country {
  border-right-color: #0068f0;
  border-right-width: 2px;
}
.form-phone-field--disabled .form-phone-field__country,
.form-phone-field:has(.form-phone-field__input:disabled) .form-phone-field__country {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  cursor: not-allowed;
}
.form-phone-field:has(.form-phone-field__input:disabled) .form-phone-field__value,
.form-phone-field:has(.form-phone-field__input:disabled) .form-phone-field__chevron {
  color: #596173;
  cursor: not-allowed;
}
.form-phone-field:has(.form-phone-field__input.field-validation-error) .form-phone-field__country,
.form-phone-field:has(.form-phone-field__input.input-validation-error) .form-phone-field__country {
  border-color: #c8303f;
  border-width: 2px;
}
.form-phone-field:has(.form-phone-field__input.field-validation-error) .form-phone-field__input,
.form-phone-field:has(.form-phone-field__input.input-validation-error) .form-phone-field__input {
  border-left-width: 0;
}
.form-phone-field__chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #002e56;
  transition: transform 0.2s ease, color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-phone-field--opened .form-phone-field__chevron {
  transform: rotate(180deg);
}
.form-phone-field__chevron svg {
  width: 100%;
  height: 100%;
}
.form-phone-field__list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: #ffffff;
  border: 1px solid #cdd2e1;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 46, 86, 0.12);
  z-index: 100;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
}
.form-phone-field__option {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  transition: background-color 0.15s ease;
}
.form-phone-field__option:hover {
  background-color: #f2f4fb;
}
.form-phone-field__option:focus {
  outline: none;
  background-color: #f2f4fb;
}
.form-phone-field__option--selected {
  font-weight: 500;
}
.form-phone-field__input {
  position: relative;
  z-index: 0;
  flex: 1 1 0;
  min-width: 0;
  box-sizing: border-box;
  height: 56px;
  border-radius: 0 6px 6px 0;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  margin-left: 0;
}
.form-phone-field__input:focus,
.form-phone-field__input:focus-visible {
  outline: none;
  border-width: 1px;
  border-color: #747e96;
  border-left-width: 2px;
  border-left-color: #0068f0;
  z-index: 1;
  box-shadow: none !important;
}
.form-phone-field__hidden {
  display: none;
}
/**
 * Form Yes/No Field â€“ segmented control (Yes | No)
 * Matches Figma: MNZ Website Design System â€“ Yes or No buttons (node 1-1504)
 * Reuses form-input.less design tokens.
 */
.form-yesno-field {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.form-yesno-field__options {
  display: flex;
  align-items: stretch;
  min-height: 48px;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  padding: 0.25rem;
  gap: 0;
  box-sizing: border-box;
}
.form-yesno-field__option {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.5rem 1rem;
  margin: 0;
  cursor: pointer;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  background-color: #ffffff;
  border: none;
  border-radius: 4px;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
  position: relative;
}
.form-yesno-field__option:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}
.form-yesno-field__option:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 1px solid #747e96;
  margin-bottom: 0;
}
.form-yesno-field__option:has(.form-yesno-field__input:checked),
.form-yesno-field__option--selected {
  background-color: #002e56;
  color: #ffffff;
  font-weight: 700;
  border-radius: 4px;
}
.form-yesno-field__option:first-child:has(.form-yesno-field__input:checked) + .form-yesno-field__option,
.form-yesno-field__option:first-child.form-yesno-field__option--selected + .form-yesno-field__option {
  border-left: none;
}
.form-yesno-field__option:last-child:has(.form-yesno-field__input:checked),
.form-yesno-field__option:last-child.form-yesno-field__option--selected {
  border-left: none;
  border-radius: 4px;
}
.form-yesno-field__option:focus-within {
  outline: none;
}
.form-yesno-field__input {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: none;
}
.form-yesno-field__option-text {
  position: relative;
  z-index: 1;
  pointer-events: none;
}
.form-yesno-field:has(.form-yesno-field__input:disabled) .form-yesno-field__options {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
}
.form-yesno-field:has(.form-yesno-field__input:disabled) .form-yesno-field__option {
  cursor: not-allowed;
  color: #596173;
}
.form-yesno-field:has(.form-yesno-field__input:disabled) .form-yesno-field__option:has(.form-yesno-field__input:checked),
.form-yesno-field:has(.form-yesno-field__input:disabled) .form-yesno-field__option--selected {
  background-color: #747e96;
  color: #ffffff;
}
.form-yesno-field:has(.field-validation-error) .form-yesno-field__options,
.form-yesno-field:has(.input-validation-error) .form-yesno-field__options {
  border-color: #c8303f;
  border-width: 2px;
}
/**
 * Form Dropdown (Single & Multi) â€“ MNZ Design System
 * Figma: https://www.figma.com/design/LRfUOR83CmMwHMEmLTFq8P/MNZ-Website-Design-System?node-id=1-3013
 *
 * AC: Default, Opened, Selected, Disabled, Disabled-entered.
 * Single: closes on select. Multi: stays open; close on click outside; remove via chip X; overflow = truncate + horizontal scroll.
 * Styled to match form-input.less (same field height, border, focus, disabled).
 */
.form-dropdown {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}
.form-dropdown__field {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  background-color: #ffffff;
  border: 1px solid #747e96;
  border-radius: 6px;
  color: #333333;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}
.form-dropdown__field::placeholder {
  color: #898989;
  opacity: 1;
}
.form-dropdown__field:focus {
  outline: none;
  border: 2px solid #0068f0;
}
.form-dropdown__field:disabled {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
.form-dropdown__field:disabled::placeholder {
  color: #898989;
}
.form-dropdown__field.form-input-error,
.form-dropdown__field.field-validation-error,
.form-dropdown__field[data-val="true"].field-validation-error,
.form-dropdown__field.input-validation-error {
  border: 2px solid #c8303f;
  background-color: #ffffff;
}
.form-dropdown__field.form-input-error:focus,
.form-dropdown__field.field-validation-error:focus,
.form-dropdown__field[data-val="true"].field-validation-error:focus,
.form-dropdown__field.input-validation-error:focus {
  border-color: #c8303f;
}
.form-dropdown__field:not(:placeholder-shown):not(:disabled) {
  color: #002e56;
}
.form-dropdown__field:focus {
  outline: none;
}
.form-dropdown__field:focus-visible {
  outline: none;
  border: 2px solid #0068f0;
}
.form-dropdown__placeholder {
  color: #898989;
  flex: 1;
  min-width: 0;
}
.form-dropdown__value {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
}
.form-dropdown__value::-webkit-scrollbar {
  height: 4px;
}
.form-dropdown__value::-webkit-scrollbar-thumb {
  background: #cdd2e1;
  border-radius: 2px;
}
.form-dropdown__value-text {
  color: #333333;
  font-size: 1.125rem;
  white-space: nowrap;
}
.form-dropdown__value-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.form-dropdown__item-clear {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 6px;
  border: none;
  background-color: #e7eaf7;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  color: #333333;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.form-dropdown__item-clear:hover {
  background-color: #cdd2e1;
  color: #002e56;
}
.form-dropdown__item-clear:focus {
  outline: 2px solid #002e56;
  outline-offset: 2px;
}
.form-dropdown--disabled .form-dropdown__item-clear {
  display: none;
}
.form-dropdown__clear {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 6px;
  border: none;
  background-color: #e7eaf7;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  color: #333333;
  transition: background-color 0.15s ease, color 0.15s ease;
  margin-left: 0.5rem;
}
.form-dropdown__clear:hover {
  background-color: #cdd2e1;
  color: #002e56;
}
.form-dropdown__clear:focus {
  outline: 2px solid #002e56;
  outline-offset: 2px;
}
.form-dropdown--disabled .form-dropdown__clear {
  display: none;
}
.form-dropdown__chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #002e56;
  transition: transform 0.2s ease, color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-dropdown--opened .form-dropdown__chevron {
  transform: rotate(180deg);
}
.form-dropdown--opened .form-dropdown__field {
  outline: none;
  border: 2px solid #0068f0;
}
.form-dropdown--disabled .form-dropdown__field {
  background-color: #e0e4eb;
  border-color: #cdd2e1;
  color: #596173;
  cursor: not-allowed;
}
.form-dropdown--disabled .form-dropdown__placeholder,
.form-dropdown--disabled .form-dropdown__value-text {
  color: #596173;
}
.form-dropdown--disabled .form-dropdown__chevron {
  color: #747e96;
  opacity: 0.7;
}
.form-dropdown__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 6px 0.5rem 6px 0.5rem;
  background-color: #e7eaf7;
  border-radius: 16px;
  flex-shrink: 0;
  max-width: 100%;
}
.form-dropdown__chip-text {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #002e56;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-dropdown__chip-remove {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.form-dropdown__chip-remove:hover {
  background-color: #cdd2e1;
  color: #002e56;
}
.form-dropdown__chip-remove:focus {
  outline: 2px solid #002e56;
  outline-offset: 2px;
}
.form-dropdown--disabled .form-dropdown__chip-remove {
  display: none;
}
.form-dropdown__list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background-color: #ffffff;
  border: 1px solid #cdd2e1;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 46, 86, 0.12);
  z-index: 100;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
}
.form-dropdown__option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  transition: background-color 0.15s ease;
}
.form-dropdown__option:hover {
  background-color: #f2f4fb;
}
.form-dropdown__option:focus {
  outline: none;
  background-color: #f2f4fb;
}
.form-dropdown__option--selected {
  font-weight: 500;
}
.form-dropdown--multi .form-dropdown__option-checkbox {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  border: 1px solid #747e96;
  border-radius: 4px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}
.form-dropdown--multi .form-dropdown__option-checkbox::after {
  content: '';
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 10px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  border-top: none;
  border-right: none;
  background: none;
  transform: translate(-50%, calc(-50% - 1px)) rotate(45deg) scaleX(-1);
}
.form-dropdown--multi .form-dropdown__option--selected .form-dropdown__option-checkbox {
  background-color: #002e56;
  border-color: #002e56;
}
.form-dropdown--multi .form-dropdown__option--selected .form-dropdown__option-checkbox::after {
  display: block;
}
.form-dropdown--multi .form-dropdown__option:hover .form-dropdown__option-checkbox {
  border-color: #002e56;
}
.form-dropdown--single .form-dropdown__option-checkbox {
  display: none !important;
}
.form-dropdown__option-spacer {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
}
.form-dropdown__option--selected .form-dropdown__option-spacer {
  display: none;
}
.form-dropdown__option-check {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  border-radius: 50%;
  background-color: #002e56;
  border: none;
  display: none;
  align-items: center;
  justify-content: center;
  position: relative;
}
.form-dropdown__option-check::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 8px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  border-top: none;
  border-right: none;
  background: none;
  transform: translate(-50%, calc(-50% - 1px)) rotate(45deg) scaleX(-1);
}
.form-dropdown__option--selected .form-dropdown__option-check {
  display: flex;
}
.form-dropdown__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.form-dropdown + .form__help-block,
.form-dropdown .form-dropdown__helper {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
  margin: 0;
  margin-top: 0.5rem;
}
/**
 * Form pagination (Umbraco Forms multi-page)
 * BEM block: `form-pagination`
 *
 * Sidebar + actions aligned with MNZ Website Design â€” Form progress / pagination (Figma).
 * - Steps: blue-50 active row + blue-600 left border; blue-100 top dividers; subtitle styling.
 * - Completed: green circle + white tick (success); pending/active: no right indicator except completed.
 * - Actions: Previous (outline) + Next/Submit (primary); disabled primary uses grey fill per Figma.
 *
 * LAST UPDATED: 26/03/2026
 */
.form-pagination {
  margin-top: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .form-pagination {
    margin-top: 0;
  }
}
.form-pagination__row {
  align-items: flex-start;
}
.form-pagination__sidebar {
  margin-bottom: 0;
}
.form-pagination__main {
  min-width: 0;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .form-pagination__main {
    margin-top: 0;
  }
}
.form-pagination__nav {
  width: 100%;
}
.form-pagination__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.form-pagination__item {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
}
.form-pagination__item:not(:first-child) {
  border-bottom: 1px solid #b0daf0;
}
.form-pagination__item--active {
  background-color: #e6f3fa;
  border-left: 1px solid #027bb8;
}
.form-pagination__item--active .form-pagination__label {
  font-weight: 500;
  color: #6e6e6e;
}
.form-pagination__item--completed .form-pagination__label,
.form-pagination__item--pending .form-pagination__label {
  color: #6e6e6e;
}
.form-pagination__step {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  box-sizing: border-box;
}
@media (min-width: 767px) {
  .form-pagination__step {
    min-height: 63px;
    padding: 1.25rem 0.75rem;
  }
}
.form-pagination__label {
  font-family: 'Roboto', sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  color: #6e6e6e;
  flex: 1 1 auto;
  min-width: 0;
}
.form-pagination__indicator--complete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: #007240;
  border: none;
  color: #ffffff;
}
.form-pagination__indicator--complete .MNZicon {
  font-size: 12px;
  line-height: 1;
}
.form-pagination__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  column-gap: 0.75rem;
  row-gap: 0;
  width: 100%;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.form-pagination__actions::before {
  content: "";
  flex: 1 0 100%;
  width: 100%;
  order: -1;
  box-sizing: border-box;
  height: 1.75rem;
  border-bottom: 1px solid #cdd2e1;
  margin-bottom: 3rem;
}
.form-pagination__actions--first-only {
  justify-content: flex-end;
}
.form-pagination__actions--first-only .form-pagination__action--next {
  margin-left: 0;
}
.form-pagination__action {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.form-pagination__action--prev {
  order: 1;
}
.form-pagination__action--next {
  order: 2;
  margin-left: auto;
}
.form-pagination__action .btn {
  width: auto;
  height: auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-radius: 6px;
  box-sizing: border-box;
}
.form-pagination__action--prev .btn .btn-icon-left {
  margin-right: 0.5rem !important;
}
.form-pagination__action--next .btn .btn-icon-right {
  margin-left: 0.5rem !important;
}
.form-pagination__action .btn.btn-primary:disabled,
.form-pagination__action .btn.btn-primary.btn-disabled {
  cursor: not-allowed;
  opacity: 1;
  background-color: #e0e4eb !important;
  border-color: transparent !important;
  color: #596173 !important;
}
.form-pagination__action .btn.btn-primary:disabled .btn-label,
.form-pagination__action .btn.btn-primary.btn-disabled .btn-label,
.form-pagination__action .btn.btn-primary:disabled .btn-icon,
.form-pagination__action .btn.btn-primary.btn-disabled .btn-icon {
  color: #596173 !important;
}
.form-pagination__action .btn.btn-primary:disabled .btn-icon .MNZicon,
.form-pagination__action .btn.btn-primary.btn-disabled .btn-icon .MNZicon {
  color: #596173 !important;
}
.form-pagination__action .btn.btn-primary:disabled:hover,
.form-pagination__action .btn.btn-primary.btn-disabled:hover,
.form-pagination__action .btn.btn-primary:disabled:focus,
.form-pagination__action .btn.btn-primary.btn-disabled:focus,
.form-pagination__action .btn.btn-primary:disabled:focus-visible,
.form-pagination__action .btn.btn-primary.btn-disabled:focus-visible {
  background-color: #e0e4eb !important;
  color: #596173 !important;
}
@media (max-width: 767px) {
  .form-pagination__actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .form-pagination__action {
    flex: 1 1 calc(50% - 0.75rem / 2);
    min-width: 140px;
  }
  .form-pagination__action .btn {
    width: 100%;
  }
  .form-pagination__actions--first-only .form-pagination__action--next {
    flex: 1 1 100%;
  }
  .form-pagination__actions--first-only .form-pagination__action .btn {
    width: 100%;
  }
}
/**
 * NAVAREA Warnings â€” MNZ Website Design (Figma node 9316:20263)
 * BEM block: mnz-services-subdomain
 *
 * LAST UPDATED: 23/03/2026
 */
.mnz-services-subdomain-layout {
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .mnz-services-subdomain-layout {
    margin-top: 1.5rem;
  }
}
.mnz-services-subdomain-layout__inner {
  max-width: 911px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.main-block.mnz-services-subdomain {
  margin: 1.25rem 0 3.125rem 0;
}
.mnz-services-subdomain {
  color: #333333;
}
.mnz-services-subdomain__page-header {
  margin-bottom: 3rem;
}
.mnz-services-subdomain__page-title {
  margin: 0 0 1rem 0;
  padding: 0;
  border-bottom: none;
  font-family: 'Roboto', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #002e56;
}
.mnz-services-subdomain__subtitle {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  color: #6e6e6e;
  opacity: 0.9;
}
.mnz-services-subdomain__information-banners {
  width: 100%;
}
.mnz-services-subdomain__information-banners .umb-block-grid__layout-item:last-child .information-banner {
  margin-bottom: 3rem;
}
.mnz-services-subdomain__group {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #b0daf0;
}
.mnz-services-subdomain__group:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.mnz-services-subdomain__group-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 2rem;
}
.mnz-services-subdomain__group-accent {
  width: 104px;
  height: 4px;
  border: 0;
  margin: 0;
  padding: 0;
  background: linear-gradient(90deg, #007F7B 0%, #002E56 100%);
}
.mnz-services-subdomain__group-title {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: #333333;
}
.mnz-services-subdomain__empty {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #333333;
}
.mnz-services-subdomain__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.mnz-services-subdomain__item {
  margin: 0;
  padding: 0;
}
.mnz-services-subdomain__item-title {
  margin: 0 0 1rem 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.25;
  color: #333333;
}
.mnz-services-subdomain__item-body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e6e6e;
}
.mnz-services-subdomain__item-body p {
  margin: 0 0 0.5rem 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.mnz-services-subdomain__item-body p:last-child {
  margin-bottom: 0;
}
.mnz-services-subdomain__actions {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #b0daf0;
}
@media (max-width: 767px) {
  .mnz-services-subdomain__page-title {
    font-size: 2.125rem;
  }
  .mnz-services-subdomain__subtitle {
    font-size: 1.25rem;
  }
  .mnz-services-subdomain__group-title {
    font-size: 1.75rem;
  }
  .mnz-services-subdomain__item-title {
    font-size: 1.5rem;
  }
}
/**
 * Print behaviour: screen rules that support printing, plus @media print overrides.
 * Supplements top-navigation.less @media print.
 */
@media screen {
  .print-only {
    display: none;
  }
}
@media print {
  .no-print,
  .horizontal-button-layout {
    display: none !important;
  }
  .mnz-header__mobile-top,
  .mnz-header__utility-nav {
    display: none !important;
  }
  .breadcrumbs-container {
    display: none !important;
  }
  .site-footer,
  footer.site-footer {
    display: none !important;
  }
  .btn,
  .btn-close,
  .scroll-to-top,
  .back-to-top-container,
  .back-to-top-button {
    display: none !important;
  }
}
/***** STANDARD STYLES *****/
/* MNZ font/symbol loading */
@font-face {
  font-family: 'MNZWeb';
  src: url('/fonts/mnzweb-woff2.woff2') format('woff2'), url('/fonts/mnzweb-woff.woff') format('woff');
  font-display: swap;
}
/* =============================================================================
   COLOR UTILITY CLASSES
   ============================================================================= */
.rec-orange {
  color: #f36f20;
}
.com-red {
  color: #f36f20;
}
.pub-green {
  color: #007240;
}
.basic-blue {
  color: #0089cf;
}
.dark-blue {
  color: #00213d;
}
.default-black {
  color: #535353;
}
.basic-black {
  color: #333333;
}
.light-grey {
  color: #ababab;
}
.basic-grey {
  color: #747e96;
}
.dark-grey {
  color: #6e6e6e;
}
.safety-orange {
  color: #dd651d;
}
.safety-orange-border {
  border-color: #dd651d;
}
.default-white {
  color: #f2f4fb;
}
.standard-white {
  color: #ffffff;
}
.alert-red {
  color: #dc3545;
}
/* =============================================================================
   BASE STYLES
   ============================================================================= */
a {
  text-decoration: none;
}
a,
a:hover {
  color: #027bb8;
}
body {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
main {
  margin-bottom: 50px;
}
/* =============================================================================
   CONTAINER (Figma Grid System)
   ============================================================================= */
main > .container,
.container {
  max-width: 1384px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  main > .container,
  .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  main > .container,
  .container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 992px) {
  main > .container,
  .container {
    padding-left: 80px;
    padding-right: 80px;
  }
}
body,
p {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-style: normal;
}
p {
  font-size: 1.125rem;
  line-height: 1.5;
}
#sub-content ul,
#sub-content ol {
  font-size: 1.125rem;
}
/* =============================================================================
   TYPOGRAPHY - HEADINGS
   ============================================================================= */
h1,
h2,
.h2 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-style: normal;
}
h1 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #002e56;
  margin: 0 0 10px 0;
  padding: 10px 0;
  border-bottom: 2px solid #cdd2e1;
}
@media (min-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
}
h2 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #002e56;
  margin: 0 0 15px 0;
}
@media (min-width: 768px) {
  h2 {
    font-size: 2rem;
  }
}
h3,
h4,
h5,
.page-intro {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
}
h3 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #6e6e6e;
  margin: 0 0 15px 0;
}
@media (min-width: 768px) {
  h3 {
    font-size: 1.75rem;
  }
}
h4 {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333333;
  margin: 0 0 10px 0;
}
@media (min-width: 768px) {
  h4 {
    font-size: 1.5rem;
  }
}
h5 {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: 0;
  color: #333333;
  margin: 0 0 10px 0;
}
@media (min-width: 768px) {
  h5 {
    font-size: 1.375rem;
  }
}
.page-intro {
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 10px 0;
  border-bottom: none;
  margin-bottom: 0;
}
/* Heading Colors by Section */
h1,
h2,
#default-page h1,
#default-page h2 {
  color: #002e56;
}
h3,
.page-intro {
  color: #6e6e6e;
}
h4,
h5 {
  color: #333333;
}
#public-page h1,
#public-page h2 {
  color: #007240;
}
#rec-page h1,
#rec-page h2 {
  color: #f36f20;
}
#com-page h1,
#com-page h2 {
  color: #f36f20;
}
/* =============================================================================
   UTILITY CLASSES
   ============================================================================= */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.text-fade {
  opacity: 0.6;
}
code {
  display: block;
  margin: 10px 0;
}
/* Text page layout - match Figma 9967-103197: sidebar 288px, content 910px (862px inner) */
.text-page-layout {
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .text-page-layout {
    display: flex;
    gap: 1.5rem;
    flex-wrap: nowrap;
    margin-left: 0;
    margin-right: 0;
  }
  .text-page-layout #side-navigation {
    flex: 0 0 288px;
    width: 288px;
    max-width: 288px;
  }
  .text-page-layout #content {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 910px;
  }
}
@media (max-width: 767px) {
  .text-page-layout {
    margin-top: 0.5rem;
  }
}
.text-page-layout #content > h1 {
  border-bottom: none;
}
.text-page-layout.news-media-page-layout #content > h1 {
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.text-page-layout.news-media-page-layout #content > .page-intro {
  padding-top: 1rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .text-page-layout.news-media-page-layout #content > .page-intro {
    padding-bottom: 3rem;
  }
}
*,
*:focus,
*:hover {
  outline: none;
}
.hide-on-all {
  display: none;
}
/* =============================================================================
   FOOTER (legacy â€“ .site-footer uses components/footer.less)
   ============================================================================= */
footer:not(.site-footer) {
  color: #ffffff;
  background-color: #333333;
  padding: 2rem 0;
}
