/* =========================================================
   RUSVISA FAQ
   ========================================================= */

.rv-faq {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 60px;
}


/* ---------------------------------------------------------
   FAQ main title
   --------------------------------------------------------- */

.rv-faq-head {
    margin-bottom: 50px;
    position: relative;
}

.rv-faq-head h1 {
    margin: 0;
    color: #122345;

    font-family: 'Merriweather', Georgia, serif;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 400;
}


/* ---------------------------------------------------------
   FAQ section
   --------------------------------------------------------- */

.rv-faq-section {
    margin-bottom: 60px;
}


/*
   Section heading — deliberately close to
   the old RUSVISA FAQ style
*/

.rv-faq-section-title {
    position: relative;

    margin: 0 0 24px;
    padding: 0 0 12px 0;

    color: #122345;

    font-family: 'Merriweather', Georgia, serif;
    font-size: 36px;
    line-height: 1.3;
    font-weight: 400;
}


/* small RUSVISA red accent */

.rv-faq-section-title:after {
    content: "";

    display: block;

    width: 38px;
    height: 3px;

    margin-top: 13px;

    background: #ff0e2a;
}


/* ---------------------------------------------------------
   FAQ item
   --------------------------------------------------------- */

.rv-faq-item {
    margin: 0 0 9px;

    background: #fff;

    border: 1px solid #dedede;
    border-radius: 2px;

    overflow: hidden;

    transition: border-color .2s ease;
    -webkit-transition: border-color .2s ease;
}

.rv-faq-item:hover {
    border-color: #c8c8c8;
}


/* ---------------------------------------------------------
   Question
   --------------------------------------------------------- */

.rv-faq-question {
    position: relative;

    display: block;

    width: 100%;

    margin: 0;
    padding: 18px 65px 18px 20px;

    border: 0;
    outline: 0;

    background: #fff;

    color: #122345;

    font-family: 'Noto', sans-serif;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 600;

    text-align: left;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease;
}

/* Question highlight */
.rv-faq-question:hover {
    background: #f8fafc;
    color: #0b2b57;
}

/* Open question */
.rv-faq-item.is-open .rv-faq-question {
    background: #f7f9fc;
    color: #122345;
    font-weight: 600;
}

/* Very subtle left accent for open item */
.rv-faq-item.is-open {
    border-left: 3px solid #ff0e2a;
}





/* ---------------------------------------------------------
   Plus / minus
   --------------------------------------------------------- */

.rv-faq-icon {
    position: absolute;

    right: 21px;
    top: 50%;

    width: 18px;
    height: 18px;

    margin-top: -9px;
}

.rv-faq-icon:before,
.rv-faq-icon:after {
    content: "";

    position: absolute;

    left: 0;
    top: 8px;

    width: 18px;
    height: 1px;

    background: #777;

    transition: transform .25s ease;
    -webkit-transition: transform .25s ease;
}

.rv-faq-icon:after {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
}

.rv-faq-item.is-open .rv-faq-icon:after {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
}


/* ---------------------------------------------------------
   Answer
   --------------------------------------------------------- */

.rv-faq-answer {
    display: none;

    padding: 25px 25px 24px 20px;

    background: #fff;

    border-top: 1px dotted #d0d0d0;

    color: #122345;

    font-family: 'Noto', sans-serif;
    font-size: 16px;
    line-height: 30px;
    font-weight: 400;
}

.rv-faq-answer p {
    margin: 0 0 15px;
}

.rv-faq-answer p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Links
   --------------------------------------------------------- */

.rv-faq-answer a {
    color: #0072bc;

    text-decoration: none;

    font-weight: 500;
}

.rv-faq-answer a:hover {
    color: #005a96;
    text-decoration: underline;
}


/* ---------------------------------------------------------
   Official URLs
   --------------------------------------------------------- */

.rv-faq-answer a[href^="http"] {
    display: inline-block;

    margin: 3px 0;

    padding: 3px 10px;

    background: #f2f8fc;

    border: 1px solid #d4e6f0;
    border-radius: 4px;

    color: #0072bc;

    line-height: 24px;
}

.rv-faq-answer a[href^="http"]:hover {
    background: #e8f4fa;
    text-decoration: none;
}


/* ---------------------------------------------------------
   Email
   --------------------------------------------------------- */

.rv-faq-answer a[href^="mailto"] {
    color: #0072bc;
}


/* ---------------------------------------------------------
   Lists
   --------------------------------------------------------- */

.rv-faq-answer ul,
.rv-faq-answer ol {
    margin: 0 0 15px;
    padding-left: 27px;
}

.rv-faq-answer li {
    margin-bottom: 5px;
}


/* ---------------------------------------------------------
   Open item
   --------------------------------------------------------- */

.rv-faq-item.is-open {
    /*border-color: #cfcfcf;*/
}

.rv-faq-item.is-open .rv-faq-question {
    color: #122345;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media screen and (max-width: 1200px) {

    .rv-faq {
        padding-left: 15px;
        padding-right: 15px;
    }
}


@media screen and (max-width: 768px) {

    .rv-faq {
        padding-left: 10px;
        padding-right: 10px;
    }

    .rv-faq-head {
        margin-bottom: 35px;
    }

    .rv-faq-head h1 {
        font-size: 34px;
    }

    .rv-faq-section {
        margin-bottom: 45px;
    }

    .rv-faq-section-title {
        font-size: 29px;
    }

    .rv-faq-question {
        padding: 16px 50px 16px 15px;
        font-size: 16px;
    }

    .rv-faq-answer {
        padding: 2px 15px 20px;

        font-size: 16px;
        line-height: 29px;
    }

    .rv-faq-icon {
        right: 17px;
    }
}


@media screen and (max-width: 414px) {

    .rv-faq-head h1 {
        font-size: 29px;
    }

    .rv-faq-section-title {
        font-size: 25px;
    }

    .rv-faq-question {
        padding: 15px 45px 15px 14px;
        font-size: 15px;
    }

    .rv-faq-answer {
        padding: 2px 14px 18px;

        font-size: 15px;
        line-height: 27px;
    }
}