body { overflow: hidden; display: none; } .menu-toggler { position: absolute; display: block; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 40px; height: 40px; z-index: 2; opacity: 0; cursor: pointer; } .menu-toggler:hover + label, .menu-toggler:hover + label:before, .menu-toggler:hover + label:after { background: white; } .menu-toggler:checked + label { background: transparent; } .menu-toggler:checked + label:before, .menu-toggler:checked + label:after { top: 0; width: 40px; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; } .menu-toggler:checked + label:before { -webkit-transform: rotate(45deg); transform: rotate(45deg); } .menu-toggler:checked + label:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } .menu-toggler:checked ~ ul .menu-item { opacity: 1; } .menu-toggler:checked ~ ul .menu-item:nth-child(1) { -webkit-transform: rotate(0deg) translateX(-110px); transform: rotate(0deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item:nth-child(2) { -webkit-transform: rotate(60deg) translateX(-110px); transform: rotate(60deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item:nth-child(3) { -webkit-transform: rotate(120deg) translateX(-110px); transform: rotate(120deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item:nth-child(4) { -webkit-transform: rotate(180deg) translateX(-110px); transform: rotate(180deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item:nth-child(5) { -webkit-transform: rotate(240deg) translateX(-110px); transform: rotate(240deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item:nth-child(6) { -webkit-transform: rotate(300deg) translateX(-110px); transform: rotate(300deg) translateX(-110px); } .menu-toggler:checked ~ ul .menu-item a { pointer-events: auto; } .menu-toggler + label { width: 40px; height: 5px; display: block; z-index: 1; border-radius: 2.5px; background: rgba(255, 255, 255, 0.7); transition: top 0.5s, -webkit-transform 0.5s; transition: transform 0.5s, top 0.5s; transition: transform 0.5s, top 0.5s, -webkit-transform 0.5s; position: absolute; display: block; top: 0; bottom: 0; right: 0; left: 0; margin: auto; } .menu-toggler + label:before, .menu-toggler + label:after { width: 40px; height: 5px; display: block; z-index: 1; border-radius: 2.5px; background: rgba(255, 255, 255, 0.7); transition: top 0.5s, -webkit-transform 0.5s; transition: transform 0.5s, top 0.5s; transition: transform 0.5s, top 0.5s, -webkit-transform 0.5s; content: ""; position: absolute; left: 0; } .menu-toggler + label:before { top: 10px; } .menu-toggler + label:after { top: -10px; } .menu-item:nth-child(1) a { -webkit-transform: rotate(0deg); transform: rotate(0deg); } .menu-item:nth-child(2) a { -webkit-transform: rotate(-60deg); transform: rotate(-60deg); } .menu-item:nth-child(3) a { -webkit-transform: rotate(-120deg); transform: rotate(-120deg); } .menu-item:nth-child(4) a { -webkit-transform: rotate(-180deg); transform: rotate(-180deg); } .menu-item:nth-child(5) a { -webkit-transform: rotate(-240deg); transform: rotate(-240deg); } .menu-item:nth-child(6) a { -webkit-transform: rotate(-300deg); transform: rotate(-300deg); } .menu-item { position: absolute; display: block; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 80px; height: 80px; display: block; opacity: 0; transition: 0.5s; } .menu-item a { display: block; width: inherit; height: inherit; line-height: 80px; color: rgba(255, 255, 255, 0.7); background: rgba(255, 255, 255, 0.2); box-shadow: rgba(0, 0, 0, 0.25) 0 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0 0 0 1px inset; box-shadow: rgb(0 0 0/25%) 0 0.0625em 3px, rgb(0 0 0/55%) 0 0.025em 0.5em, rgb(255 255 255/10%) 0 0 0 1px inset; border-radius: 50%; text-align: center; text-decoration: none; font-size: 40px; pointer-events: none; transition: .2s; } .menu-item a:hover { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3); color: white; background: rgba(255, 255, 255, 0.3); font-size: 44.4444444444px; cursor:pointer; } .menu-item a img { top: 50%; position: relative; display: block; margin-left: 16px; transform: translateY(-50%); }