/*
 * custom.css — cleaned version
 *
 * Cleanup policy:
 * - Later rules from the original file take precedence.
 * - Obsolete mobile submenu implementations were removed.
 * - Duplicate declarations/selectors were consolidated where safe.
 * - The final mobile submenu behavior is controlled by .mobile-submenu-open.
 */

/* =====================================================================

   GLOBAL STYLES

   ===================================================================== */

/* ---------------------------------------------------------------------

   Link appearance

   \- Default: no underline

   \- Hover/Focus: underline

   --------------------------------------------------------------------- */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

body a,

body a:visited {

  text-decoration: none !important;

}

body a:hover,

body a:focus {

  text-decoration: underline !important;

}

/* ---------------------------------------------------------------------

   Typography

   --------------------------------------------------------------------- */

body,

h1, h2, h3, h4, h5, h6,

button,

input,

select,

textarea {

  font-family: "Inter", sans-serif !important;

}

/* =====================================================================

   HEADER (DESKTOP) — LAYOUT & SPACING

   ===================================================================== */

/* ---------------------------------------------------------------------

   Left brand block spacing

   --------------------------------------------------------------------- */

.branding-curved {

  margin-right: clamp(12px, 2vw, 32px) !important;

  margin-left: clamp(12px, 2vw, 32px) !important;

}

/* ---------------------------------------------------------------------

   Right button group spacing / alignment

   --------------------------------------------------------------------- */

.ime-right-bleed {

  margin-left: auto !important;

  margin-right: 0 !important;

}

/* ---------------------------------------------------------------------

   Header row container layout

   --------------------------------------------------------------------- */

.nav-header {

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 0 !important;

}

.nav-header .uagb-container-inner-blocks-wrap {

  padding-top: 0 !important;

  padding-bottom: 0 !important;

  width: 100% !important;

  max-width: none !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

}

/* ---------------------------------------------------------------------

   Main navigation list (desktop): single row, controlled horizontal spacing

   --------------------------------------------------------------------- */

.nav-header .wp-block-navigation__container {

  display: flex !important;

  flex-wrap: nowrap !important; /* prevent wrapping */

  gap: clamp(0.8rem, 1.5vw, 1.5rem) !important;

  align-items: center !important;

  margin: 0 !important;

  padding: 0 !important;

}

.nav-header .wp-block-navigation__container > li,

.nav-header .wp-block-navigation__container a {

  white-space: nowrap !important;

  padding-top: 0 !important;

  padding-bottom: 0 !important;

  margin: 0 !important;

  line-height: inherit !important;

}

/* Submenu chevron spacing next to label */

.nav-header .wp-block-navigation__submenu-icon {

  margin-left: 0.3em !important;

}

/* Neutralize theme-level block gap side effects in navigation */

.nav-header .wp-block-navigation {

  --wp--style--block-gap: 0 !important;

}

/* =====================================================================

   DESKTOP DROPDOWN (SUBMENU) — APPEARANCE & STACKING

   ===================================================================== */

/* ---------------------------------------------------------------------

   Base submenu container styling

   NOTE: Kept as-is; later rules further override z-index/position.

   --------------------------------------------------------------------- */

.nav-header .wp-block-navigation__submenu-container {

  font-size: 1rem !important;

  line-height: 1.5 !important;

  padding-top: 0.25rem !important;

  padding-bottom: 0.25rem !important;

  border-radius: 4px !important;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;

  z-index: 10000 !important;

}

/* Submenu links */

.nav-header .wp-block-navigation__submenu-container a {

  display: block !important;

  padding: 0.5rem 1rem !important;

  white-space: nowrap !important;

  font-weight: 500 !important;

}

/* Submenu hover state */

.nav-header .wp-block-navigation__submenu-container a:hover {

  background-color: rgba(0, 0, 0, 0.05) !important;

  color: #00549F !important;

}

/* Desktop hamburger open button appearance (when visible by breakpoint rules) */

.wp-block-navigation__responsive-container-open {

  margin-left: auto !important;

  align-self: center !important;

  background: #00549F !important;

  color: #ffffff !important;

  fill: #ffffff !important;

  stroke-width: 1px !important;

  stroke: #ffffff !important;

  flex-shrink: 0 !important;

}

/* Establish stacking context for the right-side button group */

.ime-right-bleed {

  z-index: 9999 !important;

  position: relative;

}

