

/*** Fonts ***/
@font-face {
	font-family:"DinPro-Bold";
	src: url("../fonts/DINPro-Bold.ttf");
}
@font-face {
	font-family:"DinPro-Black";
	src: url("../fonts/DINPro-Black.otf");
}
@font-face {
	font-family:"DinPro-Regular";
	src: url("../fonts/DINPro-Regular.otf");
}
@font-face {
	font-family:"DinPro-Medium";
	src: url("../fonts/DINPro-Medium.otf");
}
@font-face {
	font-family:"GothicA1-Black";
	src: url("../fonts/GothicA1-Black.ttf");
}
@font-face {
	font-family:"GothicA1-Medium";
	src: url("../fonts/GothicA1-Medium.ttf");
}
@font-face {
	font-family:"MuseoSans-Light";
	src: url("../fonts/museo-sans-300.ttf");
}
@font-face {
	font-family:"MuseoSans-Medium";
	src: url("../fonts/museo-sans-500.otf");
}
@font-face {
	font-family:"MuseoSans-Bold";
	src: url("../fonts/museo-sans-700.ttf");
}
@font-face {
	font-family:"MuseoSans-Black";
	src: url("../fonts/museo-sans-900.ttf");
}
@font-face {
	font-family:"MuseoSans-100";
	src: url("../fonts/museo-sans-100.ttf");
}
@font-face {
	font-family:"MuseoSans-300";
	src: url("../fonts/museo-sans-300.ttf");
}
@font-face {
	font-family:"MuseoSans-500";
	src: url("../fonts/museo-sans-500.otf");
}
@font-face {
	font-family:"MuseoSans-700";
	src: url("../fonts/museo-sans-700.ttf");
}
@font-face {
	font-family:"MuseoSans-900";
	src: url("../fonts/museo-sans-900.ttf");
}
@font-face {
    font-family: "ITCAvantGardeGothic";
    src: url("../fonts/ITCAvantGardeStd-Bold.otf") format("opentype");
}

@font-face {
    font-family: "Bodoni-72";
    src: url("../fonts/Bodoni-72.woff") format("woff");
}

#patch{
    position: absolute;
    top: 30.4vw;
    left: 31.3vw;
}
#patch img {width: 11vw; height: auto;}

@media (max-width: 768px) {

    #patch{
        position: absolute;
        top: 50vw;
        right: 2vw;
        left: unset;
    }
    #patch img {width: 32vw; height: auto;}

}

.citation-architecte {
    display: none;
}

#remise b {
	font-family: 'DinPro-Bold';
}

.mobile {
    display:none;
}

.desktop {
    display:block;
}

.sticky-bar { background: #BF5735; font-weight:normal; box-shadow:0px 0px 10px rgba(0,0,0,0.5); }
.sticky-bar { position:fixed; left:0px; bottom:0px; right:0px; padding:12px 10px; text-align:center; overflow:hidden; background-color:#BF5735; color:#fff !important; font-size:16px; font-weight:bold; text-decoration:none !important; display:none;     z-index: 1; }

#tarteaucitron {
    z-index: 1000000000000 !important;
}



/* PLESSI - SCENE 3 */

main .header img.logo {
    width: 21vw;
}

main .header {
    display: flex;
    gap: 2vw;
    flex-direction: row-reverse;
    justify-content: left;
    height: 35vw;
}

main .header .header-left {
    width: 33%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}



main .header .titre-lancement {
    font-family: "ITCAvantGardeGothic";
    font-size: 1.8vw;
    text-transform: uppercase;
    color: #fff;
    padding: 0.7vw 1.5vw 0.5vw 1.5vw;;
    background-color: #94BFA8;
    width: fit-content;
    position: absolute;
    top: 3vw;
    right: 0;
    z-index: 1;
    border-top-left-radius: 10vw;
    border-bottom-left-radius: 10vw;
    font-weight: bold;
}

main .header .titre-lancement span {
    color: #004289;
}

main .header .header-right {
    width: 60%;
    position: relative;
    overflow: hidden; /* Coupe tout ce qui dépasse, y compris les traits noirs aux bords */
    background-color: white;
}

main .header .header-left .header-title {
    display: flex;
    flex-direction: column;
    gap: 0vw;
    margin: 0.5vw 0 1vw 0vw;
}

main .header .header-left h1.title {
    font-family: 'Bodoni-72';
    font-size: 5.8vw;
    font-weight: bold;
    color: #94BFA8;
    margin-bottom: 0;
}

main .header .header-left h1.sub-title {
    color: #004289;
    font-size: 1.7vw;
    font-weight: 900;
    font-family: 'Bodoni-72';
} 

main .header .header-left h1.sub-title2 {
    color: #004289;
    font-size: 1.6vw;
    font-weight: 700;
    font-family: 'Bodoni Moda';
    letter-spacing: -0.15rem;
}

/* main .header-left h5 {
    width: fit-content;
    background-color: #004289;
    color: #fff;
    border-top-right-radius: 10vw;
    border-bottom-right-radius: 10vw;
    padding: 0.5vw 3vw;
    font-size: 1.1vw;
    font-weight: bold;
    text-transform: uppercase;
} */

main .header-left .jpo {
    font-family: "Poppins";
    color: #004289;
    font-size: 1.7vw;
    font-weight: bold;
    margin: 1.5vw 3vw 0.5vw 3vw;
    line-height: 2vw;
}

main .header-left .jpo span{
    font-family: "Poppins";
    color: #94BFA8;
    font-weight: bold;
}

main .header-left h2 {
    font-family: "Poppins";
    color: #004289;
    font-size: 1.1vw;
    font-weight: bold;
    margin: 1.5vw 0 0.5vw 3vw;
}

main .header-left .description {
    font-family: "Poppins";
    color: #004289;
    font-size: 0.8vw;
    text-align: justify;
    /* font-weight: bold; */
    margin: 0 0 0 3vw;
}

main .header-left .atouts p {
    font-family: "Poppins";
    font-size: 0.8vw;
    color: #000;
    font-weight: 400;
    margin: 0.5vw 0 0 3vw;
}

.patch-offre-1 {
    width: fit-content;
    background-color: #004289;
    color: #fff;
    border-top-right-radius: 10vw;
    border-bottom-right-radius: 10vw;
    padding: 0.5vw 1.5vw;
    font-size: 1.6vw;
    font-weight: 900;
    text-transform: uppercase;
    z-index: 1;
    left: 0;
    top: 33.5vw;
    position: absolute;
}
.patch-offre-2 {
    width: fit-content;
    background-color: #94BFA8;
    color: #004289;
    border-top-right-radius: 10vw;
    border-bottom-right-radius: 10vw;
    padding: 0.5vw 1.5vw;
    font-size: 1.6vw;
    font-weight: 900;
    text-transform: uppercase;
    z-index: 1;
    left: 0;
    top: 36.4vw;
    position: absolute;
}

.patch-offre-2 sup {
    font-size: 0.6vw;
    position: relative;
    top: -1vw;
}

main .header-left .atouts p:last-of-type {
    padding-bottom: 1.5vw;
}

main .header-right video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-right-radius: 20vw;
    position: absolute;
    bottom: 0;
}

/*au cas ou video sans trait noir */
/* main .header-right video {
    width: 63vw;
    height: 35vw;
    object-fit: cover;
    border-top-left-radius: 10vw;
    position: absolute;
    bottom: 0;
} */

main .main {
    background-color: #EBEBEB;
    display: flex;
    gap: 5vw;
    padding: 3vw 3vw 3vw 6vw;
    flex-direction: row-reverse;
    align-items: center;
}

main .main .main-left {
    width: 60%;
    position: relative;
}

main .main .main-left img {
    width: 45vw;
    border-radius: 1vw;
}

main .main .main-right {
    width: 45vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.3vw;
}

main .main .main-right h3 {
    font-family: "Libre Bodoni";
    font-size: 2.5vw;
    font-weight: bold;
    color: #004289;
    font-weight: 400;
    font-style: normal;

}

main .main .main-right h3 span.titre {
    font-family: 'Poppins';
    color: #94BFA8;
    font-size: 2.5vw;
    font-weight: 275;
}

main .main .main-right h3 span.cadre-vie-offset {
    display: inline-block;
    margin-left: 2vw;
}



main .main .main-right p {
    color: #004289;
    font-family: "Poppins";
    font-size: 0.8vw;
    font-weight: 300;
    width: 95%;
    line-height: 1.3vw;
    text-align: justify;
}

/* main .main .main-right img {
    width: 22vw;
    height: auto;
    margin-top: 1vw;
} */

footer {
    width: 100%;
    margin-top: 0;
    background-color: #fff;
}

footer .footer-top {
    display: flex;
    flex-direction: column;
    gap: 1vw;
    justify-content: center;
    align-items: center;
}

footer .footer-top .logos {
    display: flex;
    gap: 2vw;
    align-items: center;
    padding-top: 1.7vw;
}

footer .footer-top .logos p {
    color: #004289;
    font-size: 0.6vw;
    position: relative;
    margin-top: -6vw;
    font-weight: 300;
    font-family: 'Poppins';
}

footer .footer-top .logos img {
    width: auto;
    height: 3.5vw;
}

footer .footer-top .logos img:first-of-type {
    margin-right: -4vw;
}

footer .footer-top .logos img:last-of-type {
    margin-left: -4vw;
}

footer .footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3vw 3vw 0 3vw;
}

footer .footer-top .contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 0.5vw;
}

footer .footer-top .contact .cta-tel {
    background-color: #004289;
    color: #fff;
    border-radius: 10vw;
    padding: 0.5vw 2vw;
    font-family: "Poppins";
    font-size: 1vw;
}

footer .footer-top .contact .cta-info a {
    color: #004289;
    font-family: "Poppins";
    font-size: 0.6vw;
}

/* #formulaire #headerform h3 {
    font-family: "Poppins";
    font-size: 1.5vw;
    font-weight: 300;
    color: #fff;
    line-height: 1.9vw;
    text-align: center;
} */

#formulaire #headerform p {
    font-family: "Poppins";
    font-size: 0.95vw;
    color: #004289;
    font-weight: 300;
    line-height: 1vw;
    text-align: start;
    padding-top: 1.4vw;
    text-align: center;
    width: 80%;
    margin: 0 auto;
}

#confirmation {
    color: #004289;
}



/* ---------------- */





/*** General ***/

@media (min-width: 900px) {
    .modal-dialog {
        max-width: 70% !important;
        margin: 1.75rem auto;
    }
}

#formulaire::-webkit-scrollbar {
    display: none;
}

#oui {
    position: absolute;
    font-size: 0.9vw;
    left: -2.5vw;
    color: #FFFFFF;
    font-family: 'GothicA1-Black';
    top: 0.25vw;
}

#non {
    position: absolute;
    font-size: 0.9vw;
    left: 3.8vw;
    color: #FFFFFF;
    font-family: 'GothicA1-Black';
    top: 0.25vw;
}

#portesouvertes {
    position: absolute;
    background-color: #A3925A;
    right: 30vw;
    top: 11vw;
    font-size: 1.5vw;
    z-index: 5;
    color: #FFFFFF;
    padding: 0vw 5vw;
    font-family: "DinPro-Black";
}

