.menu { display: flex; align-items: center; z-index: 2; position: relative; background-color: var(--dark-0); top: 0; position: sticky; > div:first-child { background-color: var(--dark-0); z-index: 1; @media (max-width: 800px) { /* padding: 0.15em 1.5em; */ width: 100%; justify-content: space-between; display: flex; align-items: center; svg { width: 28px; } } @media (min-width: 801px) { > .icon { display: none; } } } > div + div { @media (min-width: 801px) { display: flex; justify-content: space-between; flex: 1; align-items: center; padding: 0 3em; gap: 3em; main { display: flex; flex: 1; justify-content: space-between; nav { justify-content: center; div { display: flex; gap: 3em; align-items: center; label { white-space: nowrap; } } } } } @media (max-width: 800px) { position: fixed; top: 59px; width: 100%; background-color: var(--dark-60); opacity: 0; transform: translateY(-1500px); transition: opacity 0.5s, transform 0.5s; z-index: -1; height: 100%; overflow: auto; padding-bottom: 2em; main { padding: 1em; } } } &[aria-expanded] { > div + div { @media (max-width: 800px) { z-index: 0; opacity: 1; transform: translateY(0px); height: 100vh; } } } main { display: flex; gap: 3em; @media (min-width: 801px) { align-items: center; } @media (max-width: 800px) { flex-direction: column; } nav { display: flex; .intro { @media (min-width: 801px) { display: none; } @media (max-width: 800px) { font-family: Azeret Mono; font-weight: 400; font-size: 0.75em; text-transform: uppercase; color: var(--green-20); display: flex; flex-direction: column; margin-bottom: 1em; } } @media (min-width: 801px) { align-items: center; gap: 3em; flex: 1; } @media (max-width: 800px) { flex-direction: column; width: 100%; align-items: flex-start; gap: 1em; text-transform: uppercase; color: var(--light-20); > div { width: 100%; } } a { color: var(--light-40); font-size: 1.05em; display: flex; flex-direction: column; font-family: Azeret Mono, monospace; font-size: 1.05em; text-transform: uppercase; font-weight: 600; @media (min-width: 801px) { &:nth-child(2) { max-width: 48px; width: 48px; } &:nth-child(3) { max-width: 86px; width: 86px; } &:nth-child(4) { max-width: 48px; width: 48px; } &:nth-child(5) { max-width: 115px; width: 115px; } &:nth-child(6) { max-width: 29px; width: 29px; } &:nth-child(7) { max-width: 39px; width: 39px; } } @media (max-width: 800px) { border-top: 1px solid var(--grey-140); padding: 1em 0; font-weight: 600; } .word { cursor: pointer; } span { @media (min-width: 801px) { display: none; } @media (max-width: 800px) { color: var(--grey-23); font-size: 0.85em; font-family: Azeret Mono; font-weight: 400; margin-top: 0.25em; } } } } > p { margin: 0; @media (min-width: 801px) { display: none; } @media (max-width: 800px) { font-weight: 300; font-size: 2em; color: var(--grey-22); max-width: 300px; position: relative; &::after { content: " "; position: absolute; width: 27px; height: 2px; background-color: var(--green-10); left: 0; top: 80px; } } } } .social { display: flex; align-items: center; gap: 1em; a { transition: 0.5s color, 0.5s border-color; color: var(--grey-40); &:hover { color: white; border-color: white; } @media (min-width: 801px) { height: 40px; width: 40px; display: flex; align-items: center; justify-content: center; background-color: var(--dark-40); border-radius: 50%; border: 1px solid var(--grey-45); } @media (max-width: 800px) { display: flex; align-items: center; gap: 0.5em; position: relative; top: 1px; font-weight: 500; font-size: 1em; } } label { @media (min-width: 801px) { display: none; } @media (max-width: 800px) { } } } .logo { display: inline-block; background-color: var(--dark-40); cursor: pointer; @media (max-width: 800px) { padding: 2px 2em; } @media (min-width: 801px) { padding: 1.5em 3em; } } .logo + .icon { @media (max-width: 800px) { position: absolute; top: 0; bottom: 0; right: 1em; margin: auto; cursor: pointer; color: var(--grey-40); transition: color 0.5s, opacity 0.5s; & + .icon { opacity: 0; z-index: -1; right: 20px; position: relative; color: var(--grey-40); } &:hover { color: white; } } } &[aria-expanded] { .icon:nth-child(2) { @media (max-width: 800px) { opacity: 0; z-index: -1; & + .icon { opacity: 1; z-index: 0; } } } } footer { @media (min-width: 801px) { display: none; } @media (max-width: 800px) { margin-top: 0.5em; border-top: 1px solid var(--light-50); color: var(--light-40); padding: 1em; display: flex; justify-content: space-between; span { display: flex; align-items: center; } span + span { font-size: 1.25em; } } } }