.accordion {
    display: flex;
    flex-direction: column;
}

.accordion-item {
    margin-top: 16px;
    border-bottom: 1px solid var(--border-color);
}

.accordion-item-title {
    transition: 0.3s;
}

.accordion-item-title:hover {
    filter: brightness(140%); 
}

.accordion-item .accordion-item-title {
    display: flex;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 14px 20px;
    cursor: pointer;
    user-select: none;
}

.accordion-item .accordion-item-desc {
    font-weight: 300;
    line-height: 22px;
    overflow: hidden;
    box-sizing: border-box;
    max-height: 0;
    padding: 0 36px 0 32px;
    transition: max-height 0.2s ease, padding 0.2s ease;
    color: var(--text-color);
}

.accordion-item input[type="checkbox"] {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
}

.accordion-item input[type="checkbox"]:checked ~ .accordion-item-desc {
    max-height: 4500px;
    padding: 10px 36px 20px 32px;
}

.accordion-item input[type="checkbox"] ~ .accordion-item-title .icon:after {
    display: inline-block;
    position: absolute;
    font-size: 16px;
    top: 50%;
    right: 8px;
    width: 24px;
    height: 24px;
    content: "";
    transition: transform 0.2s ease;
    transform: translateY(-50%);
    background-image: var(--arrow-down);
    background-size: contain;
    filter: brightness(0) saturate(100%) invert(98%) sepia(46%) saturate(3308%) hue-rotate(308deg) brightness(107%) contrast(80%);
}

.accordion-item input[type="checkbox"]:checked ~ .accordion-item-title .icon:after {
    transform: translateY(-50%) rotate(180deg);
}

.accordion-item:first-child {
    margin-top: 0;
}

.accordion-item .icon {
    margin-left: 14px;
}

@media screen and (max-width: 767px) {
    .accordion {
        padding: 0 16px;
    }

    .accordion h1 {
        font-size: 22px;
    }
}
