/***

Vert: #88CB7E
Bleu/mauve: #290264
Bleu/vert: #32BBC5


***/

html,
body {
	width: 100%;
	height: 100%;
	padding: 0px;
	margin: 0px;
	/* min-width:100vw; */
	overflow-x: hidden !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form,
ul,
li {
	padding: 0px;
	margin: 0px;
}

h3,h4 {
	color:#fff;
}

* {
	outline: none !important;
}

.columns {
	display: flex;
}

.columns>.column {
	flex: 1;
	position: relative;
}


:root {
	--vert: #0D6D6B;
	--jaune: #FDC032;
	--beige: #FDF9EF;
	--anthracite: #3D3C3C;
}

/* ------------------------------------------ */

body,
html {
	overflow-x: hidden;
}

body {
	background: #fff;
	color: var(--anthracite);
	font-family: 'Moderat', sans-serif;
	font-size: 16px;
}

sup {
	vertical-align: top;
	position: relative;
	top: -0.5em;
	font-size: 0.8vw;
}

.container {
	width: 76vw;
	/* 1100px; */
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.center {
	text-align: center
}

.btn {
	font-family: 'Moderat', sans-serif;
}

.btn-primary {
	font-family: 'Moderat';
	display: inline-block;
	height: 3.47vw;
	line-height: 3.47vw;
	padding: 0 5vw;
	border-radius: 2.5vw;
	background: var(--vert);
	color: #fff !important;
	text-decoration: none !important;
	font-weight: bold;
	text-transform: uppercase;
}

.marker {
	position: relative;
	color: #ffffff;
	margin: 0 5px;
}

.marker:before {
	content: "";
	background-color: var(--jaune);
	width: 105%;
	height: 1.3em;
	position: absolute;
	z-index: -1;
	filter: url(#marker-shape);
	top: -0.05em;
	left: -0.2em;
	padding: 0 0.30em;
}

header {
	position: relative;
	width: 100%;
	height: 43.8vw;
	min-height: 40vh;
	padding-top: 15vh;
	padding-bottom: 8vh;
	border-bottom: 2vw solid #fff;
	background: #eee url('../images/bg-header.jpg') no-repeat;
	background-position: bottom;
	background-size: cover;
	text-align: center;
	z-index: 3;
}

header.headerindex {
	background: #eee url('../images/bg-header-big0625.webp') no-repeat;
}
header.headerprogramme {
	background: #eee url('../images/bg-header-programme.jpg') no-repeat;
}
header.headerindex, header.headerprogramme {
	background-position: bottom;
	background-size: cover;
	padding-bottom: 1vh;
}

header.headerfaq,
header.headerle-brs-en-clair {
	padding-top: 0;
}

body.pages header.headerle-brs-en-clair h1:not(.logo-programme) strong,
body.pages header.headerfaq h1:not(.logo-programme) strong {
	font-size: 4vw;
}

header {
	display: inline-block;
}

header>.content {
	padding-top: 14vw;
}

header h1 {
	position: relative;
	display: inline-block;
	font-family: 'Quentin', sans-serif;
	font-weight: normal;
	font-size: 5vw;
	color: #fff;
	margin-bottom: 1vw;
}

header h1 strong {
	font-family: 'ProspectusPro', sans-serif;
	font-weight: bold;
	font-size: 10vw;
	letter-spacing: 0.6vw;
}

header #patchbrs {
	content: " ";
	position: absolute;
	width: 8vw;
	height: 8vw;
	background: transparent url('../images/patch-brs.svg') no-repeat;
	background-size: contain;
	background-position: center;
}

header.headerindex #patchbrs {
	top: 5vh;
	right: 37vw;
}

header.headerle-brs-en-clair #patchbrs,
header.headerfaq #patchbrs {
	top: 10vh;
	right: 25vw;
}

header h2 {
	font-family: 'Moderat';
	font-weight: bold;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 2vh;
	font-size: 1.6vw;
	line-height: 1.4em;
}

header ul.menu {
	position: absolute;
	left: 3vw;
	top: 4vw;
	text-align: left;
}

header ul.menu>li {
	display: block;
	margin-bottom: 0.6vw;
}

header ul.menu>li a {
	font-family: 'Moderat', no-serif;
	font-size: 0.972vw;
	color: #fff !important;
	text-decoration: none !important;
	text-transform: uppercase;
}

header ul.menu>li a:hover {
	color: var(--vert) !important;
}

header a#btndecouvrir {
	margin-top: 1vw;
	margin-bottom: 1vw
}

header div#scrollicon {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.5vw;
	margin-top: 8vh;
	text-align: center;
	color: #fff
}

.patch-saisir {
	position: absolute;
	bottom: 0;
	left: 3vw;
	width: 30vw;
}

.patch-saisir-bg {
	display: block;
	max-width: none;
	width: 120%;
}

.patch-chantier {
	position: absolute;
	/* bottom: 0; */
	top: 4vw;
	left: 16vw;
	width: 30vw;
}

.patch-chantier-bg {
	display: block;
	max-width: none;
	width: 75%;
}

.patch-saisir-content {
	position: absolute;
	display: flex;
	flex-direction: column;
	top: 9.2vw;
	left: 12.4vw;
	width: 50%;
}

.patch-saisir-title {
	color: #E96D6E;
	font-weight: 700;
	font-size: 1.3vw;
}

.patch-saisir-text {
	margin-top: 1vw;
	color: white;
	font-weight: 700;
	font-size: 1vw;
}

footer {
	position: relative;
	background: var(--jaune) url('../images/bg-footer.jpg') no-repeat;
	background-size: cover;
	background-position: center;
	padding-top: 4vw;
	padding-bottom: 4vw;
}

footer:not(.mentions) {
	margin-top: 12vw;
}

footer:not(.mentions):before {
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	margin-bottom: 3vw;
	width: 110vw;
	background: transparent url('../images/bg-footer.photos.jpg') no-repeat;
	background-position: center;
	height: 16vw;
	margin-top: -12vw;
	margin-left: -3vw;
	z-index: -1
}

footer .columns>.column {
	text-align: center;
	padding: 3vw 2vw;
}

footer .columns>.column:last-child {
	border: none;
}

footer h3 {
	font-family: 'Canela';
	font-weight: normal;
	font-size: 2.8vw;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 2vw;
}

footer .center { text-align: center; }

footer .logo_2ph {
	margin-bottom: 2vw;
}

footer p {
	font-size: 1vw;
	color: #fff;
	margin-bottom: 2vw;
}

footer p:last-child {
	margin-bottom: 0;
}

footer ul.promoteurs {
	list-style-type: none;
	padding: 0;
	margin: 0 0 3vw 0;
}

footer ul.promoteurs>li {
	display: inline-block;
	margin: 0 1vw;
}

footer ul.promoteurs>li.ekinov-transaction {
	background-color: white;
}

footer ul.partenaires {
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 0;
}

footer ul.partenaires>li {
	display: inline-block;
	margin: 0 0.1vw;
    background-color: white;
    border-radius: 5px;
    padding: 4px;
    margin-bottom: 10px;
}

footer.mentions {
	background: #fff;
	padding-top: 2vw;
	padding-bottom: 2vw;
}

footer.mentions .columns {}

footer.mentions .columns>.column {
	text-align: center;
	padding: 0;
}

footer.mentions .columns>.column:first-child {
	text-align: left;
}

footer.mentions .columns>.column:last-child {
	text-align: right;
}

footer.mentions a {
	font-size: 1vw;
	color: var(--anthracite) !important;
	text-decoration: none;
}

