section[itemscope][itemtype="https://schema.org/FAQPage"] {
    margin-top: 17px;
    padding: 17px 5px 0 5px;
    border-top: 1px solid #eee;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] > h2 {
    margin-bottom: 17px;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"] {
    margin-top: 1rem;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"] h3 {
    width: 100%;
    padding: 1.2rem 1.4rem;
    background: #fff;
    border: none;
    border-radius: .5rem;
    box-shadow: 0 0 0 1px #e2e2e2;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    transition: background .2s, box-shadow .2s;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"] h3:hover {
    background: #f7f7f7;
    box-shadow: 0 0 0 2px #ddd;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"] h3::after {
    content: '';
    position: absolute;
    right: 1.4rem;
    top: 50%;
    width: 1.2rem;
    height: 2px;
    background: #222;
    transform: translateY(-50%);
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"] h3::before {
    content: '';
    position: absolute;
    right: 1.4rem;
    top: 50%;
    width: 1.2rem;
    height: 2px;
    background: #222;
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"].open h3::before {
    transform: translateY(-50%) rotate(0deg);
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="acceptedAnswer"][itemtype="https://schema.org/Answer"] {
    overflow: hidden;
    max-height: 0;
    transition: max-height .3s ease, padding .3s ease;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="mainEntity"][itemtype="https://schema.org/Question"].open div[itemscope][itemprop="acceptedAnswer"][itemtype="https://schema.org/Answer"] {
    padding: 1rem 1.4rem;
    max-height: 1000px;
}

section[itemscope][itemtype="https://schema.org/FAQPage"] div[itemscope][itemprop="acceptedAnswer"][itemtype="https://schema.org/Answer"] p {
    margin: .6rem 0;
    line-height: 1.5;
}