.faq_block.bg_color {
    background: var(--faq-sec-bg-color);
    position: relative;
}
.faq_block.bg_color::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: var(--faq-bg-overlay-img);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.faq_block .main_wrapper {
    max-width: var(--c-c-width);
    margin: 0 auto;
}
.faq_block .container {
    z-index: 99;
}

.faq_wrapper .sub_title {
    color: var(--secondaryFontColor);
    font-family: var(--h3FontFamily);
    font-size: var(--h3DeskFont);
    font-style: normal;
    font-weight: 700;
    line-height: var(--h3DeskLineHt);
    text-wrap: balance;
}

/*.single_faq_wrap {
    border-bottom: 1px solid #e8e8e8;
}*/
.faq_ques {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 20px 0; /*28px 0;*/
    transition: .3s;
}
.faq_ques span:first-child {
    font-size: 24px;
    font-weight: 700;
    color: var(--primaryFontColor);
    transition:.3s;
}
.single_faq_wrap.active .faq_ques span:first-child,
.single_faq_wrap:hover .faq_ques span {
    color: var(--secondaryFontColor);
}

.faq_icon {
    width: 12px;
    height: 12px;
    position: relative;
    flex-shrink: 0;
}
.faq_icon::before,
.faq_icon::after {
    content: "";
    position: absolute;
    background: var(--primaryFontColor);
    transition: .35s ease;
}
.faq_icon::before {
    width: 12px;
    height: 2px;
    top: 5px;
    left: 0;
}
.faq_icon::after {
    width: 2px;
    height: 12px;
    top: 0;
    left: 5px;
}
.single_faq_wrap.active .faq_icon::after {
    transform: scaleY(0);
}
.single_faq_wrap.active .faq_icon::before,
.single_faq_wrap:hover .faq_icon::before {
    background: var(--secondaryFontColor);
}

.faq_block.bg_color .faq_icon::before,
.faq_block.bg_color .faq_icon::after,
.single_faq_wrap.active .faq_icon::before,
.single_faq_wrap:hover .faq_icon::before,
.single_faq_wrap:hover .faq_icon::after {
    background: var(--secondaryFontColor);
}

.faq_ans {
    max-height: 0;
    overflow: hidden;
    transition: max-height .45s ease;
}
.faq_ans_inner {
    padding: 0 0 25px;
    color: var(--defaultFontColor);
    font-size: 16px;
    line-height: 1.8;
}

@media(max-width:991px) {
    .faq_ques span:first-child {
        font-size: 20px;
    }
}

@media(max-width:767px) {
    .faq_ques {
        padding: 20px 0;
    }
    .faq_ques span:first-child {
        font-size: 18px;
        line-height: 1.5;
        padding-right: 20px;
    }
}