* {box-sizing: border-box;}
html, body {width:100%; padding:0px; margin:0px; font-family:"MuseoSans-500"; color:#000;}
main {width: 100%;}
p {font-weight:300; font-size: 0.9vw; margin: 0;}
b {font-weight:700;}
.medium {font-weight:400;}
.black {font-weight:900;}
.white {color:#ffffff;}
.uppercase {text-transform:uppercase;}
.underline {text-decoration:underline}

h2 {font-size:1vw; font-weight: 300; line-height: 1.6vw;}
.center {text-align:center;}
a  {color:#FFFFFF; }
sup {text-transform: lowercase; font-size: 0.8vw;}
.desktop {display:block;}
.mobile {display:none;}
/*** Cookie Consent Constructa UI ***/

#tarteaucitronRoot #tarteaucitronAlertBig {    background-color: #FFFFFF !important;}
#tarteaucitronAlertBig #tarteaucitronCloseAlert, #tarteaucitron #tarteaucitronPrivacyUrl {background: #BF5735 !important;}

/*** Main ***/

#logoprogramme {
    width: 11vw;
    margin-left: 3vw;
    margin-top: 3vw;
}

#devenezproprio {
    font-family: "DinPro-Black";
    font-size: 1.2vw;
    margin-left: 3.3vw;
    margin-top: 1vw;
    line-height: 1.4vw;
}
#devenezproprio sup{top: -1em; }

#prochainement {
    position: absolute;
    top: 3vw;
    left: 31vw;
    text-transform: uppercase;
    font-size: 1.4vw;
    font-family: "DinPro-Bold";
}

#persprincipal {
    position: absolute;
    top: 8.5vw;
    right: 0vw;
    width: 69vw;
}

#forme {
    position: fixed;
    display:none;
    right: 0px;
    top: 0px;
    height: 100vh;
}

.patch-offre {
    position: absolute;
    width: 15vw;
    left: 31.5vw;
    top: 15vw;
}

#corea {
    color: #000000;
    font-family: "MuseoSans-Black";
    font-size: 0.8vw;
    margin-left: 7.4vw;
    margin-bottom: 0.5vw;
}

#logoemerige {
    width: 4.5vw;
}

#mentionsfooter {
    position: absolute;
    top: 3vw;
    font-family: "MuseoSans-500";
    font-size: 0.8vw;
    left: 30vw;
    color: #424242;
}

#mentionsfooter a {
    margin-right: 1vw;
    color:#424242;
    text-decoration: underline;
}

#contactphone {
    position: relative;
    color: #000000;
    font-family: "GothicA1-Black";
    font-size: 1vw;
    left: 32vw;
    bottom: 2vw;
    text-decoration: none;
    width: fit-content;
}

#contactphone img {
    width: 1.1vw;
    vertical-align: middle;
    margin-right: 0.5vw;
}

/*** Formulaire ***/

/* #headerform:after {
    content: '';
    position: absolute;
    top: 9.2vw;
    left: 42%;
    border-left: 2vw solid transparent;
    border-right: 2vw solid transparent;
    border-top: 1.4vw solid #000000;
    clear: both;
} */

input:focus,select:focus,textarea:focus,button:focus {outline: none;}
input {  color: #BF5735;font-family: 'DINPro-Bold', sans-serif;   width: 100%;    height: 2.3vw;margin-bottom: 0.7vw;padding: 0vw 1.5vw;border: 1px solid #BF5735;font-size: 0.8vw;}
input::placeholder {font-family: 'MuseoSans-300', sans-serif; color:#A7A7A7; font-size:0.7vw;}

#civilite .control, #optin .control {text-align: center;}
#projet .control, #projet .control {text-align: center;}
.form-group input[type="radio"].custom {-webkit-appearance: none;appearance: none;-webkit-border-radius: 0px;border-radius: 0px;display: none;}
.form-group input[type="radio"].custom + label {
    display: inline-block;
    position: relative;
    height: 1vw;
    line-height: 2vw;
    width: 1vw;
    padding: 0vw 0vw;
    border: solid 1px #ffffff;
    margin-right: 10px;
    font-size: 0.9vw;
    cursor: pointer;
    border-radius: 1vw;
    font-weight: 500;
    background-color: #FFFFFF;
}

#prenom {
    margin-left: 0.4vw;
}
#nom {
    margin-right: 0.4vw;
}

#nomprenom {
    display:flex;
}


.form-group input[type="radio"].custom:checked + label:after {
    content: "";
    position: absolute;
    width: 0.7vw;
    height: 0.7vw;
    left: 0.09vw;
    top: 0.08vw;
    right: 0px;
    bottom: 0px;
    border: solid 0.3vw #E2C28A;
    box-sizing: border-box;
    z-index: 0;
    background: #E2C28A;
    color: #FFFFFF;
    border-radius: 1vw;
}

#civiliteun b {
    position: absolute;
    left: -4.1vw;
    top: -0.6vw;
    color: #FFFFFF;
    font-family: "DINPRO-Bold";
}

#civilitedeux b {
    position: absolute;
    left: 1.6vw;
    top: -0.6vw;
    color: #FFFFFF;
    font-family: "DINPRO-Bold";
}

#infospersos {
    color: #FFFFFF;
    font-family: "DINPro-Black";
    padding-bottom: 20px;
}

.form-group.error input,.form-group.error select { border: solid 1px #ff0000; }
.ui-autocomplete.ui-menu .ui-menu-item { list-style-type:none !important; z-index:5000; }
.ui-autocomplete.ui-menu .ui-menu-item:before,  .ui-helper-hidden-accessible { display:none !important; }
.btn-documentation {
    position: relative;
    background-color: #BF5735;
    color: #FFFFFF !important;
    text-transform: uppercase;
    border-radius: 3vw;
    text-decoration: none !important;
    font-family: 'DINPRO-Bold', sans-serif;
    font-weight: 300;
    cursor: pointer;
    font-size: 0.9vw;
    display: block;
    margin: auto;
    border: 0px;
    padding: 0.7vw 4vw;
    margin-top: 1vw;
}

#contact-step .toggle-switch input {
    cursor: pointer;
    height: 26px;
    opacity: 0;
    transform: translate(-50%);
    width: 46px;
    z-index: 2;
}

.position-absolute {
    position: absolute!important;
}

#contact-step .toggle-switch label {
    color: #666;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    min-width: 83px;
}

.text-end {
    text-align: right!important;
}

#contact-step .toggle-switch input.order-1 {
    transform: translate(50%);
}

#contact-step .toggle-switch input {
    cursor: pointer;
    height: 26px;
    opacity: 0;
    transform: translate(-50%);
    width: 46px;
    z-index: 2;
}

#contact-step {
    margin-top: 27px;
}

#contact-step .toggle-switch input:checked~.switch-state:after {
    left: 0;
    transform: translateX(0);
}

#contact-step .toggle-switch input~input:checked~.switch-state:after {
    left: 100%;
    transform: translateX(-100%);
}

.order-1 {
    order: 1!important;
}

.order-0 {
    order: 0!important;
}

#contact-step .toggle-switch label {
    color: #666;
    cursor: pointer;
    font-size: 19px;
    font-weight: 400;
    min-width: 127px;
    margin-left: 17px;
    margin-right: 17px;
}

#contact-step .toggle-switch label {
    color: #666;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    min-width: 83px;
}

#contact-step .toggle-switch .switch-state {
    background: #f5f5f5;
    border-radius: 100px;
    cursor: pointer;
    display: block;
    height: 20px;
    position: relative;
    width: 46px;
}

#contact-step .toggle-switch input:not(:checked)~input:not(:checked)~.switch-state:after {
    background-color: #666;
    left: 50%;
    transform: translateX(-50%);
}

#contact-step .toggle-switch .switch-state:after {
    background: #BF5735;
    border-radius: 50%;
    content: "";
    height: 26px;
    left: 0;
    position: absolute;
    top: -3px;
    transition: .3s;
    width: 26px;
}

.order-3 {
    order: 3!important;
}

.btn-documentation:hover {background-color: #000000;}

#projet {    margin-top: 1vw;}
#formulaire {
    /* position: fixed;  */
    width: 100%;
    top:0;
    right: 0; 
    overflow-y: scroll; 
    background-color: #fff;
    z-index: 2;
    height: 90vh;
    /* box-shadow: 0px 0px 5px rgb(0 0 0 / 30%); */
}
#headerform {padding: 2vw 2vw 0vw 2vw;}
#headerform p {color: #ffffff;font-family: "DINPRO-Black";text-align: center;font-size: 1.1vw;}
#contentform {padding: 2vw 2vw 2vw 2vw; width: 75%; margin: 0 auto;}
#bulle {position:relative;display:block;margin:auto;width: 3vw;}
#accroche {text-align: center;font-size: 1.3vw;}
#civilite {margin-bottom: 1vw;}
#civilite_2:checked + label:after {content: "" !important;}
#projet_1:checked + label:after {content: "Habiter" !important;}
#projet_2:checked + label:after {content: "Investir" !important;}
#optin_1:checked + label:after {content: "Oui" !important;}
#optin_2:checked + label:after {content: "Non" !important;}
#champsobligatoires {text-align: center;margin: 0; font-size: 0.75vw; font-family: 'MuseoSans-300'; color:#A7A7A7;   margin-top: 1vw;}
#privacy {text-align: left;font-size: 0.7vw; color: #000;  font-family: "Poppins"; line-height: 1vw;}
#accrocheoptin {font-size: 0.8vw; text-align: center;font-weight: 400; font-size: 0.9vw;}
#footerform {position: fixed;background-color: #BF5735;width: 26%;right: 0px;bottom: 0px;     padding: 1vw;}
#textfooter { color: #FFFFFF;text-align: center;font-size: 0.8vw;}
#telephonefooter {position: relative;display: block;margin: auto;font-size: 1.2vw;padding: 0.5vw 1vw 0.5vw 2.5vw;border-radius: 5vw;background-color: #FFFFFF;color: #BF5735;font-family: 'Lato', sans-serif;font-weight: 900;border: 0px;}
#pictotel {position: absolute;left: 0.7vw;top: 0.6vw;width: 1.4vw;}
#appelgratuit {color: #FFFFFF;font-size: 0.6vw;display: block;position: relative;margin: auto;text-align: center;padding-top: 5px;}
#ctamobile {display: none;position: fixed;bottom: 6vw;left: 4%;width: 50%;background-color: #BF5735;color: #FFFFFF;border-radius: 20vw;text-decoration: none;font-size: 3.5vw;padding: 5vw 2vw 5vw 14vw; font-weight: 300; box-shadow: rgba(1, 40, 122, 0.25) 0px 54px 55px, rgba(1, 40, 122, 0.12) 0px -12px 30px, rgba(1, 40, 122, 0.12) 0px 4px 6px, rgba(1, 40, 122, 0.17) 0px 12px 13px, rgba(1, 40, 122, 0.09) 0px -3px 5px;}
#bullecta {position: absolute;width: 5vw;left: 6vw;}
#confirmation {text-align:center;}
#telephonefooter a {text-decoration:none;}
.form-group#typologies input[type="checkbox"] + label {display: inline-block; position: relative; height: 2vw; line-height: 2vw; color: #BF5735;padding: 0px 0.9vw;border: solid 1px #BF5735; margin-right: 0.5vw; font-size: 0.7vw; cursor: pointer;  font-weight: 400;}
.form-group#typologies input[type="checkbox"]:checked + label:after { content: " "; position: absolute;left: 0px; top: 0px; right: 0px;  bottom: 0px;  padding: 0px 0.9vw;  color: #FFFFFF;  background: #BF5735;  box-sizing: border-box; z-index: 1; width: 100%; height: 100%;}
.form-group#typologies input[type="checkbox"] {-webkit-appearance: none;appearance: none;-webkit-border-radius: 0px;border-radius: 0px;display: none;}


