/* first paragraphe */
#cms.cms-45 .main-section:first-child p > a{
    text-decoration: underline;
}
#cms.cms-45 .main-section:first-child p > a:hover{
    text-decoration: none;
}
/* FIn first paragraphe */

/* Reassurance */
#cms.cms-45 .cls-5 {
    fill:red!important;
}
#cms.cms-45 .block_picto_text .bptc .title span {
    color:var(--red-picto);
}
/* Fin Reassurance */

/* toggle choice */
#cms.cms-45 .switch-toggle {
    display: flex;
    justify-content: center;
}

#cms.cms-45 .switch-toggle input[type=radio]{
    height: 0;
    width: 0;
    visibility: hidden;
    position:absolute;
}

#cms.cms-45 .switch-toggle label{
    background: #d7d7d7;
    color:var(--grey-dark);
    text-transform: uppercase;
    font-size: 1.1em;
    line-height: 1.2;
    padding: 1rem 2rem;
    font-weight: normal;
    text-align: center;
    cursor: pointer;
}
#cms.cms-45 .switch-toggle label[for=type_selected_solo] {
    border-radius: 16px 0 0 16px;
}

#cms.cms-45 .switch-toggle label[for=type_selected_multi] {
    border-radius: 0 16px 16px 0;
}

#cms.cms-45 .switch-toggle input:checked + label {
    background: var(--red-sc);
    color: white;
}

#cms.cms-45 #frequency_choice label {
    background: none;
    padding: 1rem 1rem;
}

#cms.cms-45 #frequency_choice input:checked + label {
    color:var(--red-sc);
    font-weight: bold;
}
/* fin toggle choice */
/* strat 3 plans */
#cms.cms-45 .threePlans {
    display: flex;
    column-gap:1.5rem;
}

#cms.cms-45 .panel_plan {
    border:1px solid var(--red-sc);
    border-radius: 32px;
    padding: 0.5em 2.5em 2em 2.5em!important;
    margin: 0 !important;
}

#cms.cms-45 .panel_plan.selected {
    background:var(--red-sc);
}

#cms.cms-45 .panel_plan.selected *{
    color:white;
}

#cms.cms-45 .panel_plan:before {
    content: attr(data-emoji);
    display: block;
    font-size: 6rem;
    text-align: center;
    line-height: 12rem;
}

#cms.cms-45 .panel_plan .panel{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 1.5rem;
    background: none;
    margin: 0;
}

#cms.cms-45 .panel_plan .panel div:last-child{
    margin-top:auto;
    align-self: center;
}

#cms.cms-45 .panel_plan .title{
    min-height: 11rem;
    position: relative;
}

#cms.cms-45 .panel_plan .title:after{
    content:" ";
    display:block;
    width:77px;
    height: 3px;
    margin:0 40%;
    background: var(--grey-dark);
    position: absolute;
    bottom: 0;
}
#cms.cms-45 .panel_plan.selected .title:after{
    background: white;
}

#cms.cms-45 .panel_plan .title_first_row,
#cms.cms-45 .panel_plan .title_second_row{
    font-size: 2em;
    line-height: 1;
    text-transform: uppercase;
    text-align: center;
    display: block;
    color:var(--red-sc)
}
#cms.cms-45 .panel_plan .title_second_row{
    font-size: 3em;
    font-weight: bold;
}

#cms.cms-45 .panel_plan.selected .title_first_row,
#cms.cms-45 .panel_plan.selected .title_second_row{
    font-weight: bold;
    color: white;
}

#cms.cms-45 .panel_plan .price{
    text-align: center;
    font-size: 4em;
    line-height: 1;
    font-weight: bold;
    color: var(--red-sc);
}

#cms.cms-45 .panel_plan .price:after{
    content:" €";
}

#cms.cms-45 .panel_plan.selected .price{
    color: inherit;
}

#cms.cms-45 .panel_plan .frequency_by{
    text-align: center;
    text-transform: uppercase;
    font-size: 1em;
}

