body {
    background-color: var(--first-light);
    color: var(--black);
}
strong {
    color: var(--black);
}
h1 { 
    font-family: var(--primary-font); 
    font-weight:200; 
    font-size:2.000em; 
    line-height: 0.9; 
    letter-spacing: 2; 
}
h2 { 
    font-family: var(--primary-font); 
    font-weight: 300;
    font-size:2em; 
    color: var(--primary-pressed);
}
h3 { 
    font-family: var(--primary-font); 
    font-size: 1.25em; 
}
h4 { 
    font-family: var(--primary-font); 
}
p { 
    font-weight: 300; 
    font-size: 0.875em; 
}
.configuration {
    margin: 0px auto 80px auto;
    padding-top: 180px;
    max-width: 1200px;
}
#gauche_mobile {
    display: none !important;
}
#gauche_mobile, 
#gauche {
    width: 40%;
}
#gauche_mobile img:not(.reprise):last-child,
#gauche img:not(.reprise):first-child {
    width: 100%;
    border-radius: var(--primary-border-radius);
    box-shadow: var(--box-shadow);
    border: 5px solid var(--white);
}
#gauche img:not(.reprise):first-child {
    margin-bottom: 20px;
}
/* #gauche img.reprise:first-child {
    width: 150px;
    max-width: none;
} */
#droite {
    width: 50%;
}
.criteres h3 {
    color: var(--primary-normal);
}
.questions p {
    margin-bottom: 20px;
}
.questions p:nth-child(2) {
    font-weight: bold;
}
.param {
    width: 100%;
    padding: 15px 0px;
    border-bottom: 1px solid var(--grey-apple);
}
.param p:first-child {
    font-weight: 300;
}
.criteres {
    margin-top: 60px;
    border-bottom: 2px solid var(--second-light);
    padding-bottom: 30px;
}
.small_cards {
    border: 3px solid var(--white);
    background-color: var(--white);
    border-radius: var(--primary-border-radius);
    font-size: 1.000em;
    margin-bottom: 20px;
    cursor: pointer;
    font-family: var(--secondary-font);
    box-shadow: var(--box-shadow);
    text-align: center;

    width: 100%;
    padding: 30px 15px;
}
.small_cards.duo {
    width: calc(50% - 10px);
}
.small_cards.trio {
    width: calc(33% - 10px);
}
.small_cards.quatro {
    width: calc(25% - 10px);
}
.small_cards.duo img,
.small_cards.trio img,
.small_cards.quatro img {
    height: 30px;
    margin-bottom: 10px;
}
.replace {
    background-color: var(--third-dark);
    color: var(--white) !important;
}
.replace:hover {
    border: 3px solid var(--white) !important;
}
.small_cards:not(.no_select):hover {
    border: 3px solid var(--secondary-hover);
}
.small_cards span:last-child {
    font-size: 0.750em;
    font-family: var(--secondary-font);
}
.small_cards span:first-child,
.small_cards span:nth-child(2) {
    font-weight: bold;
    font-size: 0.875em;
}
.active {
    border: 3px solid var(--secondary-normal);
}
.active .pastille {
    right: -3px;
}
.disabled {
    color: var(--fourth-light);
}
::placeholder {
    color: var(--primary-normal);
}
.subtitle3 {
    font-family: var(--primary-font);
}
.reprise img {
    height: 20px;
    margin-right: 10px;
}
.decision .ajout_panier:first-child {
    margin-right: 30px;
}
.decision .ajout_panier:first-child p {
    background-color: var(--black);
}
.ajout_panier {
    width: auto;
    text-align: center;
    margin-top: 50px;
    cursor: pointer;
    display: flex;
    justify-content: center;
}
.ajout_panier p:hover {
    background-color: var(--primary-pressed);
}
.ajout_panier p {
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    font-size: 1.000em;
    background-color: var(--primary-normal);
    padding: 18px 25px;
    border-radius: var(--secondary-border-radius);
    min-width: 150px;
}
/*** DEBUT AJOUT ***/
.modale_reprise {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 500px;
    height: 100%;
    padding: 50px;
    background-color: var(--white);
    overflow: auto;
}
.modale_reprise h5 {
    margin-right: 20px;
    font-weight: 500;
    font-size: 1.5rem;
    font-family: var(--primary-font);
}
.modale_reprise p {
    font-size: 0.875em;
    font-weight: 300;
}
.modale_reprise a {
    font-size: 0.875em;
    font-weight: 400;
    font-family: var(--secondary-font);
}
.close {
    max-width: 20px;
    cursor: pointer;
}
.reprise_title img {
    height: 20px;
    margin-right: 20px;
}
.reprise_title img.close {
    margin-right: 0px;
}
.subtitle2 {
    font-family: var(--primary-font);
    font-size: 1em;
    color: var(--hovered);
}
.input,
.textarea {
    height: auto;
    padding: 25px;
    border-radius: var(--primary-border-radius);
    font-size: 0.875em;
    color: var(--dark);
    font-family: var(--secondary-font);
    font-weight: 600;
    color: var(--black);
    outline: none;
    --webkit-appearance: none;
    border: 2px solid var(--grey-apple);
    resize: none;
    box-shadow: none;
}
.input.is-error {
    border: 2px solid var(--third-normal);
}
.form_reprise {
    margin-top: 80px;
}
.form {
    display: flex;
    border-radius: var(--primary-border-radius);
    background-color: var(--white);
    border: 2px solid var(--third-light);
    margin: 10px 0px;
}
.form {
    display: flex;
    border-radius: var(--primary-border-radius);
    background-color: var(--white);
    border: 2px solid var(--third-light);
}
.form .input {
    border: none;
    box-shadow: none;
    height: auto;
    padding: 18px 5px 18px 20px;
    border-radius: var(--primary-border-radius);
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--black);
    outline: none;
    --webkit-appearance: none;
}
.form .input::placeholder {
    font-family: var(--primary-font);
}
#reprise_serial input[name=text] {
    box-shadow: none;
    height: auto;
    padding: 18px 5px 18px 20px;
    border-radius: var(--primary-border-radius);
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--black);
    outline: none;
    --webkit-appearance: none;
}
.form button {
    border: 0px;
    background-color: var(--secondary-normal);
    cursor: pointer;
    height: 51px;
    margin-top: 3px;
    width: 80px;
    margin-right: 3px;
    border-radius: 11px;
}
.form button img {
    height: 25px;
    margin-top: 4px;
}
.navigation img {
    height: 30px;
    cursor: pointer;
    box-shadow: 0px 5px 20px rgb(0 0 0 / 8%);
    border-radius: var(--secondary-border-radius);
}
.scrollDroite {
    margin-left: 10px;
}
.mac_result {
    position: relative;
    overflow: auto;
}
.correspondance {
    margin-top: 80px;
}
.favoris, .favoris_vide {
    background-color: var(--first-light);
    padding: 40px 30px 30px 30px;
    border-radius: var(--primary-border-radius);
    box-shadow: var(--box-shadow);
    min-width: 280px;
    width: 280px;
    height: 250px;
    display: grid;
    margin-right: 30px;
    margin-bottom: 20px;
    margin-top: 30px;
}
.favoris {
    background-color: var(--white);
    position: relative;
    border: 3px solid var(--white);
}
.favoris .pastille {
    right: -3px;
}
.favoris.active {
    border: 3px solid var(--secondary-normal);
}
.favoris:first-child {
    margin-left: 0px;
}
.favoris img {
    max-height: 100px;
}
.list {
    position: relative;
    margin-top: 30px;
    overflow: auto;
    width: calc(100% + 100px);
    left: -50px;
    padding: 10px 0px;
}
.favoris p:first-child {
    text-align: center;
    font-family: var(--primary-font);
    font-size: 0.75em;
}
.favoris p:nth-child(2) {
    font-family: var(--secondary-font);
    font-size: 0.750em;
    text-align: center;
}
.favoris p.price {
    text-align: center;
    font-family: var(--primary-font);
    color: var(--secondary-normal);
    font-weight: 600;
    font-size: 1.500em;
}
.avancement {
    width: 100%;
    height: 3px;
    border-radius: 190px;
    background-color: var(--grey-apple);
    margin-bottom: 30px;
}
.etape_avancement {
    height: 100%;
    width: 20%;
    background-color: var(--black);
    border-radius: 190px;
}
.articles_resume {
    position: sticky;
    top: 180px;
    display: flex;
    flex-direction: column;
}
.replace_banner {
    background-color: #0E3239;
    width: 100%;
    height: 250px;
    border-radius: var(--primary-border-radius);
    box-shadow: var(--box-shadow);
    border: 5px solid var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.replace_banner:not(.reprise) img {
    max-width: 80%;
    max-height: 80%;
}
.replace_banner.reprise {
    overflow: hidden;
    
    background-image: url(/assets/img/reprise/banner/general.png?time=1);
    background-color: var(--white);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.replace_banner.reprise.iphone {
    background-image: url(/assets/img/reprise/banner/iphone.png?time=1);
    background-color: var(--white);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.replace_banner.reprise.mac {
    background-image: url(/assets/img/reprise/banner/mac.png?time=1);
    background-color: var(--white);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.replace_banner.reprise.ipad {
    background-image: url(/assets/img/reprise/banner/ipad.png?time=1);
    background-color: var(--white);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.configuration > .replace_banner {
    display: none;
}
.operation {
    border-radius: var(--primary-border-radius);
    background-color: var(--white);
    text-align: center;
    padding: 40px 40px 40px 40px;
}
#gauche_mobile .operation:not(.is-hidden)+img,
#gauche .operation:not(.is-hidden)+img {
    margin-top: 50px;
}
.operation h3 {
    text-align: center;
    font-size: 1.000em;
    padding-bottom: 10px;
    font-family: var(--secondary-font);
    font-weight: bold;
}
.operation img {
    width: 320px;
    text-align: center;
    margin: 20px 0px;
}
.operation p {
    font-family: var(--secondary-font);
    font-size: 0.875em;
    color: var(--black);
}
.operation .update_param {
    color: var(--secondary-normal);
    margin-left: 30px;
    cursor: pointer;
}
.appareil .model_type_name {
    font-weight: bold;
}
.operation h1 {
    font-family: var(--fourthy-font);
    font-weight: 200;
    font-size: 2.188em;
    line-height: 0.9;
    letter-spacing: 2;
    font-style: italic;
    color: var(--black);
    margin-top: 10px;
}
.operation h2 {
    font-family: var(--primary-font);
    font-weight: 300;
    font-size: 1em;
    line-height: 1.2;
    color: var(--black);
    width: 100%;
    max-width: 380px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}
.operation strong {
    color: var(--black);
}
.prix_reprise {
    font-weight: bold;
    font-size: 2em;
}
.criteres h3.prix_reprise {
    color: var(--secondary-normal);
}
.prix_reprise .ope_remise {
    font-size: 0.75em;
    color: var(--primary-normal);
}
[type="checkbox"]:not(:checked), [type="checkbox"]:checked {
    visibility: hidden;
    display: none;
}
[type="checkbox"]:not(:checked) + label, [type="checkbox"]:checked + label {
    position: absolute;
    top: 30px;
    right: 60px;
    cursor: pointer;
    top: 48%;
}
[type="checkbox"]:not(:checked) + label:before, [type="checkbox"]:checked + label:before {
    left: 0;
    top: -5px;
    width: 50px;
    height: 14px;
    background: var(--white);
    -webkit-transition: background-color .2s;
    -moz-transition: background-color .2s;
    -ms-transition: background-color .2s;
    transition: background-color .2s;
    border-radius: 190px;
}
[type="checkbox"]:not(:checked) + label:before, [type="checkbox"]:checked + label:before, [type="checkbox"]:not(:checked) + label:after, [type="checkbox"]:checked + label:after {
    content: '';
    position: absolute;
}
[type="checkbox"]:not(:checked) + label:after, [type="checkbox"]:checked + label:after {
    width: 24px;
    height: 24px;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    transition: all .2s;
    background: var(--primary-normal);
    top: -10px;
    left: 0px;
    border-radius: 190px;
    box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 20%);
}
[type="checkbox"]:not(:checked) + label .ui:before {
    content: "";
    color: #22313f;
    left: 27px;
}
[type="checkbox"]:checked + label .ui, [type="checkbox"]:not(:checked) + label .ui:before, [type="checkbox"]:checked + label .ui:after {
    position: absolute;
    top: -4px;
    left: 4px;
    width: 60px;
    font-size: 12px;
    font-family: lato, arial, sans-serif;
    font-weight: bold;
    line-height: 22px;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    transition: all .2s;
}
[type="checkbox"]:checked + label .ui:after {
    content: "";
    color: var(--white);
    top: 0px;
    left: 3px;
}
[type="checkbox"]:checked + label:after {
    background: var(--black);
    top: -10px;
    left: 26px;
    border-radius: 190px;
}
.custom-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 60px;
    width: 100%;
    padding: 10px 25px;
    background: var(--white) url("select-arrows.svg") no-repeat right 16px center;
    background-size: 10px;
    transition: border-color .1s ease-in-out,box-shadow .1s ease-in-out;
    border: 3px solid var(--white);
    border-radius: var(--primary-border-radius);
    box-shadow: var(--box-shadow);
}
.custom-select:hover {
    border: 3px solid var(--grey-apple);
}
.custom-select:focus {
    border: 3px solid var(--grey-apple);
    box-shadow: var(--box-shadow);
    outline: none;
}
select::-ms-expand {
    display:none;
}
.custom-select {
    font-weight: bold;
    font-size: 0.875em;
    font-family: var(--secondary-font);
    margin-bottom: 10px;
}
.infoslegales {
    font-style: italic;
    font-size: 0.750em;
    line-height: 14px;
    margin-top: 25px;
}
#droite .operation {
    display: none;
    margin-top: 50px;
}
.bigmain {
    height: auto;
    padding: 50px 0px 80px 0px;
}
.bigmain.blue {
    background-color: var(--blue);
}
.bigmain .bundle {
    margin: 0px auto 0px auto;
    max-width: 1200px;
    text-align: center;
}
.bigmain .personnaliser {
    width: 100%;
    margin-top: 30px;
}
.bigmain .bundle p {
    font-family: var(--primary-font);
    font-size: 1.000em;
    font-weight: 200;
    color: var(--black);
}
.bigmain strong {
    color: var(--black);
}
.bigmain .timeline {
    flex-wrap: wrap;
}
.bigmain .timesteps {
    border: 2px solid var(--white);
    border-radius: var(--primary-border-radius);
    width: 23%;
    padding: 20px;
    overflow: hidden;
    min-width: 210px;
    margin-top: 30px;
}
.bigmain .timesteps p {
    font-family: var(--primary-font);
    font-size: 0.750em;
    line-height: 15px;
}
.bigmain .timesteps p span {
    font-weight: 400;
}
.bigmain .timesteps .steps p {
    font-family: var(--primary-font);
    font-weight: 600;
    font-size: 0.875em;
    margin-bottom: 10px;
}
.bigmain .device {
    background-color: var(--white);
    border-radius: 12px;
    margin-top: 25px;
    padding: 10px;
    min-width: 80px;
    height: 60px;
}
.bigmain .device:not(:first-child) {
    margin-left: 10px;
}
.bigmain .device img {
    width: 30px;
}
.bigmain.bigmain_operation {
    background-image: url(/assets/img/reprise/banner-fleches.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: #0E3239;
    position: relative;
}
.bigmain.bigmain_operation>a {
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%);
    font-family: var(--primary-font);
    font-size: 0.750em;
}
.bigmain.bigmain_operation .bundle p,
.bigmain.bigmain_operation strong {
    color: var(--black);
}
.bigmain.bigmain_operation .personnaliser>p {
    color: var(--white);
}
.bigmain.bigmain_operation .timesteps {
    border: 2px solid #21333B;
    width: 31.5%;
    padding: 30px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    -moz-backdrop-filter: blur(30px);
}
.bigmain.bigmain_operation .device {
    background-color: var(--first-light);
}
.bigmain_operation .title_banner strong {
    font-size: 1.25em;
    color: var(--primary-normal) !important;
    text-transform: uppercase;
}
.bigmain_operation .timesteps p.price {
    color: var(--primary-normal) !important;
    text-transform: uppercase;
    margin-top: 10px;
    font-size: 1.5em;
    font-weight: 600;
}
.find-serial-number .modale_menu {
    padding-top: 40px;
    padding-bottom: 40px;
    height: 100%;
    max-height: 100vh;
    display: flex;
    align-content: center;
    justify-content: center;
}
.find-serial-number .modale_menu a {
    text-align: center;
}
.find-serial-number .modale_menu a.closeSelection {
    cursor: pointer;
    text-decoration: none;
    color: var(--black);
    background-color: #FBF6DF;
    padding: 8px 20px;
    border-radius: 190px;
    font-weight: 500;
    font-family: var(--primary-font);
    font-size: 0.75em;
    text-transform: none;
}
/* .find-serial-number .list_choix {
    max-width: 100%;
} */
.find-serial-number .list_choix .list_choix-element {
    margin: 0;
    padding: 0;
    max-width: min(400px, calc(100vw - 60px));
    border-radius: var(--primary-border-radius);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border: 3px solid #FBF6DF;
    margin-top: 0px;
    margin-right: 0px;
    position: relative;
}
.find-serial-number .list_choix .list_choix-element.ipad {
    max-width: min(700px, calc(100vw - 60px));
}
.find-serial-number .list_choix .list_choix-element.mac {
    max-width: min(1200px, calc(100vw - 60px));
}
.find-serial-number .close-button {
    position: absolute;
    top: 10px;
    right: 20px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background-color: #FBF6DF;
    border-radius: 190px;
}
.find-serial-number .list_choix .list_choix-element video {
    max-height: calc(100vh - 80px);
}
.error-form {
    padding: 25px;
    background-color: var(--grey-apple);
    border-radius: 18px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.error-form [type="submit"] {
    font-weight: 500;
    font-size: .875em;
}
/** Keyframes **/
@-webkit-keyframes opentooltip {
    0% {
        opacity: 0;
        margin-top: -90px;
    }
    15% {
        opacity: 0;
        margin-top: -60px;
    }
    50% {
        opacity: 0.3;
        margin-top: -30px;
    }
    100% {
        opacity: 1;
        margin-top: 0px;
    }
}
@-moz-keyframes opentooltip {
    0% {
        opacity: 0;
        margin-top: -90px;
    }
    15% {
        opacity: 0;
        margin-top: -60px;
    }
    50% {
        opacity: 0.3;
        margin-top: -30px;
    }
    100% {
        opacity: 1;
        margin-top: 0px;
    }
}
@-o-keyframes opentooltip {
    0% {
        opacity: 0;
        margin-top: -90px;
    }
    15% {
        opacity: 0;
        margin-top: -60px;
    }
    50% {
        opacity: 0.3;
        margin-top: -30px;
    }
    100% {
        opacity: 1;
        margin-top: 0px;
    }
}
@keyframes opentooltip {
    0% {
        opacity: 0;
        margin-top: -90px;
    }
    15% {
        opacity: 0;
        margin-top: -60px;
    }
    50% {
        opacity: 0.3;
        margin-top: -30px;
    }
    100% {
        opacity: 1;
        margin-top: 0px;
    }
}
/** Responsive **/
@media screen and (max-width: 1300px) {
    .configuration {
        width: calc(100% - 100px);
    }
    #droite {
        left: inherit;
        right: 0px;
    }
    .bigmain .bundle {
        width: calc(100% - 100px);
        max-width: 100%;
        margin-left: inherit;
        margin-right: inherit;

        margin-left: 50px;
    }
}
@media screen and (max-width: 1000px) {
    .operation {
        padding: 40px 30px 40px 30px;
        background-position: top left 5%;
    }
    #gauche_mobile,
    #gauche {
        width: 40%;
    }
    #droite {
        width: 54%;
    }
    .bigmain .bundle {
        width: calc(100% - 200px);
        margin-left: 100px;
    }
    .bigmain .timesteps {
        width: 48%;
    }
    .bigmain.bigmain_operation {
        background-size: cover;
    }
    .bigmain.bigmain_operation .timeline {
        justify-content: space-around !important;
    }
    .bigmain.bigmain_operation .timesteps {
        width: 48%;
    }
    .bigmain.bigmain_operation .timesteps:nth-child(2) {
        margin-left: 20px;
    }
}
@media screen and (max-width: 900px) {
    .configuration {
        display: block !important;
        /* padding-top: 120px; */
    }
    .configuration > .replace_banner.reprise {
        display: flex;
        margin-bottom: 40px;
    }
    #gauche_mobile,
    #gauche,
    #droite {
        width: 100%;
    }
    #gauche_mobile,
    #gauche {
        margin-bottom: 80px;
    }
    #gauche_mobile {
        display: flex !important;
    }
    #gauche {
        display: none !important;
    }
    #droite .operation {
        display: block;
    }
    #fauche .operation {
        display: none;
    }
    .articles {
        max-width: 100%;
    }
    .articles_resume {
        flex-direction: column-reverse;
    }
    #gauche_mobile .operation:not(.is-hidden)+img,
    #gauche .operation:not(.is-hidden)+img {
        margin-top: 0px;
        margin-bottom: 50px;
    }
}
@media screen and (max-width: 760px) {
    .bigmain .bundle {
        width: calc(100% - 100px);
        margin-left: 50px;
    }
}
@media screen and (max-width: 600px) {
    .bigmain .timesteps {
        min-width: 100%;
    }
    .bigmain.bigmain_operation {
        background-size: cover;
    }
    .bigmain.bigmain_operation .timesteps {
        min-width: 100%;
    }
    .bigmain.bigmain_operation .timesteps:nth-child(2) {
        margin-left: 0px;
    }
}
@media screen and (max-width: 530px) {
    .configuration {
        padding-top: 140px;
        width: calc(100% - 60px);
    }
    .small_cards.trio,
    .small_cards.quatro {
        width: calc(50% - 10px);
    }
    .modale_reprise {
        width: 100%;
    }
    .bigmain .bundle {
        width: 100%;
        margin-left: 0px;
    }
    .bigmain .personnaliser {
        width: calc(100% - 60px);
        margin-left: 30px;
    }
    .bigmain.bigmain_operation {
        background-position-y: -375px;
        background-position-x: 37%;
    }
    .replace_banner {
        width: calc(100% + 60px);
        margin-left: -30px;
        border-radius: 0;
        border-right: 0;
        border-left: 0;
    }
}
@media screen and (max-width: 470px) {
    .appareil {
        display: block !important;
        text-align: left;
    }
}
@media screen and (max-width: 450px) {
    .modale_reprise {
        padding: 30px;
    }
}
@media screen and (max-width: 430px) {
    h2 {
        font-size: 1.500em;
    }
    h3 {
        font-size: 1.000em;
    }
    p {
        font-size: 0.875em;
    }
    .critere_title {
        flex-direction: column;
        align-items: flex-start !important;
    }
}
@media screen and (max-width: 400px) {
    .decision {
        flex-direction: column;
    }
    .ajout_panier {
        margin-top: 30px;
    }
    .decision .ajout_panier:first-child {
        margin-top: 50px;
        margin-right: 0px;
    }
}