input[type='radio'], input[type='checkbox'] { position: relative; font-family: "Intro-Regular"; width: 6vw; display: inline-block; height: 2vw; margin: auto;   text-align: center;-webkit-appearance: none;margin-top: 0vw; vertical-align: top; border: none !important;}

#typologies_2:checked + label:after {content: "2P" !important;}
#typologies_3:checked + label:after {content: "3P" !important;}
#typologies_4:checked + label:after {content: "4P" !important;}
#typologies_5:checked + label:after {content: "5P" !important;}

/*** Footer ***/



#nb {
	width: 100%; background-color: white; position: relative; z-index: 1;
	color: black;
	padding-left: 3.3vw;
}
#nb > h2 {
	color: #BF5735; font-size: 1.6vw; line-height: 1.6vw;
	text-transform: uppercase;
	transform: translateY(-100%);
}
#nbc {
	display: grid; grid-template-columns: 59% 37%;
	align-items: center;
	gap: 4%;
}
#nbc > img {
	max-width: 100%;;
}
#nbc > div {
	font-size: 1.4vw; line-height: 1.6vw;
	width: 53%;
}
#nbc h3 {
	text-transform: uppercase;
}

#prochainement { font-size: 1.6vw; padding: 15px; background-color: #BF5735; color: white; font-weight: normal; }

#nmentions {
	margin-top: -5px;
	padding: 1vw 3.5vw;
	background: linear-gradient(to right, white, #707070 300%);
	color: #333;
	text-align: justify;
	font-size: 0.6vw; line-height: 1vw;
	font-family: "DINPRO-Medium";
    padding-right: 30%;
} 


/******  ******/