/* Ensure navigation items can be positioning anchors */

.nav-header .wp-block-navigation__container > .wp-block-navigation-item {

  position: relative;

}

/* =====================================================================

   MOBILE NAV (HAMBURGER) — INTERACTION / SUBMENU TOGGLE BEHAVIOR

   ===================================================================== */

/* Always show submenu toggle icon elements (desktop + mobile) */

.wp-block-navigation__submenu-icon,

.wp-block-navigation-submenu__toggle {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

}

/* =====================================================================

   MOBILE SOCIAL ICONS IN NAV LIST (OVERLAY ONLY)

   ===================================================================== */

/* Hide icon items on desktop */

@media (min-width: 768px) {

  .nav-icon-research,

  .nav-icon-wiki,

  .nav-icon-linkedin,

  .nav-icon-ins,

  .nav-icon-email,

  .nav-icon-info {

    display: none !important;

  }

}

/* =====================================================================

   FOOTER — OVAL LOGO + LAYOUT

   ===================================================================== */

.ime-footer {

  position: relative;

  overflow: visible;

  padding-right: clamp(120px, 18vw, 260px);

}

.ime-footer .footer-logo {

  position: absolute;

  top: 50%;

  right: 0;

  transform: translateY(-50%);

  background: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  aspect-ratio: 3 / 2;

  width: clamp(150px, 35vw, 210px);

  padding: clamp(10px, 1.3vw, 16px) clamp(18px, 2.2vw, 26px);

  border-top-left-radius: 999px;

  border-bottom-left-radius: 999px;

  border-top-right-radius: 0;

  border-bottom-right-radius: 0;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);

}

.ime-footer .footer-logo img {

  max-width: 90% !important;

  max-height: 45% !important;

  height: auto;

  width: auto;

  display: block;

  object-fit: contain;

}

.ime-footer .footer-social {

  margin-right: clamp(180px, 24vw, 420px);

  padding-right: clamp(12px, 2vw, 24px);

}

.ime-footer .social-column {

  margin-right: clamp(180px, 24vw, 420px);

  padding-right: clamp(12px, 2vw, 24px);

}

/* Center imprint block across all breakpoints (with mobile override below) */

.imprint {

  display: flex !important;

  justify-content: center !important;

  align-items: center !important;

  width: 100% !important;

  margin-left: auto !important;

  margin-right: auto !important;

  flex-wrap: nowrap !important;

  white-space: nowrap !important;

}

/* =====================================================================

   HEADER COVER — LOGO CAPSULE + S-SHAPE TRANSITION

   ===================================================================== */

.wp-block-cover.header-cover {

  position: relative !important;

  overflow: hidden !important;

  --logo-w: clamp(220px, 19vw, 360px);

  --cap-extra: clamp(60px, 6vw, 120px);

  --cap-pad-x: clamp(10px, 1.2vw, 18px);

  --cap-pad-y: clamp(8px, 1.1vw, 16px);

  --cap-w: calc(var(--logo-w) + var(--cap-extra));

  --cap-h: clamp(100px, 15vw, 200px);

  --radius: clamp(50px, 9vw, 200px);

  --bar-h: clamp(22px, 3vw, 42px);

  --gap-b: 0px;

  --cap-bg: rgba(192, 192, 192, 0.58);

  --bar-bg: rgba(192, 192, 192, 0.40);

  --corner-bg: var(--cap-bg);

}

.wp-block-cover.header-cover > .wp-block-cover__inner-container {

  position: static !important;

}

.wp-block-cover.header-cover .header-logo {

  position: absolute !important;

  right: 5px !important;

  bottom: 5px !important;

  width: var(--logo-w) !important;

  padding: var(--cap-pad-y) var(--cap-pad-x) !important;

  z-index: 5 !important;

  margin: 0 !important;

  display: flex !important;

  align-items: center !important;

  justify-content: flex-end !important;

  box-sizing: content-box !important;

  overflow: visible !important;

}

.header-logo img {

  display: block !important;

  max-width: 100% !important;

  height: auto !important;

}

/* Shared variables for bar + corner cut */

.wp-block-cover.header-cover {

  --bar-h: clamp(22px, 3vw, 42px);

  --corner-d: clamp(42px, 6vw, 105px);

  --bg-color: rgba(200, 200, 200, 0.60);

}

/* Corner cut block above bottom bar */