footer.mentions a:hover {
	text-decoration: underline;
}

main {
	padding-bottom: 1vw;
}

main>section {
	margin: 0 auto 5vw auto;
}

main>section .reference {
	color: #7AB3BF;
	margin-top: 2vw;
	margin-bottom: 2vw;
	display: block;
	text-transform: uppercase;
	text-align: center;
	font-size: 1.528vw;
}

main>section .reference strong {
	font-family: 'Canela';
	margin-left: 0.5vw
}

main>section h2 {
	position: relative;
	margin-bottom: 2.5vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2.4vw;
	font-weight: normal;
	line-height: 3vw;
}

main>section .column.illustration {
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

main>section#projet ul.bullet-points {
	list-style-type: none;
	padding: 0px;
	margin: 0 5vw 3vw 0;
}

main>section#projet ul.bullet-points>li {
	padding-left: 1.8vw;
	margin-bottom: 0.7vw;
	font-size: 1vw;
	position: relative;
	line-height: 1.1vw
}

main>section#projet ul.bullet-points>li:before {
	content: " ";
	position: absolute;
	left: 0;
	top: 0.5em;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: var(--anthracite);
}

main>section .btn-primary {
	height: 3vw;
	line-height: 3vw;
	font-weight: normal;
	font-size: 0.9vw;
	padding: 0 3vw;
}

section#projet .reference {
	text-align: left !important;
}

section#projet h2 {
	position: relative;
	margin-bottom: 2.5vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2.4vw;
	font-weight: normal;
	line-height: 3vw;
}

section#projet h2:after {
	content: " ";
    position: absolute;
    left: 50%;
    top: 100%;
    background: transparent url('../images/trait-jaune.svg');
    background-repeat: no-repeat !important;
    width: 6vw;
    height: 2vw;
    background-size: contain;
    margin-left: -3vw;
}

section#projet #projet-1 {
	margin-bottom: 4vw;
}

section#projet #projet-1 .column.illustration {
	background-image: url('../images/illustration-projet-1.jpg');
	margin-bottom: 5vw;
	z-index: 2;
	background-position: 3.3vw;
}

section#projet #projet-1 .column.illustration p {
	font-family: 'Canela';
	font-size: 2.78vw;
	color: var(--vert);
	line-height: 3.5vw;
	margin-top: 4vw;
}

section#projet #projet-1 .column.illustration p span {
	background-color: #fff;
	padding-right: 1vw;
}

section#projet #projet-1 .column.illustration:after {
	content: " ";
	position: absolute;
	bottom: 3vw;
	width: 8vw;
	height: 8vw;
	background: transparent url('../images/carre-jaune.svg') no-repeat;
}

section#projet #projet-1 .column.texte {
	padding: 5vw 5vw 5vw 22vw;
	margin-top: 4vw;
	margin-left: -15vw;
	margin-right: -12vw;
	background: var(--beige) url('../images/bg-projet-1.jpg') no-repeat;
	background-size: cover;
}

section#projet #projet-2 .column.texte {
	padding-top: 4vw;
}

section#projet #projet-2 .column.illustration:after {
	content: " ";
	position: absolute;
	bottom: 6vw;
	width: 8vw;
	height: 8vw;
	right: 6vw;
	background: transparent url('../images/carre-orange.svg') no-repeat;
}


section#essentiel {
	text-align: center;
}

section#essentiel .logo-programme {
	display: inline-block;
	color: var(--anthracite);
	font-family: 'Quentin', sans-serif;
	font-weight: normal;
	margin-bottom: 2vw;
	text-align: center;
	font-size: 2.2vw;
}

section#essentiel .logo-programme strong {
	display: block;
	font-family: 'ProspectusPro', sans-serif;
	font-weight: bold;
	font-size: 4.3vw;
	text-transform: uppercase;
}

section#essentiel h2 {
	margin-bottom: 3vw;
}

section#essentiel .content {
	position: relative;
	padding-bottom: 4vw;
}

section#essentiel .content:before {
	content: " ";
	position: absolute;
	left: 0;
	top: 5vw;
	right: 0;
	bottom: 0;
	background: #E9F3F3;
	z-index: -1;
}

section#essentiel .columns.cards {
	margin-bottom: 3vw;
}

section#essentiel .columns.cards>.column {
	margin-right: 3vw;
	font-size: 0.9vw;
}

section#essentiel .columns.cards>.column:last-child {
	margin-right: 0;
}

section#essentiel .columns.cards>.column>img {
	margin-bottom: 4vw;
}

section#essentiel .columns.cards>.column strong {
	display: block;
	text-transform: uppercase;
	margin-bottom: 1vw;
	font-size: 1.1vw;
}

section#essentiel .columns.cards>.column .patch {
	position: absolute;
	/* top:17vw; */
	bottom: 25%;
	left: 50%;
	margin-left: -50px;
}

section#le-brs {}

section#le-brs .reference {
	margin-top: 6vw;
	margin-bottom: 3vw;
	text-transform: uppercase;
	text-align: left;
}

section#le-brs h2 {
	position: relative;
	margin-bottom: 2.5vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2.8vw;
	font-weight: normal;
	line-height: normal;
	color: var(--vert);
}

section#le-brs h2:after {
	content: " ";
	position: absolute;
	left: 0;
	top: 100%;
	background: transparent url('../images/trait-jaune.svg');
	background-repeat: no-repeat !important;
	width: 6vw;
	height: 2vw;
	background-size: contain;
}

section#le-brs h3 {
	position: relative;
	margin-bottom: 2.5vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2vw;
	font-weight: normal;
	line-height: 3vw;
	color: var(--anthracite);
}

section#le-brs .columns>.column {
	min-width: 50%;
	max-width: 50%;
}

section#le-brs .columns>.column:first-child {
	box-sizing: border-box;
	padding-left: 4vw;
}

section#le-brs .columns>.column:last-child {
	padding-left: 6vw;
	/* padding-right:6vw; */
}

section#le-brs p.info-brs {
	text-transform: uppercase;
	max-width: none;
	margin-bottom: 3vw;
}

section#le-brs p.info-brs span {
	color: var(--vert);
	text-decoration: underline;
}

section#le-brs p.info-brs sup {
	font-size: 0.8vw;
}

section#le-brs .columns>.column:last-child ul {
	list-style-type: none;
	padding: 0;
	margin: 0 0 3vw 0;
}

section#le-brs .columns>.column:last-child ul>li {
	position: relative;
	padding-left: 4vw;
	margin-bottom: 2vw;
	font-size: 1vw;
	max-width: 90%;
	line-height: 1.4em;
}

section#le-brs .columns>.column:last-child ul>li:before {
	content: " ";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 1.5vw;
	height: 1.5vw;
	background-repeat: no-repeat !important;
	background-size: contain !important;
}

section#le-brs .columns>.column:last-child ul>li:nth-child(1) {
	background: transparent url('../images/picto-01.png') no-repeat;
}

section#le-brs .columns>.column:last-child ul>li:nth-child(2) {
	background: transparent url('../images/picto-02.png') no-repeat;
}

section#le-brs .btn-primary {
	float: left;
	display: inline-block;
	color: var(--vert) !important;
	background: #fff !important;
	border: solid 1px var(--vert) !important;
}

section#le-brs .span-faq {
	float: left;
	display: inline-block;
	margin-left: 15px;
	color: var(--anthracite);
	text-decoration: none;
}

section#le-brs .btn-faq {
	margin-left: 15px;
	color: var(--vert);
	font-size: 1vw;
	line-height: 1.5vw;
}

