.page-content.page-cms .product-juva-conseils ul{
    color: var(--color-blue-dark);
}
.juva-chatbot-tree-widget{
    min-height: 40rem;
}
.nf-form-cont {
    margin: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    z-index: 2;
    pointer-events: none
}

.nf-form-cont * {
    pointer-events: all
}

.nf-form-content {
    padding: 0 !important
}

.nf-field-container,.nf-before-form-content {
    margin: 0 !important
}

.nf-field h2,.form-top-content h2 {
    color: #004c8f;
    font-size: 1.5625rem;
    font-family: "Roboto",sans-serif;
    font-weight: 900;
    margin: 0 0 0.5rem
}

@media(min-width: 769px) {
    .nf-field h2,.form-top-content h2 {
        font-size:2.5625rem;
        margin: 0 0 1.5625rem
    }
}

.nf-field p,.form-top-content p {
    font-size: 0.875rem;
    line-height: 1.125rem;
    color: #004c8f;
    margin: 0
}

@media(min-width: 769px) {
    .nf-field p,.form-top-content p {
        font-size:1.375rem;
        line-height: 1.75rem
    }
}

.collapsing-text {
    overflow: hidden;
    -webkit-transition: opacity 500ms ease-in-out,height 500ms ease-in-out;
    -o-transition: opacity 500ms ease-in-out,height 500ms ease-in-out;
    transition: opacity 500ms ease-in-out,height 500ms ease-in-out
}

nf-field {
    height: 0;
    opacity: 0;
    -webkit-transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    overflow: hidden;
    width: 100%;
    display: block;
    visibility: hidden
}

.form-top-content {
    text-align: center;
    margin: 0;
    padding: 2.1875rem 1.25rem 4.375rem;
    -webkit-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out
}

@media(min-width: 769px) {
    .form-top-content {
        padding:4.375rem 1.25rem
    }
}

.remove-top-text .form-top-content {
    padding: 1.875rem 1.25rem 4.375rem
}

@media(min-width: 769px) {
    .remove-top-text .form-top-content {
        padding:3.125rem 1.25rem 3.125rem
    }
}

.form-top-content-title {
    position: relative;
    -webkit-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    opacity: 1
}

.display-result-screen .form-top-content-title h2 {
    margin-bottom: 0
}

.form-top-content-title h2,.form-top-content-title .floating-title {
    -webkit-transition: opacity 500ms ease-in-out,height 500ms ease-in-out;
    -o-transition: opacity 500ms ease-in-out,height 500ms ease-in-out;
    transition: opacity 500ms ease-in-out,height 500ms ease-in-out;
    overflow: hidden
}

.form-top-content-title h2 {
    opacity: 1;
    z-index: 1
}

.form-top-content-title .floating-title {
    opacity: 0;
    z-index: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%
}

.chat-viewport {
    background: rgba(255,255,255,.52);
    width: 100%;
    max-width: 945px;
    min-height: 125px;
    margin: 0 auto;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

@media(min-width: 769px) {
    .chat-viewport {
        min-height:157px
    }
}

.chat-viewport.loading {
    pointer-events: none
}

.chat-viewport.loading * {
    pointer-events: none !important
}

.display-result-screen .chat-viewport {
    min-height: 0;
    background: rgba(255,255,255,0)
}

.typing-box {
    background: #009b68;
    margin: -1rem auto 0;
    min-width: 4rem;
    min-height: 2rem;
    display: inline-block;
    position: relative;
    height: 17px;
    padding: 0.375rem 0.5rem;
    color: #fff;
    font-weight: 300;
    font-style: italic;
    line-height: 1.3;
    font-size: 1rem
}

@media(min-width: 769px) {
    .typing-box {
        min-width:5.5rem;
        min-height: 3.375rem;
        margin: -1.5rem auto 0;
        padding: 0.8125rem 0.9375rem;
        font-size: 1.1875rem
    }
}

.display-result-screen-texts .typing-box {
    margin-bottom: 1.25rem
}

@media(min-width: 769px) {
    .display-result-screen-texts .typing-box {
        margin-bottom:2.1875rem
    }
}

.typing-box strong {
    font-weight: 700;
    font-style: normal
}

.typing-box::after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -0.75rem;
    width: 0;
    height: 0;
    border-left: 0.75rem solid transparent;
    border-right: 0.75rem solid transparent;
    border-top: 0.75rem solid #009b68
}

