/***** Menu ******/
#mainNav {
    background: #fff;
    padding: 20px 0;
    margin: 0;
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 0%);
    transition: all 0.3s ease-out;
    border-bottom: 1px solid #cefcef;
}

.navbar .navbar-brand {
    font: 400 25px/23px "Cantata One,serif";
    color: #5c5b5b;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navbar .menu-top a {
    font: 400 16px/15px "League Spartan", sans-serif;
}

.navbar .menu-top .ancre-nav li a {
    padding: 20px;
}

.navbar .menu-top .bt-nav a.bt {
    margin: 0 5px;
}

#mainNav.navbar-shrink {
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 15%);
    padding: 10px;
}

#mainNav.navbar-shrink .navbar-brand img {
    width: 60px;
}

#mainNav.navbar-shrink .navbar .navbar-brand {
    font: 400 26px/26px "Cantata One,serif";

}

#mainNav.navbar-shrink .menu-top a {
    font: 400 16px/16px "League Spartan", sans-serif;

}

#mainNav.navbar-shrink .menu-top .ancre-nav li a {
    padding: 20px 20px 10px;
}

#mainNav .navbar-toggler {
    color: #424242;
    font: 400 16px/16px "League Spartan", sans-serif;
}

@media (max-width: 1199.8px) {
    #mainNav .navbar-brand img {
        width: 60px;
    }

    #mainNav .navbar .navbar-brand {
        font: 400 26px/26px "Cantata One,serif";

    }

    #mainNav .menu-top a {
        font: 400 16px/16px "League Spartan", sans-serif;

    }

    #mainNav .menu-top .ancre-nav li a {
        padding: 0 15px;
    }
}

@media (max-width: 991.8px) {
    #mainNav .menu-top a.bt {
        margin: 0 0 5px;
    }

    #mainNav .menu-top .ancre-nav li:first-child a {
        padding: 30px 0 10px !important;
    }

    #mainNav .menu-top .ancre-nav li a {
        padding: 10px 0;
    }
}

/***** VIVATEMPO GENERAL ******/
body.site {
    padding: 0 !important;
}

/*
.jaune {
    color: #f6ce36 !important;
}

.bt-jaune {
    background-color: #f6ce36;
}

.bt-jaune:hover, .bt-jaune:focus, .bt-jaune:active {
    background-color: #e0a21e;
}
*/

.bt-gris {
    background-color: #5c5b5b;
}

.site.ms-vitaleo.fr a.bt.bt-gris:hover,
.site.ms-vitaleo.fr a.bt.bt-gris:focus,
.site.ms-vitaleo.fr a.bt.bt-gris:active {
    background-color: #2f2f2f;
    color: #fff !important;
}

.main-content {
    padding-top: 90px !important;
}

.main-content .bt {
    font: 400 18px/24px "League Spartan", sans-serif
}

/***** Home Accroche ******/
.main-content .home-top {
    min-height: 747px;
    position: relative;
    margin-bottom: 50px;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    background-image: url(/build/images/home.3ac01f51.jpg)
}

.main-content .home-top .bloc-txt {
    position: absolute;
    left: 10%;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    color: #fff;
    padding-bottom: 40px;
}

.main-content .home-top .bloc-txt h1 {
    font-size: 50px;
    line-height: 58px;
    color: #fff;
    margin-bottom: 12px;
}

.main-content .home-top .bloc-txt p {
    font: 400 26px/34px "League Spartan", sans-serif;
    color: #fff;
    margin-bottom: 15px;
    max-width: 480px;
}

.main-content .home-top .bloc-txt .bloc-bt {
    margin-bottom: 15px
}

.main-content .home-top .bloc-txt .bloc-bt .bt + .bt {
    margin-left: 5px;
}

.main-content .home-top .bloc-txt p.mention {
    font: 400 18px/26px "League Spartan", sans-serif;
    margin-bottom: 0;
}

.main-content p {
    font: 400 18px/22px "League Spartan", sans-serif;
    margin-bottom: 0;
}