section#le-brs ul.bullet-points>li:before {}

section#demarche h2 {
	text-align: center;
	margin-bottom: 6vw;
}

section#demarche h2:after {
	content: " ";
	position: absolute;
	left: 50%;
	top: 100%;
	background: transparent url('../images/trait-jaune.svg');
	background-repeat: no-repeat !important;
	width: 6vw;
	height: 2vw;
	background-size: contain;
	margin-left: -3vw;
}

section#demarche .columns {
	align-items: flex-start;
	margin-bottom: 3vw;
}

section#demarche .columns>.column {
	border: 1.2vw solid #fff;
	background: #E9F3F3;
	padding: 2vw;
	font-size: 1vw;
	line-height: 1.3em;
	box-sizing: border-box;
}

section#demarche .columns>.column.central {
	background-color: var(--beige);
}

section#demarche .columns>.column img {
	display: block;
	margin-bottom: 1.5vw;
}

/* css bloc rajouter le 06/03/25 https://app.asana.com/0/1171793859271579/1209302851835291 */


section#chantier .blc-chantier {
	margin-top: -7vw;
}

section#chantier h2 {
    position: relative;
    margin-bottom: 2.5vw;
    padding-bottom: 1vw;
    font-family: 'Canela';
    font-size: 2.4vw;
    font-weight: normal;
    line-height: 3vw;
	text-align: center;
}

section#chantier h2:after {
    content: " ";
    position: absolute;
    left: 50%;
    top: 100%;
    background: transparent url(../images/trait-jaune.svg);
    background-repeat: no-repeat !important;
    width: 6vw;
    height: 2vw;
    background-size: contain;
    margin-left: -3vw;
}

section#chantier .blc-chantier .chantier-img {
	text-align: center;
	margin-left: -5vw;

}

section#chantier .blc-chantier .chantier-img img {
	width: 50vw;
}

section#chantier .blc-chantier .chantier-texte {
	position: relative;
    top: 9.5vw;
    right: -42vw;
	width: fit-content;
}

section#chantier .blc-chantier .chantier-texte p {
	font-size: 1.3vw;
	color: #3D3C3C;
	font-family: 'Moderat';
	font-weight: 500;
}

section#projet .blc-chantier {
	margin-top: -10vw;
}

section#projet h2 {
    position: relative;
    margin-bottom: 2.5vw;
    padding-bottom: 1vw;
    font-family: 'Canela';
    font-size: 2.4vw;
    font-weight: normal;
    line-height: 3vw;
	text-align: center;
}

section#projet .blc-chantier .chantier-img {
	text-align: center;
	margin-left: -20vw;
}

section#projet .blc-chantier .chantier-img img {
	width: 40vw;
}

section#projet .blc-chantier .chantier-texte {
	position: relative;
    top: 11vw;
    right: -33vw;
}

section#chantier .blc-soustitre {
	padding-top: 3vw;
}

section#chantier .blc-soustitre h4 {
	color: #3D3C3C;
	font-size: 1.9vw;
	text-align: center;
	font-family: 'Canela';
	font-weight: 500;
}

section#chantier .blc-soustitre h4:after {
    content: " ";
    position: absolute;
    left: 50%;
    background: transparent url('../images/trait-jaune.svg');
    background-repeat: no-repeat !important;
    width: 6vw;
    height: 2vw;
    background-size: contain;
    margin-left: -3vw;
	margin-top: 4vw;
}


section#projet .blc-chantier .chantier-texte p {
	font-size: 2vw;
	color: #3D3C3C;
	font-family: 'Moderat';
	font-weight: bold;
}

section#mentions-legales {
	position: relative;
	padding: 2vh 2vw;
}

section#mentions-legales a {
	color:var(--anthracite);
	text-decoration: underline;
}

section#mentions-legales h3, section#mentions-legales h4, #faq-1 h4 {
	color: inherit;
	color: (--anthracite) !important;
}
section#mentions-legales h3 {
	margin-bottom: 5vh;
	padding-top: 5vh;
}

section#mentions-legales ul li {
	margin-left: 2vw;
	text-indent: 0.5vw;
}

#formulaire {
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	width: 33vw;
	max-width: 100%;
	background: var(--vert);
	color: #fff;
	z-index: 11;
	padding: 3vw;
	transition: all 0.4s ease;
	transform: translateX(100%);
	opacity: 0;
	overflow-y: auto;
}

body.formulaire #formulaire {
	transform: translateX(0);
	opacity: 1;
}

body:after {
	transition: all 0.4s ease;
}

body.formulaire:after {
	content: " ";
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9;
	background: rgba(0, 0, 0, 0.4);
}

#formulaire .logo-programme {
	display: inline-block;
	color: #fff;
	font-family: 'Quentin', sans-serif;
	font-weight: normal;
	margin-bottom: 2vw;
	text-align: center;
}

#formulaire .logo-programme strong {
	display: block;
	font-family: 'ProspectusPro', sans-serif;
	font-weight: bold;
	font-size: 2.6vw;
	letter-spacing: 0.3vw
}

#formulaire a.close {
	position: absolute;
	top: 3vw;
	right: 4vw;
	font-size: 0.9vw;
	color: #fff !important;
	text-decoration: none !important;
}

#formulaire a.close span {
	margin-right: 10px;
}

#formulaire h3 {
	font-family: 'Canela';
	font-size: 2.5vw;
	font-weight: normal;
	line-height: 1.1em;
	margin-bottom: 3vw;
}

#formulaire p.intro {
	font-size: 1vw;
	margin-bottom: 1vw;
}

#formulaire .form-group {
	margin-bottom: 0.5vw;
	overflow: hidden;
}

#formulaire .form-group .control-label {
	display: block;
	line-height: 2vw;
}

#formulaire .form-group .form-control {
	display: block;
	width: 100%;
	height: 40px;
	line-height: 40px;
	padding: 0 12px;
	border: none;
	border-radius: 0;
	font-size: 1vw;
}

#formulaire .form-group .form-control::placeholder {
	color: #BFBFBF;
}

#formulaire .form-group#nom,
#formulaire .form-group#telephone {
	display: inline-block;
	width: 48%;
	margin-right: 2%;
}

#formulaire .form-group#prenom,
#formulaire .form-group#code_postal {
	display: inline-block;
	width: 48%;
	margin-left: 1%;
}

#formulaire .form-group textarea.form-control {
	height: auto !important;
	line-height: 1.3em !important;
	resize: none !important;
	padding: 8px 12px !important;
}

#formulaire .form-group#message {
	margin-bottom: 2vw;
}

#formulaire .form-group#budget {
	margin-bottom: 2vw;
}

#formulaire .form-group#typologies {
	margin-bottom: 2vw;
}

#formulaire .form-group#typologies .control-label {
	margin-bottom: 0.6vw;
}

#formulaire .form-group#typologies .control {
	display: flex;
}

#formulaire .form-group#typologies [type="checkbox"] {
	display: none;
}

#formulaire .form-group#typologies [type="checkbox"]+label {
	flex: 1;
	height: 3vw;
	line-height: 3vw;
	text-align: center;
	border: solid 1px #fff;
	color: #fff;
	margin-right: 2vw;
}

#formulaire .form-group#typologies [type="checkbox"]+label:last-child {
	margin-right: 0;
}

#formulaire .form-group#typologies [type="checkbox"]:checked+label {
	background: var(--jaune);
}

#formulaire .form-group#optin1 {
	margin-bottom: 2vw;
}

#formulaire .form-group#optin1 [type="checkbox"] {
	display: none;
}