.wp-block-cover.header-cover::before {

  content: "";

  position: absolute;

  width: var(--corner-d);

  height: var(--corner-d);

  right: calc(var(--logo-w) + (2 * var(--cap-pad-x)) + 5px);

  bottom: var(--bar-h);

  background: radial-gradient(

    circle at 0 0,

    transparent 0 calc(76% - 0.5px),

    var(--bg-color) calc(50% + 0.5px)

  );

  pointer-events: none;

  z-index: 4;

}

/* Bottom bar ending at the left edge of the logo capsule */

.wp-block-cover.header-cover::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: 0;

  right: calc(var(--logo-w) + (2 * var(--cap-pad-x)) + 5px);

  height: var(--bar-h);

  background: var(--bg-color);

  pointer-events: none;

  z-index: 3;

}

/* Logo capsule backing */

.wp-block-cover.header-cover .header-logo::before {

  content: "";

  position: absolute;

  z-index: -1;

  left: 0;

  top: 0;

  width: 110%;

  height: 110%;

  background: var(--bg-color);

  pointer-events: none;

  box-sizing: border-box;

  border-top-left-radius: 25%;

}

.header-st {

  position: absolute;

  z-index: 100;

  width: 100%;

}

/* =====================================================================

   MAIN CONTENT — FLUID RESPONSIVE SYSTEM (EXCLUDING HEADER COVER)

   ===================================================================== */

@media (max-width: 1200px) {

  html {

    font-size: clamp(14px, 2vw, 16px);

  }

  .main-content,

  .entry-content,

  .wp-block-post-content {

    width: 100% !important;

    max-width: min(95%, 1200px) !important;

    padding: 0 clamp(10px, 2vw, 20px) !important;

    margin: 0 auto !important;

    box-sizing: border-box !important;

  }

  body {

    overflow-x: hidden !important;

    width: 100% !important;

  }

  .wp-site-blocks {

    width: 100% !important;

    overflow-x: hidden !important;

  }

  .uag-hide-mob,

  .uag-hide-tab {

    display: block !important;

    visibility: visible !important;

    opacity: 1 !important;

  }

}

@media (min-width: 1600px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    max-width: 1400px !important;

  }

}

@media (min-width: 1200px) and (max-width: 1599px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    max-width: 1200px !important;

  }

}

@media (min-width: 768px) and (max-width: 1023px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    padding: 0 clamp(15px, 3vw, 25px) !important;

  }

}

@media (min-width: 600px) and (max-width: 767px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    padding: 0 clamp(12px, 2.5vw, 20px) !important;

  }

}

@media (min-width: 480px) and (max-width: 599px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    padding: 0 clamp(10px, 2vw, 16px) !important;

  }

}

@media (min-width: 360px) and (max-width: 479px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    padding: 0 8px !important;

  }

}

@media (max-width: 359px) {

  .main-content,

  .entry-content,

  .wp-block-post-content {

    padding: 0 6px !important;

  }

}

/* Smooth transition for fluid layout changes */

.main-content,

.entry-content,

.wp-block-post-content {

  transition: all 0.3s ease-in-out;

}

/* =====================================================================

   HEADER COVER IMAGE — RESPONSIVE

   ===================================================================== */

.wp-block-cover.header-cover .wp-block-cover__background,

.wp-block-cover.header-cover .wp-block-cover__image-background {

  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

  position: absolute !important;

  top: 0 !important;

  left: 0 !important;

  right: 0 !important;

  bottom: 0 !important;

}

.wp-block-cover.header-cover.has-background-dim {

  background-size: cover !important;

  background-position: center center !important;

  background-repeat: no-repeat !important;

}

/* =====================================================================

   NAV — RIGHT-SIDE BUTTON GROUP (NON-COLLAPSING)

   ===================================================================== */

.navigation,

.ime-right-bleed {

  display: flex !important;

  align-items: center !important;

  flex-shrink: 0 !important;

}

/* Disable Spectra/UAGB auto-hide on tablet/mobile for this block */

.ime-right-bleed.uag-hide-tab,

.ime-right-bleed.uag-hide-mob {

  display: flex !important;

}

/* =====================================================================

   MOBILE NAV — EXTRA BUTTON GROUP INSIDE OVERLAY

   ===================================================================== */

.nav-mobile-buttons {

  display: none !important;

}

/* =====================================================================

   HEADER NAV STRIP + S-TRANSITION BELOW HEADER NAV

   ===================================================================== */