.typed {
    opacity: 1
}

.dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0.9375rem;
    left: 50%;
    margin-left: -0.875rem
}

@media(min-width: 769px) {
    .dots {
        top:1.6875rem
    }
}

.dot {
    -webkit-animation: mercuryTypingAnimation 1.8s infinite ease-in-out;
    -o-animation: mercuryTypingAnimation 1.8s infinite ease-in-out;
    animation: mercuryTypingAnimation 1.8s infinite ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    border-radius: 50%;
    height: 0.4375rem;
    width: 0.4375rem;
    margin-right: 0.25rem;
    vertical-align: middle;
    display: inline-block;
    background-color: rgba(255,255,255,0)
}

.dot:nth-child(1) {
    -webkit-animation-delay: 200ms;
    -o-animation-delay: 200ms;
    animation-delay: 200ms
}

.dot:nth-child(2) {
    -webkit-animation-delay: 300ms;
    -o-animation-delay: 300ms;
    animation-delay: 300ms
}

.dot:nth-child(3) {
    -webkit-animation-delay: 400ms;
    -o-animation-delay: 400ms;
    animation-delay: 400ms;
    margin-right: 0
}

.typing .dot {
    background-color: #fff
}

@-webkit-keyframes mercuryTypingAnimation {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }

    28% {
        -webkit-transform: translateY(-7px);
        transform: translateY(-7px)
    }

    44% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@-o-keyframes mercuryTypingAnimation {
    0% {
        -o-transform: translateY(0px);
        transform: translateY(0px)
    }

    28% {
        -o-transform: translateY(-7px);
        transform: translateY(-7px)
    }

    44% {
        -o-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@keyframes mercuryTypingAnimation {
    0% {
        -webkit-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px)
    }

    28% {
        -webkit-transform: translateY(-7px);
        -o-transform: translateY(-7px);
        transform: translateY(-7px)
    }

    44% {
        -webkit-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px)
    }
}

.chat-choices-container {
    overflow: hidden;
    max-height: 100%
}

.chat-choices {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 0;
    opacity: 0;
    -webkit-transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    transition: opacity 300ms ease-in-out,height 300ms ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.chat-choices ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    list-style: none;
    padding: 1.25rem 0;
    -webkit-transition: height 300ms ease-in-out;
    -o-transition: height 300ms ease-in-out;
    transition: height 300ms ease-in-out
}

@media(min-width: 769px) {
    .chat-choices ul {
        -webkit-box-pack:center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 1.875rem 0
    }
}

.chat-choices li {
    margin: 1.0625rem !important;
    position: relative
}

.chat-choices li input {
    visibility: hidden
}

.chat-choices li input,.chat-choices li label::before,.chat-choices li label::after {
    top: 0.375rem;
    left: 0.375rem;
    width: 1.0625rem;
    height: 1.0625rem;
    position: absolute
}

@media(min-width: 769px) {
    .chat-choices li input,.chat-choices li label::before,.chat-choices li label::after {
        top:0.5rem;
        left: 0.5rem
    }
}

.chat-choices li label {
    border: 0.125rem solid #009b68;
    display: block;
    border-radius: 4px;
    padding: 0.3125rem 0.3125rem 0.3125rem 1.75rem;
    margin: 0 !important;
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.1;
    -webkit-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    font-weight: 500;
    color: #009b68
}

@media(min-width: 769px) {
    .chat-choices li label {
        font-size:1rem;
        padding: 0.375rem 0.375rem 0.375rem 1.75rem
    }
}

.chat-choices li label:hover:after,.chat-choices li label:focus:after {
    opacity: 1
}

.chat-choices li input:checked+label {
    background: #009b68;
    color: #fff
}

.chat-choices li input:checked+label::after {
    opacity: 1
}

.chat-choices li label::before,.chat-choices li label::after {
    background-size: 100%;
    border: 0;
    content: ""
}

