header { padding: 0 !important; .top-nav { display: flex; flex-direction: row; align-items: center; justify-content: space-between; color: #000; height: 100px; padding: 1em; } .menu { display: flex; flex-direction: row; list-style-type: none; margin: 0; padding: 0; a { color: #000; text-decoration: none; &:hover { text-decoration: underline; } } } .menu > li { margin: 0 1rem; overflow: hidden; } .menu-button-container { display: none; height: 100%; width: 30px; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; } #menu-toggle { display: none; } .menu-button, .menu-button::before, .menu-button::after { display: block; background-color: #000; position: absolute; height: 4px; width: 30px; transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1); border-radius: 2px; } .menu-button::before { content: ""; margin-top: -8px; } .menu-button::after { content: ""; margin-top: 8px; } #menu-toggle:checked + .menu-button-container .menu-button::before { margin-top: 0px; transform: rotate(405deg); } #menu-toggle:checked + .menu-button-container .menu-button { background: rgba(255, 255, 255, 0); } #menu-toggle:checked + .menu-button-container .menu-button::after { margin-top: 0px; transform: rotate(-405deg); } @media (max-width: 700px) { .menu-button-container { display: flex; } .menu { position: absolute; top: 50px; margin-top: 50px; left: 0; flex-direction: column; width: 100%; justify-content: center; align-items: center; li { display: flex; justify-content: center; align-items: center; a { color: #fff !important; } } } #menu-toggle ~ .menu li { height: 0; margin: 0; padding: 0; border: 0; transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1); } #menu-toggle:checked ~ .menu li { border: 1px solid #333; height: 2.5em; padding: 0.5em; transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1); } .menu > li { display: flex; justify-content: center; margin: 0; padding: 0.5em 0; width: 100%; background-color: #222; } .menu > li:not(:last-child) { border-bottom: 1px solid #444; } } }