@media (max-width: 1199.8px) {
    .main-content .home-top {
        min-height: 530px;
    }

    .main-content .home-top .bloc-txt h1 {
        font-size: 40px;
        line-height: 50px;
        margin-bottom: 10px;
    }

    .main-content .home-top .bloc-txt p {
        font: 400 24px/28px "League Spartan", sans-serif;
    }

    .main-content .bloc-txt .bt {
        margin-bottom: 5px;
    }
}

@media (max-width: 991.8px) {
    .main-content .home-top {
        margin-bottom: 20px;
        min-height: 473px;
    }

    .main-content .home-top .bloc-txt {
        left: 8%;
        max-width: 75%;
        display: flex;
    }
}

@media (max-width: 767.8px) {
    .main-content .home-top {
        min-height: auto;
        padding: 15px;
        position: relative;
    }

    .main-content .home-top::before {
        content: "";
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background-color: rgb(0 0 0 / 50%);
    }

    .main-content .home-top .bloc-txt {
        position: relative;
        max-width: 100%;
        text-align: center;
        left: 0;
        justify-content: center;
        align-items: center;
        padding: 20px;
    }

    .main-content .home-top .bloc-txt h1 {
        font-size: 30px;
        line-height: 35px;
        margin-bottom: 10px;
    }

    .main-content .home-top .bloc-txt p {
        font: 400 20px/26px "League Spartan", sans-serif;
    }

    .main-content .home-top .bloc-txt p.mention {
        font: 400 15px/22px "League Spartan", sans-serif;
    }
}

/***** Home argument ******/
.main-content .home-main .arg h2 {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 20px;
}

.main-content .home-main .arg-mb {
    margin-bottom: 50px;
}

.main-content .home-main .arg {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.main-content .home-main .arg .arg-img {
    padding: 0 30px;
}

.main-content .home-main .arg .arg-txt {
    max-width: 500px;
    padding: 30px;
}

.main-content .home-main .arg-bg {
    border-radius: 20px;
}

.main-content .home-main .arg-reverse {
    flex-direction: row-reverse;
}

.main-content .home-main .arg p {
    margin-bottom: 20px
}

@media (max-width: 1199.8px) {
    .main-content .home-main .arg {
        padding: 20px;
    }

    .main-content .home-main .arg .arg-img {
        padding: 0;
    }

    .main-content .home-main .arg .arg-txt {
        max-width: 400px;
        padding: 10px 20px;
    }
}

@media (max-width: 991.8px) {
    .main-content .home-main .arg-mb {
        margin-bottom: 20px;
    }

    .main-content .home-main .arg {
        padding: 20px;
        flex-direction: column;
    }

    .main-content .home-main .arg .arg-txt {
        max-width: 100%;
        padding: 10px 0;
    }

    .main-content .home-main .arg-bg .arg .arg-txt {
        max-width: 100%;
        padding: 10px 15px;
    }

}


/***** Home rassurance ******/
.main-content .home-main .arg-rass.arg-rass-bg-main {
    padding: 80px 0 60px;
    margin-bottom: 50px
}

.main-content .home-main .arg-rass.arg-rass-bg-main-jaune {
    background-color: #fdf5d7;
}

.arg-rass-bg .icon {
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #29e0ad !important;
    width: 100px;
    height: 100px;
    margin: 0 auto -20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -50px;
}

.main-content .home-main .arg-rass-bg {
    height: 100%;
    border-radius: 10px;

    /* background: #f6ce36; */
    background-size: cover !important;
    padding: 0 50px 50px
}

.main-content .home-main .arg-rass-bg1 .arg-rass-bg {
    background: url(/build/images/arg-rass-1.4f27ca11.png) no-repeat center center;
}

.main-content .home-main .arg-rass-bg2 .arg-rass-bg {
    background: url(/build/images/arg-rass-2.d3741349.png) no-repeat center center;
}

.main-content .home-main .arg-rass-bg3 .arg-rass-bg {
    background: url(/build/images/arg-rass-3.a80ac5bd.png) no-repeat center center;
}

.main-content .arg-rass-bg-main h3 {
    color: #212121 !important;
    font-size: 30px;
    line-height: 34px;
    margin-bottom: 20px;
}

.main-content .arg-rass-bg-main p {
    color: #212121 !important;
}

.main-content .arg-rass-bg-main-2 .arg-rass2 {
    display: flex;
    margin: 50px 0;
}

.main-content .arg-rass-bg-main-2 .arg-rass2 .bloc-txt {
    padding: 0 25px;
}

.main-content .arg-rass-bg-main-2 .arg-rass2 .bloc-txt p {
    font: 400 16px/20px "League Spartan", sans-serif;
}

.main-content .arg-rass-bg-main-2 .arg-rass2 h3 {
    font: 700 18px/22px "League Spartan", sans-serif;
    margin-bottom: 5px
}

.main-content .arg-rass-bg-main-2 .arg-rass2 .icon {
    flex-shrink: 0;
}

@media (max-width: 1199.8px) {
    .main-content .arg-rass-bg-main-2 .arg-rass2 .icon {
        max-width: 60px;
    }

    .main-content .arg-rass-bg-main-2 .arg-rass2 .bloc-txt {
        padding: 0 0 0 20px;
    }
}

@media (max-width: 991.8px) {
    .main-content .home-main .arg-rass-bg {
        margin: 0 0 70px;
        height: auto;
    }

    .main-content .home-main .arg-rass.arg-rass-bg-main {
        padding: 80px 0 30px;
        margin-bottom: 30px;
    }

    .main-content .arg-rass-bg-main-2 .arg-rass2 {
        margin: 20px 0;
    }
}


/***** Home tarif ******/
.main-content .tarif {
    padding: 50px 0 0;
}

.main-content .tarif .bloc-tarif {
    height: 100%;
    border-radius: 20px;
    border: 5px solid #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #fff;
    padding: 50px;
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 15%);
}