#cms.cms-45 .panel_plan .marketing_sentences{
    min-height: 18rem;
    padding-left: 2rem;
    margin: 0;
}

#cms.cms-45 .panel_plan .marketing_sentences li::marker{
    position: absolute;
    left: 0;
}

#cms.cms-45 .panel_plan .marketing_sentences li{
    list-style: disc;
    position: relative;
    font-size: 1em;
    line-height: 1;
}

#cms.cms-45 .panel_plan .cta{
    border:1px solid var(--red-sc);
    background: var(--red-sc);
    color:white;
}

#cms.cms-45 .panel_plan .cta:hover{
    border:1px solid var(--red-sc);
    background: white;
    color:var(--red-sc);
}

#cms.cms-45 .panel_plan.selected .cta{
    background: white;
    color:var(--red-sc);
}

#cms.cms-45 .panel_plan.selected .cta:hover{
    background: var(--red-sc);
    border:1px solid white;
    color:white;
}

/* fin 3 plans */
/* start moreinfo */
#cms.cms-45 .moreinfos{
    display: flex;
    flex-wrap: wrap;
}

#cms.cms-45 .moreinfos .picto{
    max-width: 175px;
    width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

#cms.cms-45 .moreinfos .rowinfo h3{
    font-size: 1em!important;
    color: var(--red-sc);
    text-transform: none;
    text-align: left;
    margin: 0!important;
    line-height: 1.5;
    padding: 0!important;
    font-weight: 700;
}
#cms.cms-45 .moreinfos .rowinfo h3:after{
    display: none;
}
#cms.cms-45 .moreinfos .rowinfo h3:before{
    content: "";
    display: block;
    height: 3px;
    width: 78px;
    background: #d9d9d9;
    margin-bottom: 17px;
}

#cms.cms-45 .moreinfos .rowinfo p{
    text-align: left;
    font-size: 1em;
}
/* end moreinfo */
/* start compare/professionnel plan */
#cms.cms-45 .compare_plan,
#cms.cms-45 .prosolution {
    display: flex;
    column-gap: 1rem;
}
#cms.cms-45 .compare_plan .innerrow,
#cms.cms-45 .prosolution .innerrow{
    color: white;
    font-size: 1em;
    line-height: 1;
    min-height: 2rem;
    display: block;
    text-align: center;
}

#cms.cms-45 .compare_plan .innerrow > i{
    font-size: 1.8em;
}

#cms.cms-45 .compare_plan .innerrow.name,
#cms.cms-45 .prosolution .innerrow.name{
    font-size: 1em;
    text-transform: uppercase;
    line-height: 2.5;
    font-weight: 700;
}
#cms.cms-45 .compare_plan .innerrow.price{
    font-size: 2em;
    line-height: 1;
    font-weight: 700;
}
#cms.cms-45 .compare_plan .innerrow.frequency{
    font-size: 1em;
    text-transform: uppercase;
    margin-bottom: 3rem;
    min-height: 3rem;
}

#cms.cms-45 .compare_plan .innerrow:not(.name):not(.price):not(.frequency),
#cms.cms-45 .prosolution .innerrow:not(.name){
    line-height: 3;
}


#cms.cms-45 .compare_plan div:not(.label) .innerrow.price:after{
    content:"€";
}

#cms.cms-45 .compare_plan .label,
#cms.cms-45 .prosolution .label{
    padding: 0;
}

#cms.cms-45 .compare_plan .label .innerrow{
    display: flex;
    justify-content: flex-end;
    column-gap: 1rem;
}
#cms.cms-45 .compare_plan .label .moreDetails{
    display: flex;
    justify-content: flex-start;
    column-gap: 0.5rem;
    min-width: 5em;
}

#cms.cms-45 .compare_plan .label .moreDetails li{
    list-style: none;
}

#cms.cms-45 .compare_plan .title{
    padding: 0;
}

#cms.cms-45 .compare_plan .innerrow,
#cms.cms-45 .prosolution .innerrow{
    color: var(--grey-dark);
    font-size: 0.875em;
    font-weight: 400;
    position: relative;
}
#cms.cms-45 .compare_plan .label > .innerrow > span:not(.moreDetails){
    position: relative;
}