#formulaire .form-group#optin1 [type="checkbox"]+label {
	display: inline-block;
	padding-left: 30px;
	position: relative;
	font-size: 0.9vw;
	line-height: 1em;
}

#formulaire .form-group#optin1 [type="checkbox"]+label:before {
	content: " ";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 14px;
	height: 14px;
	background: #fff;
	margin-top: -7px;
}

#formulaire .form-group#optin1.mab_error [type="checkbox"]+label{
	border: none!important;
}

#formulaire .form-group#optin1 [type="checkbox"]:checked+label:after {
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	width: 14px;
	height: 14px;
	background: var(--jaune);
}

#formulaire .btn-valider {
	width: 100%;
	height: 4vw;
	line-height: 4vw;
	border-radius: 2vw;
	background: var(--jaune);
	color: #fff;
	font-size: 1vw;
	margin-bottom: 1vw;
	text-transform: uppercase;
	border: none;
	outline: none;
}

#formulaire p.mentions {
	font-size: 0.8vw;
	color: #fff;
	line-height: 1.2em;
}

#formulaire p.mentions a {
	color: #fff !important;
	text-decoration: underline !important;
}

#formulaire .form-group#budget {
	margin-bottom: 0.5vw;
}

#formulaire .form-group#budget .control {
	height: 3vw;
	line-height: 3vw;
}

#formulaire .form-group#budget .budget_max {
	font-size: height:2vw;
	line-height: 2vw;
	float: right;
	color: #fff;
}

#budget-range {
	display: inline-block;
	width: 100%;
	height: 6px;
	border-radius: 3px;
	border: none;
}

#budget-range .ui-slider-range-min {
	background: var(--jaune);
}

#budget-range .ui-slider-handle {
	width: 16px !important;
	height: 16px !important;
	border-radius: 16px !important;
	background: var(--jaune) !important;
	border: none;
}

.mab_error .control-label {
	border: none !important;
}

#formulaire div#confirmation {
	text-align: center;
	font-size: 2vw;
	margin-top:8vh;
	display: none;
}

#navbar-left {
	position: fixed;
	left: 3vw;
	top: 4vw;
	z-index: 2;
	overflow: hidden; /* scroll; */
}

#navbar-left ul.menu {
	display: block;
	text-align: left;
}

#navbar-left ul.menu>li {
	display: block;
	margin-bottom: 0.6vw;
}

#navbar-left ul.menu>li a {
	font-family: 'Moderat', no-serif;
	font-size: 1vw;
	color: var(--anthracite) !important;
	text-decoration: none !important;
	text-transform: uppercase;
}

#navbar-left ul.menu>li a:hover {
	color: var(--vert) !important;
}

#navbar-right {
	position: fixed;
	right: 3vw;
	top: 3vw;
	z-index: 3;
}

#navbar-right .btn-primary {
	height: 3vw;
	line-height: 3vw;
	font-weight: normal;
	font-size: 0.9vw;
	padding: 0 2.5vw;
}

#cta-contact {
	position: fixed;
	right: 3vw;
	bottom: 5vw;
	width: 9vw;
	height: 9vw;
	background: transparent url('../images/icon-contact.png') no-repeat;
	background-size: contain;
	z-index: 11;
}


/****** Pages intérieures ******/

.btn-back {
	color: var(--anthracite) !important;
	text-decoration: none !important;
	margin-bottom: 5vw;
	display: inline-block;
}

body.pages #cta-contact {
	right: 1vw;
	top: 30vw;
	bottom: auto;
	width: 10vw;
	height: 10vw;
}

body.pages header>.content {
	padding-top: 2vw;
}

body.pages header h1.logo-programme {
	font-size: 1vw;
	margin-bottom: 10vh;
}

body.pages header h1.logo-programme strong {
	font-size: 1.5vw;
	letter-spacing: 0.3vw;
}

body.pages header h1:not(.logo-programme) {
	display: inline-block;
	font-size: 3vw;
}

body.pages header h1:not(.logo-programme) strong {
	font-size: 7vw;
	font-weight: normal;
}

body.pages footer:not(.mentions) {
	margin-top: 20vw;
}

body.pages footer:not(.mentions):before {
	background-image: url('../images/bg-footer.pages.svg');
	background-position: top center;
	height: 23vw;
	margin-top: -23vw;
}


/****** Page: Le BRS en clair ******/
body.le-brs-en-clair section h2 {
	position: relative;
	margin-bottom: 2.4vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2vw;
	font-weight: normal;
	line-height: 1.3em;
	color: var(--anthracite);
	text-align: center;
}

body.le-brs-en-clair section h2.trait:after {
	content: " ";
	position: absolute;
	left: 50%;
	top: 100%;
	background: transparent url('../images/trait-jaune.svg');
	background-repeat: no-repeat !important;
	width: 6vw;
	height: 2vw;
	background-size: contain;
	margin-left: -3vw;
}

body.le-brs-en-clair .btn-back {
	margin-bottom: 3vw;
	margin-left: 3vw
}

section#brs-01 {
	text-align: center;
}

section#brs-01 p {
	text-transform: uppercase;
	margin-bottom: 5vw;
}

section#brs-02 {
	position: relative;
	padding-bottom: 3vw;
	margin-bottom: 5vw;
}

section#brs-02:before {
	content: " ";
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	top: 15vh;
	background: url('../images/bg-projet-1.jpg') no-repeat;
	background-size: cover;
	z-index: -1;
}

#avantages-brs>li {
	text-align: center;
}

#avantages-brs {
	margin-bottom: 3vw;
}

#avantages-brs>.column {
	margin-right: 3vw;
	font-size: 0.9vw;
	text-align: center;
}

#avantages-brs>.column:last-child {
	margin-right: 0;
}

#avantages-brs>.column>img {
	margin-bottom: 4vw;
	max-width: 100%;
}

#avantages-brs>.column strong {
	display: block;
	text-transform: uppercase;
	margin-bottom: 1vw;
	font-size: 1.1vw;
}

#avantages-brs>.column .patch {
	position: absolute;
	/* top:17vw; */
	bottom: 25%;
	left: 50%;
	margin-left: -50px;
}

section#brs-03 {
	margin-bottom: 5vw;
}

section#brs-03 .columns>.column {
	min-width: 50%;
	max-width: 50%;
}

section#brs-03 .columns>.column.illustration {
	position: relative;
}

section#brs-03 .columns>.column.illustration:after {
	content: " ";
	position: absolute;
	right: 3vw;
	top: 6vh;
	width: 8vw;
	height: 8vw;
	background: transparent url('../images/carre-jaune.svg') no-repeat;
}

section#brs-03 .columns>.column.texte {
	padding-top: 4vw;
	padding-left: 13vw;
}

section#brs-03 .columns>.column.texte h2 {
	text-align: left;
	margin-bottom: 4vw;
}

section#brs-03 .columns>.column.texte h2:after {
	left: 0;
	margin-left: 0;
}

section#brs-03 .columns>.column.texte ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

section#brs-03 .columns>.column.texte ul li {
	list-style-type: none;
	padding: 0 0 1.5vw 2.5vw;
	background-repeat: no-repeat !important;
}

section#brs-03 .columns>.column.texte ul li.brs-bullet-1 {
	background: url('../images/brs-bullet-1.png');
}

section#brs-03 .columns>.column.texte ul li.brs-bullet-2 {
	background: url('../images/brs-bullet-2.png');
}

section#brs-03 .columns>.column.texte ul li.brs-bullet-3 {
	background: url('../images/brs-bullet-3.png');
}