.nav-header,

.nav-header .wp-block-navigation,

.nav-header .wp-block-navigation__responsive-container,

.nav-header .wp-block-navigation__responsive-container-content {

  background: transparent !important;

  background-color: transparent !important;

}

.nav-header {

  position: relative;

  overflow: visible;

  isolation: isolate;

  align-items: stretch !important;

  --brand-gap: clamp(12px, 2vw, 32px);

  --nav-strip-h: clamp(18px, 2.6vw, 30px);

  --plate-bg: rgba(235, 235, 235, 0.8);

  --nav-strip-bg: rgba(235, 235, 235, 0.8);

  --corner-d: clamp(42px, 6vw, 105px);

  --plate-extend-bottom: clamp(20px, 3.6vw, 64px);

  --cut-r: calc(var(--plate-extend-bottom) / 2);

}

.branding-curved {

  position: relative;

  --plate-right-x: 100%;

}

.branding-curved::before {

  content: "";

  position: absolute;

  top: 0;

  bottom: calc(-1 * var(--plate-extend-bottom));

  left: calc(-1 * var(--brand-gap));

  width: calc(100% + var(--brand-gap));

  background: var(--plate-bg);

  pointer-events: none;

  z-index: -1;

  border-top-right-radius: 0;

  --plate-right-x: 100%;

  border-bottom-right-radius: var(--cut-r);

}

.branding-curved::after {

  content: "";

  position: absolute;

  left: var(--plate-right-x);

  right: calc(-1 * var(--brand-gap));

  top: 0;

  bottom: calc(-1 * (var(--plate-extend-bottom) * 0.6));

  background-color: var(--nav-strip-bg);

  --blue-cut-r: calc(var(--plate-extend-bottom) * 0.6);

  -webkit-mask-image: radial-gradient(

    circle at 100% 100%,

    transparent 0 var(--blue-cut-r),

    #000 var(--blue-cut-r)

  );

  mask-image: radial-gradient(

    circle at 100% 100%,

    transparent 0 var(--blue-cut-r),

    #000 var(--blue-cut-r)

  );

  background-repeat: no-repeat;

  pointer-events: none;

  z-index: 2;

}

.navigation {

  position: relative;

  z-index: 0;

  align-self: stretch !important;

  display: flex !important;

  align-items: center !important;

}

.navigation::before {

  content: "";

  position: absolute;

  left: 0;

  right: calc(-1 * (100vw - 100%));

  top: 0;

  bottom: 0;

  background: rgba(235, 235, 235, 0.8);

  pointer-events: none;

  z-index: -1;

}

/* =====================================================================

   MEDIA QUERIES

   ===================================================================== */

/* ---------------------------------------------------------------------

   >= 769px: Desktop navigation visible; hamburger controls hidden

   --------------------------------------------------------------------- */

@media (min-width: 769px) {

  .nav-header nav.wp-block-navigation > .wp-block-navigation__container {

    display: flex !important;

  }

  .nav-header .ime-right-bleed {

    display: flex !important;

  }

  .nav-header .wp-block-navigation__responsive-container-open,

  .nav-header .wp-block-navigation__responsive-container-close {

    display: none !important;

  }

  /* Desktop submenu positioning adjustments */

  .nav-header .wp-block-navigation__container {

    position: relative;

  }

  .nav-header .wp-block-navigation__submenu-container {

    position: absolute !important;

    top: 100% !important;

    left: auto !important;

    right: auto !important;

    min-width: 180px !important;

    max-width: 300px !important;

    white-space: nowrap !important;

  }

  .nav-header .wp-block-navigation__container > .wp-block-navigation-item:last-child

    .wp-block-navigation__submenu-container,

  .nav-header .wp-block-navigation__container > .wp-block-navigation-item:nth-last-child(2)

    .wp-block-navigation__submenu-container {

    left: auto !important;

    right: 0 !important;

  }

}

/* =====================================================================
   MOBILE HEADER — BASIC VISIBILITY
   ===================================================================== */

@media (max-width: 768px) {
  .nav-header nav.wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  .nav-header .ime-right-bleed {
    display: none !important;
  }

  .nav-header .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
    align-self: center !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open a,
  .wp-block-navigation__responsive-container.is-menu-open button {
    font-size: 16px !important;
  }
}