/* body { background:#fff url('../img/background-top.png') no-repeat; background-position:top left; background-size:25vw; background-position:0 -4vw; } */
#formulaire p.intro { font-family: "MuseoSans-500"; text-align:center; margin-bottom:20px; color:#1790D0; }
.form-group { margin-bottom:10px; }
.form-control { border-radius:0; border:solid 1px #fff; margin-bottom:0 !important; font-weight:normal; font-family:'MuseoSans-Medium'; font-size:14px; height:40px; line-height:40px; padding:0 8px; border-bottom: 2px solid #1790D0; }
.form-control::placeholder { font-family:'MuseoSans-Light'; font-size:14px; }
#nomprenom #nom, #nomprenom #prenom { flex:1; }
#privacy { text-align:justify; margin-top: 1.5vw; }
#privacy a { text-decoration:underline; color: #1790D0; }
.modal-a { text-decoration:underline!important; color: #1790D0 !important; }
#privacy a:hover { color:#002F62; }
#contact-step { margin-top:1.5vw; }
#contact-step .toggle-switch label { color:#000; text-transform:uppercase; margin-bottom:0; }
#contact-step .toggle-switch input:not(:checked)~input:not(:checked)~.switch-state:after { background:#1790D0; }
#contact-step .toggle-switch .switch-state:after { background:#1790D0; }
.btn-documentation { font-family:'Poppins'; font-weight: 300; width:40%; border-radius:0; background:#004289 !important; padding:0 4vw; height:3vw; line-height:3vw; border-radius: 5vw; letter-spacing: 0.2vw; }
#logoprogramme { margin-top:4vw; margin-left:9vw; box-shadow:0 6px 10px rgba(0,0,0,0.2); }
#persprincipal { top:4vw; width:68vw; }
#patchremise { width:18vw; top:5vw; left:30vw; }
/* footer:before { content:" "; position:absolute; left:0; top:0; width:100%; height:10vw; background:transparent url('../img/bandeau-footer.png') no-repeat; background-size:100% auto; } */
#logoemerige { height:3vw; width:auto; }
#logobrownfields {height: 3.3vw; width: auto; margin-left: 1vw; margin-bottom: 0.3vw;}
#logoprovini { height:3vw; width:auto; margin-left: 1vw;}
#nmentions { background:#fff !important; color:#707070; padding-bottom:3vw; }

.ui-autocomplete .ui-menu-item { font-size:14px; }


@media (min-width: 1026px) {
	.mobile { display: none !important; }
}
@media (max-width: 1025px) {

    #remise {
        position: absolute;
        color: #FFFFFF;
        background-color: #000000;
        padding: 2vw;
        font-size: 5vw;
        left: 5vw;
        line-height: 6vw;
        top: 4vw;
        font-family: 'DinPro-Regular';
        text-align: center;
        border: 2vw solid #A3925A;
    }

    .modal-body li {
        font-size: 12px;
    }

	.desktop { display: none !important; }
	#nb { padding: 0 7vw; }
	#nbc { grid-template-columns: 1fr; }
	#nb > h2 { font-size: 18px; line-height: 22px; }
	#nbc > div { font-size: 18px; line-height: 22px; margin: 15px 0 30px; width: 100%; }
	#prochainement { font-size: 4.5vw; }
	#nmentions {
		padding: 10px 30px 60px;
		font-size: 10px; line-height: 12px;
	}

	#contactphone { font-size: 6vw; }
	#contactphone img { width: 6.5vw; }
	#logoemerige { width: 22vw; margin-left: 3vw; }
    .sticky-bar { display:block; } 
}

.baseline h2 {
    font-family: "MuseoSans-700";
    font-size: 1.8vw;
    position: absolute;
    top: 6.3vw;
    left: 31.5vw;
    width: max-content;
    line-height: normal;
    margin: 0;
    background: rgb(226,194,138);
    background: linear-gradient(90deg, rgba(226,194,138,1) 0%, rgba(187,158,108,1) 100%);
    color: var(--white);
    font-weight: 700;
    padding: 1.3vw 1vw;
    text-transform: uppercase;
}
.baseline h2 .unbold {
    font-weight: 500;
}


.baseline h4 {
    font-family: "MuseoSans-100";
    font-size: 1.05vw;
    font-weight: 600;
    position: absolute;
    top: 15.7vw;
    left: 31.5vw;
    width: max-content;
    line-height: 1.6vw;
    margin: 0;
    background: #DB1065;
    /* background: linear-gradient(90deg, rgba(176,135,106,1) 0%, rgba(181,152,104,1) 100%); */
    color: var(--white);
    padding: 0.5vw 1vw 0.5vw 1vw;
    /* text-transform: uppercase; */
}

/* .baseline h4 span.overline {} */

.baseline h4 b {
    font-family: "MuseoSans-700";
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.25vw;
}

.baseline h4 strong {
    font-family: "MuseoSans-900";
    font-weight: 900;
    text-transform: uppercase;
}

.baseline h4 sup {
    font-size: 0.6vw;
    top: -1em;
}

.baseline .frst-h4 {
    top: 13vw;
}

.baseline .scnd-h4 {
    top: 18vw;
}

.overline::after {
    content: " ";
    width: 5vw;
    height: 1vw;
    border-bottom: 1px solid white;
    margin-top: -0.1vw;
    margin-left: -5.5vw;
    position: absolute;
}


.baseline .secd-h4 {
    padding-top: 0;

}

.ui-autocomplete {
    z-index: 99999 !important;
}

@media (max-width: 768px) {

    /* #headerform::before {
        content: " ";
        position: absolute;
        right: 6vw;
        top: 4.5vw;
        width: 10vw;
        height: 10vw;
        background: transparent url(../img/before_form_mob.svg) no-repeat;
        background-size: 10.5vw;
    } */

    #headercontent {
        padding-top: 18vw;
        /* padding-top: 61vw; */

    }
    #headercontent h1 {
        font-size: 5.2vw;
        margin-left: 3vw;
    }
    .baseline h2 {
        font-size: 4.3vw;
        top: 114.1vw;
        left: 0;
        text-align: start;
        width: 65%;
        padding: 4vw 2vw 4vw 3vw;
    }

    .baseline .frst-h4 {
        top: 108vw;
    }

    .baseline .scnd-h4 {
        top: 126vw;
    }
    
    .overline::after {
        width: 15vw;
        height: 1vw;
        border-bottom: 1px solid white;
        margin-top: 1.9vw;
        margin-left: -17.5vw;
    }
    
    .baseline h4 {
        font-size: 3.3vw;
        line-height: 5.5vw;
        left: 0vw;
        padding: 2vw 2vw 2vw 3vw;
        width: 66.5%;
        
    }
    .baseline h4 sup {
        position:relative;
        font-size: 2.6vw;
        top: -1.5vw;
    }

    .patch-offre {
        position: relative;
        width: 90%;
        bottom: -10vw;
        left: 50%;
        transform: translateX(-50%);
        top: inherit;
    }

    .baseline h4 b {
        font-size: 3.7vw;
        display: inline-block;

    }

    #patchremise {
        position: absolute;
        width: 60vw;
        top: 98vw;
        left: 0vw;
    }

    #portesouvertes {
        position: absolute;
        background-color: #A3925A;
        right: unset;
        left: 0px;
        top: 75vw;
        font-size: 5vw;
        z-index: 5;
        color: #FFFFFF;
        padding: 3vw 3vw;
        font-family: "DinPro-Black";
    }

    #contentform {
        padding: 6vw 3vw 8vw 3vw;
        background: #fff;
    }
    /* #contentform a { color: #fff; } */
    #contentform a:hover { color: #121433; }
    /* #contentform a:visited { color: #fff; } */
 

    .mobile {display:block;}
    .desktop {display:none;}

    #headerform p {
        color: black;
        font-family: "MuseoSans-Black";
        text-align: center;
        font-size: 5vw;
        line-height:1.1em;
    }

    #persprincipal {
        position: relative;
        top: unset;
        right: unset;
        width: 100%;
    }

    #civilite {
        margin-bottom: 8vw;
    }

    #forme {
        display:none;
        position: absolute;
        right: 0px;
        top: 0px;
        width: 100%;
        height: unset;
    }

    #logoprogramme {
        position: absolute;
        background-color: #FFFFFF;
        padding: 0;
        top: 0vw;
        right: 32vw;
        width: 36vw;
        margin-left: 0;
        z-index: 2;
        margin-top: 3vw;
        box-shadow: none;
    }

    #devenezproprio {
        font-size: 6vw;
        margin-left: 3vw;
        margin-top: 13vw;
        line-height: 1.2em;
    }

    sup {
        font-size: 3vw;
    }

    /* main ul {
        width: 95%;
        margin-left: 5vw;
        margin-top: 7vw;
    } */

    main ul li {
        /* list-style-image: url(../img/puce.svg); */
        color: #000000;
        font-size: 3.5vw;
        line-height: 5vw;
        margin-bottom: 5vw;
        /* padding-left: 5vw; */
    }
    main ul li:before { width:3.5vw; height:2.5vw; top:1vw; }

    /*** General ***/
    
    main {width:100%;}
    h1 {    font-size: 7vw;}
    h2 { font-size: 4vw;line-height: 6vw;}
    p { font-size: 4vw;}
	
    /*** Formulaire ***/

    #headerform {
        background-color: #FFFFFF;
        padding: 12vw 8vw 4vw 8vw;
    }

    /* #headerform:after {
        content: '';
        position: absolute;
        top: 37vw;
        left: 40%;
        border-left: 9vw solid transparent;
        border-right: 9vw solid transparent;
        border-top: 6vw solid #ffffff;
        clear: both;
    } */

    #formulaire {
        position: relative;
        width: 100%;
        box-shadow: unset;
        top: unset;
        right: unset;
        background-color: #ffffff;
        padding: 0vw 0vw 0vw 0vw;
        z-index: 2;
        height: auto;
    }

    input {
        color: #BF5735;
        font-family: 'MuseoSans-Bold', sans-serif;
        width: 100%;
        height: 10vw;
        margin-bottom: 4vw;
        padding: 0vw 6vw;
        border: 0px solid #BF5735;
        font-size: 3vw;
    }

    .form-group input[type="radio"].custom:checked + label:after {
        content: "";
        position: absolute;
        width: 3.9vw;
        height: 3.3vw;
        left: 0.29vw;
        top: 0.48vw;
        right: 0px;
        bottom: 0px;
        
        box-sizing: border-box;
        z-index: 0;
       
        color: #FFFFFF;
        border-radius: 6vw;
    }

    input::placeholder {font-size:3.5vw;}
    #nom {
        margin-right: 2vw;
    }

    #privacy {
        text-align: left;
        font-size: 2.8vw;
        color: #000;
        font-family: "Poppins";
        line-height: 4.4vw;
        text-align: justify;
        margin-top: 5vw;
    }

    #prenom {
        margin-left: 2vw;
    }

    #civiliteun b {
        position: absolute;
        left: -19.5vw;
        top: -0.6vw;
        color: #FFFFFF;
        font-family: "MuseoSans-500";
    }

    #civilitedeux b {
        position: absolute;
        left: 7.6vw;
        top: -0.6vw;
        color: #FFFFFF;
        font-family: "MuseoSans-500";
    }

    .mobile {
        display:block !important;
    }
    
    .desktop {
        display:none !important;
    }

    .form-group input[type="radio"].custom + label {
        display: inline-block;
        position: relative;
        height: 5vw;
        line-height: 5vw;
        width: 5vw;
        padding: 0vw 0vw;
        border: solid 1px #ffffff;
        margin-right: 23px;
        font-size: 4vw;
        cursor: pointer;
        border-radius: 6vw;
        font-weight: 500;
        background-color: #FFFFFF;
    }

    .switch {
        position: relative;
        display: block;
        margin: auto;
        margin-top: 1vw;
        margin-bottom: 1vw;
        width: 12vw;
        height: 7vw;
    }

    .slider:before {
        position: absolute;
        content: "";
        height: 5.4vw;
        width: 5.4vw;
        right: 1.4vw;
        bottom: 0.8vw;
        background-color: white;
        -webkit-transition: .4s;
        transition: 0.4s;
    }

    input:checked + .slider:before {
        -webkit-transform: translateX(-4vw);
        -ms-transform: translateX(-4vw);
        transform: translateX(-4vw);
    }

    

    #champsobligatoires {
        text-align: center;
        margin: 0;
        font-size: 3vw;
        font-family: 'MuseoSans-300';
        color: #A7A7A7;
        margin-top: 4vw;
    }

    

    /*** Header ***/
    
    #pers1 {display: block;width: 100%;}
    #patchheader {text-align:center; position: relative;background-color: #FFFFFF;top: 0px;left: unset; padding: 10vw 7vw; width: 100%;}
    #logoconstructablanc {position: absolute;top: 3%;width: 28vw;margin: auto;left: 0;right: 0;text-align: center;}
    #jesuiscristo {width: 50%;display: block;margin: auto;}
    #divmarseille {background-color: #F8F8F8;width: 44%;display: block;margin: auto;margin-top: 5vw;     position: relative;right: unset;top: unset;}
    #marseille {padding: 0vw 0vw 1vw 0vw;} 
    #archi {font-size: 4vw; position: relative;right: unset;left: unset;width: auto;top: unset;}
    #singularite {position: relative;right: unset;top: unset;width: auto;}

    /*** Où suis-je ***/

    #ousuisje {position: relative;background-color: #BEA766;display: block;margin: auto;width: 100%; padding: 10% 10% 45% 5%;color: #FFFFFF;}
    #forme1 {width: 100%;}
    #panoramarseille {position: relative;margin-top: 7vw;right: unset;top: unset;width: 100%; height: 48vw;}

    /*** Architecture unique ***/

    #architectureunique {position: relative;width: 100%;padding-left: 5%;margin-top: 10%; padding-right: 5%;}
    #architectureunique #blocleft {width: 100%;}
    #architectureunique #blocleft h1 { text-align:center; }
    #pers2mobile {display:block; position: relative; width: 100%; margin-top: 6vw;}
    #pers2 {display:none;}
    #forme2 {float: right;width: 45vw;margin-top: 10vw;}
    #composition {background-color: #121433;margin-top: 40%;position: relative; margin-top: 41%; padding: 37% 4% 13% 4%;}
    #forme3 {width: 100%; top: -4px; right: -1px;}
    #pers3 {position: relative;bottom: unset;margin-left: -5%;width: 100%;}

    /*** Visite virtuelle ***/

    #visitevirtuelle #blocright, #visitevirtuelle #blocleft {position: relative;right: unset;top: unset;     margin-top: 10%;}
    #forme2 {position: relative;width: 35vw;margin-top: 10vw;margin-left: 4%;}
    #iframe1, #iframe2 {width: 96%;height: 60vw;}

    /*** Offre ***/

    #offre {position: relative;margin-top: 12vw;padding: 0% 4% 4% 4%;}
    #pers4 {display:none;}
    #pers4mobile {display:block; width:100%;}

    /*** Footer ***/

    

    #logofooter {width: 35vw;}
    #mentions {right: unset; position:relative;} 

    #mentionsfooter {
        position: relative;
        margin-top: 7vw;
        top: unset;
        font-family: 'MuseoSans-Medium';
        font-size: 3vw;
        width: 100%;
        font-size: 3.5vw;
        left: unset;
        color: #424242;
        text-decoration: underline;
        text-align: center;
    }

    #logoemerige {
        width: 25vw;
        margin-left: 6vw;
        height: auto;
    }
    #logobrownfields {height: auto; width: 31vw; margin-left: 2vw; margin-bottom: 1vw;}
    #logoprovini { height:auto; width: 25vw; margin-left: 1vw; margin-bottom: -3vw;}

    #contactphone img {
        width: 4.5vw;
        vertical-align: middle;
        margin-right: 0.5vw;
    }

    #corea {
        color: #000000;
        text-align: center;
        font-size: 3.3vw;
        margin-left: unset;
        margin-bottom: 4vw;
       
    }

    #contactphone {
        position: absolute;
        color: #000000;
        font-family: 'MuseoSans-Black';
        font-size: 6vw;
        left: 65vw;
        text-decoration: none;
    }

    #contactphone img {
        width: 6.5vw;
        vertical-align: middle;
        margin-right: 4vw;
    }

    #mentionsfooter a {
        color: #424242;
        display: block;
        margin-bottom:3vw;
    }

    #contactphone {
        position: relative;
        display: block;
        text-align: center;
        margin: auto;
        margin-top: 4vw;
        color: #000000;
        font-family: 'MuseoSans-Black';
        font-size: 5vw;
        left: unset;
        text-decoration: none;
    }

    #oui {
        position: absolute;
        font-size: 4vw;
        left: -10.5vw;
        color: #FFFFFF;
        font-family: 'MuseoSans-Medium';
        top: 1.4vw;
    }

    #non {
        position: absolute;
        font-size: 4vw;
        left: 15vw;
        color: #FFFFFF;
        font-family: 'MuseoSans-Medium';
        top: 1.4vw;
    }

    footer #contactphone {
        order: 1;
        margin-bottom: 20px;
    }

		
    #nmentions {
        padding: 1vw 3vw;
        margin-bottom: 20vw;
        font-size: 3.5vw;
        line-height: 1.3em;
        font-family: 'MuseoSans-Medium';
    }
    
    .sticky-bar {
        height: 15vw;
        line-height: 15vw;
        padding: 0;
        font-family: 'MuseoSans-Light';	
    }
		
}

