.accordion { display: flex; flex-direction: column; .accordion-header { display: flex; flex-direction: row; cursor: pointer; margin-bottom: 10px; .svg-icon-wrapper { margin-right: 20px; transition: transform .4s; &.down { transform: rotate(180deg); } } } .accordion-body { padding-left: 10px; opacity: 0; overflow-y: hidden; max-height: 0; transition: max-height .3s cubic-bezier(0, 1.18, 1, 1), opacity 0.33s linear; &.open { opacity: 1; max-height: 100%; } } }