/* ---------------------------------------------------------------------

   <= 700px: Imprint stack vertically

   --------------------------------------------------------------------- */

@media (max-width: 700px) {

  .imprint {

    flex-direction: column !important;

    flex-wrap: nowrap !important;

    gap: 0.75rem !important;

    align-items: center !important;

  }

  .imprint > * {

    white-space: normal !important;

    text-align: center !important;

  }

}

/* ---------------------------------------------------------------------

   <= 768px: General content typography + media + tables + form elements

   (Excluding header cover)

   --------------------------------------------------------------------- */

@media (max-width: 768px) {

  body {

    font-size: 14px;

    line-height: 1.5;

  }

  h1 {

    font-size: clamp(1.5rem, 5vw, 2rem) !important;

  }

  h2 {

    font-size: clamp(1.3rem, 4vw, 1.7rem) !important;

  }

  h3 {

    font-size: clamp(1.1rem, 3.5vw, 1.4rem) !important;

  }

  p, li, div {

    font-size: inherit;

    line-height: 1.5;

  }

  img, video, iframe {

    max-width: 100% !important;

    height: auto !important;

  }

  .wp-block-image,

  .wp-block-gallery {

    margin-left: auto !important;

    margin-right: auto !important;

  }

  table:not(.ime-p-table):not(.ime-pager-table) {

    font-size: 14px;

    display: block;

    overflow-x: hidden;

    white-space: nowrap;

  }

  table:not(.ime-p-table):not(.ime-pager-table) th,

  table:not(.ime-p-table):not(.ime-pager-table) td {

    padding: 8px 6px;

  }

  input, textarea, select {

    font-size: 16px !important;

    max-width: 100% !important;

  }

  .wp-block-search,

  .wp-block-form {

    width: 100% !important;

  }

}