.modal-title { color:#004289 !important; }
.modal-body { color:#000; }
.modal-body h4 { font-size:18px; color:#004289; margin-bottom:15px; }
.modal-body h5 { font-size:16px; color:#004289; margin-bottom:15px; padding-left:30px; }
.modal-body p { margin-bottom:15px; }
.modal-body a { text-decoration:underline; color:#004289; }

.form-group.error .toggle-switch-item { color:#ff0000 !important; }

@media (max-width: 361px){
    .baseline h2 {
        width: 75%;
    }
}

@media (min-width: 769px) {
	nav.navbar-sticky { display:none !important; }
}
@media (max-width: 768px) {
	
	nav.navbar-sticky { position:fixed; top:0; left:0; right:0; z-index:1001; transition:all 0.4s ease; transform:translateY(-100%); box-shadow:0 0 10px rgba(0,0,0,0.4); opacity:0; }
	nav.navbar-sticky .header { display:block; height:60px; line-height:60px; background:#fff; text-align:center; }
	nav.navbar-sticky .annonce { display:block; background:#974C32; color:#fff; text-align:center; font-family:'MuseoSans-Light'; font-size:5.5vw; padding:4vw 0; text-transform: uppercase;}
	nav.navbar-sticky .annonce strong { font-family:'MuseoSans-Bold'; }
    nav.navbar-sticky .annonce b { font-family:'MuseoSans-Bold'; font-size:6.7vw; }
    nav.navbar-sticky .annonce sup { font-size:2.5vw; top:-3.3vw;}
	body.navbar-sticky nav.navbar-sticky { transform:translateY(0); opacity:1; }
	
	.modal-body h4 { font-size:3.6vw !important; }
	.modal-body h5 { font-size:3.3vw !important; }
	.modal-body p { font-size:3vw !important; }
	
}

.columns { display:flex; }
.columns > .column { flex:1; }


section#espace-vente { position:relative; margin-top:1vw; padding-top:4vw; padding-right:26vw; /*background:transparent url('../img/briques-espacevente.png') no-repeat; background-position:top right; background-size:44.80vw auto; */}
section#espace-vente:before {  }
section#espace-vente .columns { max-width:62vw; }
/* section#espace-vente .columns > .column { }
section#espace-vente .columns > .column:first-child { min-width:28vw; max-width:28vw; } */
section#espace-vente .columns > .column { text-align:center; background:#252525 /*url('../img/bg-espacevente.svg') no-repeat*/; background-size:cover !important; background-position:center !important; padding:4vw 2vw 4vw 3vw; color:#B59868; font-family:'MuseoSans-Medium'; font-size:1vw; }
section#espace-vente .columns > .column h2 { font-family:'MuseoSans-Black'; font-size:1.6vw; margin-bottom:1.5vw; }
section#espace-vente .columns > .column p { margin-bottom:1.5vw; font-family:'MuseoSans-Medium'; }
section#espace-vente .columns > .column p.text { font-family:'MuseoSans-Black'; text-transform: uppercase;}
/*section#espace-vente .columns > .column:last-child p strong { font-family:'MuseoSans-Black'; }*/
section#espace-vente .columns > .column p.adresse { font-family:'MuseoSans-700'; font-weight: 900;margin-bottom:0;}
section#espace-vente .columns > .column p.horairebv { width: 50%; font-family:'MuseoSans-700'; margin-bottom:0; padding:0.4vw; border-left:solid 3px #B59868; margin: 0 auto;}

section#espace-vente .columns > .column.illustration { background-repeat:no-repeat !important; background-size:cover !important; background-position:center !important; }
section#espace-vente .columns > .column .picto { position: absolute;
    right: 26.7vw;
    bottom: -6.5vw;
    width: 9.4vw;
    height: 8.6vw;
    background: transparent url(../img/after_bv.png) no-repeat;
    background-size: 3.5vw;
}

section#espace-vente .pin {
    width: 1.1vw;
    margin-left: 0.2vw;
    margin-top: -0.2vw;
}   

footer .ml {     
    font-family: 'MuseoSans-300';
    font-size: 0.7vw;
    line-height: 1.1vw;
    color: #707070;
    margin-top: 3vw;
    max-width: 100%;
    text-align: justify;
    padding: 0 5vw 3vw 5vw;
}
footer .ml a { color:#707070; text-decoration: none;}

:root {
	--padd		: 3.5vw;
	--padd2d	: calc(var(--padd) * 0.5);
	--padd3d	: calc(var(--padd) * 0.25);
	--padd2m	: calc(var(--padd) + var(--padd));
	--padd3m	: calc(var(--padd) + var(--padd) + var(--padd));

	--white		: #ffffff;
	--black		: #000000;
	--brown		: #974C32;
	--grey		: #F2F0EF;
	--orange	: #BF5735;

	--nav		: 6vw;
}


#tva {
    background-color: white;
    color: #C05635;
    position: absolute;
    border-radius: 50%;
    width: 4vw;
    height: 4vw;
    display: flex;
    align-items: center;
    left: 32.7vw; 
    justify-content: center;
    font-family: 'MuseoSans-Bold', sans-serif; 
    line-height: 1vw;
}

#tva > span { line-height: 0.8em; font-size: 0.95em;}
#ptz > span { line-height: 0.8em; font-size: 0.88em;}

#mab_baseline #tva sup {top: 0.5em; left: 0; font-size: .5em;}
#mab_baseline #ptz sup {top: 1.5em; font-size: .5em;}

#mab_baseline #tva .fsize_vmd { line-height: 0.8em;}
#mab_baseline #ptz .fsize_vmd { margin-left: 0.7vw;}

@media (min-width: 1025px) {
	#mab_baseline #tva { transform: translate(-20%, 75%);position: absolute; bottom: 0; margin-top: 0.5vw; left: 3.5vw; right: 0; background-color: white; color: #BF5735; box-shadow: 5px 0px 10px rgba(0, 0, 0, 0.2);
        z-index: 1;}
    #mab_baseline #ptz { transform: translate(93%, 75%);position: absolute; bottom: 0; margin-top: 0.5vw; left: 2.8vw; right: 0; background-color: white; color: #BF5735; box-shadow: 5px 0px 10px rgba(0, 0, 0, 0.2); }
}

#ptz {
    background-color: white;
    color: #C05635;
    position: absolute;
    border-radius: 50%;
    width: 4vw;
    height: 4vw;
    display: flex;
    align-items: center;
    left: 34.7vw; 
    justify-content: center;
    font-family: 'MuseoSans-Bold', sans-serif; 
}

@media (min-width: 769px) {
	#tva, #ptz { font-size: 1vw; }
}

@media (max-width: 768px) {

	#tva {
        width: 13.5vw;
        height: 13.5vw;
        top: 100vw;
        background-color: var(--white);
        border: 1px solid var(--brown);
        color: var(--brown);
        left: unset;
        right: 1vw;
        text-align: center;
        font-size: 4.6vw;
    }

    #tva span {
        padding-left: 3px;
    }
		
	#patchremise { top:83vw; }

    section#espace-vente strong { 
        border-left: none;
        /* font-size: 4vw; */
    }
    section#espace-vente hr {
        width: 30vw;
        background-color: #B89B6A;
        height: 1px;
    }
		
    section#espace-vente { padding-right:4vw; margin-top:0vw; padding-top:6vw; /*background:transparent url('../img/briques-espacevente.mobile.png') no-repeat; background-position:top right; background-size:66.66vw auto;*/ }
    section#espace-vente .columns { max-width:none; flex-direction:column; }
    section#espace-vente .columns > .column { min-width:100%; max-width:100%; }
    section#espace-vente .columns > .column:first-child { min-width:100%; max-width:100%; height:0; padding-bottom:70%; }
    section#espace-vente .columns > .column:last-child { text-align:center; padding:8vw 8vw; }
    section#espace-vente .columns > .column:last-child img.mobile { display:inline-block !important; margin-bottom:2vw; }
    section#espace-vente .columns > .column:last-child h2 { font-size:6vw; text-align:center; margin-bottom:4vw; }
    section#espace-vente .columns > .column:last-child h2 img { display:none; }
    section#espace-vente .columns > .column:last-child p { margin-bottom:4vw; font-size:3.4vw; }
    section#espace-vente .columns > .column:last-child p.text { margin-bottom:4vw; font-size:3vw; }
    section#espace-vente .columns > .column:last-child p.adresse { position:relative; margin-bottom:0; border:none; padding-top:3vw; }

    section#espace-vente .columns > .column:last-child p.horairebv { border-left:none; width: 100%;}

    footer .ml {padding-top: 4vw; max-width: 95%; margin: 0 auto; font-size:3vw; line-height: 3.3vw;}
       
}


/* --------------------------------------------------------------- mab baseline 09 2022*/

#mab_baseline { position: absolute; top: 6vw; left: 31vw; text-align: center; }
#mab_baseline h2 {border-bottom: 1px solid #fff;letter-spacing: 0.15em;}
#mab_baseline .offer:not(:last-child) { margin-bottom: 15px; }
#mab_baseline .offer {
	font-family: "MuseoSans-Light";
	position: relative;
	display: flex; flex-direction: column;
	justify-content: center;
	background-color: #BF5735; color: white;
	padding: 20px 25px 25px 25px;
	width: fit-content;
	font-size: 1vw; line-height: 1.6em;
}
#mab_baseline .offer hr {
    margin: 0.33em auto 0.15em;
    max-width: 75%;
    background-color: white;
    border-color: white;
}
#mab_baseline .offer strong { font-family: 'MuseoSans-Bold', sans-serif; }
#mab_baseline .offer .big { 
    font-size: 2vw;
    font-weight: bolder;
    line-height: 2vw;
    padding-left: 2vw;
}
#mab_baseline .offer .big sup {
    font-size: 0.4em;
}
#mab_baseline .offer .middle { font-size: 1.4vw; font-weight: bolder;}
#mab_baseline sup { top: -1.25em;
    left: -0.5em; font-family: "MuseoSans-Light"; }



@media (max-width: 1024px) {
	.desktop { display: none; }
	#mab_baseline {
		position: absolute;
		top: 100vw; left: 0;
		margin-bottom: 30px;
        width: 100%;
        text-align: center;
	}
	#mab_baseline .offer { height: auto;} 
	
}



@media (max-width: 768px) {
    #mab_baseline h2 {width: fit-content; margin: 0 auto; margin-bottom: 1.5vw;}
    #mab_baseline .offer {
        padding: 10px 15px 25px 15px;
        width: 100%;
        font-size: 4.6vw; 
        line-height: 1.2em;
    }

    #mab_baseline .offer .big { 
        font-size: 8vw;
        line-height: 11vw;
        padding-left: 5.5vw;
    }
    #mab_baseline .offer .middle { font-size: 5.5vw; font-weight: bolder;}

    #mab_baseline #tva { border: none; width: 18vw; height: 18vw; position: absolute; top: 0; margin-top: 1.5vw; right: 1.5vw; background-color: white; color: #BF5735;  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2); z-index: 1;}
    #mab_baseline #ptz { border: none; width: 18vw; height: 18vw; position: absolute; left: unset; bottom: 3vw; margin-top: 0.5vw; right: 1.5vw;  background-color: white; color: #BF5735;  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);}
    #mab_baseline #ptz .fsize_vmd { margin-left: 1.7vw;}
}

.cta {
    height: 14.66vw;
    font-size: 4.4vw; line-height: 1.2em;
    text-transform: uppercase;
    background: rgb(226,194,138);
    /* background: linear-gradient(90deg, rgba(226,194,138,1) 0%, rgba(181,152,104,1) 100%); */
    box-shadow: 0 -1px 10px -5px var(--black); border-radius: 5px 5px 0 0;
    padding-top: 5vw;
    /* padding-left: 10vw; */
    font-weight: bold;
    text-align: center;
}
.cta-fixed {
    position: fixed; right: var(--padd); bottom: 0; left: var(--padd);
    height: 14.66vw;
    font-size: 4.4vw; line-height: 1.2em;
    text-transform: uppercase;
    background: rgb(226,194,138);
    background: linear-gradient(90deg, rgba(226,194,138,1) 0%, rgba(181,152,104,1) 100%);
    box-shadow: 0 -1px 10px -5px var(--black); border-radius: 5px 5px 0 0;
    padding-top: 5vw;
    /* padding-left: 10vw; */
    font-weight: bold;
    text-align: center;
}

#civilite .toggle-switch input {
    cursor: pointer;
    height: 26px;
    opacity: 0;
    transform: translate(-50%);
    width: 46px;
    z-index: 2;
}

#civilite .toggle-switch input.order-1 {
    transform: translate(50%);
}

#civilite .toggle-switch input:checked~.switch-state:after {
    left: 0;
    transform: translateX(0);
}

#civilite .toggle-switch input~input:checked~.switch-state:after {
    left: 100%;
    transform: translateX(-100%);
}

#civilite .toggle-switch label {
    color: #000;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    min-width: 83px;
    margin-left: 17px;
    margin-right: 17px;
    margin-bottom: 0;
    text-transform: capitalize;
}

#civilite .toggle-switch .switch-state {
    background: #f5f5f5;
    border-radius: 100px;
    cursor: pointer;
    display: block;
    height: 20px;
    position: relative;
    width: 46px;
}

