.accordion-block {
    margin: 30px auto;
    max-width: 700px;
}

.accordion .accordion-item {
    border-bottom: 1px solid #4d4d4d;
}

.accordion .accordion-item button[aria-expanded="true"] {
    border-bottom: 1px solid #4d4d4d;
}

.accordion button {
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    padding: 15px 0;
    font-size: 20px;
    font-weight: 700;
    color: #4d4d4d;
    border: none;
    background: none;
    outline: none;
}

.accordion button:hover,
.accordion button:focus {
    cursor: pointer;
    color: #4d4d4d;
}

.accordion button:hover::after,
.accordion button:focus::after {
    cursor: pointer;
    color: #D63434;
    border: 1px solid #dcdcdc;
}

.accordion button .accordion-title {
    white-space: break-spaces;
    max-width: calc(100% - 30px);
    width: 100%;
    display: inline-block;
}

.accordion button .icon {
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 22px;
    height: 22px;
    border: 1px solid;
    border-radius: 22px;
}

.accordion button .icon::before {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 2px;
    background: currentColor;
}

.accordion button .icon::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 10px;
    background: currentColor;
}

.accordion button[aria-expanded="true"] {
    color: #D63434;
}

.accordion button[aria-expanded="true"] .icon::after {
    width: 0;
}

.accordion button[aria-expanded="true"]+.accordion-content {
    opacity: 1;
    max-height: 100%;
    transition: all 200ms linear;
    will-change: opacity, max-height;
}

.accordion .accordion-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 200ms linear, max-height 200ms linear;
    will-change: opacity, max-height;
}

.accordion .accordion-content div {
    padding: 10px 0;
    text-align: left;
    font-size: 18px !important;
}