section#brs-03 .columns>.column.texte ul li.brs-bullet-4 {
	background: url('../images/brs-bullet-4.png');
}

section#brs-03 .columns>.column.texte ul li.brs-bullet-5 {
	background: url('../images/brs-bullet-5.png');
}

section#brs-04 {
	background: var(--vert);
	color: #fff;
	padding-top: 4vw;
	padding-bottom: 4vw;
}

section#brs-04 h2 {
	color: #fff;
	text-align: left;
	padding: 0;
	margin: 0;
	font-size: 2.2vw;
	line-height: 1.2em;
}

section#brs-04 .btn-primary {
	display: inline-block;
	border: solid 1px #fff;
	margin-right: 1vw;
}

section#brs-04 .btn-primary.white {
	background: #fff;
	color: var(--vert) !important;
}

section#brs-04 .btn-primary:last-child {
	margin-right: 0;
}

section#brs-04 .container.columns {}

section#brs-04 .container.columns>.column:first-child {
	text-align: left;
}

section#brs-04 .container.columns>.column:last-child {
	flex: 0 auto;
}

section#brs-05 {
	text-align: center;
}

section#brs-05>.container>h2 {
	margin-bottom: 2vw;
	padding-bottom: 0;
}

section#brs-05>.container>p {
	text-transform: uppercase;
	font-size: 1vw;
	margin-bottom: 2vw;
}

section#brs-05>.container>hr {
	margin-bottom: 4vw;
	border-top: solid 1px var(--vert);
	max-width: 10vw;
}

ul.autres-avantages {
	list-style-type: none;
	max-width: 90%;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 2vw;
	margin-bottom: 3vw;
}

ul.autres-avantages>li {
	padding: 2vw;
	background: #e9f3f3;
	text-align: left;
	text-transform: uppercase;
	font-size: 1.1vw;
	line-height: 1.3em;
	color: var(--anthracite);
}

ul.autres-avantages>li:nth-child(even) {
	background: var(--beige);
}

ul.autres-avantages>li>img {
	display: block;
	margin-bottom: 1.5vw;
}


/****** Page: FAQ ******/
section#faq-1 h2 {
	position: relative;
	margin-bottom: 2.5vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 3vw;
	font-weight: normal;
	line-height: 1.3em;
	color: var(--vert);
}

section#faq-1 h2:after {
	content: " ";
	position: absolute;
	left: 0;
	top: 100%;
	background: transparent url('../images/trait-jaune.svg');
	background-repeat: no-repeat !important;
	width: 6vw;
	height: 2vw;
	background-size: contain;
}

section#faq-1 h3 {
	position: relative;
	margin-bottom: 2vw;
	padding-bottom: 1vw;
	font-family: 'Canela';
	font-size: 2vw;
	font-weight: normal;
	line-height: 3vw;
	color: var(--anthracite);
}

section#faq-1 .btn-primary {
	height: 50px;
	line-height: 50px;
	margin-bottom: 4vw;
}

section#faq-1 .container.columns>.column:last-child {
	padding-left: 5vw;
}

ul.faq {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

ul.faq>li {
	display: block;
	margin-bottom: 4vh;
	border-bottom: solid 1px #ccc;
}

ul.faq>li:last-child {
	border-bottom: none;
}

ul.faq>li h4 {
	font-family: 'Canela';
	font-size: 1.6vw;
	font-weight: normal;
	margin-bottom: 2vw;
	max-width: 90%;
	background: url('../images/rond-blanc-plus-vert.png');
	background-repeat: no-repeat;
	background-position-x: right;
	padding-right: 6vw;
	min-height: 8.5vh;
}

ul.faq>li h4:hover {
	background: url('../images/rond-blanc-chevron-noir.png');
	background-repeat: no-repeat;
	background-position-x: right;
	padding-right: 6vw;
	cursor: pointer;
	-webkit-transition: background-image 0.3s ease-in-out;
	transition: background-image 0.3s ease-in-out;
}

ul.faq>li p {
	font-size: 1.1vw;
	line-height: 1.3em;
	max-width: 90%;
}

ul.faq>li a {
	color: var(--vert);
	text-decoration: underline;
}

ul.faq>li div {
	display: none;
}

section#faq-1 table.table {
	width: 100%;
	text-align: center;
	border-collapse: collapse;
	border-color: var(--anthracite);
}

section#faq-1 table.table tbody tr:nth-child(odd) {
	background-color: #f6f6f6;
}

section#faq-1 table.table th,
section#faq-1 table.table td {
	border: 1px solid;
	padding: 1vw;
}

section#faq-1 table.table th {
	text-transform: uppercase;
	background-color: var(--jaune);
}

section#faq-1 table.table td.zone_a {
	background-color: #ebf4f6;
}

section#faq-1 table.table td.zone_b_c {
	background-color: #fce9e9;
}


@media (max-width: 640px) {
  #p2022-apt .columns.typologies.appartements {
    width: 87% !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    row-gap: 2rem;
    margin-bottom: 10vw;
  }

  #p2022-apt .columns.typologies.appartements .column.typologie {
    flex: 0 0 calc(50% - 0.5rem) !important;
    max-width: calc(50% - 0.5rem) !important;
  }
}
@media (min-width: 641px) {

	.mobile {
		display: none !important;
	}

}

