.collapser {
    cursor: pointer;
    position: relative;
    color: var(--faq-question-color, #000);
    background: var(--faq-question-background, #eee);
    padding: var(--faq-question-padding, 1rem 3rem 1rem 1.2rem);
    font-size: var(--faq-question-font-size, 16px);
}

.collapser:not(.collapser-initialized) {
    padding: 0;
    background: none;
}

.collapser:not(.collapser-initialized)::after,
.collapser:not(.collapser-initialized)::before {
    display: none;
}

.collapser::after,
.collapser::before {
    content: "";
    position: absolute;
    right: 1.2rem;
    width: 20px;
    height: 2px;
    background: var(--faq-question-color, #000);
    transition: all 300ms;
}

.collapser::after {
    top: 50%;
}

.collapser::before {
    transform: rotate(90deg);
    top: 50%;
}

.collapser.active::before {
    transform: rotate(-135deg);
}

.collapser.active::after {
    transform: rotate(-45deg);
}

.collapser + * {
    overflow: hidden;
    padding: var(--faq-answer-padding, 0rem 1.125rem);
    transition: max-height 300ms;
}

.collapser + *.limited {
    overflow-y: scroll;
    margin-bottom: 1rem;
}