.accordion {
    width: 100%;
    max-width: 600px;
    margin: 20px auto
}

.accordion-item {
    border-bottom: 1px solid #ccc
}

.accordion-header {
    background: #f4f4f4;
    padding: 15px;
    cursor: pointer;
    font-size: 18px;
    transition: background .3s;
    user-select: none
}

.accordion-header:hover {
    background: #ddd
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    padding: 0 15px;
    background: #fff;
    transition: max-height .3s ease-out, padding .3s ease-out
}

.accordion-item.active .accordion-content {
    max-height: 200px;
    padding: 15px
}


.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-item.active .accordion-content {
    max-height: max-content;
    padding: 15px;
    border-left: 1px solid #888;
    border-right: 1px solid #888;
    border-bottom: 1px solid #888;
}

.accordion-item.active .accordion-header i {
    transform: rotateZ(90deg);
    transition: transform 0.3s ease;
}