:root { --nav-bg-color: black; --nav-text-color: white; --nav-header-bg-color: #0f0; --nav-header-text-color: black; --nav-link-active-text-color: white; --nav-link-active-bg-color: var(--main-bg-color, #404040); } @media screen and (prefers-color-scheme: light) { :root { --nav-bg-color: black; --nav-text-color: white; --nav-header-bg-color: #0f0; --nav-header-text-color: black; --nav-link-active-text-color: black; --nav-link-active-bg-color: var(--main-bg-color, white); } } header { display: grid; grid-template-columns: auto 1fr; align-items: center; width: 100%; background-color: var(--nav-bg-color); color: var(--nav-text-color); } header h1 { font-size: 18px; margin: 0px; background-color: var(--nav-header-bg-color); color: var(--nav-header-text-color); } nav { overflow: hidden; font-size: larger; } nav a, header h1, label[for="navtoggle"] { text-align: left; padding: 8px 10px; text-decoration: none; } label[for="navtoggle"], #navtoggle { display: none; } @media screen and (min-width: 600px){ nav a:hover, nav a[aria-current="true"], nav:hover a[aria-current="true"]:hover { color: var(--nav-link-active-text-color); background-color: var(--nav-link-active-bg-color); } nav:hover a[aria-current="true"] { color: var(--nav-text-color); background-color: var(--nav-bg-color); } nav { display: flex; align-items: center; } nav { display: flex; } } @media screen and (max-width: 600px){ header { display: grid; grid-template-columns: 1fr auto; } nav { display: block; position: absolute; top: 43px; right: 0; background-color: var(--nav-bg-color); } nav a { box-sizing: border-box; display: block; text-align: center; width: 100%; } label[for="navtoggle"] { display: inline-block; } #navtoggle ~ nav a { height: 0; padding: 0 0.5em; border: 0; transition: height 250ms cubic-bezier(0.23, 1, 0.32, 1); visibility: hidden; } #navtoggle:checked ~ nav a { height: 2.5em; padding: 0.5em; transition: height 250ms cubic-bezier(0.23, 1, 0.32, 1); visibility: visible; } }