#civilite .toggle-switch input:not(:checked)~input:not(:checked)~.switch-state:after {
    background: #1790D0;
    left: 50%;
    transform: translateX(-50%);
}

#civilite .toggle-switch .switch-state:after {
    background: #002F62;
    border-radius: 50%;
    content: "";
    height: 26px;
    left: 0;
    position: absolute;
    top: -3px;
    transition: .3s;
    width: 26px;
}


@media (max-width: 768px) {
    main .header {
        flex-direction: column;
    }

    main .header img.logo {
        width: 55vw;
    }

    main .header .header-video.mobile {
        width: 100%;
        height: auto;
        margin: 5vw 0;
        text-align: end;
    }

    main .header .header-video.mobile video {
        width: 100%;
        border-top-left-radius: 25vw;
    }

    main .header .header-left, main .header .header-right {
        width: 100%;
    }

    main .header .header-left .header-title {
        align-items: start;
        margin: 5vw;
    }

    main .header .header-left h1.title {
        font-size: 16vw;
        text-align: center;
    }

    main .header .header-left h1.sub-title {
        font-size: 6.4vw;
    }

    main .header .header-left h1.sub-title2 {
        font-size: 5.8vw;
    }

    main .header-left h5 {
        padding: 1.5vw 5vw 1.5vw 10vw;
        font-size: 5vw;
    }

    .patch-offre-1 {
        width: fit-content;
        background-color: #004289;
        color: #fff;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 10vw;
        border-bottom-left-radius: 10vw;
        padding: 0.5vw 1.5vw;
        font-size: 1.6vw;
        font-weight: 900;
        text-transform: uppercase;
        z-index: 1;
        left: unset;
        right: 0;
        top: 110vw;
        position: absolute;
    }

    .patch-offre-2 {
        width: fit-content;
        background-color: #94BFA8;
        color: #004289;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 10vw;
        border-bottom-left-radius: 10vw;
        padding: 0.5vw 1.5vw;
        font-size: 1.6vw;
        font-weight: 900;
        text-transform: uppercase;
        z-index: 1;
        left: unset;
        right: 0;
        top: 118.3vw;
        position: absolute;
    }

    .patch-offre-2 sup {
        font-size: 3vw;
        position: relative;
        top: -2vw;
        left: 1vw;
    }

    main .header-left .jpo {
        font-family: "Poppins";
        color: #004289;
        font-size: 5.5vw;
        font-weight: bold;
        margin: 4.5vw 3vw 1.5vw 3vw;
        line-height: 7vw;
    }

    main .header .header-right {
        display: flex;
        justify-content: center;
        height: 90vw;
        margin-top: 5vw;
    }

    main .header .header-right img {
        width: 50%;
    }

    main .header-left h2 {
        font-size: 4.2vw;
        margin: 5.5vw 0 3.5vw 5vw;
    }

    main .header-left .description {
        font-size: 3.5vw;
        margin: 0 0 0 10vw;
        padding: 0 5vw 0 0;
        text-align: justify;
    }

    main .header-left .atouts p {
        font-size: 3.5vw;
        margin: 3.5vw 0 0 5vw;
    }

    main .header-left .atouts p:last-of-type {
        padding-bottom: 3.5vw;
    }

    main .main {
        padding: 8vw 5vw 10vw 5vw;
        flex-direction: column;
        background-size: 160vh;
        background-position: -225vw 170vw;
        gap: 5vw;
    }

    main .main .main-left {
        width: 100%;
        position: relative;
    }

    main .header .titre-lancement {
        font-family: "ITCAvantGardeGothic";
        font-size: 4.1vw;
        text-transform: uppercase;
        color: #fff;
        padding: 1.5vw 5vw 0.5vw 10vw;
        background-color: #94BFA8;
        width: 63vw;
        position: relative;
        top: -1vw;
        right: 0;
        z-index: 1;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-top-right-radius: 10vw;
        border-bottom-right-radius: 10vw;
        font-weight: bold;
        text-align: left;
    }

    main .main .main-left img {
        width: 100%;
        border-radius: 5vw;
    }

    main .main .main-right {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1.5vw;
    }

    main .main .main-right h3 {
        font-size: 4.2vw;
        font-weight: bold;
        width: 100%;
    }

    main .main .main-right p {
        font-size: 3.5vw;
        font-weight: 300;
        line-height: 5vw;
        text-align: justify;
    }

    /* main .main .main-right img {
        width: 88vw;
        height: auto;
        margin-top: 3vw;
    } */

    #formulaire #headerform h3 {
        font-size: 6.5vw;
        line-height: 7.5vw;
    }

    #formulaire #headerform p {
        font-size: 4vw;
        line-height: 5vw;
    }

    #formulaire #headerform {
        border-bottom-left-radius: 15vw;
        padding-bottom: 0vw;
    }

    #contact-step {
        margin-top: 5.5vw;
    }

    .btn-documentation {
        position: relative;
        color: #FFFFFF !important;
        text-transform: uppercase;
        text-decoration: none !important;
        font-size: 5vw;
        margin-top: 6vw;
        height: 11vw; 
        line-height:11vw;
        width: 90%;
    }

    footer {
        width: 100%;
        margin-top: 0;
        padding-bottom: 20vw;
    }

    footer .footer-top {
        flex-direction: column;
        align-items: center;
        gap: 4vw;
        padding-bottom: 0vw;
    }

    footer .footer-top .logos img {
        width: auto;
        height: 12.5vw;
    }

    footer .footer-top .contact {
        align-items: center;
        gap: 6.5vw;
    }

    footer .footer-top .contact .cta-tel {
        padding: 2vw 7vw;
        font-size: 6.5vw;
        font-weight: bold;
    }

    footer .footer-top .contact .cta-info a {
        color: #004289;
        font-size: 2.6vw;
    }

    footer .footer-top .logos {
        gap: 6vw;
        padding-top: 10vw;
    }

    .cta {
        position: fixed;
        bottom: 0;
        width: 100%;
        background-color: #fff;
        color: #1790D0;
        font-family: "Poppins";
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    footer .footer-top .logos img:first-of-type {
        margin-right: -13vw;
    }

    footer .footer-top .logos img:last-of-type {
        margin-left: -13vw;
    }

    footer .footer-top .logos p {
        margin-top: -22vw;
        margin-right: -15vw;
        font-size: 3.8vw;
    }
    
}

@media (max-width: 490px) {
    main .main {
        background-position: -180vw 190vw;
    }
}

@media (max-width: 450px) {
    main .main {
        background-position: -210vw 190vw;
    }
    
}

@media (max-width: 430px) {
    main .main {
        background-position: -180vw 185vw;
    }
}

@media (max-width: 410px) {
    main .main {
       background-position: -180vw 190vw;
    }
}

@media (max-width: 380px) {
    main .main {
       background-position: -165vw 190vw;
    }
}


/* ----- LANDING COMPLETE ----  */

/* --- nav --- */

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1vw 4vw;
    background-color: #fff;
    border-bottom-left-radius: 1vw;
    border-bottom-right-radius: 1vw;
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.10);
    position: relative;
    z-index: 1;
    transition: padding 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease;
}

