.fx-accordion {
    position: relative;
}

.fx-accordion__panel {
    margin-top: 20px;
}

.fx-accordion__panel__toggle {
    position: relative;
    list-style-type: none !important;
    margin: 0 0;
    display: block;
    color: #000000;
    line-height: 1.2em;
    background: #F6F7F7;
    padding: 18px 66px 18px 15px;
    text-decoration: none;
    border: none;
    width: 100%;
    text-align: left;
    font-size: 20px;
    font-weight: 400;
    border-radius: 10px;
    --icon-rotation: 0deg;
    transition: all 0.3s ease;
}

.bg-gray .fx-accordion__panel__toggle {
    background: #FFFFFF;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle {
    color: #FFFFFF;
    text-decoration: none;
    background: #D2232A;
    font-weight: 700;
}

.fx-accordion__panel .fx-accordion__panel__toggle:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translate(0, -50%);
    width: 18px;
    height: 2px;
    border-radius: 100px;
    background: #000000;
}

.fx-accordion__panel .fx-accordion__panel__toggle::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 23px;
    transform: translate(0, -50%) rotate(var(--icon-rotation));
    width: 2px;
    height: 18px;
    border-radius: 100px;
    background: #000000;
    transition: transform 0.3s ease;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle::before {
    display: none;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__toggle::after {
    background: #FFFFFF;
    height: 3px;
    width: 20px;
}

.fx-accordion__panel:not(.is-expanded) .fx-accordion__panel__content {
    display: none;
}

.fx-accordion__panel__content {
    padding: 15px 16px 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.fx-accordion__panel.is-expanded .fx-accordion__panel__content {
    opacity: 1;
}

.fx-accordion__top-content {
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .fx-accordion__panel__toggle {
        padding: 26px 86px 26px 25px;
        font-size: 25px;
    }

    .fx-accordion__panel .fx-accordion__panel__toggle:after {
        right: 25px;
        width: 28px;
        height: 3px;
    }

    .fx-accordion__panel .fx-accordion__panel__toggle::before {
        right: 38px;
        width: 3px;
        height: 28px;
    }

    .fx-accordion__panel.is-expanded .fx-accordion__panel__toggle::after {
        height: 3px;
        width: 28px;
    }

    .fx-accordion__panel__content {
        padding: 15px 25px;
    }
}

@media (min-width: 1200px) {
    .fx-accordion__panel__content {
        padding: 19px 110px 19px 25px;
    }
}