#cms.cms-45 .compare_plan .label > .innerrow:not(.name):not(.price):not(.frequency) > span:not(.moreDetails):after,
#cms.cms-45 .prosolution .label > .innerrow:not(:last-child):not(:first-child):after{
    content:"";
    height: 1px;
    width: 79px;
    background: #d9d9d9;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
}

#cms.cms-45 .compare_plan .innerrow.title:not(:first-child){
    padding: 0;
    font-weight: 700;
    margin-top: 2em;
}

#cms.cms-45 .compare_plan .label .name:after,
#cms.cms-45 .compare_plan .label .price:after,
#cms.cms-45 .compare_plan .label .frequency:after,
#cms.cms-45 .compare_plan .label .title:after{
    display: none;
}

#cms.cms-45 .compare_plan .compare_column{
    background: var(--red-sc);
    border-radius: 32px 32px 0 0;
}

#cms.cms-45 .compare_plan .col1{
    opacity: 0.6;
}
#cms.cms-45 .compare_plan .col2{
    opacity: 0.8;
}

#cms.cms-45 .compare_plan .col1,
#cms.cms-45 .compare_plan .col2,
#cms.cms-45 .compare_plan .col3 {
    padding-bottom: 2rem;
}

#cms.cms-45 .compare_plan .col1 .innerrow,
#cms.cms-45 .compare_plan .col2 .innerrow,
#cms.cms-45 .compare_plan .col3 .innerrow {
    color:white;
    position: relative;
}

#cms.cms-45 .compare_plan .innerrow:has(> i):after,
#cms.cms-45 .compare_plan .innerrow:not(.name):not(.price):not(.frequency):has(> b):after{
    content:"";
    height: 1px;
    width: 79px;
    background: #d9d9d9;
    display: block;
    position: absolute;
    bottom: 0;
    margin:0 25%;
}

#cms.cms-45 .compare_plan.listbutton{
    margin-top: 2rem;
}
#cms.cms-45 .compare_plan.listbutton .col1,
#cms.cms-45 .compare_plan.listbutton .col2,
#cms.cms-45 .compare_plan.listbutton .col3 {
    background: none;
    border-radius: 0;
}

#cms.cms-45 .compare_plan.listbutton div{
    text-align: center;
}

#cms.cms-45 .compare_plan.listbutton a{
    border:1px solid var(--red-sc);
    background: var(--red-sc);
    color:white;
    font-weight: 400;
}

#cms.cms-45 .compare_plan.listbutton a:hover{
    border:1px solid var(--red-sc);
    background: white;
    color:var(--red-sc);
}

#cms.cms-45 .prosolution .prosolution_column{
    overflow: hidden;
    padding: 0;
}
#cms.cms-45 .prosolution .prosolution_column:not(.label) .name{
    background: var(--red-sc);
    color: white;
}

#cms.cms-45 .prosolution .prosolution_column:not(.label):not(:last-child) {
    border:1px solid var(--red-sc);
    border-radius: 16px;
}

#cms.cms-45 .prosolution .stars i{
    color: var(--red-sc);
    font-size: 1.2em;
}
/* end compare/professionnel plan */
/* start tranformation */
#cms.cms-45 .transformation {
    background: var(--red-sc);
    padding:2.5em 4em;
    border-radius: 36px;
    color: white;
}

#cms.cms-45 #center_column .transformation h2{
    text-align: left;
    color: white;
    font-weight: 500;
    font-size: 2.25em;
    line-height: 1.2;
    margin: 0;
}

#cms.cms-45 #center_column .transformation h3{
    text-align: left;
    color: white;
    text-transform: none;
    font-weight: 200;
    font-size: 1.5em;
    line-height: 1.2;
    margin: 0;
}
#cms.cms-45 #center_column .transformation h2:after,
#cms.cms-45 #center_column .transformation h3:after{
    display: none;
}

#cms.cms-45 .transformation .ctas{
    display: flex;
    column-gap: 2rem;
}

