/* Shared navigation polish and gentle scroll reveals for content pages. */
.ca-wow-motion-ready .wow {
  animation: none !important;
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity 700ms ease, transform 700ms ease;
  transition-delay: calc(var(--ca-wow-stagger, 0) * 70ms);
}

.ca-wow-motion-ready .wow.animated {
  animation: none !important;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.ca-scroll-motion-ready .ca-scroll-item.ca-scroll-item {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity 700ms ease, transform 700ms ease;
  transition-delay: var(--ca-scroll-delay, 0ms);
}

body.ca-scroll-motion-ready .ca-scroll-item.ca-scroll-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.ca-wow-motion-ready .wow.ca-wow-passed,
body.ca-scroll-motion-ready .ca-scroll-item.ca-scroll-item.ca-scroll-passed {
  transition: none !important;
  transition-delay: 0ms !important;
}

@keyframes caSearchRise {
  from { opacity: 0; transform: translate3d(0, 26px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.site-search-page .search-panel {
  animation: caSearchRise 700ms ease both;
}

.site-search-page .search-result-card {
  animation: caSearchRise 700ms ease both;
}

.site-search-page .search-result-card:nth-child(5n + 1) { animation-delay: 0ms; }
.site-search-page .search-result-card:nth-child(5n + 2) { animation-delay: 70ms; }
.site-search-page .search-result-card:nth-child(5n + 3) { animation-delay: 140ms; }
.site-search-page .search-result-card:nth-child(5n + 4) { animation-delay: 210ms; }
.site-search-page .search-result-card:nth-child(5n + 5) { animation-delay: 280ms; }

body:not(.home-page) .nav-area .navbar-area.is-sticky {
  animation: none !important;
  transition: background-color 180ms ease, box-shadow 180ms ease !important;
}

@media (min-width: 992px) {
  .site-search-page .search-nav-toggle {
    display: none !important;
  }

  .nav-area .navbar-area .main-nav {
    transition: background-color 220ms ease, box-shadow 220ms ease, backdrop-filter 220ms ease;
  }

  body:not(.home-page) .nav-area .navbar-area.is-sticky .main-nav {
    background-color: #071220 !important;
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 0 2px !important;
    padding: 8px 6px !important;
    border-radius: 999px;
    font-size: 13px !important;
    white-space: nowrap;
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link::before {
    display: none !important;
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link:hover,
  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link:focus-visible,
  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link.active {
    color: #91e8ff !important;
    background: rgba(255, 255, 255, .09);
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item > a.nav-link:focus-visible {
    outline: 2px solid #91e8ff;
    outline-offset: 2px;
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item .dropdown-menu {
    border: 1px solid rgba(18, 37, 66, .1);
    border-top: 2px solid #7dd3fc;
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 24px 55px rgba(8, 20, 38, .22);
  }

  .nav-area .navbar-area .main-nav nav .navbar-nav .nav-item .dropdown-menu li a {
    border: 0;
    border-radius: 10px;
    padding: 11px 13px;
    line-height: 1.35;
  }

  .site-search-page .search-top-nav .navbar-nav .nav-item.lang-item > a.nav-link {
    min-height: 34px;
    margin: 0 1px !important;
    padding: 7px 5px !important;
    color: #bfd0e3 !important;
    font-size: 11px !important;
  }
}

@media (max-width: 991px) {
  .mobile-nav.mean-container {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 10002 !important;
    display: block !important;
    width: 100% !important;
    height: 72px !important;
    background: transparent !important;
  }

  .mobile-nav.mean-container .mean-bar {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 10004 !important;
    float: none !important;
    width: 100% !important;
    height: 72px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    background: #071223 !important;
    box-shadow: 0 10px 30px rgba(7, 18, 35, .18);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .mobile-nav.mean-container .logo {
    position: absolute !important;
    z-index: 10006 !important;
    top: 10px !important;
    left: max(16px, calc((100vw - 560px) / 2)) !important;
    display: inline-flex !important;
    align-items: center;
    max-width: 154px !important;
    height: 50px;
    padding: 0 !important;
    text-decoration: none;
  }

  .mobile-nav.mean-container .logo img {
    display: block;
    width: 150px;
    height: 50px;
    object-fit: contain;
  }

  .mobile-nav.mean-container a.meanmenu-reveal {
    position: absolute !important;
    z-index: 10007 !important;
    top: 14px !important;
    right: max(12px, calc((100vw - 560px) / 2)) !important;
    left: auto !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px;
    height: 44px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
  }

  .mobile-nav.mean-container a.meanmenu-reveal:hover,
  .mobile-nav.mean-container a.meanmenu-reveal:focus-visible {
    border-color: rgba(145, 232, 255, .56);
    background: rgba(255, 255, 255, .14) !important;
  }

  .mobile-nav.mean-container a.meanmenu-reveal:focus-visible {
    outline: 2px solid #91e8ff;
    outline-offset: 3px;
  }

  .mobile-nav.mean-container a.meanmenu-reveal span {
    position: static !important;
    top: auto !important;
    display: block;
    width: 21px;
    height: 2px;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    transform-origin: center;
    transition: transform 180ms ease, opacity 180ms ease, width 180ms ease;
  }

  .mobile-nav.mean-container a.meanmenu-reveal.meanclose span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }

  .mobile-nav.mean-container a.meanmenu-reveal.meanclose span:nth-child(2) {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .mobile-nav.mean-container a.meanmenu-reveal.meanclose span:nth-child(n + 3) {
    width: 0;
    opacity: 0;
  }

  .mobile-nav.mean-container .mean-nav {
    position: fixed !important;
    top: 82px !important;
    right: auto !important;
    bottom: auto !important;
    left: max(12px, calc((100vw - 560px) / 2)) !important;
    z-index: 10005 !important;
    float: none !important;
    width: min(560px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 98px);
    max-height: calc(100dvh - 98px);
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background: transparent !important;
    box-shadow: 0 30px 75px rgba(2, 10, 21, .34);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    visibility: hidden;
  }

  .mobile-nav.mean-container .mean-nav,
  .mobile-nav.mean-container .mean-nav * {
    box-sizing: border-box !important;
  }

  body.ca-mobile-nav-open .mobile-nav.mean-container .mean-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .mobile-nav.mean-container .mean-nav > ul.navbar-nav {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 98px);
    max-height: calc(100dvh - 98px);
    margin: 0 !important;
    padding: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: inherit;
    background: #10243a !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-nav.mean-container .mean-nav ul li {
    float: none !important;
    width: 100% !important;
  }

  .mobile-nav.mean-container .mean-nav > ul > li + li {
    border-top: 1px solid rgba(255, 255, 255, .075);
  }

  .mobile-nav.mean-container .mean-nav ul li a:not(.mean-expand) {
    float: none !important;
    display: flex;
    width: auto !important;
    min-height: 46px;
    margin: 2px 0 !important;
    padding: 12px 15px !important;
    align-items: center;
    border: 0 !important;
    border-radius: 12px;
    background: transparent;
    color: #eef6ff !important;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-align: start !important;
    text-decoration: none;
    transition: background-color 160ms ease, color 160ms ease;
  }

  .mobile-nav.mean-container .mean-nav ul li a:not(.mean-expand):hover,
  .mobile-nav.mean-container .mean-nav ul li a:not(.mean-expand):focus-visible,
  .mobile-nav.mean-container .mean-nav ul li a:not(.mean-expand).active {
    background: rgba(145, 232, 255, .1) !important;
    color: #91e8ff !important;
  }

  .mobile-nav.mean-container .mean-nav ul li a:not(.mean-expand):focus-visible {
    outline: 2px solid #91e8ff;
    outline-offset: -2px;
  }

  .mobile-nav.mean-container .mean-nav ul li > a:first-child {
    padding-inline-end: 58px !important;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand {
    top: 4px !important;
    right: 7px !important;
    left: auto !important;
    z-index: 3;
    display: grid !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid rgba(123, 202, 242, .3) !important;
    border-radius: 50%;
    background: rgba(59, 130, 246, .12) !important;
    color: #9de7ff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(3, 12, 24, .16);
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::before,
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease, transform 180ms ease;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  /* Keep both strokes above the disclosure button background: a closed item
     must visibly read as “+”, while the expanded state removes the vertical bar. */
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::before {
    z-index: 1;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::after {
    z-index: 2;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand.mean-clicked {
    border-color: rgba(91, 188, 255, .58) !important;
    background: rgba(23, 105, 224, .28) !important;
    color: #c5f3ff !important;
    box-shadow: 0 5px 16px rgba(23, 105, 224, .2);
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand.mean-clicked::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(.2);
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand:hover,
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand:focus-visible {
    border-color: rgba(145, 232, 255, .8) !important;
    background: rgba(23, 105, 224, .32) !important;
    color: #fff !important;
  }

  .mobile-nav.mean-container .mean-nav ul li a.mean-expand:focus-visible {
    outline: 2px solid #91e8ff;
    outline-offset: 2px;
  }

  .mobile-nav.mean-container .mean-nav ul ul {
    width: calc(100% - 12px) !important;
    margin: 0 0 10px 12px !important;
    padding: 6px !important;
    overflow: hidden;
    border: 1px solid rgba(151, 193, 222, .17) !important;
    border-left: 2px solid rgba(76, 193, 241, .72) !important;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(45, 78, 107, .46), rgba(9, 27, 47, .72)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  }

  .mobile-nav.mean-container .mean-nav ul ul li + li {
    border-top: 1px solid rgba(182, 209, 228, .09);
  }

  .mobile-nav.mean-container .mean-nav ul ul li a:not(.mean-expand) {
    min-height: 42px;
    margin: 1px 0 !important;
    padding: 10px 12px !important;
    border-radius: 10px;
    color: #cbd8e6 !important;
    font-size: 13px;
    font-weight: 500;
  }

  .mobile-nav.mean-container .mean-nav ul li.nav-search-mobile-item {
    padding: 4px 3px 10px;
  }

  .mobile-nav.mean-container .mean-nav .nav-search-mobile {
    display: flex;
    width: 100%;
    min-height: 44px;
    overflow: hidden;
    border: 1px solid rgba(181, 212, 234, .25);
    border-radius: 13px;
    background: rgba(6, 19, 34, .65);
  }

  .mobile-nav.mean-container .mean-nav .nav-search-mobile input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    padding: 0 12px;
    background: transparent;
    color: #fff;
    font: inherit;
  }

  .mobile-nav.mean-container .mean-nav .nav-search-mobile input::placeholder {
    color: #a9c0d4;
  }

  .mobile-nav.mean-container .mean-nav .nav-search-mobile button {
    flex: 0 0 46px;
    min-height: 44px;
    border: 0;
    background: #1769e0;
    color: #fff;
  }

  .ca-mobile-nav-backdrop {
    position: fixed;
    inset: 72px 0 0;
    z-index: 1029;
    background: rgba(4, 13, 26, .56);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 180ms ease, visibility 180ms ease;
    visibility: hidden;
  }

  body.ca-mobile-nav-open {
    overflow: hidden !important;
  }

  body.ca-mobile-nav-open .ca-mobile-nav-backdrop {
    opacity: 1;
    visibility: visible;
  }

  [dir="rtl"] .mobile-nav.mean-container .logo {
    right: max(16px, calc((100vw - 560px) / 2)) !important;
    left: auto !important;
  }

  [dir="rtl"] .mobile-nav.mean-container a.meanmenu-reveal {
    right: auto !important;
    left: max(12px, calc((100vw - 560px) / 2)) !important;
  }

  [dir="rtl"] .mobile-nav.mean-container .mean-nav {
    right: max(12px, calc((100vw - 560px) / 2)) !important;
    left: auto !important;
  }

  [dir="rtl"] .mobile-nav.mean-container .mean-nav ul li a.mean-expand {
    right: auto !important;
    left: 7px !important;
  }

  [dir="rtl"] .mobile-nav.mean-container .mean-nav ul ul {
    margin: 0 12px 10px 0 !important;
    border-right: 2px solid rgba(76, 193, 241, .72) !important;
    border-left: 1px solid rgba(151, 193, 222, .17) !important;
  }

  .site-search-page .search-top-nav .main-nav {
    position: relative;
    z-index: 10004;
  }

  .site-search-page .search-top-nav .main-nav .navbar {
    min-height: 72px;
    padding: 0;
  }

  .site-search-page .search-top-nav .main-nav .navbar > .container {
    position: relative;
    display: flex;
    width: min(100% - 24px, 560px);
    min-height: 72px;
    margin: 0 auto;
    padding: 0 !important;
    align-items: center;
    justify-content: space-between;
  }

  .site-search-page .search-top-nav .navbar-brand {
    position: relative;
    z-index: 10007;
    display: inline-flex;
    margin: 0;
    padding: 0;
    align-items: center;
  }

  .site-search-page .search-nav-toggle {
    position: relative;
    z-index: 10007;
    display: flex;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
  }

  .site-search-page .search-nav-toggle:focus-visible {
    outline: 2px solid #91e8ff;
    outline-offset: 3px;
  }

  .site-search-page .search-nav-toggle span {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: #f8fbff;
    transition: transform 180ms ease, opacity 180ms ease;
  }

  body.ca-mobile-nav-open.site-search-page .search-nav-toggle span:first-child {
    transform: translateY(7px) rotate(45deg);
  }

  body.ca-mobile-nav-open.site-search-page .search-nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.ca-mobile-nav-open.site-search-page .search-nav-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .site-search-page .search-top-nav .navbar-collapse {
    position: fixed !important;
    top: 82px;
    right: auto;
    bottom: auto;
    left: max(12px, calc((100vw - 560px) / 2));
    z-index: 10005;
    display: none !important;
    width: min(560px, calc(100vw - 24px));
    max-height: calc(100vh - 98px);
    max-height: calc(100dvh - 98px);
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background: #10243a;
    box-shadow: 0 30px 75px rgba(2, 10, 21, .34);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 180ms ease;
  }

  body.ca-mobile-nav-open.site-search-page .search-top-nav .navbar-collapse {
    display: block !important;
    opacity: 1;
    transform: translateY(0);
  }

  .site-search-page .search-top-nav .navbar-collapse > .navbar-nav {
    display: block;
    width: 100%;
    max-height: calc(100vh - 98px);
    max-height: calc(100dvh - 98px);
    margin: 0;
    padding: 8px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: inherit;
    background: #10243a;
  }

  .site-search-page .search-top-nav .navbar-collapse .nav-item {
    float: none;
    width: 100%;
    padding: 0;
  }

  .site-search-page .search-top-nav .navbar-collapse .nav-item + .nav-item {
    border-top: 1px solid rgba(255, 255, 255, .075);
  }

  .site-search-page .search-top-nav .navbar-collapse .nav-item > a.nav-link {
    display: flex;
    width: auto;
    min-height: 45px;
    margin: 2px 0 !important;
    padding: 12px 14px !important;
    align-items: center;
    border: 0;
    border-radius: 12px;
    color: #eef6ff !important;
    font-size: 14px !important;
    line-height: 1.4;
    text-align: start;
    white-space: normal;
  }

  .site-search-page .search-top-nav .navbar-collapse .nav-item > a.nav-link:hover,
  .site-search-page .search-top-nav .navbar-collapse .nav-item > a.nav-link:focus-visible,
  .site-search-page .search-top-nav .navbar-collapse .nav-item > a.nav-link.active {
    background: rgba(145, 232, 255, .1);
    color: #91e8ff !important;
  }

  [dir="rtl"] .site-search-page .search-top-nav .navbar-collapse {
    right: max(12px, calc((100vw - 560px) / 2));
    left: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ca-wow-motion-ready .wow,
  .ca-wow-motion-ready .wow.animated,
  .ca-scroll-motion-ready .ca-scroll-item,
  .mobile-nav.mean-container .mean-nav,
  .mobile-nav.mean-container a.meanmenu-reveal,
  .mobile-nav.mean-container a.meanmenu-reveal span,
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand,
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::before,
  .mobile-nav.mean-container .mean-nav ul li a.mean-expand::after,
  .ca-mobile-nav-backdrop {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .site-search-page .search-panel,
  .site-search-page .search-result-card {
    animation: none !important;
  }

  .ca-scroll-motion-ready .ca-scroll-item {
    opacity: 1 !important;
  }

  .ca-wow-motion-ready .wow,
  .ca-wow-motion-ready .wow.animated {
    opacity: 1 !important;
    transform: none !important;
  }

  .site-search-page .search-top-nav .navbar-collapse,
  .site-search-page .search-nav-toggle span {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
