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);
}