content/_sass/accordion.scss (71 lines of code) (raw):

.accordion-menu ul li i:before, .accordion-menu ul li i:after { transition: all 0.25s ease-in-out; } .accordion-menu ul ul li { animation: flipdown 0.5s ease both; } .accordion-menu label { color: rgba(0,0,0,0.8); cursor: pointer; display: block; font-size: 1em; padding: .20em 15px; text-transform: uppercase; } .accordion-menu ul { list-style: none; perspective: 900; padding: 0; margin: 0; } .accordion-menu ul li { position: relative; padding: 0; margin: 0; padding-bottom: 4px; padding-top: 18px; } .accordion-menu ul li:last-of-type { padding-bottom: 0; } .accordion-menu ul li.has-children { margin-right: 1em; } .accordion-menu ul li i { position: absolute; transform: translate(-6px, 0); margin-top: 16px; right: 0; } .accordion-menu ul li i:before, .accordion-menu ul li i:after { content: ""; position: absolute; background-color: #ff6873; width: 3px; height: 9px; } .accordion-menu ul li i:before { transform: translate(-2px, 0) rotate(45deg); } .accordion-menu ul li i:after { transform: translate(2px, 0) rotate(-45deg); } .accordion-menu ul li input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; opacity: 0; } .accordion-menu ul li input[type=checkbox]:checked ~ ul { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); } .accordion-menu ul li input[type=checkbox]:checked ~ i:before { transform: translate(2px, 0) rotate(45deg); } .accordion-menu ul li input[type=checkbox]:checked ~ i:after { transform: translate(-2px, 0) rotate(-45deg); }