/* ---------------------------------------------------------------------

   <= 1200px: Footer responsive spacing

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  .ime-footer {

    padding-right: clamp(140px, 40vw, 220px);

  }

  .ime-footer .footer-logo {

    width: clamp(140px, 40vw, 220px);

    min-height: 80px;

  }

  .ime-footer .footer-social,

  .ime-footer .social-column {

    margin-right: clamp(140px, 40vw, 220px);

    padding-right: clamp(8px, 2vw, 16px);

  }

}

@media (max-width: 768px) {

  .footer_address,

  .footer_mid,

  .footer_social {

    flex: 0 0 100% !important;

    max-width: 100% !important;

    width: 100% !important;

    margin-bottom: 0.75rem !important;

  }

  .ime-footer .wp-block-columns,

  .ime-footer .uagb-columns__wrap {

    flex-wrap: wrap !important;

  }

}

/* ---------------------------------------------------------------------

   <= 1200px: Header cover background image adjustments

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  .wp-block-cover.header-cover {

    background-size: cover !important;

    background-position: center center !important;

    background-repeat: no-repeat !important;

  }

  .wp-block-cover.header-cover img.wp-block-cover__image-background {

    width: 100% !important;

    height: 100% !important;

    object-fit: cover !important;

    object-position: center center !important;

  }

}

@media (max-width: 768px) {

  .wp-block-cover.header-cover {

    background-attachment: scroll !important;

  }

  .wp-block-cover.header-cover img.wp-block-cover__image-background {

    object-position: center top !important;

  }

  .wp-block-cover.header-cover.has-background-dim {

    background-attachment: scroll !important;

    background-position: center top !important;

  }

}

@media (max-width: 480px) {

  .wp-block-cover.header-cover {

    background-size: cover !important;

    background-position: center top !important;

  }

  .wp-block-cover.header-cover img.wp-block-cover__image-background {

    min-height: 100% !important;

    min-width: 100% !important;

  }

}

/* ---------------------------------------------------------------------

   <= 1200px: Overlay top white bar lock + corrected lower background

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  .wp-block-navigation__responsive-container.is-menu-open {

    background: #ffffff !important;

    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;

    height: 100vh !important;

    --ime-blue-strip: min(32vw, 120px);

  }

  .wp-block-navigation__responsive-container.is-menu-open::before {

    content: "" !important;

    position: absolute !important;

    left: 0 !important;

    right: 0 !important;

    top: 96px !important;

    bottom: 0 !important;

    background: linear-gradient(

      to right,

      #ececec 0 calc(100% - var(--ime-blue-strip)),

      #00549f calc(100% - var(--ime-blue-strip)) 100%

    ) !important;

    z-index: 0 !important;

    pointer-events: none !important;

  }

  .wp-block-navigation__responsive-container.is-menu-open::after {

    content: "" !important;

    position: absolute !important;

    top: 0 !important;

    left: 0 !important;

    right: 0 !important;

    height: 96px !important;

    background: #ffffff !important;

    z-index: 1 !important;

    pointer-events: none !important;

  }

  .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-content {

    position: relative !important;

    z-index: 2 !important;

    background: transparent !important;

    width: 100% !important;

    min-height: calc(100vh - 96px) !important;

    padding-top: 96px !important;

    padding-right: var(--ime-blue-strip) !important;

    display: flex !important;

    flex-direction: row !important;

    align-items: center !important;

    justify-content: center !important;

  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container.is-menu-open
    button.wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: 16px;
    right: 16px;
    z-index: 3 !important;
    background: #00549F !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    stroke-width: 1.5px !important;
  }

}
/* ---------------------------------------------------------------------

   <= 1200px: Overlay right-side fixed social icons on blue strip

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  .wp-block-navigation__responsive-container.is-menu-open {

    animation: ime-mobile-menu-fade 0.25s ease-out;

  }

  @keyframes ime-mobile-menu-fade {

    from {

      opacity: 0;

      transform: translateY(-6px);

    }

    to {

      opacity: 1;

      transform: translateY(0);

    }

  }

  .nav-icon-research,

  .nav-icon-wiki,

  .nav-icon-linkedin,

  .nav-icon-ins,

  .nav-icon-email,

  .nav-icon-info {

    display: none !important;

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info {

    display: block !important;

    position: fixed;

    right: calc((var(--ime-blue-strip) - 46px) / 2);

    z-index: 10001;

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research {

    top: 50%;

    transform: translateY(-160px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki {

    top: 50%;

    transform: translateY(-96px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin {

    top: 50%;

    transform: translateY(-32px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins {

    top: 50%;

    transform: translateY(32px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email {

    top: 50%;

    transform: translateY(96px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info {

    top: 50%;

    transform: translateY(160px);

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research > a,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki > a,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin > a,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins > a,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email > a,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info > a {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    width: 46px;

    height: 46px;

    background: #00549f;

    border-radius: 50%;

    margin: 0;

    padding: 0 !important;

    font-size: 0 !important;

    color: #ffffff !important;

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research > a::before,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki > a::before,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin > a::before,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins > a::before,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email > a::before,

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info > a::before {

    content: "";

    display: inline-block;

    width: 24px;

    height: 24px;

    background-size: contain;

    background-repeat: no-repeat;

    background-position: center;

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research > a::before {

    background-image: url("https://upload.wikimedia.org/wikipedia/commons/5/5e/ResearchGate_icon_SVG.svg");

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki > a::before {

    background-image: url("https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png");

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin > a::before {

    background-image: url("https://upload.wikimedia.org/wikipedia/commons/c/ca/LinkedIn_logo_initials.png");

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins > a::before {

    background-image: url("https://upload.wikimedia.org/wikipedia/commons/e/e7/Instagram_logo_2016.svg");

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email > a::before {

    background-image: url("https://metallurgie.rwth-aachen.de/wp-content/uploads/2026/05/icons8-email.svg");

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info > a::before {

    background-image: url("https://metallurgie.rwth-aachen.de/wp-content/uploads/2026/05/icons8-info.svg");

  }

}

/* ---------------------------------------------------------------------

   Overlay / header visibility adjustments when modal is open

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  html.has-modal-open .nav-header .branding-curved,

  body.has-modal-open .nav-header .branding-curved,

  html.has-modal-open .nav-header .ime-right-bleed,

  body.has-modal-open .nav-header .ime-right-bleed {

    visibility: hidden !important;

    pointer-events: none !important;

  }

  html.has-modal-open .branding-curved::before,

  body.has-modal-open .branding-curved::before,

  html.has-modal-open .branding-curved::after,

  body.has-modal-open .branding-curved::after,

  html.has-modal-open .navigation::before,

  body.has-modal-open .navigation::before {

    content: none !important;

  }

  html.has-modal-open .nav-header nav.wp-block-navigation > .wp-block-navigation__container,

  body.has-modal-open .nav-header nav.wp-block-navigation > .wp-block-navigation__container {

    display: none !important;

  }

  html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open,

  body.has-modal-open .wp-block-navigation__responsive-container.is-menu-open {

    visibility: visible !important;

    pointer-events: auto !important;

  }

  html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-close,

  body.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-close,

  html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    button.wp-block-navigation__responsive-container-close,

  body.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    button.wp-block-navigation__responsive-container-close {

    visibility: visible !important;

    pointer-events: auto !important;

    display: inline-flex !important;

  }

}

/* ---------------------------------------------------------------------

   Overlay stacking fix (stacking context / isolation adjustments)

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  html.has-modal-open .nav-header,

  body.has-modal-open .nav-header {

    isolation: auto !important;

    position: relative !important;

    z-index: 2147483647 !important;

  }

  html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open,

  body.has-modal-open .wp-block-navigation__responsive-container.is-menu-open {

    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;

    height: 100vh !important;

    z-index: 2147483647 !important;

    overflow: hidden !important;

  }

  html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-content,

  body.has-modal-open .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-content {

    max-height: 100vh !important;

    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch;

  }

  html.has-modal-open,

  body.has-modal-open {

    overflow: hidden !important;

    height: 100% !important;

  }

}

/* ---------------------------------------------------------------------

   Mobile overlay extra button group display

   --------------------------------------------------------------------- */