@media (max-width: 640px) {

	.desktop,
	#scrollicon {
		display: none !important;
	}

	.container {
		width: 100%;
	}

	.columns {
		display: inherit
	}

	header a#btndecouvrir {
		margin-bottom: 5vh;
	}

	body.pages header {
		padding-top: 0;
		padding-bottom: 0;
	}

	body.pages header>.content {
		padding-top: 54vw;
	}

	body.pages header h1.logo-programme {
		font-size: 14vw;
	}

	body.pages header h1.logo-programme strong {
		font-size: 18vw;
		letter-spacing: 1.3vw;
	}

	body.pages header.headerindex {
/*		padding-bottom: 10vh;*/
	}

	body.pages header #patchbrs {
		content: " ";
		position: absolute;
		background: transparent url('../images/patch-brs.svg') no-repeat;
		background-size: contain;
		background-position: center;
		width: 35vw;
		height: 35vw;
	}

	body.pages header.headerindex #patchbrs,
	body.pages header.headerle-brs-en-clair #patchbrs {
		top: 10vh;
		right: 3vw;
	}

	body.pages header h2 {
		font-size: 5.5vw;
		margin-bottom: 5vw;
		margin-top: -15vw;
	}

	body.pages header #lineup {
		position: fixed;
		width: 100%;
		height: 100px;
	}

	body.pages header #lineup .feather-menu {
		float: left;
		position: relative;
		width: 27px;
		height: 18px;
		margin: 4vh 6vw;
	}

	body.pages header #lineup .vision {
		float: left;
		position: relative;
		display: inline-block;
		font-family: 'Quentin', sans-serif;
		font-weight: normal;
		font-size: 5vw;
		color: #fff;
		margin-top: 3.5vh;
	}

	body.pages header #lineup .aou {
		float: left;
		position: relative;
		display: inline-block;
		color: #fff;
		font-family: 'ProspectusPro', sans-serif;
		font-weight: bold;
		font-size: 8vw;
		letter-spacing: 0.6vw;
		margin-top: 3.5vh;
	}

	body.pages header #lineup .btn-primary {
		float: right;
		position: relative;
		display: inline-block;
		width: 25vw;
		margin-top: 2.5vh;
		margin-right: 2.5vw;
		z-index: 1;
		padding: 0;
	}

	body.pages header ul.menu.mobile {
		display: none;
		position: fixed;
		left: 4vw;
		top: 11vh;
		text-align: left;
		background-color: #fff;
		padding: 10px;
		z-index: 1;
	}

	body.pages header ul.menu.mobile>li {
		display: block;
		margin: 2vh 0;
	}

	body.pages header ul.menu.mobile>li a {
		font-family: 'Moderat', no-serif;
		font-size: 4vw;
		color: var(--vert) !important;
		text-decoration: none !important;
		text-transform: uppercase;
	}

	body.pages header h1:not(.logo-programme) {
		display: none;
	}

	header.headerprogramme {
		background: #eee url('../images/bg-header-programme-mobile.jpg') no-repeat;
		background-position: left;
    	background-size: cover;
    	padding-bottom: 1vh;
	}

	.btn-primary {
		height: 50px;
		line-height: 50px;
		width: 50vw;
		border-radius: 25px;
	}

	header {
		height: 190vw;
	}

	.patch-saisir {
		position: absolute;
		left: -75px;
		width: 84vw;
	}

	.patch-saisir-bg {
		max-width: 100%;
	}

	.patch-saisir-content {
		position: absolute;
		display: flex;
		flex-direction: column;
		top: 22vw;
		left: 26vw;
		width: 50%;
	}

	.patch-chantier {
		position: absolute;
		/* bottom: 0; */
		top: 30vw;
		left: 8vw;
		width: 30vw;
	}

	.patch-chantier-bg {
		display: block;
		max-width: none;
		width: 160%;
	}

	.patch-saisir-title {
		color: #E96D6E;
		font-weight: 700;
		font-size: 3vw;
	}

	.patch-saisir-text {
		margin-top: 1.5vw;
		color: white;
		font-weight: 700;
		font-size: 2.5vw;
	}

	body.pages #cta-contact {
		width: 40vw;
		height: 40vw;
		right: -6vw;
		top: 80vh;
		bottom: auto;
		z-index: 11;
	}

	main>section .reference {
		margin-top: 8vw;
		margin-bottom: 8vw;
		padding-left: 10vw;
		padding-right: 10vw;
		font-size: 5.5vw;
	}

	main>section ul.bullet-points {
		margin-bottom: 10vw;
	}

	main>section ul.bullet-points>li {
		padding-left: 7vw;
		font-size: 4vw;
		margin-bottom: 1vw;
		line-height: 1.4em;
	}

	main>section ul.bullet-points>li:before {
		top: 0.7em;
	}

	main>section .btn-primary {
		position: relative;
		display: block;
		width: auto;
		height: 7vh;
		line-height: 7vh;
		border-radius: 8vw;
		font-size: 2vh;
		text-align: center;
	}

	main>section#projet ul.bullet-points>li {
		padding-left: 6vw;
		margin-bottom: 2vh;
		font-size: 3.5vw;
		position: relative;
		line-height: 2vh;
	}

	section#projet h2 {
		font-size: 7vw;
		line-height: 1.2em;
		padding-bottom: 5vw;
		margin-bottom: 10vw;
	}

	section#projet h2:after {
		width: 30vw;
		height: 3vw;
	}

	section#projet #projet-1 {
		flex-direction: column;
	}

	section#projet #projet-1 .column.illustration {
		min-height: 40vh;
		margin-left: 20vw;
	}

	section#projet #projet-1 .column.illustration:after {
		width: 16vw;
		height: 16vw;
		bottom: auto;
		top: 30vh;
		left: -10vw;
		z-index: -1
	}

	section#projet #projet-1 .column.illustration ul.title {
		left: -22vw;
		top: 45vw;
	}

	section#projet #projet-1 .column.illustration ul.title>li {
		height: 10vw;
		line-height: 10vw;
		font-size: 7.5vw;
		padding-left: 1vw;
		padding-right: 1vw;
	}

	section#projet #projet-1 .column.illustration ul.title>li:before {
		height: 7vw;
		margin-top: -4vw;
	}

	section#projet #projet-1 .column.texte {
		margin-top: -80vw;
		padding-top: 100vw;
		margin-right: 0;
		padding-right: 7vw;
		padding-bottom: 10vw;
		/* margin-bottom:10vw; */
		box-sizing: border-box;
	}

	section#projet #projet-1 .column.illustration p {
		font-family: 'Canela';
		font-size: 8.5vw;
		color: var(--vert);
		line-height: 5.5vh;
		margin-top: 18vh;
		margin-left: -15vw
	}

	section#projet #projet-2 {
		flex-direction: column;
	}

	section#projet #projet-2 .column.texte {
		margin-left: 0;
		padding: 10vw 5vw;
	}

	section#projet #projet-2 .column.illustration {
		padding: 10vw 5vw;
	}

	section#projet #projet-2 .column.illustration>img {
		max-width: 100%;
		height: auto;
	}

	section#essentiel .logo-programme {
		font-size: 10vw;
		margin-bottom: 10vw;
	}

	section#essentiel .logo-programme strong {
		font-size: 18vw;
	}

	section#essentiel .content {
		padding-bottom: 15vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}

	section#essentiel .content:before {
		top: 20vw;
	}

	section#essentiel h2 {
		margin-bottom: 10vw;
		font-size: 8vw;
		line-height: 1.2em;
	}

	section#essentiel .columns.cards {
		margin-bottom: 10vw;
		display: grid;
		grid-template-columns: 50% 50%;
		padding-left: 5vw;
		padding-right: 5vw;
	}

	section#essentiel .columns.cards>.column {
		font-size: 3.2vw;
		margin: 0 0 8vw 0 !important;
	}

	section#essentiel .columns.cards>.column>img {
		display: none;
	}

	section#essentiel .columns.cards>.column .patch {
		position: relative;
		left: auto;
		bottom: auto;
		top: auto;
		margin: 0 auto 3vw auto;
	}

	section#essentiel .columns.cards>.column strong {
		font-size: 4vw;
	}

	section#essentiel .columns.cards>.column strong sup {
		font-size: 50%;
	}

	section#le-brs {
		margin-bottom: 10vw;
	}

	section#le-brs .reference {
		padding-left: 5vw;
		margin-top: 10vw;
		margin-bottom: 10vw;
	}

	section#le-brs>.columns {
		flex-direction: column;
	}

	section#le-brs .columns>.column {
		min-width: auto;
		max-width: 100%;
		padding-left: 5vw !important;
		padding-right: 5vw !important;
	}

	section#le-brs .columns>.column img {
		max-width: 100%;
	}

	section#le-brs h3 {
		font-size: 7vw;
		line-height: 1.2em;
		margin-bottom: 10vw;
	}

	section#le-brs p.info-brs {
		max-width: none;
		margin-top: 10vw;
		margin-bottom: 10vw;
	}

	section#le-brs .columns>.column:last-child ul>li {
		font-size: 3.6vw;
		padding-left: 16vw;
		margin-bottom: 5vw;
		max-width: none;
	}

	section#le-brs .btn-primary {
		width: 82vw;
		margin-bottom: 5vw;
	}

	section#le-brs .btn-faq {
		width: 100%;
		text-align: center;
		font-size: 3.6vw;
		margin-left: 0;
	}

	section#le-brs .btn-faq strong {
		font-size: 3.6vw;
		text-decoration: none;
	}

	section#demarche .reference {
		margin-top: 7vw;
		padding-left: 5vw;
		padding-right: 5vw;
		text-align: left;
	}

	section#demarche>.container {
		padding-left: 5vw;
		padding-right: 5vw;
		width: auto;
	}

	section#demarche h2 {
		margin-bottom: 15vw;
		padding-bottom: 5vw;
		text-align: left;
		font-size: 9vw;
		line-height: 1.2em;
	}

	section#demarche h2:after {
		width: 22vw;
		height: 3vw;
		left: 0;
		margin-left: 0;
	}
	section#chantier {
		padding-top: 10vw;
		padding-bottom: 5vw;
	}

	section#chantier .blc-chantier .chantier-img img {
    	width: 70vw;
	}

	section#chantier .blc-chantier .chantier-texte p {
    	font-size: 3vw;
    	color: #3D3C3C;
    	font-family: 'Moderat';
    	font-weight: bold;
	}

	section#chantier .blc-chantier .chantier-texte {
    	position: relative;
    	top: 16vw;
    	right: -55vw;
	}

	section#chantier .blc-soustitre {
	padding-top: 3vw;
}

	section#chantier .blc-soustitre h4 {
		color: #3D3C3C;
		font-size: 4.9vw;
		text-align: center;
		font-family: 'Canela';
		font-weight: 500;
		padding: 0 5vw;
	}

	section#chantier h2:after {
        width: 22vw;
        height: 3vw;
        left: 38%;
        margin-left: 0;
    }

	section#chantier .blc-soustitre h4:after {
        width: 18vw;
        height: 3vw;
        left: 38%;
        margin-left: 0;
		margin-top: 7vw;
    }

	



	section#demarche .columns {
		max-width: none;
		flex-direction: column;
	}

	section#demarche .columns>.column {
		padding: 8vw;
		margin: 0 0 5vw 0;
		font-size: 3.6vw;
	}

	section#demarche .columns>.column img {
		margin-bottom: 5vw;
	}

	section#demarche .blc-chantier .chantier-img {
		text-align: center;
    	margin-left: 0vw;
	}

	section#demarche .blc-chantier .chantier-img img {
		width: 80vw;
	}

	section#demarche .blc-chantier .chantier-texte {
		top: 20vw;
		right: -51vw;
	}

	section#demarche .blc-chantier .chantier-texte p {
    	font-size: 3vw;
	}

	section#demarche .columns {
		margin-bottom: 10vw;
	}

	section#le-brs .span-faq {
		width: 100%;
		color: var(--anthracite);
		text-decoration: none;
		text-align: center;
	}

	section#le-brs .btn-faq {
		text-align: center;
		color: var(--vert);
		font-size: 4vw;
		line-height: 1.5vw;
	}

	section#brs-02 {
		margin: 10vh 0;
		background-color: var(--beige);
		padding: 5vh 1vw
	}

	section#brs-02 .columns {
		display: block;
	}

	section#brs-02 #avantages-brs>.column {
		margin-top: 5vh;
		width: 46vw;
		display: inline-block;
		float: left;
		position: relative;
		height: 30vh;
		font-size: 3vw;
	}

	section#brs-02 #avantages-brs>.column .patch {
		position: relative;
		top: 0;
		bottom: 0;
		left: 0;
		margin-left: 0;
		margin-bottom: 2vh;
	}

	section#brs-02 #avantages-brs>.column strong {
		font-size: 4vw
	}

	section#brs-02 #avantages-brs>.column>img {
		display: none
	}

	section#brs-03>.container>.illustration {
		display: none
	}

	section#brs-03>.container>.texte {
		width: auto;
		max-width: 100%;
		padding: 4vw !important;
	}

	section#brs-03 .columns>.column.texte h2:after {
		left: 45vw !important;
		right: 45vw !important
	}

	section#brs-03 .columns>.column.texte ul li {
		padding-left: 8vw;
		padding-bottom: 3vh;
		background-position-y: 0.3vh !important;
	}

	section#brs-04 {
		padding: 10vw;
	}

	section#brs-04 .container.columns>.column:last-child {
		text-align: center
	}

	section#brs-05 {
		padding: 10vw;
	}

	section#brs-05>.container>p {
		font-size: 4vw;
		margin-bottom: 3vh;
	}

	section#brs-05>.container>hr {
		max-width: 20vw;
	}

	section#mentions-legales ul li {
		margin-left: 5vw;
	}

	ul.autres-avantages {
		grid-template-columns: inherit;
	}

	ul.autres-avantages li {
		font-size: 4vw;
		padding: 6vw;
		margin-bottom: 5vh;
	}

	ul.autres-avantages>li>img {
		display: block;
		margin-top: -6vh;
		margin-bottom: 3vh;
	}

	body section h2 {
		font-size: 7vw !important;
		margin-bottom: 5vh !important;
		padding-bottom: 2vh !important;
		text-align: center !important;
	}

	body section h2.trait:after {
		width: 22vw !important;
		height: 5vw !important;
		margin-left: -11vw !important;
		margin-bottom: 2vh !important;
		left: 45vw !important;
		right: 45vw !important
	}

	body.faq .btn-back {
		margin-bottom: 3vw;
		margin-left: 3vw
	}

	section#faq-1 .columns>.column {
		text-align: center;
	}

	section#faq-1 .container.columns>.column:last-child {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	section#faq-1 h3 {
		margin-top: 8vh;
		margin-bottom: 4vh;
		padding-bottom: 1vw;
		font-size: 6vw;
		font-weight: normal;
		line-height: 3vh;
		text-align: center;
	}

	section#faq-1 .btn-primary {
		text-align: center;
	}

	ul.faq {
		margin-top: 4vh
	}

	ul.faq>li h4 {
		font-size: 5vw;
		max-width: 100%;
		padding-right: 20vw !important;
		background-position-x: right
	}

	ul.faq>li p {
		font-size: 3vw
	}

	body.faq footer:not(.mentions):before {
		display: none;
	}

	ul.faq>li {
		margin-bottom: 5vh;
		padding-bottom: 5vh;
	}

	footer {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	footer:not(.mentions) {
		margin-top: 30vw;
	}

	footer:not(.mentions):before {
		height: 31vw;
		margin-top: -25vw;
		background-size: cover;
		z-index: -1;
	}

	footer .columns {
		flex-direction: column;
	}

	footer .columns>.column {
		border: none;
		border-bottom: solid 1px #fff;
		padding: 15vw 5vw;
	}

	footer h3 {
		font-size: 7vw;
		margin-bottom: 10vw;
	}

	footer .columns>.column:last-child h3 {
		margin-bottom: 5vw;
	}

	footer p {
		font-size: 3.6vw;
	}

	footer ul.promoteurs {
		margin-bottom: 10vw;
	}

	footer ul.promoteurs>li {
		vertical-align: top;
		margin-right: 5vw;
	}

	footer ul.promoteurs>li.dbi {
		margin-top: 5vw;
	}

	footer .btn-primary {
		width: 70vw;
	}

	footer.mentions {
		padding-top: 5vw;
		padding-bottom: 5vw;
	}

	footer.mentions a {
		font-size: 3.6vw;
	}

	footer.mentions .columns {
		flex-direction: column;
	}

	footer.mentions .columns>.column {
		text-align: center !important;
	}

	#formulaire {
		width: 100vw;
		box-sizing: border-box;
		padding: 8vw 5vw;
		z-index: 21;
	}

	#formulaire div#confirmation {
		font-size: 5vw;
		display: none;
	}

	#formulaire .logo-programme {
		font-size: 10vw;
	}

	#formulaire .logo-programme strong {
		font-size: 15vw;
	}

	#formulaire a.close {
		top: 5vw;
		right: 5vw;
		font-size: 4vw;
	}

	#formulaire h3 {
		font-size: 7vw;
		line-height: 1.2em;
		margin-bottom: 5vw;
	}

	#formulaire p.intro {
		font-size: 3.5vw;
		margin-bottom: 5vw;
	}

	#formulaire .form-group {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#formulaire .form-group .control-label {
		font-size: 4vw;
		line-height: 1.3em;
	}

	#formulaire .form-group .form-control {
		font-size: 14px;
		box-sizing: border-box;
	}

	#formulaire .form-group#message {
		margin-bottom: 5vw;
	}

	#formulaire .form-group#budget .control {
		height: 10vw;
		line-height: 10vw;
	}

	#formulaire .form-group#typologies {
		margin-bottom: 5vw;
	}

	#formulaire .form-group#typologies .control-label {
		margin-bottom: 5vw;
	}

	#formulaire .form-group#typologies [type="checkbox"]+label {
		height: 10vw;
		line-height: 10vw;
	}

	#formulaire .form-group#optin1 {
		margin-bottom: 5vw;
	}

	#formulaire .form-group#optin1 [type="checkbox"]+label {
		font-size: 3vw;
	}

	#formulaire .btn-valider {
		height: 50px;
		line-height: 50px;
		border-radius: 25px;
		font-size: 16px;
		margin-bottom: 5vw;
	}

	#formulaire p.mentions {
		font-size: 3vw;
	}

	#formulaire .form-group#budget .budget_max {
		height: 4vw;
		line-height: 4vw;
	}

}

