section.faq {
    max-width: 800px;
    margin: 80px auto;
    background-color: #fef2ec;
    padding: 20px;
}

section.faq h1 {
    text-align: center;
    background-color: #00518F;
    color: #fff;
    max-width: 800px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 10px;
}

/* ********************************************** */

.xFAQ .question { position: relative; }

.xFAQ .question hr {
    border: none;
    margin: 0;
    position: absolute;
    width: 7px;
    height: 1px;
    background-color: var(--blue);
    transition: width .5s ease, transform .5s ease;
    top: 28px;
}

.xFAQ .question hr:nth-child(1) {
    right: 23px;
    transform: rotate(45deg);
}

.xFAQ .question hr:nth-child(2) {
    right: 18px;
    transform: rotate(-45deg);
}

.xFAQ .question.show hr {
    width: 5px;
    transform: rotate(0deg);
}

.xFAQ .question:not(:last-child) {
    border-bottom: 1px solid #00518f;
}

.xFAQ .question > h4 {
    font-weight: normal;
    font-size: 20px;
    margin: 0;
    padding: 12px 36px 12px 16px;
    cursor: pointer;
}

.xFAQ .question .answer {
    overflow: hidden;
    height: 0;
    font-size: 15px;
    line-height: 22px;
}

.xFAQ .question .answer .content { padding: 0 16px 12px 16px; }

.xFAQ .question .answer .content p:first-child { margin-top: 0; }

.xFAQ .question .answer .content p:last-child { margin-bottom: 0; }