@media (max-width: 1200px) {

  .wp-block-navigation__responsive-container.is-menu-open .nav-mobile-buttons {

    display: flex !important;

    flex-direction: column;

    gap: 0.75rem;

    margin-top: 1.5rem;

    align-items: flex-start;

  }

  .wp-block-navigation__responsive-container.is-menu-open .nav-mobile-buttons a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0.4rem 0.9rem;

    border-radius: 999px;

    text-decoration: none;

  }

}

/* =========================================================

   DESKTOP HEADER NAV — FORCE CONSISTENT BLACK TEXT

   Prevent page-level Designsetgo text color from leaking

   into the main navigation.

   ========================================================= */

  .nav-header .wp-block-navigation__submenu-container {

    --dsgo-text-color: #000000 !important;

    color: #000000 !important;

  }

  .nav-header .wp-block-navigation__submenu-container a,

  .nav-header .wp-block-navigation__submenu-container a:visited,

  .nav-header .wp-block-navigation__submenu-container span,

  .nav-header .wp-block-navigation__submenu-container

    .wp-block-navigation-item__content,

  .nav-header .wp-block-navigation__submenu-container

    .wp-block-navigation-item__label {

    color: #000000 !important;

  }

  /* Keep hover blue */

  .nav-header .wp-block-navigation__submenu-container a:hover,

  .nav-header .wp-block-navigation__submenu-container a:hover span,

  .nav-header .wp-block-navigation__submenu-container

    .wp-block-navigation-item__content:hover,

  .nav-header .wp-block-navigation__submenu-container

    .wp-block-navigation-item__content:hover

    .wp-block-navigation-item__label {

    color: #00549F !important;

  }

  /* =========================================================

   MOBILE NAVIGATION — FINAL CLEAN VERSION

   ========================================================= */

