html {
  background-color: #ffffff !important;
}

body {
  background-color: #06111d;
}

#main-header,
#ovm-nav,
.navbar {
  background: #ffffff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

#main-header::before,
#ovm-nav::before,
.navbar::before {
  background: #ffffff;
  content: "";
  height: env(safe-area-inset-top, 0px);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(env(safe-area-inset-top, 0px) * -1);
}

@media (max-width: 1023.98px) {
  :root {
    --ovm-mobile-nav-height: 72px;
    --ovm-mobile-gutter: max(1.25rem, env(safe-area-inset-left, 0px));
  }

  #main-header > div:first-child {
    background: #ffffff;
    height: var(--ovm-mobile-nav-height) !important;
    position: relative;
    z-index: 1;
  }

  #main-header img[alt="OVM"],
  #ovm-nav img[alt="OVM"],
  .navbar img[alt="OVM"] {
    height: 50px !important;
    width: auto !important;
  }

  #main-header label[aria-label="Menu"],
  #ovm-nav-toggle,
  .navbar-toggler {
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d9e7f0 !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 22px rgba(6, 17, 29, 0.08) !important;
    color: #06111d !important;
    flex: 0 0 44px !important;
    height: 44px !important;
    justify-content: center !important;
    line-height: 0 !important;
    min-height: 44px !important;
    padding: 0 !important;
    position: relative !important;
    width: 44px !important;
  }

  #main-header label[aria-label="Menu"] > svg,
  #ovm-nav-toggle > svg,
  .navbar-toggler-icon {
    display: block !important;
    flex: 0 0 auto !important;
    height: 22px !important;
    left: 50% !important;
    margin: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 22px !important;
  }

  #main-header label[aria-label="Menu"] > svg {
    display: none !important;
  }

  #main-header label[aria-label="Menu"]::before,
  #main-header label[aria-label="Menu"]::after {
    background: #06111d !important;
    border-radius: 999px !important;
    content: "" !important;
    display: block !important;
    height: 2px !important;
    left: 50% !important;
    margin: 0 !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 50% !important;
    transform-origin: center !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease !important;
    width: 18px !important;
  }

  #main-header label[aria-label="Menu"]::before {
    box-shadow: 0 -6px 0 #06111d, 0 6px 0 #06111d !important;
    transform: translate(-50%, -50%) !important;
  }

  #main-header label[aria-label="Menu"]::after {
    opacity: 0 !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  #main-header label[aria-label="Menu"]:has(input:checked)::before {
    box-shadow: none !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  #main-header label[aria-label="Menu"]:has(input:checked)::after {
    opacity: 1 !important;
  }

  #ovm-nav-toggle > svg.hidden {
    display: none !important;
  }

  #main-header label[aria-label="Menu"] input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
  }

  #mobile-menu,
  #ovm-mobile-menu,
  .navbar-expand-lg .navbar-collapse {
    background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%) !important;
    border-bottom: 1px solid #d9e7f0 !important;
    border-top: 1px solid #d9e7f0 !important;
    box-shadow: 0 20px 44px rgba(6, 17, 29, 0.12) !important;
    height: calc(100dvh - var(--ovm-mobile-nav-height)) !important;
    left: 0 !important;
    max-height: calc(100dvh - var(--ovm-mobile-nav-height)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    position: fixed !important;
    right: 0 !important;
    top: var(--ovm-mobile-nav-height) !important;
    width: 100% !important;
  }

  #ovm-mobile-menu,
  .navbar-expand-lg .navbar-collapse {
    top: var(--ovm-mobile-nav-height) !important;
  }

  #mobile-menu:not(.hidden),
  #ovm-mobile-menu:not(.hidden) {
    display: block !important;
  }

  #mobile-menu nav,
  #ovm-mobile-menu > div,
  .navbar-expand-lg .navbar-collapse {
    gap: 0.62rem !important;
    padding: 0.86rem max(1.25rem, env(safe-area-inset-right, 0px)) max(1.25rem, calc(env(safe-area-inset-bottom, 0px) + 1.25rem)) var(--ovm-mobile-gutter) !important;
  }

  #mobile-menu a,
  #ovm-mobile-menu a,
  .navbar-expand-lg .navbar-collapse a {
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(217, 231, 240, 0.92) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(6, 17, 29, 0.045) !important;
    color: #06111d !important;
    display: flex !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    gap: 0.76rem !important;
    justify-content: flex-start !important;
    min-height: 56px !important;
    padding: 0.48rem 0.72rem !important;
    width: 100% !important;
  }

  #mobile-menu a:hover,
  #mobile-menu a:focus-visible,
  #ovm-mobile-menu a:hover,
  #ovm-mobile-menu a:focus-visible,
  .navbar-expand-lg .navbar-collapse a:hover,
  .navbar-expand-lg .navbar-collapse a:focus-visible {
    background: #ffffff !important;
    border-color: rgba(23, 170, 226, 0.32) !important;
    color: #06111d !important;
  }

  #mobile-menu a i,
  #mobile-menu a svg,
  #ovm-mobile-menu a svg,
  .navbar-expand-lg .navbar-collapse a i,
  .navbar-expand-lg .navbar-collapse a svg {
    background: rgba(23, 170, 226, 0.1) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    color: #17aae2 !important;
    flex: 0 0 38px !important;
    height: 38px !important;
    padding: 9px !important;
    width: 38px !important;
  }

  #mobile-menu a:last-child,
  #ovm-mobile-menu a:last-child {
    background: #17aae2 !important;
    border: 1px solid #17aae2 !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 30px rgba(23, 170, 226, 0.24) !important;
    color: #ffffff !important;
    justify-content: center !important;
    margin-top: 0.34rem !important;
    min-height: 54px !important;
    padding: 0 1rem !important;
  }

  #mobile-menu a:last-child i,
  #mobile-menu a:last-child svg,
  #ovm-mobile-menu a:last-child svg {
    background: transparent !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    flex-basis: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    width: 22px !important;
  }
}
