/* --------------------
 FAQ
-------------------- */
.faq {
    margin: 0 0 80px;
    padding: 80px 0 0;
}

@media (min-width: 768px) {
    .faq {
        margin-bottom: 150px;
        padding-top: 120px;
    }
}

.faq-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .faq-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 1020px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.faq__list__item {
    border-bottom: 1px solid #d3d900;
    margin: 0;
    position: relative;
}

.faq__list__item__head {
    position: relative;
}

.faq__list__item__head:before {
    background-color: #518436;
    border-radius: 5px;
    bottom: 0;
    content: "";
    display: block;
    height: 4px;
    margin: auto;
    position: absolute;
    right: 15px;
    top: 0;
    transition: transform .2s ease;
    width: 20px;
}

.faq__list__item__head:after {
    background-color: #518436;
    border-radius: 5px;
    bottom: 0;
    content: "";
    display: block;
    height: 20px;
    margin: auto;
    position: absolute;
    right: 23px;
    top: 0;
    transition: transform .2s ease, opacity .2s ease, height .2s ease;
    width: 4px;
}

.faq__list__item__head__title {
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
    padding: 20px 50px 20px 80px;
    position: relative;
}

@media (min-width: 768px) {
    .faq__list__item__head__title {
        font-size: 1.8rem;
        padding-left: 100px;
    }
}

.faq__list__item__head__title:before {
    background-image: url(../images/pages/faq/faq-icon-q.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60px 28.5px;
    bottom: auto;
    content: "";
    display: block;
    height: 28.5px;
    left: 0;
    margin: auto;
    position: absolute;
    top: 20px;
    width: 60px;
}

@media (min-width: 768px) {
    .faq__list__item__head__title:before {
        background-size: 80px 38px;
        height: 38px;
        top: 15px;
        width: 80px;
    }
}

.faq__list__item__content {
    border-top: 1px dashed #d3d900;
    display: none;
    margin: 0;
    padding: 30px 0 30px 80px;
    position: relative;
    width: 100%;
}

@media (min-width: 768px) {
    .faq__list__item__content {
        margin-left: auto;
        padding-left: 100px;
        width: 95%;
    }
}

.faq__list__item__content:before {
    background-image: url(../images/pages/faq/faq-icon-a.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60px 28.5px;
    content: "";
    display: block;
    height: 28.5px;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 25px;
    transition: opacity .2s cubic-bezier(.645, .045, .355, 1);
    width: 60px;
}

@media (min-width: 768px) {
    .faq__list__item__content:before {
        background-size: 80px 38px;
        height: 38px;
        width: 80px;
    }
}

.faq__list__item__content p {
    font-size: 1.4rem;
    margin: 0 0 15px;
}

@media (min-width: 768px) {
    .faq__list__item__content p {
        font-size: 1.6rem;
    }
}

.faq__list__item__content p:last-of-type {
    margin-bottom: 0;
}

.faq__list__item.is-active .faq__list__item__head:before {
    transform: rotate(180deg);
}

.faq__list__item.is-active .faq__list__item__head:after {
    height: 0;
    opacity: 0;
    transform: rotate(180deg);
}

.faq__list__item.is-active .faq__list__item__content:before {
    opacity: 1;
}
