/* CSS for the main interaction */ .accordion>input[type="checkbox"] { position: absolute; left: -100vw; } .accordion .content { overflow-y: hidden; height: 0; transition: height 0.3s ease; } .accordion>input[type="checkbox"]:checked~.content { height: auto; overflow: visible; } .accordion label { display: block; } /* Styling */ .accordion { margin: 1em; width: 90%; min-width: 250px; max-width: 350px; } .accordion .content { width: 100%; } .accordion>input[type="checkbox"]:checked~.content { background-color: #555; } .accordion .handle { margin: 0; font-size: 1.125em; line-height: 1.2em; } .accordion label { color: #ff7f00; cursor: pointer; font-weight: normal; padding: 15px; background: #333; } .accordion label:hover, .accordion label:focus { filter: brightness(0.7); } .accordion .handle label:before { font-family: 'fontawesome'; content: "\f054"; display: inline-block; margin-right: 10px; font-size: .58em; line-height: 1.556em; vertical-align: middle; } .accordion>input[type="checkbox"]:checked~.handle label:before { content: "\f078"; }