nav.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    border-radius: 0;
    padding: 0.75vw 4vw;
    background-color: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: navSlideDown 1s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes navSlideDown {
    from {
        opacity: 0;
        transform: translateY(-18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

nav .logo img {
    width: auto;
    height: 1.5vw;
}

nav .logo.active {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    display: none;
}

nav.is-sticky .logo.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: block;
}

nav .menu {}

nav .menu ul {
    display: flex;
    gap: 2vw;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    margin-bottom: 0;
}

nav .menu ul li {
    font-family: 'Poppins';
    font-size: 0.9vw;
}

nav .menu ul li a {
    color: #004289;
    text-decoration: none;
}

nav .contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1vw;
}

nav .contact a {
    color: #fff;
    background-color: #004289;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.7vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.8vw;
    line-height: 1;
    font-weight: 300;
    text-decoration: none;
}

nav .contact a .cta-svg {
    width: 0.8vw;
    margin-left: 0.5vw;
}

nav .contact a:hover {
    background-color: #fff;
    border-color: #004289;
    color: #004289;
}

/* --- Main --- */

main .header .header-left a, main .main .main-right a {
    color: #fff;
    background-color: #004289;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.9vw;
    line-height: 1;
    text-decoration: none;
    width: fit-content;
    margin: 2vw 3vw;
    letter-spacing: 0.1vw;
}

main .main .main-right a {
    margin: 2vw 0;
}

main .header .header-left a:hover, main .main .main-right a:hover {
    background-color: #fff;
    border-color: #004289;
    color: #004289;
}

main .architecture {
    background-color: #EBEBEB;
}

main .architecture .architecture-bg {
    border-top-right-radius: 20vw;
    background-color: #004289;
    display: flex;
    justify-content: center;
    gap: 2vw;
    align-items: center;
    padding-bottom: 2vw;
}

main .architecture .architecture-bg::after {
    content: "";
    position: absolute;
    width: 21vw;
    height: 31vw;
    background: url(../img/deco-bg-scene.svg) no-repeat right bottom;
    background-size: 21vw;
    z-index: 0;
    margin-bottom: -7vw;
    right: 0;
}

.splide__arrows {
    display: none;
}

.splide1 .visu1 {
    background: url('../img/splide1-visu1.jpg') no-repeat center center;
    background-size: cover;
}

.splide1 .visu2 {
    background: url('../img/splide1-visu2.jpg') no-repeat center center;
    background-size: cover;
}

.splide1 .visu {
    width: 35vw !important;
    border-radius: 2vw;
    height: 28vw !important;
}

.splide__slide {
    width: auto;
    height: 25vw;
}

main .architecture-left {
    width: 45%;
    padding: 3vw 0vw 3vw 5vw;
}

main .architecture-right {
    width: 60%;
}

main .architecture-left section.splide1 {
    width: 35vw;
    height: 27vw;
}

main .architecture span.cadre-vie-offset {
    display: inline-block;
    margin-left: 2vw;
    color: #fff;
    font-family: 'Libre Bodoni';
}

main .architecture-right h3 {
    font-size: 2.5vw;
    color: #94BFA8;
    font-family: 'Poppins';
    font-weight: 275;
    margin-bottom: 2vw;
}

main .architecture-right p {
    font-size: 0.8vw;
    color: #fff;
    font-family: 'Poppins';
    font-weight: 300;
    line-height: 1.5em;
    margin-bottom: 1vw;
    width: 75%;
    text-align: justify;
}

main .architecture-right p:last-of-type {
    margin-bottom: 3vw;
}

main .architecture-right a {
    color: #004289;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.9vw;
    line-height: 1;
    text-decoration: none;
    width: fit-content;
    margin: 2vw 3vw;
    letter-spacing: 0.1vw;
}

main .architecture-right a {
    margin: 2vw 0;
}

main .architecture-right a:hover {
    background-color: #004289;
    border-color: #fff;
    color: #fff;
}

main .bloc-appartement {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

main .bloc-appartement .bloc-appartement-left {
    width: 40%;
    padding: 3vw 5vw 3vw 5vw;
}

main .bloc-appartement .bloc-appartement-right {
    width: 60%;
}

.splide2 .visu3 {
    background: url('../img/splide2-visu1.jpg') no-repeat center center;
    background-size: cover;
}

.splide2 .visu4 {
    background: url('../img/splide2-visu2.jpg') no-repeat center center;
    background-size: cover;
}

.splide2 .visu {
    width: 50vw !important;
    border-radius: 2vw;
    height: 28vw !important;
}

main .bloc-appartement-right section.splide2 {
    width: 50vw;
    height: 100%;
}

main .bloc-appartement-left h3 {
    font-size: 2.5vw;
    color: #004289;
    font-family: 'Libre Bodoni';
    font-weight: 300;
    margin-bottom: 2vw;
    line-height: 2.4vw;
}

main .bloc-appartement-left h3 .titre {
    font-family: 'Poppins';
}

main .bloc-appartement-left h3 span.titre {
    color: #94BFA8;
    font-family: 'Poppins';
    font-weight: 275;
}


main .bloc-appartement-left h3 .cadre-vie-offset {
    display: inline-block;
    margin-left: 2vw;
}


main .bloc-appartement-left p {
    font-size: 0.8vw;
    color: #004289;
    font-family: 'Poppins';
    font-weight: 300;
    line-height: 1.5em;
    margin-bottom: 1vw;
    text-align: justify;
    width: 95%;
}

main .bloc-appartement-left p:last-of-type {
    margin-bottom: 3vw;
}

main .bloc-appartement-left a {
    color: #fff;
    background-color: #004289;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.9vw;
    line-height: 1;
    text-decoration: none;
    width: fit-content;
    margin: 2vw 0vw;
    letter-spacing: 0.1vw;
}

main .bloc-appartement-left a:hover {
    background-color: #fff;
    border-color: #004289;
    color: #004289;
}

main .appartement-second-titre {
    padding: 2vw;
    margin-left: 7vw;

}

main .appartement-second-titre h3 {
    font-size: 2vw;
    color: #94BFA8;
    font-family: 'Poppins';
    font-weight: 300;
    margin-bottom: 2vw;
}

main .appartement-second-titre h3 .cadre-vie-offset {
    display: inline-block;
    margin-left: 2vw;
    color: #004289;
    font-family: 'Libre Bodoni';
    font-size: 2.5vw;
}

main .appartement .prestation {
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 7vw;
    padding-bottom: 1vw;
}

main .appartement .prestation h4 {
    font-size: 1.2vw;
    color: #004289;
    font-family: 'Poppins';
    font-weight: 700;
}

main .appartement .prestation ul { margin-top:1vw; padding-left:1.5vw; border-left: 2px solid #004289; margin-bottom: 2.5vw;}
main .appartement .prestation ul li {               
    position: relative;
    margin-bottom: 0.5vw;
    font-family: "Poppins";
    list-style-type: none;
    list-style-image: none;
    padding-left: 1.4vw;
    font-size: 0.8vw;
    color: #004289;
}
main .appartement .prestation ul li:before { content:" "; position:absolute; left:0; top:0.2vw; width:0.8vw; height:0.8vw; background:transparent url('../img/fleche-bp-scene3.svg') no-repeat; background-size:100% auto; }

main .appartement .prestation .prestation-left {
    width: 30%;
}
main .appartement .prestation .prestation-right {
    width: 40%;
}

main .appartement .prestation .prestation-right a {
    color: #fff;
    background-color: #004289;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.8vw;
    line-height: 1;
    text-decoration: none;
    width: fit-content;
    margin-top: 2vw;
    letter-spacing: 0.1vw;
}

main .appartement .prestation .prestation-right a:hover {
    background-color: #fff;
    border-color: #004289;
    color: #004289;
}

main .maquette {
    background-color: #EBEBEB;
    width: 100%;
}

main .maquette .maquette-bg {
    border-bottom-right-radius: 25vw;
    background-color: #004289;
    display: flex;
    justify-content: space-between;
    gap: 2vw;
    align-items: center;
}

main .maquette .maquette-bg .maquette-left {
    width: 55%;
    padding: 3vw 5vw 3vw 5vw;
}

main .maquette .maquette-bg .maquette-left iframe {
    width: 55vw;
    height: 35vw;
    border: none;
    border-radius: 2vw;
}

main .maquette .maquette-bg .maquette-right {
    width: 35%;
    padding-right: 5vw;
}

main .maquette .maquette-bg .maquette-right h2 {
    font-size: 3vw;
    color: #fff;
    font-family: 'Libre Bodoni';
    line-height: 3vw;
}

main .maquette .maquette-bg .maquette-right h2 .fw-light {
    font-weight: 275;
    color: #94BFA8;
    font-family: 'Poppins';
}

main .maquette .maquette-bg .maquette-right h2 .fw-bold {
    font-weight: 700;
    color: #94BFA8;
    font-family: 'Poppins';
    letter-spacing: 0.2vw;
}

main .maquette .maquette-bg .maquette-right h2 .cadre-vie-offset {
    display: inline-block;
    margin-left: 2vw;
}

main .grille-prix {
    background-color: #EBEBEB;
    width: 100%;
    padding: 3vw 15vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

main .grille-prix h3 {
    width: 100%;
    font-size: 2vw;
    color: #94BFA8;
    font-family: 'Poppins';
    font-weight: 275;
    margin-bottom: 3vw;
}

main .grille-prix .cadre-vie-offset {
    display: inline-block;
    margin-left: 6vw;
    color: #004289;
    font-family: 'Libre Bodoni';
    font-size: 2vw;
}

main .grille-prix .gdp {
    display: flex;
    flex-direction: column;
    gap: 0.5vw;
    width: 100%;
}

main .grille-prix .gdp .gdp-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2vw;
    padding: 0.5vw 2vw;
    background-color: #fff;
    border-radius: 0.5vw;
    height: 5vw;
}

main .grille-prix .gdp .gdp-item p {
    font-size: 0.8vw;
    color: #004289;
    font-family: 'Poppins';
    font-weight: 400;
}

.typo, .surface, .prix, .disponibilite {
    width: 25%;
}

main .grille-prix .grille-cta {
    width: 100%;
    text-align: end;
    padding: 2vw 0;
}

main .grille-prix a {
    color: #fff;
    background-color: #004289;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.8vw;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0.1vw;
}

main .grille-prix a:hover {
    background-color: #fff;
    border-color: #004289;
    color: #004289;
}

main .bdv {
    background-color: #004289;
    width: 100%;
    padding: 3vw 10vw 3vw 32vw;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

main .bdv::after {
    content: "";
    position: absolute;
    width: 20vw;
    height: 23vw;
    background: url(../img/deco-bg-bdv.svg) no-repeat left bottom;
    background-size: 20vw;
    left: 0;
}

main .bdv h3 {
    width: fit-content;
    font-size: 2.7vw;
    color: #fff;
    font-family: 'Libre Bodoni';
    font-weight: 275;
    margin-bottom: 0.5vw;
}

main .bdv h3::before {
    content: "";
    width: 6vw;
    height: 7vw;
    background: url('../img/pin-localisation.svg');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    margin-top: -8vw;
    margin-left: -2.5vw;    
}

main .bdv h3 .cadre-vie-offset {
    display: inline-block;
    margin-left: 6vw;
    color: #fff;
    font-family: 'Libre Bodoni';
    font-size: 2.7vw;
}

main .bdv h3 .titre {
    color: #94BFA8;
    font-family: 'Poppins';
}

main .bdv p {
    font-size: 1vw;
    color: #fff;
}

main .bdv-cta {
    padding: 2vw 0 0vw 0;
    display: flex;
    gap: 2vw;
    position: relative;
    z-index: 1;
}

main .bdv-cta a {
    color: #004289;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 1.5vw;
    padding: 0.8vw 1.5vw;
    font-family: 'Poppins';
    font-size: 0.9vw;
    line-height: 1;
    text-decoration: none;
}

main .bdv-cta a:hover {
    background-color: #004289;
    color: #fff;
    border-color: #fff;
}

.cta-svg {
    width: 1vw;
    height: auto;
    margin-left: 0.5vw;
}


.modal-body {
    padding: 0 !important;
}

.modal-header {
    z-index: 1;
    padding: 0;
    position: absolute;
    right: 2vw;
    top: 2vw;
}

.modal-header:not(#formModal .modal-content) { 
    z-index: 9;
    padding: 1vw 0 2vw 0vw;
    display: flex;
    justify-content: space-between;
    position: unset;
    width: 98%;
}

.modal-header .close {
    background-color: #EBEBEB;
    border-radius: 50%;
    width: 3vw;
    height: 3vw;
    color: #004289;
}


#headerform h3 {
    font-size: 3vw;
    color: #004289;
    font-family: 'Libre Bodoni';
    line-height: 3vw;
    text-align: center;

}

#headerform h3 span {
    color: #94BFA8;
    font-family: 'Poppins';
    font-weight: 275;
}

#formulaire, #formModal .modal-content {
    border-top-left-radius: 15vw;
    border-bottom-right-radius: 15vw;
}

.modal-content:not(#formModal .modal-content) {
    padding: 4vw;
    border-radius: 1vw;
}

#formulaire .groupement-input {
    display: flex;
    justify-content: space-between;
    gap: 1vw;
}

#formulaire .groupement-input .form-group {
    width: 100%;
}

/* ---- NAV MOBILE ---- */

/* Masquer la barre mobile sur desktop */
.nav-mobile-bar  { display: none; }
.nav-mobile-menu { display: none; }

