header { position: relative; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.07), 0 1px 2px 0 rgba(0, 0, 0, 0.05); } .header-content { align-items: center; max-width: 1200px; margin: 0 auto; padding: 10px 20px; color: #212529; } .logo { text-decoration: none; font-size: 25px; color: inherit; margin-right: 20px; } label { padding: 23px 20px; position: absolute; cursor: pointer; right: 0; top: 0; } input[type="checkbox"] { opacity: 0; position: absolute; right: 0; } label span { width: 20px; height: 3px; display: block; background: #4f3e3e; position: relative; } label span::after, label span::before { content: ""; position: absolute; display: block; background: inherit; width: inherit; height: inherit; } label span::before{ top: 8px; } label span::after { bottom: 8px; } label::before { position: absolute; content: ""; width: 58px; height: 49px; top: 0; right: 0; } input[type="checkbox"]:focus + label::before { box-shadow: 0 0 20px black; } //ul.menu { // background: #f2f2f2; //} ul.menu li { list-style: none; font-size: 18px; } ul.menu li button { font-size: inherit; border: none; background-color: transparent; cursor: pointer; width: 100%; } ul.menu li a { display: block; color: inherit; text-decoration: none; } ul.menu li a, ul li button { padding: 0.7rem 1rem; text-align: left; } .menus { position: absolute; top: 3.2rem; left: 0; right: 0; /* hide dropdown on small screens */ visibility: hidden; /* smooth transitioning */ transform: translateY(-1em); transition: transform ease 0.2s; } /* toggle main dropdown */ input[type="checkbox"]:checked ~ nav > ul { visibility: visible; transform: translateY(0); } .dropdown { padding: 2px 1.5rem; height: 0; overflow: hidden; transition: height ease 0.2s; } li:focus-within .dropdown { height: 135px; } .arrow { width: 0.5em; height: 0.5em; display: inline-block; vertical-align: middle; border-left: 0.15em solid currentColor; border-bottom: 0.15em solid currentColor; transform: rotate(-45deg); margin-left: 0.38em; margin-top: -0.25em; transition: transform 100ms ease-in-out; } li:focus-within > button > .arrow { transform: rotate(-225deg); margin-top: 4px; } /* MEDIA QUERIES */ @media (min-width: 640px) { .header-content { display: flex; } .menus { position: static; visibility: visible; background: #fff; display: flex; transform: initial; } label, input[type="checkbox"] { display: none; } ul.menu li { position: relative; font-size: 14px; } ul.menu li a:hover, ul.menu li button:hover { background-color: #f2f2f2; } .dropdown { position: absolute; right: 0; left: auto; box-shadow: 0 10px 15px -3px rgba(46, 41, 51, 0.08), 0 4px 6px -2px rgba(71, 63, 79, 0.16); z-index: 99; min-width: 10rem; padding: 0; background-color: #fff; border-radius: 0 0 0.5rem 0.5rem; } ul.menu li:hover .dropdown { height: 135px; } ul.menu li:hover > button > .arrow { transform: rotate(-225deg); margin-top: 4px; } }