.chat-choices li label::after {
    background: url("../images/check.svg") no-repeat center;
    opacity: 0;
    z-index: 2
}

.chat-choices li label::before {
    display: block;
    background: url("../images/uncheck.svg") no-repeat center;
    z-index: 1
}

.chat-choices .inlined-svg,.chat-choices img {
    display: block;
    margin: 0 auto 0.375rem;
    width: 4.25rem;
    height: 4.25rem
}

@media(min-width: 769px) {
    .chat-choices .inlined-svg,.chat-choices img {
        margin:0 auto 0.625rem;
        width: 5.1875rem;
        height: 5.1875rem
    }
}

.chat-choices.type-icon ul li {
    padding: 0.75rem !important;
    margin: 0 !important;
    width: 33.33334%
}

@media(min-width: 769px) {
    .chat-choices.type-icon ul li {
        padding:1.0625rem !important;
        width: 25% !important
    }
}

@media(min-width: 1024px) {
    .chat-choices.type-icon ul li {
        width:20% !important
    }
}

.chat-choices.type-icon ul label {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 0.875rem;
    font-weight: 500;
    color: #004c8f !important;
    cursor: pointer;
    border: 0 !important;
    background: 0 !important;
    padding: 5px
}

@media(min-width: 1024px) {
    .chat-choices.type-icon ul label {
        font-size:1rem
    }
}

.chat-choices.type-icon ul label::before,.chat-choices.type-icon ul label::after {
    display: none
}

@media(min-width: 1024px) {
    .chat-choices.type-icon ul label:hover [stroke="#009EE1"],.chat-choices.type-icon ul label:hover [stroke="#009B68"],.chat-choices.type-icon ul label:focus [stroke="#009EE1"],.chat-choices.type-icon ul label:focus [stroke="#009B68"] {
        stroke:#004c8f
    }

    .chat-choices.type-icon ul label:hover [fill="#009EE1"],.chat-choices.type-icon ul label:hover [fill="#009B68"],.chat-choices.type-icon ul label:focus [fill="#009EE1"],.chat-choices.type-icon ul label:focus [fill="#009B68"] {
        fill: #004c8f
    }

    .chat-choices.type-icon ul label:hover [stroke="#00498F"],.chat-choices.type-icon ul label:focus [stroke="#00498F"] {
        stroke: #009b68
    }

    .chat-choices.type-icon ul label:hover [fill="#00498F"],.chat-choices.type-icon ul label:focus [fill="#00498F"] {
        fill: #009b68
    }
}

.nf-field-label {
    display: none
}

.chat-toolbar {
    position: relative;
    width: 100%;
    border-radius: 0 0 0.25rem 0.25rem;
    background: #009b68;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 0;
    overflow: hidden
}

@media(min-width: 769px) {
    .chat-toolbar {
        font-size:1rem
    }
}

.has-previous .chat-toolbar {
    height: 2.1875rem
}

@media(min-width: 769px) {
    .has-previous .chat-toolbar {
        height:3.125rem
    }
}

.display-result-screen .chat-toolbar {
    height: 0
}

.chat-toolbar button {
    text-transform: uppercase;
    padding: 0 0.8125rem;
    margin: 0;
    height: 100%;
    background: transparent !important;
    color: #fff !important;
    font-family: "Roboto",sans-serif;
    font-weight: 700;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.2;
    font-size: 0.8125rem;
    border: 0
}

@media(min-width: 769px) {
    .chat-toolbar button {
        padding:0 1.125rem;
        font-size: 1rem
    }
}

.chat-toolbar button:hover,.chat-toolbar button:focus {
    text-decoration: underline
}

.chat-toolbar button svg {
    display: inline-block;
    height: auto
}

.chat-toolbar button:first-child svg {
    margin-right: 0.625rem;
    width: 0.9375rem
}

@media(min-width: 769px) {
    .chat-toolbar button:first-child svg {
        width:1.375rem
    }
}

.chat-toolbar button:last-child svg {
    margin-left: 0.625rem;
    width: 1.125rem
}

@media(min-width: 769px) {
    .chat-toolbar button:last-child svg {
        width:1.6875rem
    }
}