@media (max-width: 768px) {

    /* Main scroll area */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__responsive-container-content {

        display: flex !important;

        flex-direction: column !important;

        align-items: center !important;

        justify-content: flex-start !important;

        width: 100% !important;

        min-height: 100vh !important;

        max-height: 100vh !important;

        padding-top: 120px !important;

        padding-bottom: 40px !important;

        padding-right: var(--ime-blue-strip) !important;

        overflow-y: auto !important;

        overflow-x: hidden !important;

        box-sizing: border-box !important;

        -webkit-overflow-scrolling: touch;

    }

    /* Main menu container */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container {

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        width: min(

            340px,

            calc(100vw - var(--ime-blue-strip) - 40px)

        ) !important;

        max-width: 340px !important;

        margin: 0 auto !important;

        padding: 0 !important;

        gap: 1rem !important;

    }

    /* Every top-level item */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item {

        width: 100% !important;

        margin: 0 !important;

        text-align: center !important;

    }

    /* Parent items, e.g. About Us ▼ */

  .wp-block-navigation__responsive-container.is-menu-open

  .wp-block-navigation__container

  > .wp-block-navigation-item.has-child {

      position: relative !important;

      display: grid !important;

      grid-template-columns: auto auto !important;

      justify-content: center !important;

      align-items: center !important;

      column-gap: 6px !important;

      row-gap: 0 !important;

  }

    /* Parent label */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item.has-child

    > .wp-block-navigation-item__content {

        grid-column: 1 !important;

        margin: 0 !important;

        padding: 0 !important;

        white-space: nowrap !important;

    }

    /* Toggle button */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item.has-child

    > .wp-block-navigation-submenu__toggle {

        grid-column: 2 !important;

        display: inline-flex !important;

        align-items: center !important;

        justify-content: center !important;

        margin: 0 !important;

        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;

        cursor: pointer !important;

        line-height: 1 !important;

    }

    /* Hide WordPress arrow */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation-submenu__toggle svg {

        display: none !important;

    }

    /* Closed arrow */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item.has-child

    > .wp-block-navigation-submenu__toggle::after {

        content: "▼" !important;

        display: block !important;

        font-size: 0.7em !important;

        line-height: 1 !important;

    }

    /* Open arrow */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item.has-child.mobile-submenu-open

    > .wp-block-navigation-submenu__toggle::after {

        content: "▲" !important;

    }

  /* All submenus closed by default */

  .wp-block-navigation__responsive-container.is-menu-open

  .wp-block-navigation__container

  > .wp-block-navigation-item.has-child

  > .wp-block-navigation__submenu-container {

      display: none !important;

      position: absolute !important;

      top: calc(100% + 10px) !important;

      left: 50% !important;

      right: auto !important;

      transform: translateX(-50%) !important;

      width: min(

          340px,

          calc(100vw - var(--ime-blue-strip) - 36px)

      ) !important;

      max-width: 340px !important;

      margin: 0 !important;

      padding: 0.9rem 1.1rem !important;

      background: #ffffff !important;

      border: 0 !important;

      border-radius: 8px !important;

      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;

      box-sizing: border-box !important;

      z-index: 10050 !important;

  }

    /* Open submenu ONLY when JS adds mobile-submenu-open */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__container

    > .wp-block-navigation-item.has-child.mobile-submenu-open

    > .wp-block-navigation__submenu-container {

        display: flex !important;

        flex-direction: column !important;

        align-items: center !important;

        gap: 0.7rem !important;

    }

    /* Submenu items */

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__submenu-container

    > .wp-block-navigation-item {

        width: 100% !important;

        margin: 0 !important;

        padding: 0 !important;

        text-align: center !important;

    }

    .wp-block-navigation__responsive-container.is-menu-open

    .wp-block-navigation__submenu-container

    .wp-block-navigation-item__content {

        display: block !important;

        width: 100% !important;

        padding: 0.25rem 0 !important;

        margin: 0 !important;

        text-align: center !important;

        white-space: normal !important;

    }

}


/* =========================================================
   MOBILE MENU — FINAL POSITION / ICON SIZE ADJUSTMENTS
   ========================================================= */

@media (max-width: 768px) {

    /* ---------------------------------------------------------
       Center the main navigation vertically inside
       the gray area below the 96px white header
       --------------------------------------------------------- */

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        justify-content: center !important;

        /*
         * Gray area starts at 96px.
         * Keep exactly that amount of space at the top,
         * then vertically center the navigation in the
         * remaining screen height.
         */
        padding-top: 96px !important;
        padding-bottom: 0 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content:has(.mobile-submenu-open) {
        padding-bottom: 420px !important;
    }



    /* ---------------------------------------------------------
       Email + Info:
       their SVG files contain more internal whitespace,
       so enlarge only these two icons.
       --------------------------------------------------------- */

    .wp-block-navigation__responsive-container.is-menu-open
    .nav-icon-email > a::before,

    .wp-block-navigation__responsive-container.is-menu-open
    .nav-icon-info > a::before {
        width: 34px !important;
        height: 34px !important;
        background-size: contain !important;
    }

}


/* =========================================================
   MOBILE SOCIAL ICONS — LOCK HORIZONTAL POSITION
   ========================================================= */

@media (max-width: 768px) {

    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-research,
    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-wiki,
    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-linkedin,
    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-ins,
    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-email,
    .wp-block-navigation__responsive-container.is-menu-open .nav-icon-info {

        /* Override the generic top-level menu width: 100% */
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        /* Center the complete 46px item inside the blue strip */
        right: calc((var(--ime-blue-strip) - 46px) / 2) !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: initial !important;
    }

}