.main-content .tarif .bloc-tarif p.offre {
    font: 700 30px/36px "League Spartan", sans-serif;
    text-align: center;
    margin-bottom: 5px;
}

.main-content .tarif .bloc-tarif .prix {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.main-content .tarif .bloc-tarif .prix p {
    font: 400 90px/90px "Cantata One", serif;
    margin-bottom: 0;
}

.main-content .tarif .bloc-tarif .prix p.ht {
    font: 400 36px/36px "Cantata One", serif;
    margin-bottom: 0;
}

.main-content .tarif .bloc-tarif .valid {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.main-content .tarif .bloc-tarif .valid .icon {
    padding: 0 5px 5px;
}

.main-content .tarif .bloc-tarif .valid p {
    padding: 0 5px 5px;
    font: 400 22px/26px "League Spartan", sans-serif;

}

.main-content .tarif .bloc-tarif .bt {
    font-weight: 700;
    font-size: 25px;
    padding: 20px 40px;
}

.main-content .tarif .bloc-tarif .bt-bloc {
    text-align: center;
}

.main-content .tarif .item-eval .bloc-tarif {
    border-color: #5c5b5b;
}

.main-content .tarif .item-eval .bloc-tarif p {
    font: 600 22px/26px "League Spartan", sans-serif;
    margin-bottom: 30px;
    padding: 15px 30px;
    border-left: 3px solid #f6ce36;
    text-align: left;
}

.main-content .tarif .item-eval .bloc-tarif h2 {
    font: 400 44px/46px "Cantata One", serif;
    margin-bottom: 30px;

}

.main-content .mentions2 {
    text-align: center;
    padding: 50px 0 10px;
}

@media (max-width: 1199.8px) {
    .main-content .tarif .bloc-tarif {
        border: 4px solid #000;
        padding: 30px 40px;
    }
}

@media (max-width: 991.8px) {
    .main-content .tarif .bloc-tarif {
        border: 4px solid #000;
        padding: 30px;
        margin-bottom: 50px;
        height: auto;
    }
}

@media (max-width: 767.8px) {
    .main-content .tarif {
        padding: 50px 30px 0;
    }

    .main-content .tarif .bloc-tarif {
        margin-bottom: 20px;
    }

    .main-content .tarif .item-eval .bloc-tarif h2 {
        font: 400 36px/40px "Cantata One", serif;
        margin-bottom: 26px;
    }

    .main-content .tarif .bloc-tarif .prix p.ht {
        font: 400 30px/28px "Cantata One", serif;
        margin-bottom: 0;
    }

    .main-content .tarif .bloc-tarif .prix p {
        font: 400 78px/78px "Cantata One", serif;
    }
}

/***********************  PAGE ESTIMATOR  *********************/
.estim h2 {
    font: 700 26px/34px "League Spartan", sans-serif;
}

.viv-titre {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0;
    margin: 0 0 40px;
    border-bottom: 1px solid #cefcef;
}

.viv-titre .icon-rond {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    border: 3px solid #06dbbd;
    flex-shrink: 0;
}

/* progress bar */
.estim .progress {
    height: 7px;
    background: #fff;
    border-radius: 15px;
    margin-bottom: 20px;
    overflow: visible;
    position: relative;
}

.estim .progress::before,
.estim .progress::after {
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: -3px;
    left: -5px;
    z-index: 1;
}

.estim .progress::after {
    background: #cefcef;
    border: 3px solid #fff;
    left: auto;
    right: 0;
}

.estim .progress .progress-bar {
    box-shadow: none;
    border: none;
    border-radius: 15px;
    position: relative;
    animation: animate-positive 1s;
    overflow: visible;
}

.estim .progress .progress-value {
    text-align: center;
    width: 100px;
    height: 44px;
    border-radius: 5px;
    background: #fff;
    position: absolute;
    top: -17px;
    right: 0;
    z-index: 2;
    font: 700 23px/34px "League Spartan", sans-serif;
    border: 4px solid #06dbbd;
    color: #06dbbd;
}

.estim .progress .progress-value::placeholder {
    font-weight: 400;
}

.estim .progress.orange::before {
    border: 3px solid #06dbbd;
}

@keyframes animate-positive {
    0% {
        width: 0;
    }
}

@keyframes animate-positive {
    0% {
        width: 0;
    }
}

.estim .prog-bloc {
    display: flex;
}

.estim .prog-bloc .item {
    padding: 20px 25px;
    margin: 10px;
    display: block;
    text-align: center;
    justify-content: center;
    align-items: stretch;
    background: #cefcef;
    border-radius: 10px;
    flex: 1;
}

.estim .prog-bloc .item p {
    margin-bottom: 30px;
    font: 400 18px/20px "League Spartan", sans-serif;
}

.estim .viv-progress {
    margin-bottom: 36px;
}

.estim .viv-tab {
    font: 700 26px/26px "League Spartan", sans-serif;

}

.estim .viv-tab .table {
    text-align: center;
    vertical-align: middle;
}

.estim .viv-tab h4 {
    font: 700 20px/20px "League Spartan", sans-serif;
    margin-bottom: 10px;
}

.estim .viv-tab p {
    font: 400 16px/16px "League Spartan", sans-serif;
    margin-top: 5px;
    position: relative;
    padding-left: 20px;
}

.estim .viv-tab p::before {
    content: '\e931';
    position: absolute;
    left: 9px;
    font-family: short-font !important;
    font-size: 9px;
    top: -1px;
    color: #06dbbd;
}

.estim .viv-tab th {
    font: 400 12px/14px "League Spartan", sans-serif;
    color: #bcbcbc;
    text-transform: uppercase;
    padding: 5px;
}

.estim .viv-tab th, .viv-tab td {
    vertical-align: middle;
    border: none;
    border-bottom: 5px solid #fff;
}

.estim .viv-tab td {
    background: #e6fbf8;
    padding: 10px;
    color: #bcbcbc;
}

.estim .viv-tab td:last-child {
    border-radius: 0 10px 10px 0;
    padding-right: 25px;
    border: 8px solid #e6fbf8;
    background: #fff;
}

.estim .viv-tab td .petit {
    font-size: 14px;
}

.estim .viv-tab .col1 {
    text-align: left;
    border-radius: 10px 0 0 10px;
    padding: 20px 25px;
}

.estim .viv-tab .col1 .txt {
    max-width: 370px;
    min-width: 250px;

}


.estim .result .bloc-txt {
    background: #fff;
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 15%);
    text-align: center;
    margin: 60px 0;
    padding: 40px 30px;
    border-radius: 25px;
}

.estim .result .bloc-txt h3 {
    font: 700 36px/36px "League Spartan", sans-serif;
    margin-bottom: 5px;
}

.estim .result .bloc-txt h2 {
    font: 400 92px/110px "Cantata One", serif;
    margin-bottom: 0;
}

.estim .result .bloc-txt h2.petit {
    font: 400 31px/31px "Cantata One", serif;
    margin-bottom: 10px;
}

.estim .result .bloc-txt p.etp {
    margin-bottom: 25px;
}

.estim .result .bloc-txt .bt-bigbig {
    width: 100%;
    font-size: 25px;
    margin-bottom: 15px;
    padding: 20px;
}

.estim .eval-g {
    padding-right: 40px;
}

.estim .result {
    padding-left: 40px;
}

@media (max-width: 1199.8px) {
    .estim .viv-titre {
        padding: 40px 0 30px;
        margin: 0 0 40px;
    }

    .estim .eval-g {
        padding-right: 15px;
    }

    .estim .result {
        padding-left: 35px;
    }

    .estim .result .bloc-txt {
        margin: 30px 0 60px;
        padding: 30px 25px;
    }

    .estim .result .bloc-txt h3 {
        font: 700 26px/26px "League Spartan", sans-serif;
        margin-bottom: 3px;
    }

    .estim .result .bloc-txt h2 {
        font: 400 80px/80px "Cantata One", serif;
        margin-bottom: 0;
    }

    .estim .result .bloc-txt h2.petit {
        font: 400 20px/20px "Cantata One", serif;
        margin-bottom: 5px;
    }

    .estim .result .bloc-txt p.etp {
        font: 400 16px/18px "League Spartan", sans-serif
    }

    .estim .result .bloc-txt .bt-bigbig {
        font-size: 18px;
        margin-bottom: 10px;
        padding: 10px;
    }
}

@media (max-width: 991.8px) {
    .estim .eval-g {
        padding-right: calc(var(--bs-gutter-x) * .5)
    }

    .estim .result {
        padding-left: calc(var(--bs-gutter-x) * .5)
    }

    .estim .prog-bloc {
        flex-direction: column;
    }
}

/***********************  PAGE TEAM  *********************/
.team .item-team {
    text-align: center;
    margin-bottom: 50px;
}

.team .item-team img {
    margin-bottom: 10px;
}

.team .item-team .perso {
    font: 700 26px/32px "League Spartan", sans-serif;
    margin: 0;
}

.team .item-team .fonction {
    font: 400 20px/22px "League Spartan", sans-serif;
    margin-bottom: 30px;
}

.team .team-def {
    width: 100%;
    padding: 40px 10px 20px;
    background: #e6fbf8;
    border-radius: 10px;
    margin-bottom: 50px;
    text-align: center;
}

.team .team-def p {
    font: 700 26px/36px "League Spartan", sans-serif;
    margin: 10px 0;

}

.team .team-txt p {
    line-height: 20px;
    margin-bottom: 15px;

}

/***********************  PAGE CGV  *********************/
.cgv h2 {
    margin-top: 30px;
    font-size: 30px;
    line-height: 34px;
}

.cgv p {
    margin-bottom: 5px;
}

/***********************  PAGE FAQ   *********************/
#accordionFlushFAQ h2 .accordion-button {
    font-size: 26px;
    line-height: 32px;
}

#accordionFlushFAQ h2 .accordion-button span {
    margin-right: 10px;
}

#accordionFlushFAQ .accordion-button:not(.collapsed) {
    background-color: #e6fdf7;
    box-shadow: #e6fdf7 0 -1px 0 0 inset
}

#accordionFlushFAQ .accordion-button:focus {
    z-index: 3;
    outline: 0;
    box-shadow: #e6fdf7 0 -1px 0 0 inset
}

#accordionFlushFAQ.accordion-flush > .accordion-item {
    border-color: #e6fdf7 !important;
}

#accordionFlushFAQ .accordion-body p {
    margin: 20px 0;
}

#accordionFlushFAQ .accordion-body p .txt-couleur {
    font-weight: 550;
}