#form-results .typed-results {
    font-size: 0.875rem;
    line-height: 1.1875rem;
    color: #004c8f;
    margin-bottom: 1.875rem;
    text-align: center;
    height: 0;
    overflow: hidden
}

@media(min-width: 769px) {
    #form-results .typed-results {
        font-size:1.375rem;
        line-height: 1.75rem;
        margin-bottom: 3.125rem
    }
}

#results-texts,#no-results-texts {
    display: none
}

#products-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    max-width: 1010px;
    overflow: hidden
}

@media(min-width: 769px) {
    #products-container {
        margin:-1.25rem
    }
}

#products-container>div {
    width: 100%;
    padding: 0.625rem 1.25rem
}

@media(min-width: 769px) {
    #products-container>div {
        width:33.33334%;
        padding: 1.25rem
    }
}

#products-container .loading>div {
    background: #004c8f;
    position: relative;
    overflow: hidden;
    -webkit-transition: min-height 300ms ease-in-out;
    -o-transition: min-height 300ms ease-in-out;
    transition: min-height 300ms ease-in-out;
    min-height: 0px
}

.grow-loading #products-container .loading>div {
    min-height: 260px
}

@media(min-width: 769px) {
    .grow-loading #products-container .loading>div {
        min-height:335px
    }
}

#products-container .loading>div::before {
    content: "";
    display: block;
    position: absolute;
    left: -150px;
    top: 0;
    height: 100%;
    width: 150px;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(50%, #0b5393), to(transparent));
    background: -webkit-linear-gradient(left, transparent 0%, #0b5393 50%, transparent 100%);
    background: -o-linear-gradient(left, transparent 0%, #0b5393 50%, transparent 100%);
    background: linear-gradient(to right, transparent 0%, #0b5393 50%, transparent 100%);
    -webkit-animation: load 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    -o-animation: load 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    animation: load 1s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@-webkit-keyframes load {
    from {
        left: -150px
    }

    to {
        left: 100%
    }
}

@-o-keyframes load {
    from {
        left: -150px
    }

    to {
        left: 100%
    }
}

@keyframes load {
    from {
        left: -150px
    }

    to {
        left: 100%
    }
}

.product-block{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.gfx-container {
    height: 0;
    position: relative
}

.leaves {
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: -110px;
    overflow: hidden;
    height: 110px
}

.leaf {
    display: inline-block;
    margin-left: calc(-1*var(--margin-right)*0.0625rem);
    margin-right: calc(-1*var(--margin-right)*0.0625rem);
    margin-top: calc(var(--margin-top)*0.0625rem);
    width: calc(var(--width)*0.0625rem);
    height: calc(var(--height)*0.0625rem);
    background-image: var(--filepath);
    z-index: var(--z-index);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: top;
    position: relative;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

@media(min-width: 769px) {
    .leaf:hover,.leaf:focus {
        -webkit-animation-name:leaf2;
        -o-animation-name: leaf2;
        animation-name: leaf2;
        -webkit-animation-duration: 3s;
        -o-animation-duration: 3s;
        animation-duration: 3s;
        -webkit-animation-iteration-count: infinite;
        -o-animation-iteration-count: infinite;
        animation-iteration-count: infinite
    }
}

.results-toolbar {
    text-align: center;
    margin-top: 40px;
    overflow: hidden
}

.results-toolbar button {
    border: 0 !important;
    background: 0 !important;
    color: #004c8f !important;
    margin: 0 10px;
    padding: 0;
    vertical-align: center;
    line-height: 1.2;
    font-size: 0.8125rem;
    cursor: pointer;
    font-family: "Roboto",sans-serif;
    font-weight: bold;
    text-transform: uppercase
}

@media(min-width: 769px) {
    .results-toolbar button {
        padding:0 1.125rem;
        font-size: 1rem
    }
}

.results-toolbar svg {
    vertical-align: middle
}

.results-toolbar g {
    stroke: #004c8f
}

.results-toolbar svg>path {
    fill: #004c8f
}

.results-legal p {
    font-size: 12px;
    line-height: 1.2;
    max-width: 600px;
    margin: 20px auto;
    color: #aaa
}
