.accordion {
    margin: 2em auto;
    max-width: 60vw;
}

.toggle {
    display: none;
}

.option {
    position: relative;
    margin-bottom: 1em;
}

.title,
.content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}

.title {
    border: solid 1px #ccc;
    padding: 1em;
    display: block;
    color: #333;
    font-weight: bold;
}

.title::after,
.title::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background-color: #999;
    transition: all 0.3s;
}

.title::after {
    transform: rotate(90deg);
}

.content {
    max-height: 0;
    overflow: hidden;
}

.content p {
    margin: 0;
    padding: 0.5em 1em 1em;
    /* font-size: 0.9em; */
    line-height: 1.5;
}

.toggle:checked+.title+.content {
    max-height: 500px;
    transition: all 1.5s;
}

.toggle:checked+.title::before {
    transform: rotate(90deg) !important;
}