.nav { display: flex; flex-wrap: wrap; justify-content: space-between; max-width: calc(var(--nav-width) + var(--gap) * 2); margin-inline-start: auto; margin-inline-end: auto; line-height: var(--header-height); } .nav a { display: block; } .logo, #menu { display: flex; margin: auto var(--gap); } .logo { flex-wrap: inherit; } .logo a { font-size: 30px; font-weight: 700; } .logo a img, .logo a svg { display: inline; vertical-align: middle; pointer-events: none; border-radius: 0px; margin-inline-end: 8px; margin: 0 0 0 10px; height: 40px; } button.theme-toggle-button { font-size: 26px; margin: auto 4px; cursor: pointer; } body.dark .moon-icon { vertical-align: middle; display: none; } body:not(.dark) .sun-icon { display: none; } .lang-switch li, .lang-switch ul, .logo-switches { display: inline-flex; margin: auto 4px; } .lang-switch { display: flex; flex-wrap: inherit; } .lang-switch a { margin: auto 3px; font-size: 16px; font-weight: 500; } .logo-switches { flex-wrap: inherit; } /* Menu */ .menu { display: flex; flex-wrap: wrap; list-style: none; margin: 20px 0 0; padding: 0; justify-content: flex-end; } .menu li { margin: 0 10px; display: inline-flex; align-items: center; } .menu li a { text-decoration: none; display: flex; flex-direction: column; align-items: center; line-height: 1; /* Reduce line height */ } .menu .icon { border-radius: 0; margin: 5px; /* Remove all margins */ } .menu li a span { margin-top: 0px; padding-top: 0; } .menu li a:hover { text-decoration: underline; } .mobile-menu .menu { flex-direction: column; align-items: left; justify-content: left; } .mobile-menu .menu li { margin: 0 0 0 0; font-size: 1.2em; } .mobile-menu-close { position: absolute; top: 10px; right: 10px; cursor: pointer; color: var(--primary); } /* Hamburger Menu */ .hamburger-menu { display: none; /* Hidden by default on desktop */ cursor: pointer; position: absolute; right: 20px; top: 20px; } /* The toggle checkbox (hidden) */ #menu-toggle { display: none; } /* Menu overlay styles */ .menu-overlay { display: none; /* Hidden by default */ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); z-index: 999; opacity: 0; transition: opacity 0.3s ease; } /* When checkbox is checked, show the menu overlay with animation */ #menu-toggle:checked ~ .menu-overlay { display: block; opacity: 1; } /* Mobile menu styling */ .mobile-menu { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 85%; max-width: 300px; background-color: var(--entry, white); padding: 30px 20px; border-radius: 8px; z-index: 1000; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } /* Mobile menu items */ .mobile-menu .menu { display: flex; flex-direction: column; align-items: left; } .mobile-menu .menu li { flex-direction: row; margin: 10px 0; font-size: 1.2rem; } .mobile-menu .menu li a { flex-direction: row; align-items: center; } .mobile-menu .menu li a .icon { margin-right: 10px; } /* Mobile breakpoint */ @media (max-width: 700px) { .hamburger-menu { display: block; } /* Hide the regular menu */ .nav .menu-wrapper { display: none; } /* Make sure the header positions correctly for the hamburger icon */ .header { position: relative; padding-right: 50px; /* Make room for hamburger icon */ } /* Ensure the logo area does not overflow */ .logo { max-width: calc(100% - 60px); } }