@media (max-width: 768px) {

    /* Cacher les éléments desktop dans la nav */
    nav .logo,
    nav .menu,
    nav .contact { display: none; }

    /* Nav en position fixed collée en haut */
    nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        padding: 0;
        border-radius: 0;
        flex-direction: column;
        align-items: stretch;
        box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    }

    /* Barre des 3 CTAs */
    .nav-mobile-bar {
        display: flex;
        align-items: center;
        justify-content: end;
        background-color: #fff;
        padding: 3vw 4vw;
        gap: 3vw;
    }

    .nav-mobile-cta {
        display: flex;
        align-items: center;
        gap: 1.5vw;
        color: #fff;
        background-color: #004289;
        border: 1px solid transparent;
        border-radius: 8vw;
        padding: 3vw 3vw;
        font-family: 'Poppins';
        font-size: 3vw;
        font-weight: 600;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
    }

    .nav-mobile-form {
        padding: 3vw 2.5vw;
    }

    .nav-mobile-cta:hover { color: #fff; }

    .nav-mobile-tel {
        background-color: #94BFA8;
    }

    .nav-mobile-tel svg {
        flex-shrink: 0;
    }

    /* .nav-mobile-form {
        flex: 1;
        justify-content: center;
    } */

    /* Bouton burger */
    .nav-mobile-burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.5vw;
        width: 11vw;
        height: 11vw;
        background: #004289;
        border: none;
        border-radius: 6vw;
        cursor: pointer;
        padding: 2.5vw;
        flex-shrink: 0;
    }

    .cta-nav-svg {
        width: 6vw;
        height: auto;
    }

    .burger-line {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 2px;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    /* Croix quand ouvert */
    .nav-mobile-burger.active .burger-line:nth-child(1) {
        transform: translateY(calc(1.5vw + 2px)) rotate(45deg);
    }
    .nav-mobile-burger.active .burger-line:nth-child(2) {
        opacity: 0;
    }
    .nav-mobile-burger.active .burger-line:nth-child(3) {
        transform: translateY(calc(-1.5vw - 2px)) rotate(-45deg);
    }

    /* Menu slide-down */
    .nav-mobile-menu {
        display: block;
        max-height: 0;
        overflow: hidden;
        background-color: #004289;
        transition: max-height 0.35s ease;
    }

    .nav-mobile-menu.open {
        max-height: 70vw;
    }

    .nav-mobile-menu ul {
        list-style: none;
        margin: 0;
        padding: 2vw 0;
    }

    .nav-mobile-menu ul li {
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    .nav-mobile-menu ul li:last-child {
        border-bottom: none;
    }

    .nav-mobile-menu ul li a {
        display: block;
        padding: 4vw 6vw;
        color: #fff;
        font-family: 'Poppins';
        font-size: 3.5vw;
        font-weight: 500;
        text-decoration: none;
        letter-spacing: 0.05em;
    }

    .nav-mobile-menu ul li a:hover,
    .nav-mobile-menu ul li a:active {
        background-color: rgba(255,255,255,0.1);
        color: #94BFA8;
    }

    /* Compenser la nav fixe en haut de page */
    body { padding-top: 18vw; }

    main .header {
        height: 100%;
    }

    main .header-right video {
        border-top-left-radius: 25vw;
        border-top-right-radius: 0;
    }

    main .main {
        flex-direction: column-reverse;
    }

    main .main .main-right h3 {
        font-size: 7.5vw;
        line-height: 7.5vw;
    }

    main .main .main-right h3 span.titre {
        font-size: 7.5vw;
    }

    main .header .header-left a, main .main .main-right a {
        border-radius: 8.5vw;
        padding: 3.5vw 5.5vw;
        font-size: 3.5vw;
        margin-bottom: 7vw;
        margin-top: 7vw;
        margin-left: 10vw;
        font-weight: 300;
    }

    main .main .main-right h3 span.cadre-vie-offset {
        display: inline-block;
        margin-left: 6vw;
    }

    .cta-svg {
        width: 4vw;
        height: auto;
        margin-left: 2vw;
    }

    main .architecture .architecture-bg {
        flex-direction: column-reverse;
    }

    main .architecture-right {
        width: 100%;
    }

    main .architecture-left {
        width: 100%;
    }

    main .architecture-right h3 {
        font-size: 7vw;
        line-height: 7vw;
    }

    main .architecture-right h3 {
        font-size: 7.5vw;
        line-height: 7.5vw;
        padding: 5vw;
        margin-top: 6vw;
    }

    main .architecture-right .citation-architecte {
        font-size: 3vw;
        font-style: italic;
        margin: 3vw 0vw;
        display: none;
    }


    main .architecture span.cadre-vie-offset {
        margin-left: 7.5vw;
    }

    main .architecture-right p {
        font-size: 3.5vw;
        width: 100%;
        padding: 0 5vw;
    }

    main .architecture-right a {
        border-radius: 8.5vw;
        padding: 2.5vw 5.5vw;
        font-size: 4vw;
        margin-bottom: 7vw;
        margin-top: 7vw;
        margin-left: 5vw;
    }

    main .architecture-right p:last-of-type {
        margin-bottom: 10vw;
    }

    main .architecture-left {
        padding: 0vw 5vw 30vw 5vw;
    }

    .splide1 .visu {
        width: 100% !important;
        border-radius: 2vw;
        height: 60vw !important;
    }

    .splide__slide {
        width: auto;
        height: 70vw;
    }

    main .architecture-left section.splide1 {
        width: 100%;
        height: 100%;
    }

    main .architecture .architecture-bg::after {
        content: "";
        width: 50vw;
        height: 30vw;
        background-size: 50vw;
        margin-top: 165vw;
    }

    main .bloc-appartement-left h3 .cadre-vie-offset {
        margin-left: 6vw;
    }

    main .bloc-appartement {
        flex-direction: column-reverse;
    }

    main .bloc-appartement .bloc-appartement-right {
        width: 100%;
        padding: 5vw;
    }

    main .bloc-appartement-right section.splide2 {
        width: 100%;
        height: 100%;
    }

    .splide2 .visu {
        width: 100% !important;
        border-radius: 2vw;
        height: 60vw !important;
    }

    main .bloc-appartement .bloc-appartement-left {
    width: 100%;
    padding: 5vw;
    }

    main .bloc-appartement-left h3 {
        font-size: 7.5vw;
        color: #004289;
        font-family: 'Libre bodoni';
        font-weight: 275;
        line-height: 7.5vw;
        margin-bottom: 6vw;
    }

    main .appartement-second-titre h3 .cadre-vie-offset {
        margin-left: 6vw;
        font-size: 7.5vw;
    }

    main .bloc-appartement-left p {
        font-size: 3.5vw;
        color: #004289;
        font-family: 'Poppins';
        font-weight: 300;
        line-height: 1.5em;
        width: 100%;
    }

    main .bloc-appartement-left a {
        border-radius: 8.5vw;
        padding: 2.5vw 5.5vw;
        font-size: 4vw;
        margin-bottom: 7vw;
        margin-top: 7vw;
    }

    main .bloc-appartement-left p:last-of-type {
        margin-bottom: 7vw;
    }

    main .appartement-second-titre {
        padding: 0vw 5vw;
        margin-left: 0vw;
    }

    main .appartement-second-titre h3 {
        font-size: 7vw;
        color: #94BFA8;
        font-family: 'Poppins';
        font-weight: 275;
        margin-bottom: 2vw;
        line-height: 6.5vw;
    }

    main .appartement-second-titre h3 .cadre-vie-offset {
        font-size: 7.5vw;
    }

    main .appartement .prestation {
        flex-direction: column;
        padding: 5vw;
    }

    main .appartement .prestation .prestation-left {
        width: 100%;
        border-bottom: 2px solid #004289;
    }

    main .appartement .prestation h4 {
        font-size: 4.5vw;
        letter-spacing: 0.3vw;
    }

    main .appartement .prestation ul {
        border-left: none;
    }

    main .appartement .prestation ul li {
        font-size: 3vw;
        padding-left: 7vw;
    }

    main .appartement .prestation ul li:before {
        width: 4vw;
        height: 4vw;
        top: 1vw;
    }

    main .grille-prix .cadre-vie-offset {
        margin-left: 6vw;
    }

    main .appartement .prestation .prestation-right {
        width: 100%;
    }

    main .maquette .maquette-bg {
        flex-direction: column-reverse;
    }

    main .maquette .maquette-bg .maquette-right {
        width: 100%;
        padding: 10vw 5vw 5vw 5vw;
        margin: 0 auto;
    }

    main .maquette .maquette-bg .maquette-right h2 {
        font-size: 7.5vw;
        color: #fff;
        font-family: 'Libre Bodoni';
        line-height: 7.5vw;
        width: fit-content;
        margin: 0;
    }

    main .maquette .maquette-bg .maquette-left {
        width: 100%;
        padding: 5vw 5vw 10vw 5vw;
    }

    main .maquette .maquette-bg .maquette-left iframe {
        width: 100%;
        height: 110vw;
        border: none;
        border-radius: 5vw;
    }

    main .grille-prix .cadre-vie-offset {
        font-size: 7.5vw;
    }

    main .grille-prix h3 {
        width: 100%;
        font-size: 7.5vw;
        color: #94BFA8;
        font-family: 'Poppins';
        font-weight: 275;
        margin-bottom: 3vw;
    }

    main .grille-prix .gdp {
        gap: 4vw;
    }

    main .grille-prix .gdp .gdp-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2vw;
    padding: 2.5vw 2vw;
    background-color: #fff;
    border-radius: 1vw;
    height: auto;
    flex-wrap: wrap;
    }

    main .maquette .maquette-bg .maquette-right h2 .cadre-vie-offset {
        display: inline-block;
        margin-left: 8vw;
    }

    main .grille-prix .gdp .gdp-item p {
        font-size: 3vw;
        color: #004289;
        font-family: 'Poppins';
        font-weight: 400;
    }

    main .grille-prix .gdp .gdp-item .typo {
        width: 100%;
    }

    main .grille-prix .gdp .gdp-item .surface {
        width: 30%;
    }

    main .grille-prix .gdp .gdp-item .prix {
        width: 40%;
    }

    main .grille-prix .gdp .gdp-item .disponibilite {
        width: 100%;
    }

    main .grille-prix {
        padding: 10vw 5vw 10vw 5vw;
    }

    main .bdv {
        padding: 10vw 5vw 5vw 5vw;
        gap: 5vw;
        align-items: center;
    }

    main .bdv h3 {
        width: fit-content;
        font-size: 6vw;
        color: #fff;
        font-family: 'Libre Bodoni';
        font-weight: 275;
        margin-bottom: 0.5vw;
    }

    main .bdv h3 {
        font-size: 6vw;
    }

    main .bdv h3 .cadre-vie-offset {
        font-size: 6vw;
    }

    main .bdv p {
        font-size: 3.5vw;
        color: #fff;
        text-align: center;
    }

    main .bdv-cta {
        padding: 0vw 0 25vw 0;
    }

    main .bdv-cta a {
        border-radius: 8.5vw;
        padding: 2.5vw 5.5vw;
        font-size: 4vw;
        margin-top: 3vw;
    }

    main .bdv::after {
        content: "";
        position: absolute;
        width: 40vw;
        height: 30vw;
        background: url(../img/deco-bg-bdv.svg) no-repeat left bottom;
        background-size: 40vw;
        margin-top: 60vw;
    }

    main .bdv h3::before {
        width: 15vw;
        height: 15vw;
        margin-top: -18vw;
        margin-left: 31vw;
    }

    main .bdv h3::before {
        width: 15vw;
        height: 15vw;
        margin-top: -17vw;
        margin-left: 32vw;
    }

    #formulaire .groupement-input {
        flex-wrap: wrap;
    }

    footer .cta-footer {
        color: #fff;
        background-color: #004289;
        border: 1px solid transparent;
        font-family: 'Poppins';
        line-height: 1;
        text-decoration: none;
        border-radius: 8.5vw;
        padding: 2.5vw 5.5vw;
        font-size: 4vw;
        margin-top: 3vw;
    }

    #contentform {
        padding: 2vw 2vw 2vw 2vw;
        width: 95%;
        margin: 0 auto;
    }

    .modal-header {
    z-index: 6;
    padding: 0;
    position: absolute;
    right: 7vw;
    top: 7vw;
    }

    .modal-header .close {
    padding: 0;
    margin: -1rem -1rem -1rem auto;
    width: 8vw;
    height: 8vw;
    }

    .modal-content:not(#formModal .modal-content) {
        padding: 15vw 4vw 5vw 4vw;
        border-radius: 1vw;
    }


}   