/* PAGE 2022 ========================= */

:root {
	--green		: #0D6D6B;
	--yellow	: #F9CB50;
	--red		: #E96D6E;

	--padd		: max(3vw, 20px);
	--padd2d	: calc(var(--padd) * 0.5);
	--padd3d	: calc(var(--padd) * 0.66);
	--padd4d	: calc(var(--padd) * 0.75);
	--padd2m	: calc(var(--padd) * 2);
	--padd3m	: calc(var(--padd) * 3);
	--padd4m	: calc(var(--padd) * 4);
}

/* ----------------------------------- */

.c_green { color: var(--green); }
.c_yellow { color: var(--yellow); }
.c_red { color: var(--red); }

.bg_green { background-color: var(--green); }
.bg_yellow { background-color: var(--yellow); }
.bg_red { background-color: var(--red); }

.btn {
	height: 2.5vw;
	display: flex; justify-content: center; align-items: center;
	background-color: var(--green);
	color: white;
	text-transform: uppercase;
	cursor: pointer;
	padding: 0 var(--padd2d);
	border-radius: 1.25vw;
	width: fit-content;
	width: intrinsic;           /* Safari/WebKit uses a non-standard name */
	width: -moz-max-content;    /* Firefox/Gecko */
	width: -webkit-max-content; /* Chrome */
}