#cms.cms-45 .transformation .ctas a{
    border:1px solid white;
    border-radius: 16px;
    color: white;
    line-height: 1;
    font-size: 1em;
    font-weight: 400;
    padding:12px 24px 12px 24px;
}

#cms.cms-45 .transformation .ctas a:hover{
    background: white;
    border:1px solid var(--red-sc);
    color:var(--red-sc);
}

#cms.cms-45 .transformation .ctas a:not(.demo){
    background: white;
    color: var(--red-sc);
}
#cms.cms-45 .transformation .ctas a:not(.demo):hover{
    background: var(--red-sc);
    border:1px solid white;
    color:white;
}
/* end tranformation */
/* start FAQ */
#cms.cms-45 .faq {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
}
#cms.cms-45 .faq .tab{
    border:1px solid var(--red-sc);
    border-radius:24px;
    padding:  0 1em;
}
#cms.cms-45 .faq .tab .title{
    display: block;
    position: relative;
}
#cms.cms-45 .faq .tab .title:after{
    content:"\f107";
    font-family: 'Font Awesome 5 Pro', serif;
    position: absolute;
    right: 0;
}

#cms.cms-45 .faq .tab:has( > input[type=checkbox]:checked) .title:after{
    content:"\f106";
}

#cms.cms-45 #center_column .faq .tab h3{
    text-align: left;
    color: var(--grey-dark);
    text-transform: none;
    font-weight: 200;
    font-size: 1.2em;
    line-height: 3;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

#cms.cms-45 #center_column .faq .tab h3 label{
    margin: 0;
    padding: 0;
    transition: all ease-in-out 0.3s;
    cursor: pointer;
}

#cms.cms-45 #center_column .faq .tab h3:hover label{
    padding-left: 1%;
}

#cms.cms-45 .faq .tab h3:after{
    display: none;
}

#cms.cms-45 .faq .tab .content{
    display: block;
    max-height: 0;
    margin:0;
    padding:0;
    overflow: hidden;
    transition: all ease-in-out 0.3s;
}

#cms.cms-45 .faq .tab input[type=checkbox]{
    position: absolute;
    opacity:0;
}

#cms.cms-45 .faq .tab input[type=checkbox]:checked ~ .content {
    max-height: 100vh;
    padding: 0 0 0.5em 0;
}
/* end FAQ */

/* Responsive */
@media only screen and (max-width: 768px) {
    #cms.cms-45 .threePlans{
        flex-direction: column;
    }

    #cms.cms-45 .panel_plan:not(:last-child) {
        margin-bottom: 3rem !important;
    }

    #cms.cms-45 .maincompare{
        overflow-x: scroll;
    }

    #cms.cms-45 .compare_plan div:first-child,
    #cms.cms-45 .compare_plan .col1,
    #cms.cms-45 .compare_plan .col2,
    #cms.cms-45 .compare_plan .col3{
        min-width: 47%;
    }

    #cms.cms-45 .compare_plan .label .innerrow,
    #cms.cms-45 .compare_plan .label .innerrow > span{
        display: block;
    }
    #cms.cms-45 .compare_plan .label .innerrow .moreDetails{
        display: none;
    }

    #cms.cms-45 .prosolution .innerrow.name{
        font-size: 0.6em;
        min-height: 5rem;
    }
    #cms.cms-45 .prosolution .innerrow:not(.name){
        min-height: 9rem;
    }

    #cms.cms-45 .compare_plan .innerrow:not(.name):not(.price):not(.frequency){
        min-height: 5em;
        line-height: 1.2!important;
    }

    #cms.cms-45 .compare_plan .innerrow.title {
        min-height: 4em;
        line-height: 1!important;
    }

    #cms.cms-45 .compare_plan .innerrow > i{
        margin:17% 0;
    }

    #cms.cms-45 .prosolution .stars i{
        margin: 50% 0;
    }

    #cms.cms-45 .transformation .ctas{
        flex-direction: column;
        row-gap: 2rem;
    }
}