		/*custom font*/
		
		@import url(https://fonts.googleapis.com/css?family=Montserrat);
		/*basic reset*/
		/* prestige */
		
		#msform {
		    font-family: montserrat, arial, verdana;
		    /* font: normal 1em 'Helvetica Neue', Helvetica, Arial, Sans-serif; */
		    font-size: 14px;
		    font-weight: 400;
		    -webkit-box-sizing: border-box;
		    -moz-box-sizing: border-box;
		    box-sizing: border-box;
		    -webkit-font-smoothing: subpixel-antialiased;
		    color: #58595d;
		    line-height: 25px;
		    -webkit-backface-visibility: hidden;
		    backface-visibility: hidden;
		}
		
		#msform H3 {
		    font-size: 1em;
		    /* color: #373a3c; */
		    padding: 0px;
		    margin: auto;
		    display: inline-block;
		    /* line-height: 20px; */
		}
		
		#msform H2 {
		    font-size: 1.7em;
		    margin-bottom: 20px;
		}
		
		*,
		 ::after,
		 ::before {
		    -webkit-box-sizing: inherit;
		    box-sizing: inherit;
		}
		
		.blocChamp {
		    padding-top: 30px;
		}
		
		#msform select {
		    height: 42px !important;
		}
		/* --- */
		
		* {
		    margin: 0;
		    padding: 0;
		}
		/* MODAL ALERT */
		
		#div {
		    position: absolute;
		    width: 100%;
		    height: 100%;
		    display: none;
		    justify-content: center;
		    align-items: center;
		    z-index: 6;
		}
		
		#alert {
		    background-color: white;
		    color: black;
		    width: 22em;
		    border-radius: 5px;
		    box-shadow: 1px 1px 10px #a7a7a7;
		    text-align: center;
		    padding: 30px;
		    display: block;
		}
		
		#alert>div {
		    display: flex;
		    justify-content: space-around;
		    align-items: center;
		}
		
		#alertImg {
		    width: 60px;
		    height: 60px;
		    object-fit: contain;
		}
		
		#alertTxt {
		    text-align: left;
		    width: 170px;
		}
		
		#clickButton {
		    background-color: #56A3A6;
		    color: white;
		    padding: 5px 30px;
		    border-radius: 5px;
		    border: none;
		    margin-top: 30px;
		    cursor: pointer;
		}
		/* ----------------------- */
		
		input[type="text"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		input[type="number"]:focus,
		textarea:focus,
		select:focus {
		    outline: 2px solid black;
		}
		
		.lah3 {
		    text-transform: none;
		}
		
		.titreadresse {
		    padding-top: 15px !important;
		}
		
		.lah1 {
		    font-size: 1em;
		    font-weight: 700;
		}
		
		.small {
		    font-size: 100%;
		}
		
		.irs--flat .irs-grid-pol {
		    display: none;
		    background-color: #e1e4e9;
		}
		
		.irs--flat .irs-bar {
		    top: 25px;
		    height: 12px;
		    background-color: #56a3a6;
		}
		
		.irs--flat .irs-handle {
		    top: 22px;
		    width: 18px;
		    height: 18px;
		    background-color: #ffffff;
		    border-radius: 100%;
		    box-shadow: 0 0 14px #00000082;
		}
		
		.irs--flat .irs-single {
		    color: #292727;
		    font-size: 10px;
		    line-height: 1.333;
		    text-shadow: none;
		    padding: 1px 5px;
		    background-color: #ffffff;
		    border: 0.5px solid #5f5f5f;
		    border-radius: 4px;
		}
		
		.irs--flat .irs-handle>i:first-child {
		    position: absolute;
		    display: block;
		    top: 0;
		    left: 50%;
		    width: 2px;
		    height: 100%;
		    margin-left: -1px;
		    background-color: #ffffff;
		}
		
		.irs--flat .irs-handle>i {
		    background-color: #ffffff;
		}
		
		.irs--flat .irs-handle.state_hover>i:first-child,
		.irs--flat .irs-handle:hover>i:first-child {
		    background-color: #fff;
		}
		
		.irs--flat .irs-from:before,
		.irs--flat .irs-to:before,
		.irs--flat .irs-single:before {
		    position: absolute;
		    display: block;
		    content: "";
		    bottom: -6px;
		    left: 50%;
		    width: 0;
		    height: 0;
		    margin-left: -3px;
		    overflow: hidden;
		    border: 3px solid transparent;
		    border-top-color: #696969;
		}
		
		.irs--flat .irs-handle:hover>i:first-child {
		    background-color: #ffffff;
		}
		
		.smallButtonselection {
		    width: 90px;
		    height: 40px;
		    background: #F2F2F2;
		    border-radius: 3px;
		    display: flex;
		    justify-content: center;
		    align-items: center;
		    /* border: 1px solid black; */
		    margin-left: 3.5px;
		    margin-right: 3.5px;
		}
		
		.smallButtonselection:hover {
		    cursor: pointer;
		}
		
		.mediumButtonselection {
		    width: 170px;
		    height: 40px;
		    background: #F2F2F2;
		    border-radius: 3px;
		    display: flex;
		    justify-content: center;
		    align-items: center;
		    /* border: 1px solid black; */
		    margin-left: 3.5px;
		    margin-right: 3.5px;
		}
		
		.mediumButtonselection:hover {
		    cursor: pointer;
		}
		
		.titresmallbutton {
		    /* padding-top: 30px; */
		}
		
		.ConteneurSmallButton {
		    display: flex;
		    flex-wrap: wrap;
		    width: calc(100% - 220px);
		    min-width: 200px;
		    justify-content: space-between;
		}
		
		.contenerIncli {
		    width: calc(65% - 220px);
		}
		
		#boxInfo {
		    display: flex;
		    flex-wrap: wrap;
		    padding: 15px;
		    justify-content: space-around;
		    align-content: space-around;
		}
		
		#boxInfo>input[type="text"],
		#boxInfo>input[type="email"],
		#boxInfo>input[type="tel"],
		#boxInfo>input[type="numeric"] {
		    margin-top: 10px;
		}
		
		#boxInfo>.small>label {
		    width: 210px;
		    line-height: 30px;
		}
		
		.TypeSelection {
		    width: 130px;
		    height: 130px;
		    padding: 10px;
		    border-radius: 5%;
		    /* border: 1px solid #DEDEDE; */
		    display: flex;
		    justify-content: center;
		    align-items: center;
		    margin-top: 7px;
		    flex-wrap: wrap;
		    background-color: #F2F2F2;
		}
		
		.TypeSelection:hover {
		    border: 1px solid #56a3a6;
		    cursor: pointer;
		    background-color: #56a3a6 !important;
		    /* color: white; */
		}
		
		.TypeSelection:hover img {
		    filter: invert(1) !important;
		    /* color: white; */
		}
		
		.TypeSelection:hover p {
		    color: white !important;
		}
		
		.TypeSelection p {
		    color: black;
		    text-align: center;
		    font-size: 12px;
		}
		
		.TypeSelection>img {
		    width: 50px;
		    height: 50px;
		}
		
		#msform input,
		#msform select {
		    border: none;
		}
		
		.lah4 {
		    width: 100%;
		    padding: 20px;
		    border-bottom: 1px solid black;
		    border-top: 1px solid black;
		    margin-top: 15px;
		    margin-bottom: 15px;
		}
		
		html {
		    height: 100%;
		    /*Image only BG fallback*/
		    /*background = gradient + image pattern combo*/
		    background: #485563;
		    /* fallback for old browsers */
		    background: -webkit-linear-gradient(to right, #29323c, #485563);
		    /* Chrome 10-25, Safari 5.1-6 */
		    background: linear-gradient(to right, #29323c, #485563);
		    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
		}
		
		body {
		    font-family: montserrat, arial, verdana;
		}
		/*form styles*/
		
		#msform {
		    max-width: 800px;
		    width: 100%;
		    min-height: 500px;
		    margin: 50px auto;
		    text-align: left;
		    position: relative;
		    z-index: 5;
		    color: #000;
		}
		
		#msform fieldset {
		    width: 800px;
		    background: white;
		    border: 0 none;
		    border-radius: 15px;
		    box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
		    padding: 20px 30px;
		    box-sizing: border-box;
		    margin: 0 10%;
		    /*stacking fieldsets above each other*/
		    position: relative;
		}
		/*Hide all except first fieldset*/
		
		#msform fieldset:not(:first-of-type) {
		    display: none;
		}
		/*inputs*/
		
		#msform input[type="text"],
		#msform input[type="email"],
		#msform input[type="tel"],
		#msform input[type="number"],
		#msform textarea,
		#msform select {
		    -webkit-appearance: none;
		    padding: 10px;
		    padding-left: 15px;
		    /* 	border: 1px solid rgb(82, 82, 82); */
		    border-radius: 6px;
		    width: calc(100% - 220px);
		    min-width: 200px;
		    box-sizing: border-box;
		    font-family: montserrat;
		    color: #000;
		    -webkit-appearance: none;
		    font-size: 14px;
		    box-shadow: none;
		    background-color: #F2F2F2;
		}
		
		.irs-grid-text {
		    font-size: 12px;
		}
		
		.irs--flat .irs-grid-text {
		    color: rgb(99, 99, 99);
		}
		
		select {
		    height: 48px !important;
		    color: #000 !important;
		}
		
		.small {
		    width: 100%;
		    text-align: left;
		    display: flex;
		    flex-wrap: wrap;
		    align-items: center;
		    margin-top: 10px;
		    justify-content: center;
		    margin-bottom: 10px;
		}
		/*buttons*/
		
		#msform .action-button {
		    min-width: 100px;
		    background: #56a3a6;
		    font-weight: bold;
		    color: white;
		    border: 1px solid #ffffff;
		    cursor: pointer;
		    padding: 10px;
		    height: 38px;
		    margin: 10px 5px;
		    background-image: none;
		    -webkit-appearance: none;
		    padding-right: 40px;
		    padding-left: 40px;
		    border-radius: 8px;
		    font-family: montserrat, arial, verdana;
		}
		
		#msform .previous {
		    color: #000;
		    background-color: #F2F2F2;
		}
		
		#msform .action-button:hover,
		#msform .action-button:focus {}
		/*headings*/
		
		.fs-title {
		    font-size: 15px;
		    text-transform: uppercase;
		    color: #333;
		    margin-bottom: 10px;
		}
		
		.fs-title-center {
		    text-align: center;
		}
		
		.fs-subtitle {
		    font-weight: normal;
		    font-size: 13px;
		    color: #666;
		    margin-bottom: 20px;
		}
		
		.petitTitreBis {
		    font-weight: bold;
		    display: inline-block;
		    color: black;
		}
		/*progressbar*/
		
		#progressbar {
		    margin-bottom: 30px;
		    overflow: hidden;
		    counter-reset: step;
		    text-align: center;
		    display: flex;
		    justify-content: center;
		}
		
		#progressbar li {
		    list-style-type: none;
		    color: white;
		    text-transform: uppercase;
		    font-size: 9px;
		    width: 120px;
		    float: left;
		    position: relative;
		}
		
		#progressbar li:before {
		    content: counter(step);
		    counter-increment: step;
		    width: 32px;
		    line-height: 29px;
		    display: block;
		    font-size: 13px;
		    background: white;
		    border: 1px solid grey;
		    border-radius: 100%;
		    margin: 0 auto 0px auto;
		}
		/*progressbar connectors*/
		
		#progressbar li:after {
		    content: '';
		    width: 100%;
		    height: 2px;
		    background: grey;
		    position: absolute;
		    left: -50%;
		    top: 15px;
		    z-index: -2;
		    /*put it behind the numbers*/
		}
		
		#progressbar li:first-child:after {
		    /*connector not needed before the first step*/
		    content: none;
		}
		/*marking active/completed steps green*/
		/*The number of the step and the connector before it = green*/
		
		#progressbar li.active:before {
		    border: 1px solid #56a3a6;
		    color: black;
		    z-index: 1;
		}
		
		#progressbar li.active:after {
		    background-color: #56a3a6;
		    color: black;
		    z-index: -1;
		}
		
		.irs--flat.irs-with-grid {
		    height: 60px;
		    margin-left: 10%;
		    margin-right: 10%;
		    margin-bottom: 20px;
		}
		/******************************* */
		
		.buttonSelection {
		    width: 150px;
		    background: #e6e6e6;
		    height: 50px;
		    display: flex;
		    justify-content: center;
		    align-items: center;
		    border: 1px solid white;
		}
		
		.boiteBouton {
		    display: flex;
		    justify-content: space-between;
		    align-items: center;
		    flex-wrap: wrap;
		    max-width: 600px;
		    /* width: 240px; */
		}
		
		.blockMaison {
		    margin-top: 50px;
		}
		
		.buttonSelection:hover {
		    border: 1px solid #56a3a6;
		    background: white;
		    cursor: pointer;
		}
		
		#msform fieldset {
		    width: 800px;
		    margin-left: auto;
		    margin-right: auto;
		    right: 0%;
		    left: 0;
		    position: relative !important;
		}
		
		select,
		input[type="tel"]:focus,
		input[type="email"]:focus,
		input[type="number"]:focus,
		input[type="text"]:focus,
		input[type="password"]:focus,
		textarea:focus {
		    outline: none;
		}
		
		.blockButton {
		    text-align: center;
		    margin-top: 30px;
		}
		/* ETAPE 2 */
		
		.grid-container {
		    display: grid;
		    grid-template-columns: auto auto auto;
		    padding: 10px;
		}
		
		.grid-item {
		    text-align: left;
		    width: 200px;
		    margin-bottom: 20px;
		}
		
		.lastbut {
		    margin-top: 20px;
		}
		/* form nom prenom */
		
		.blocknom {
		    margin-right: 50px;
		}
		
		.blocktel {
		    margin-right: 50px;
		}
		
		.vendeur {
		    width: 300px !important;
		}
		
		.invisible {
		    display: none;
		}
		
		.invisiblePlus {
		    display: none !important;
		}
		/* Checkbox */
		
		input[type=checkbox] {
		    -webkit-appearance: none;
		    -moz-appearance: none;
		    -ms-appearance: none;
		}
		
		input[type=checkbox] {
		    border-radius: 4px;
		    height: 20px;
		    width: 20px;
		    background: #F2F2F2;
		}
		/* input[type=checkbox]:invalid {
			box-shadow: 0 0 5px 1px red;
		  } */
		
		input[type="checkbox"]:checked {
		    /* background: #56a3a6; */
		    margin: 0px;
		    position: relative;
		    background-image: url("../images/check.png");
		    background-repeat: no-repeat;
		    background-size: 20px 20px;
		}
		
		#subscribeNews:checked {
		    background-size: 18px 18px;
		}
		
		.align_check {
		    display: flex;
		    align-items: center;
		}
		
		.titreCheck {
		    margin-left: 10px;
		    vertical-align: middle;
		    font-weight: bold;
		}
		/* TERRAIN */
		
		.champterrain {
		    display: flex;
		    flex-wrap: wrap;
		    vertical-align: middle;
		    max-width: 517px;
		    justify-content: space-between;
		    margin-top: 20px;
		}
		
		.contenerIncli {
		    width: 235px;
		}
		/* ------ */
		
		#autocomplete {
		    width: 100% !important;
		    margin-bottom: 15px;
		}
		/* fieldset 1 */
		
		.blockTypeBien {
		    margin-top: 10px;
		}
		
		.smallButtonselectionExpo {
		    margin-top: 7px;
		}
		
		.smallButtonselectionEtat {
		    margin-top: 10px;
		}
		
		.txtTypeBien {
		    width: 100%;
		    font-family: 'Montserrat';
		    font-weight: 700;
		}
		
		#imgMore {
		    position: absolute
		}
		
		#txtMore {
		    margin-top: 65px;
		}
		
		.ligneBlock {
		    display: flex;
		    flex-wrap: wrap;
		}
		
		.blocHabitable {
		    margin-right: 40px;
		}
		
		.habitable {
		    padding: 12px;
		}
		
		.champPeriodeConstruction {
		    margin-right: 40px;
		}
		
		.champMaison {
		    margin-right: 40px;
		    margin-top: 20px;
		    margin-bottom: 20px;
		}
		
		.champParticularite {
		    margin-right: 70px;
		}
		
		.blockAutre {
		    margin-top: 20px;
		}
		
		.description {
		    background-color: #F2F2F2;
		    border: none;
		}
		
		.descriptionBis {
		    background-color: #F2F2F2;
		    border: none;
		}
		/* fieldset 3 */
		
		.blockNomPrenom {
		    margin-top: 25px;
		}
		
		.blockTelMail {
		    margin-top: 20px;
		}
		
		.blockSubscribeNews {
		    justify-content: left;
		    margin-top: 15px;
		}
		
		#subscribeNews {
		    width: 20px;
		    height: 20px;
		    border: 1px solid black
		}
		
		#txtSubscribe {
		    margin-left: 20px;
		    font-size: 13px;
		    width: 80%;
		    font-weight: bold;
		    margin-bottom: 0;
		}
		
		#linkPolitiqueConfidentialite {
		    cursor: pointer;
		}
		
		.regle {
		    margin-top: 20px !important;
		    text-align: justify;
		}
		/* fieldset 4 */
		
		#fieldset_quatre {
		    text-align: center;
		}
		
		#p_field_quatre {
		    line-height: 20px;
		    padding: 15px;
		    border: 1px solid;
		    margin-bottom: 15px;
		    text-align: justify;
		}
		
		#blockButtonFinal {
		    display: flex;
		    flex-wrap: wrap;
		    justify-content: center;
		    align-items: center;
		}
		
		#linkSite {
		    color: #ffffff;
		    border: 1px solid #56a3a6;
		    padding: 4px;
		    border-radius: 5px;
		    background: #56a3a6;
		    padding-left: 15px;
		    padding-right: 15px;
		    font-weight: 700;
		    text-decoration: none;
		}
		
		.petitTitre {
		    font-weight: bold;
		    display: inline-block;
		    color: black;
		    margin-bottom: 7px !important;
		}
		/* RESPONSIVE */
		
		@media screen and (max-width: 816px) {
		    .irs--flat .irs-handle {
		        top: 18px;
		        width: 23px;
		        height: 23px;
		        background-color: #ffffff;
		        border-radius: 100%;
		        box-shadow: 0 0 14px #00000082;
		    }
		    #msform input[type="text"],
		    #msform input[type="email"],
		    #msform input[type="tel"],
		    #msform input[type="number"],
		    #msform textarea,
		    #msform select {
		        padding: 10px;
		        /* border: 1px solid #ccc; */
		        border-radius: 3px;
		        width: calc(90%);
		        min-width: 500px;
		        box-sizing: border-box;
		        font-family: montserrat;
		        color: #000;
		        font-size: 13px;
		        box-shadow: none;
		    }
		    .ConteneurSmallButton {
		        display: flex;
		        width: calc(90%);
		        min-width: 200px;
		        justify-content: flex-start;
		    }
		    .contenerIncli {
		        width: calc(45%);
		    }
		    #boxInfo>.small>label {
		        width: 90%;
		        line-height: 30px;
		        text-align: left;
		        padding-bottom: 8px;
		    }
		    #msform fieldset {
		        width: 600px;
		    }
		    #msform .action-button {
		        min-width: 100px;
		        background: #56a3a6;
		        font-weight: bold;
		        color: white;
		        border: 1px solid #ffffff;
		        cursor: pointer;
		        padding: 10px;
		        height: 38px;
		        line-height: 18px;
		        margin: 10px 5px;
		        background-image: none;
		        -webkit-appearance: none;
		        border-radius: 0;
		    }
		    input[type="text"]:focus,
		    input[type="password"]:focus,
		    textarea:focus {
		        outline: none;
		    }
		    .grid-container {
		        display: flex;
		        flex-wrap: wrap;
		    }
		    .grid-item input[type="number"] {
		        min-width: 100px !important;
		    }
		    .lastbut {
		        margin-top: 0px;
		    }
		    .blockInclinaison {
		        margin-top: 20px;
		    }
		    .champMaison {
		        margin-top: 20px;
		        margin-bottom: 0px;
		    }
		    .champPeriodeConstruction {
		        margin-top: 20px;
		    }
		    .blocknom {
		        margin-bottom: 10px;
		    }
		    .blocktel {
		        margin-bottom: 10px;
		    }
		}
		
		@media screen and (max-width: 618px) {
		    #msform input[type="text"],
		    #msform input[type="email"],
		    #msform input[type="tel"],
		    #msform input[type="number"],
		    #msform textarea,
		    #msform select {
		        min-width: 300px;
		    }
		    #msform fieldset {
		        width: 400px;
		    }
		    .particu {
		        flex-direction: column;
		    }
		    .boiteBouton {
		        justify-content: space-around;
		    }
		    .sexe {
		        margin-right: 40px;
		    }
		    .champMaison,
		    .champPeriodeConstruction,
		    .blocHabitable {
		        margin-right: 30px;
		    }
		}
		
		@media screen and (max-width: 430px) {
		    #msform input[type="text"],
		    #msform input[type="email"],
		    #msform input[type="tel"],
		    #msform input[type="number"],
		    #msform textarea,
		    #msform select {
		        min-width: 300px;
		    }
		    #msform fieldset {
		        width: 370px;
		        padding: 20px 20px;
		    }
		    /* .blocChamp {
				width: 350px;
			} */
		    .vendeur {
		        width: 300px !important;
		    }
		}
		
		@media screen and (max-width: 386px) {
		    #msform input[type="text"],
		    #msform input[type="email"],
		    #msform input[type="tel"],
		    #msform input[type="number"],
		    #msform textarea,
		    #msform select {
		        min-width: 240px;
		    }
		    #msform fieldset {
		        width: 320px;
		    }
		    .vendeur {
		        width: 170px !important;
		    }
		    .TypeSelection {
		        width: 110px;
		        height: 110px;
		    }
		}
		
		@media screen and (max-width: 330px) {
		    #msform input[type="text"],
		    #msform input[type="email"],
		    #msform input[type="tel"],
		    #msform input[type="number"],
		    #msform textarea,
		    #msform select {
		        min-width: 200px;
		    }
		    #msform fieldset {
		        width: 300px;
		    }
		}