h3 {
	position: relative;
	font-size: max(21px, 1.75vw);
	line-height: 1.2em;
	margin-bottom: 4.5vw;
}
h3:after {
	position: absolute; bottom: 0; left: 0;
	transform: translateY(200%);
	content: ' ';
	width: 4.5vw; height: 1vw;
	background: url("../images/picto_after.svg") no-repeat center/contain;
}

/* CORE ------------------------------ */

#p2022-maison {
	padding: var(--padd) var(--padd4m);
}
#p2022-maison .flex {
	gap: var(--padd2m);
}
#p2022-maison > div { margin-left: var(--padd2m); }

#p2022-apt {
	background-color: #FDF9EF;
	padding: var(--padd) 0;
	width: 100vw;
}

#p2022-apt article ul {
    font-family: 'Moderat', sans-serif;
}

#p2022-apt article ul > li {
    margin-left: 20px;
    margin-bottom: 0.5vw;
    font-size: 1vw;
}

#p2022-apt .columns.typologies.appartements {
    width: 100%;
}

#projet-2 {
	margin-top: 2vw;
}



#p2022-avantage .container {
	width: 100vw;
}

#p2022-apt .container {
	width: 100vw;
}
#p2022-apt .flex {
	gap: var(--padd2m);
}
#p2022-apt > div { margin-left: var(--padd2m); }

#p2022-avantage {
    padding: var(--padd2m) 0;
    width: 100%;
}

#p2022-avantage > h3 { margin-left: var(--padd2m); }
#p2022-avantage h3 {
	font-family: 'Canela';
	font-weight: normal;
	font-size: 2.5vw;
	color: #3D3C3C;
	margin-left: 5vw;
}
#p2022-avantage .btn { margin: 0 auto; }

#p2022-avantage > .btn { margin: 0 auto; }
#picto_container {
	display: grid; grid-template-columns: repeat(4, 1fr);
}
#picto_container .picto {
	display: flex; flex-direction: column;
	justify-content: flex-start; align-items: center;
	margin-bottom: var(--padd);
	text-align: center;
}
#picto_container .picto img { margin-bottom: 15px; height: max(5.5vw, 90px); }
#picto_container .picto strong { display: block; margin-bottom: 10px; text-transform: uppercase; }

#p2022-proxi {
	padding: var(--padd2m) 0;
	background-color: #FDF9EF;
	width: 100vw;
}

#p2022-proxi .container {
	margin-left: 5vw;
}

#p2022-proxi p.home_adresse {
	margin: 3vw 0 0 0;
    text-align: center;
    width: 82.6%;
}

#p2022-proxi > h3 { margin-left: var(--padd2m); }
#p2022-proxi > img { display: block; width: 100%; max-width: unset; margin: var(--padd) 0; }
#p2022-proxi > span { display: block; width: 100%; text-align: center; }
#p2022-proxi iframe { position: relative; display: block; width: 80%; height: 70vh; margin-left: auto; margin-right: auto; }

#p2022-proxi h3 {
    font-family: 'Canela';
    font-weight: normal;
    font-size: 2.5vw;
    color: #3D3C3C;
}


.form-input { display:grid; grid-template-columns:1fr 1fr; }
.form-input > .form-group#nom,
.form-input > .form-group#telephone { margin-right:2vw; width:auto !important; }
.form-input > .form-group#prenom,
.form-input > .form-group#code_postal { margin-left:2vw; width:auto !important; }
.form-input > .form-group#email,
.form-input > .form-group#message,
.form-input > .form-group#budget,
.form-input > .form-group#typologies,
.form-input > .form-group#optin1,
.form-input > .form-group#optin { grid-column:span 2; }
#confirmation.active { display:block !important; }

/* ----------------------------------- */

/* ONLY DESKTOP ---------------------- */

@media (min-width: 1025px) {

}

/* ONLY MOBILE ----------------------- */

@media (max-width: 1024px) {
	#p2022-proxi h3 {
		font-size: 7.5vw
	}

	#p2022-avantage h3 {
		font-size: 7.5vw;
	}

	section#p2022-apt h3 {
		font-size: 7.5vw !important;
	}

	section#p2022-apt ul li {
        margin-bottom: 3vw;
        font-size: 3.5vw;
    }

	.btn {
		height: 10vw;
		display: flex; justify-content: center; align-items: center;
		background-color: var(--green);
		color: white;
		text-transform: uppercase;
		cursor: pointer;
		padding: 0 6vw;
		border-radius: 5.25vw;
		width: fit-content;
		width: intrinsic;           /* Safari/WebKit uses a non-standard name */
		width: -moz-max-content;    /* Firefox/Gecko */
		width: -webkit-max-content; /* Chrome */
	}

	section#projet .blc-chantier .chantier-texte {
		position: relative;
		top: 11vw;
		right: -44vw;
	}
}

/* =================================== */