:root {
    --color-primaire: #3C3C3C;
    --color-secondaire: #e00c19;
    --color-texte: #3C3C3C;
    --color-texte-alt: #FFFFFF;
    --font-default: 'Montserrat', sans-serif;
}

/* Boite a outils */
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Desactiver les fleches des champs number */
input[type='number'] {
	-moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

/* Fin boite a outils*/


/******************************/
/* Message reponse formulaire */
/******************************/
.form-message {
	position: relative;
	z-index: 2;
	color: #FFFFFF;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	margin-bottom: 4px;
}

.form-message .message {
	flex: 1 1 auto;
	font-size: 2rem;
	font-variant: small-caps;
	line-height: 1.2;
	text-align: center;

}

.close {
	width: 40px;
	height: 40px;
	color: #FFFFFF;
}

.close:hover {
	cursor: pointer;
}

.close svg {
	color: #FFFFFF;
	fill: #FFF;
}

.close.close-black svg {
	color: #000;
	fill: #000;
}

.form-message.valid {
	background-color: #66CC80;
}

.form-message.invalid {
	background-color: #E84C3D;
}

/******************************/

html {
	width: 100%;
	height: 100%;
}

input,
textarea {
	border-radius: 0 !important;
}

.wrapper1140 {
	max-width: 1140px;
	padding: 0 15px;
	margin: 0 auto;
}

.no-padding {
	padding: 0;
}

/*Champs de formulaire par défaut */
form input[type="text"],
form input[type="email"],
form input[type="tel"] {
	padding: .3em 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-bottom: 1px solid var(--color-primaire);
}

form input:focus {
	background: rgba(0, 0, 0, .1);
}

form textarea {
	width: 100%;
	min-height: 100px;
	margin: 0;
	padding: 10px;
	color: var(--color-primaire);
	font-family: var(--font-default);
	font-size: 1.4rem;
	font-weight: normal;
	border: 1px solid var(--color-primaire);
	box-shadow: none;
}

/** Couleur du placeholder **/
::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ACACAC;
	opacity: 1;
	/* Firefox */
}

:focus::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ACACAC;
	opacity: 1;
	/* Firefox */
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #ACACAC;
}

:fcous:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #ACACAC;
}

::-ms-input-placeholder {
	/* Microsoft Edge */
	color: #ACACAC;
}

:focus::-ms-input-placeholder {
	/* Microsoft Edge */
	color: #ACACAC;
}

/* bouton radio*/
.btn-radio {
	margin: 0 10px 0 0;
}

.btn-radio input[type="radio"] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

.btn-radio label {
	position: relative;
	margin: 0;
	padding: 0 0 0 20px;
}

.btn-radio label::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid;
	border-color: currentColor;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: transparent;
}

.btn-radio label::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 4px;
	transform: translateY(-50%) scale(0);
	background-color: currentColor;
	transition: all .3s ease-in-out;
}

.btn-radio input[type="radio"]:focus+label {
	background: #EEE;
}

.btn-radio input[type="radio"]:checked+label::before {
	display: block;
}

.btn-radio input[type="radio"]:checked+label::after {
	transform: translateY(-50%) scale(1);
}

.btn-checkbox input[type="checkbox"] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

.btn-checkbox label {
	position: relative;
	display: block;
	margin: .1em 0;
	padding: 0 0 0 20px;
	line-height: 1.1;
	transition: all .2s ease-in-out;
}

.btn-checkbox label::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid;
	border-color: currentColor;
	border-radius: 2px;
	position: absolute;
	top: .025em;
	left: 0;
	;
	background: transparent;
}

.btn-checkbox label::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 2px;
	position: absolute;
	top: .025em;
	left: 0;
	transform: scale(0);
	background: url(../img/checkbox.svg) center center no-repeat #000;
	background-color: currentColor;
	transition: all .3s ease-in-out;
}

.btn-checkbox input[type="checkbox"]:checked+label::before {
	display: block;
}

.btn-checkbox input[type="checkbox"]:checked+label::after {
	transform: scale(1);
}

form .civilite {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

/* Fin Boite à  outils*/


/******************************/
/* Message réponse formulaire */
/******************************/
.form-message {
	position: relative;
	z-index: 2;
	color: #FFFFFF;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	margin-bottom: 4px;
}

.form-message .message {
	flex: 1 1 auto;
	font-size: 1.6rem;
	font-variant: small-caps;
	line-height: 1.2;
	text-align: center;

}

.form-message .close {
	width: 40px;
	height: 40px;
	color: #FFFFFF;
}

.form-message .close:hover {
	cursor: pointer;
}

.form-message .close svg {
	color: #FFFFFF;
	fill: #FFF;
}

.form-message.valid {
	background-color: #66CC80;
}

.form-message.invalid {
	background-color: #E84C3D;
}

/******************************/

/**********************/
/* Mise en page Popin */
/**********************/
.popin {
	margin: 0;
	width: 100%;
	max-width: 1110px;
	box-shadow: 0 0 12px rgba(0, 0, 0, .5);
	border-radius: 4px;
	background-color: #FFF;
	/* background-image:url(../img/carre-edm.png), url(../img/carre-com.png), url(../img/carre-conseil.png); */
	background-position: left top, left bottom, right bottom;
	background-repeat: no-repeat;
	background-size: 100px 100px;
}

.popin .fancybox-close-small {
	width: 100px;
	height: 100px;
	background: rgba(60, 60, 60, .65);
	color: #ffffff;
	transition: all .3s ease-in-out;
}

.popin .fancybox-close-small:focus {
	-webkit-animation-duration: 0.75s;
	animation-duration: 0.75s;
	-webkit-animation-name: bounceIn;
	animation-name: bounceIn;
	background: rgba(238, 126, 80, 1);
}

.popin .fancybox-close-small:focus svg {
	opacity: 1;
}

@-webkit-keyframes bounceIn {

	from,
	20%,
	40%,
	60%,
	80%,
	to {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	0% {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}

	40% {
		-webkit-transform: scale3d(0.9, 0.9, 0.9);
		transform: scale3d(0.9, 0.9, 0.9);
	}

	60% {
		opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}

	80% {
		-webkit-transform: scale3d(0.97, 0.97, 0.97);
		transform: scale3d(0.97, 0.97, 0.97);
	}

	to {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes bounceIn {

	from,
	20%,
	40%,
	60%,
	80%,
	to {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	0% {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}

	40% {
		-webkit-transform: scale3d(0.9, 0.9, 0.9);
		transform: scale3d(0.9, 0.9, 0.9);
	}

	60% {
		opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}

	80% {
		-webkit-transform: scale3d(0.97, 0.97, 0.97);
		transform: scale3d(0.97, 0.97, 0.97);
	}

	to {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}


.titre-popin {
	margin: 0 76px;
	font-family: var(--font-default);
	font-size: 3.6rem;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.popin p.instructions {
	margin: 1.5em auto 3em auto;
	max-width: 560px;
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.2;
}

#popin-rappel p.instructions {
	max-width: 700px;
}

#popin-contact p.instructions a {
	display: inline-block;
	padding: 0 6px;
	margin-left: -6px;
	color: var(--color-secondaire);
	font-weight: bold;
	text-decoration: none;
}

#popin-contact p.instructions a:focus,
#popin-contact p.instructions a:hover {
	background: var(--color-secondaire);
	color: #FFF;
}

.popin form {
	max-width: 640px;
	margin: 0 auto;
	font-size: 1.6rem;
}

.popin form>div {
	margin: 4rem 0;
}

.popin form>div:first-child {
	margin: 0 0 4rem 0;
}

.legend {
	margin: 0 1em 0 0;
	padding: 0;
}

.popin .infos-contact {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0 -20px;
}

.popin .infos-contact input {
	margin: 4px 20px;
	width: 300px;
}

.popin .horaire-rappel {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}

.popin .horaire-rappel label {
	margin: 0;
	padding: 0;
}

.popin .horaire-rappel select {
	margin: 0 0 0 1em;
	padding: .3em 1em .3em 0;
	border: 0;
	box-shadow: none;
	border-bottom: 1px solid var(--color-primaire);
}

.popin .validation {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
}

.popin .validation button {
	margin: 0;
	padding: .5em 1.5em;
	background: var(--color-secondaire);
	color: #FFF;
	border: none;
	border-radius: 6px;
	box-shadow: none;
	font-family: var(--font-default);
	font-size: 2.4rem;
	font-weight: bold;
	transition: all .3s ease-in-out;
}

.popin .validation button:focus,
.popin .validation button:hover {
	background: var(--color-primaire);
}

.form-obligatoire {
	margin: auto 0 0 0;
	font-style: italic;
}

.form-obligatoire>div {
	max-width: 100%;
    margin: 0 auto;
    font-size: 10px;
}

/** Couleur du placeholder **/
.popin ::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: var(--color-primaire);
	opacity: 1;
	/* Firefox */
}

.popin :focus::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ACACAC;
	opacity: 1;
	/* Firefox */
}

.popin :-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: var(--color-primaire);
}

.popin :fcous:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #ACACAC;
}

.popin ::-ms-input-placeholder {
	/* Microsoft Edge */
	color: var(--color-primaire);
}

.popin :focus::-ms-input-placeholder {
	/* Microsoft Edge */
	color: #ACACAC;
}

@media (max-width: 800px) {
	.popin {
		background-size: 50px 50px;
	}

	.popin .fancybox-close-small {
		width: 50px;
		height: 50px;
	}

	.titre-popin {
		margin: 0 26px;
		font-size: 3rem;
	}

	#popin-rappel p.instructions {
		max-width: 320px;
	}
}

@media (max-width: 700px) {
	.popin .infos-contact {
		flex-direction: column;
		align-items: stretch;
	}

	.popin .infos-contact input {
		width: auto;
	}
}

@media (max-width: 640px) {
	.titre-popin {
		margin: 25px 8px 0 8px;
		font-size: 2.6rem;
	}
}

@media (max-width: 480px) {
	.legend {
		flex: 2 0 100%;
	}

	.popin .horaire-rappel {
		flex-direction: column;
		align-items: stretch;
	}

	.popin .horaire-rappel select {
		margin: 0;
	}

	.popin .validation button {
		font-size: 2rem;
		padding: .5em .5em;
	}
}

/* Fin mise en page Popin */
/**************************/




body {
	background: #FFF;
	color: var(--color-primaire);
	font-family: var(--font-default);
	font-size: 1.6em;
}

body.popin-on {
	overflow: hidden;
}

#titre_cookie {
	position: absolute;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	right: 0;
	max-width: 960px;
	margin: 0 auto;
	background-color: rgba(173, 202, 44, .8);
	color: #FFFFFF;
	font-size: 1.2rem;
	padding: .8em .5em;
	text-align: center;
	z-index: 10;
}

#titre_cookie>p {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	line-height: 1.2;
}

#titre_cookie button {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	flex: 0 0 80px;
	/* modif sel 03/10/2019  */
	width: 32px;
	height: 22px;
	padding: 0;
	margin-left: 6px;
	margin-right: 6px;
	/* ajout sel 03/10/2019 */
	background-color: rgba(255, 255, 255, 0);
	border: 1px solid #FFFFFF;
	color: #FFF;
	cursor: pointer;
	animation: all .3s ease-in-out;
}

#titre_cookie button:focus,
#titre_cookie button:hover {
	background-color: rgba(255, 255, 255, 1);
	color: rgba(173, 202, 44, 1);
}

@media (max-width: 800px) {
	#titre_cookie {
		position: relative;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-content: center;
	}
}

.header {
	width: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	position: relative;
	/*border-bottom: 2px solid black;*/
}

.header .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    height: 81px;
    background: #3d3d3b;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.6rem;
    overflow: hidden;
}

.header .nav .logo {
	height: inherit;
}

.header .nav .logo img {
	max-height: 100%;
	width: auto;
	padding: 15px;
	margin-left: 37px;
}

.header .nav>ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	height: inherit;
	color: #FFF;
}

.header .nav>ul li {
	height: inherit;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}

.header .nav>ul li a {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	height: inherit;
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
	padding: 0 16px;
}

.header .nav>ul li a.rappel {
	background: var(--color-secondaire);
	;
}

.header .nav>a.nav-mobile {
	display: none;
	position: absolute;
	height: 60px;
	top: 0;
	right: 0;
	color: #FFF;
	text-decoration: none;
	transition: all .5s ease;
	transform: translateX(36px);
	overflow: hidden;
}

.header .nav>a.nav-mobile.on {
	transform: translateX(0);
}

.header .nav>a.nav-mobile::before {
	transition: all .5s ease;
}

.header .nav>a.nav-mobile.on::before {
	opacity: 0;
}

.header .nav>a.nav-mobile i::before {
	opacity: 0;
	transition: all .5s ease;
}

.header .nav>a.nav-mobile.on i::before {
	opacity: 1;
}

/**********************************/
/* Slideshow de la page d'accueil */
/**********************************/
.header .slideshow {
	flex: 1 1 auto !important;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	margin-top: 81px;
}

.header .slideshow-item {
	position: relative;
	width: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}

.header .slideshow-item a.link-item {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.slideshow-item .infos-item {
	background: rgba(60, 60, 60, .65);
	color: #FFF;
	padding: 10px 25px;
	margin: 60px 10px 60px 10px;
	text-align: center;
	opacity: 1;
	animation: all ease-in-out .7s;
}

.slideshow-item .infos-item a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.nom-item {
	font-family: 'Open Sans', sans-serif;
	font-size: 4.2rem;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.ville-item {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	font-size: 2.8rem;
}

.ville-item::before,
.ville-item::after {
	content: "";
	flex: 1;
	align-self: center;
	border-bottom: 2px solid currentColor;
	min-width: 20px;
}

.ville-item::before {
	margin-right: .2em;
}

.ville-item::after {
	margin-left: .2em;
}

.offre-item {
	font-size: 2.6rem;
	margin: 10px -25px -10px -25px;
	padding: 4px 12px;
	background: #DD0909;
	color: #FFFFFF;
}

.fisca-item {
	margin: auto 20px 20px 20px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.fisca-item>img {
	max-width: 90px;
	max-height: 90px;
	margin-right: 10px;
	box-shadow: 0 0 6px rgba(0, 0, 0, .35);
}

.fisca-item>img:last-child {
	margin: 0;
}

/**** Animation Slide Slick ****/
.slick-slide .slideshow-item .infos-item {
	margin-top: 0;
	opacity: 0;
	transition: all ease-in-out .5s;
	transition-delay: .3s;
}

.slick-slide.slick-active .slideshow-item .infos-item {
	margin-top: 60px;
	opacity: 1;
}

.slick-slide .slideshow-item .fisca-item {
	margin-bottom: -40px;
	opacity: 0;
	transition: all ease-in-out .5s;
	transition-delay: .3s;
}

.slick-slide.slick-active .slideshow-item .fisca-item {
	margin-bottom: 20px;
	opacity: 1;
}

/**** Personalisation de Slick ****/
.slick-prev,
.slick-next {
	z-index: 1;
	width: 5vw;
	height: 5vw;
	overflow: hidden;
	background: rgba(255, 255, 255, .5);
	transition: all .3s ease-in-out;
}

.slick-prev::before,
.slick-next::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-family: "Material Design Icons";
	font-size: 5vw;
	font-weight: bold;
	opacity: 1;
	color: var(--color-primaire);
}

.slick-next::before {
	content: "\F142";
	right: -0.26vw;
}

.slick-prev::before {
	content: "\F141";
	left: -0.26vw;
}

.slick-prev {
	left: 0;
}

.slick-next {
	right: 0;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background: rgba(0, 0, 0, .5);
}

.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
	color: white;
}

/**********************************/
.section-intro {
	margin: 70px 0;
}

.section-intro>div {
	background: url(../img/croquis-intro.png) right 30px center no-repeat;
	background-size: contain;
	padding-left: 70px;
	display: flex;
	flex-direction: row;
	align-items: center;
	min-height: 330px;
}

.section-intro .text-intro {
	max-width: 490px;
	font-size: 1.6rem;
	line-height: 1.25;
	font-style: italic;
}

.section-intro-bis {
	margin: 70px 0;
}

.section-intro-bis .chiffres-cles {
	max-width: 940px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	font-size: 2rem;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.section-intro-bis .chiffres-cles>div {
	padding: 0 2em;
	position: relative;
}

.section-intro-bis .chiffres-cles>div::after {
	content: '';
	position: absolute;
	top: 12%;
	bottom: 5%;
	right: 0;
	width: 1px;
	background: var(--color-primaire);

}

.section-intro-bis .chiffres-cles>div:first-child {
	padding-left: 0;
}

.section-intro-bis .chiffres-cles>div:last-child {
	padding-right: 0;
}

.section-intro-bis .chiffres-cles>div:last-child::after {
	display: none;
}

.section-intro-bis .chiffres-cles>div>span {
	font-size: 3.5rem;
	display: block;
	text-transform: lowercase;
}

.section-intro-bis .iso {
	max-width: 600px;
	margin: 60px auto 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.section-intro-bis .iso>img {
	height: 85px;
	margin-right: 8px;
	flex: 0 0 auto;
	width: auto;
}

.section-intro-bis .iso>p {
	max-width: 420px;
	margin: 0;
	font-size: 2rem;
	line-height: 1.2;
	text-align: center;
}

/********************************************/
/* Moteur de recherche de la page d'accueil */
/********************************************/
.section-search {
	background: #f4f4f4;
	font-size: 1.6rem;
}

.search-engine {
	padding: 30px 0;

}

form.search ul.stats {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 10px;
}

form.search ul.stats li {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}

form.search .btn-checkbox label {
	padding: 2px 0 0 18px;
	font-size: 1.4rem;
	text-transform: uppercase;
}

/* Gestion des couleurs */
label[for="avant-premiere"]::before,
label[for="avant-premiere"]:hover,
input#avant-premiere:focus+label,
input#avant-premiere:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="lancement"]::before,
label[for="lancement"]:hover,
input#lancement:focus+label,
input#lancement:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="lancement_2"]::before,
label[for="lancement_2"]:hover,
input#lancement:focus+label,
input#lancement_2:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="nouveaute"]::before,
label[for="nouveaute"]:hover,
input#nouveaute:focus+label,
input#nouveaute:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="travaux-en-cours"]::before,
label[for="travaux-en-cours"]:hover,
input#travaux-en-cours:focus+label,
input#travaux-en-cours:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="livraison-immediate"]::before,
label[for="livraison-immediate"]:hover,
input#livraison-immediate:focus+label,
input#livraison-immediate:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="dernieres-opportunites"]::before,
label[for="dernieres-opportunites"]:hover,
input#dernieres-opportunites:focus+label,
input#dernieres-opportunites:checked+label {
	color: var(--color-secondaire);
	;
}

label[for="opportunites"]::before,
label[for="opportunites"]:hover,
input#opportunites:focus+label,
input#opportunites:checked+label {
	color: var(--color-secondaire);
	;
}

form.search .options {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

form.search .options select {
	min-width: 230px;
	border: none;
	border-bottom: 2px solid #979797;
	background-color: transparent;
	box-shadow: none;
	cursor: pointer;
	padding-left: 0;
	color: #979797;
}

form.search .options select option {
	color: var(--color-primaire);
	background-color: #FFF;
	border: none;
}

form.search .options select option:disabled {
	background-color: #F4F4F4;
	color: #979797;
}

form.search button {
	background-color: var(--color-secondaire);
	color: #FFF;
	border: none;
	padding: 10px 20px;
	border-radius: 5px;
	text-transform: uppercase;
	font-family: var(--font-default);
	font-size: 1.8rem;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	transition: all .3s ease-in-out;
}

form.search button:focus,
form.search button:hover {
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);
	background-color: var(--color-primaire);
}

/********************************************/


/* card residence homepage */

.tri {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	margin: 20px 0 0 0;
}

form.tri-residence select {
	min-width: 180px;
	border: none;
	border-bottom: 2px solid #979797;
	background-color: transparent;
	box-shadow: none;
	cursor: pointer;
	padding-left: 0;
	color: #979797;
}

form.tri-residence select option {
	color: #FFFFFF;
	background-color: rgba(0, 0, 0, .25);
	border: none;
	font-size: 1.6rem;
}

form.tri-residence select option:disabled {
	background-color: #F4F4F4;
	color: #979797;
}

.programme {
	position: relative;
	min-height: 580px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	margin: 80px 0;
}

.programme:first-child {
	margin-top: 20px;
}

.programme .etape {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 50px;
	padding: 4px 12px;
	min-width: 100px;
	background-color: var(--color-primaire);
	color: #FFF;
	font-size: 3rem;
	text-transform: uppercase;
}

.programme .card {
	border-radius: 3px;
	box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .2);
	flex: 1 1 auto;
	margin: 50px 0 0 50px;
	position: relative;
	z-index: 2;
	background: #FFFFFF;
	overflow: hidden;
	background-position: 50% 50%;
	background-size: cover;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
}

.programme .card a.link-programme {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	text-decoration: none;
}

.programme .card a.link-programme .offre-programme {
	background: rgba(255, 0, 0, 1);
	color: #FFFFFF;
	padding: 2px 12px;
	margin: 18px;
	font-size: 2.4rem;
	font-variant: small-caps;
}

.programme .card .visuel {
	display: none;
}

.programme .card .details-residence {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-end;
	margin-left: auto;
	padding: 20px 30px 20px 20px;
	text-align: right;
}

.programme .card .details-residence::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 336px;
	transform-origin: bottom right;
	transform: skewX(-15deg);
	background: #FFF;
	z-index: -1;
}

.programme .ville-residence {
	font-size: 2.4rem;
	font-weight: bold;
	text-transform: uppercase;
}

.programme .nom-residence {
	font-size: 2rem;
	font-weight: 400;
}

.programme .section-infos {
	padding: 25px 0 5px 0;
	border-right: 2px solid var(--color-primaire);
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-end;
}

.programme .infos-residence {
	background: #FFF;
	margin-bottom: 20px;
	padding: 15px 15px 15px 30px;
	font-size: 1.6rem;
}

.programme .pictos-residence {
	margin: 0;
	padding: 6px;
	background: #FFF;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.programme .pictos-residence>img {
	display: block;
	width: 70px;
	height: 70px;
	margin: 0 10px 0 0;
}

.programme .pictos-residence>img:last-child {
	margin: 0;
}

.programme .btn-residence {
	margin: 50px 6px 0 0;
}

.programme .btn-residence>a {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0 6px;
	font-family: 'Open Sans', sans-serif;
	font-size: 1.6rem;
	text-decoration: none;
	text-transform: uppercase;
}

.programme .btn-residence>a.mdi::before {
	font-size: 30px;
	margin-right: 6px;
}

.programme .btn-plus-infos {
	background: #FFF;
	border-radius: 6px;
	padding: 0;
	margin: auto 0 0 0;
}

.programme .btn-plus-infos>a {
	margin: -14px 0 -14px -2px;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	font-family: var(--font-default);
	font-size: 2.8rem;
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
}

.programme .btn-plus-infos>a:hover {
	color: var(--color-primaire) !important;
}

.programme .btn-plus-infos>a.mdi::before {
	font-size: 4rem;
}

.programme a {
	transition: all .3s ease-in-out;
}

/* Couleur des liens */
.programme.avant-premiere .btn-plus-infos>a,
.programme.avant-premiere .btn-residence>a:focus,
.programme.avant-premiere .btn-residence>a:hover {
	color: var(--color-secondaire);
}

.programme.avant-premiere .etape {
	background: var(--color-secondaire);
}

.programme.avant-premiere .section-infos {
	border-color: var(--color-secondaire);
}

.programme.nouveaute .btn-plus-infos>a,
.programme.nouveaute .btn-residence>a:focus,
.programme.nouveaute .btn-residence>a:hover {
	color: var(--color-secondaire);
}

.programme.nouveaute .etape {
	background: var(--color-secondaire);
}

.programme.nouveaute .section-infos {
	border-color: var(--color-secondaire);
}

.programme.lancement .btn-plus-infos>a,
.programme.lancement .btn-residence>a:focus,
.programme.lancement .btn-residence>a:hover {
	color: var(--color-secondaire);
}

.programme.lancement .etape {
	background: var(--color-secondaire);
}

.programme.lancement .section-infos {
	border-color: var(--color-secondaire);
}

.programme.lancement_2 .btn-plus-infos>a,
.programme.lancement_2 .btn-residence>a:focus,
.programme.lancement_2 .btn-residence>a:hover {
	color: var(--color-secondaire);
}

.programme.lancement_2 .etape {
	background: var(--color-secondaire);
}

.programme.lancement_2 .section-infos {
	border-color: var(--color-secondaire);
}

.programme.travaux-en-cours .btn-plus-infos>a,
.programme.travaux-en-cours .btn-residence>a:focus,
.programme.travaux-en-cours .btn-residence>a:hover {
	color: var(--color-secondaire);
	;
}

.programme.travaux-en-cours .etape {
	background: var(--color-secondaire);
}

.programme.travaux-en-cours .section-infos {
	border-color: var(--color-secondaire);
}

.programme.livraison-immediate .btn-plus-infos>a,
.programme.livraison-immediate .btn-residence>a:focus,
.programme.livraison-immediate .btn-residence>a:hover {
	color: var(--color-secondaire);
	;
}

.programme.livraison-immediate .etape {
	background: var(--color-secondaire);
}

.programme.livraison-immediate .section-infos {
	border-color: var(--color-secondaire);
}

.programme.dernieres-opportunites .btn-plus-infos>a,
.programme.dernieres-opportunites .btn-residence>a:focus,
.programme.dernieres-opportunites .btn-residence>a:hover {
	color: var(--color-secondaire);
	;
}

.programme.dernieres-opportunites .etape {
	background: var(--color-secondaire);
}

.programme.dernieres-opportunites .section-infos {
	border-color: var(--color-secondaire);
}

.programme.opportunites .btn-plus-infos>a,
.programme.opportunites .btn-residence>a:focus,
.opportunites .btn-residence>a:hover {
	color: var(--color-secondaire);
	;
}

.programme.opportunites .etape {
	background: var(--color-secondaire);
}

.programme.opportunites .section-infos {
	border-color: var(--color-secondaire);
}

/********************/


.section-sup-footer {
	background: #f4f4f4;
	padding: 40px 0;
	text-align: center;
}

.title-sup-footer {
	font-size: 3.6rem;
}

.sup-footer {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin: 20px -15px 0 -15px;
}

.sup-footer .etape-selection {
	margin: 0 15px;
	flex: 1 1 33%;
}

.etape-selection .number {
	width: 60px;
	height: 60px;
	margin: 0 auto 10px auto;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	background: var(--color-primaire);
	color: #FFF;
	font-size: 5rem;
	border-radius: 50%;
}

.section-main-footer {
	background: var(--color-primaire);
}

.main-footer {
	height: 50px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.main-footer .logo {
	height: inherit;
}

.main-footer .logo img {
	max-height: 100%;
	width: auto;
}

.main-footer .reseaux {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.main-footer .reseaux a {
	color: #FFF;
	font-size: 3rem;
}

.main-footer .reseaux a.tel {
	margin-right: 0.5em;

	color: var(--color-secondaire);
	font-size: 1.2em;
	font-weight: bold;
	text-decoration: none;
}

.section-sub-footer {
	padding: 20px;
}

.sub-footer {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
}

.sub-footer .adresses {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.sub-footer .adresses span {
	font-variant: small-caps;
}

.sub-footer .adresse-brest {
	margin-right: 25px;
}

.sub-footer .adresses .tel {
	flex: 0 0 100%;
	margin: 12px 0 0 0;
}

.sub-footer .adresses .tel a {
	text-decoration: none;
	color: var(--color-secondaire);
	font-weight: bold;
}

.sub-footer-right {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	min-width: 210px;
}

.sub-footer-right a {
	text-decoration: none;
}

.sub-footer-right a:focus,
.sub-footer-right a:hover {
	text-decoration: underline;
}

.sub-footer-right .afaq {
	margin-left: 20px;
	height: 40px;
}

.sub-footer-right .afaq img {
	max-height: 100%;
	width: auto;
}

@media (max-width: 1140px) {}

@media (max-width: 960px) {
	.section-intro>div {
		background: none;
		min-height: 0;
		padding: 0 35px;
	}

	.section-intro .text-intro {
		max-width: 100%;
	}

	.section-intro-bis .chiffres-cles {
		max-width: 640px;
		flex-wrap: wrap;
	}

	.section-intro-bis .chiffres-cles>div {
		margin: 6px 0;
		flex: 1 1 50%;
	}

	.section-intro-bis .chiffres-cles>div::after {
		display: none;
		content: '';
		position: absolute;
		top: 12%;
		bottom: 5%;
		right: 0;
		width: 1px;
		background: var(--color-primaire);
	}

	.section-intro-bis .chiffres-cles>div:nth-child(odd) {
		padding-left: 0;
	}

	.section-intro-bis .chiffres-cles>div:nth-child(odd)::after {
		display: block;
	}

	.section-intro-bis .chiffres-cles>div:nth-child(even) {
		padding-right: 0;
	}

	form.search ul.stats {
		justify-content: flex-start;
	}

	form.search ul.stats li {
		min-width: 33.33%;
	}

	form.search .options select {
		min-width: 32%;
	}

	form.search button {
		margin: 26px auto 0 auto;
	}

	.title-sup-footer {
		font-size: 2.8rem;
	}
}

@media (max-width: 800px) {
	.header {
		min-height: 400px;
	}

	.nom-item {
		font-size: 5vw;
		letter-spacing: .1em;
	}

	.ville-item {
		font-size: 3.3vw;
	}

	.ville-item::before,
	.ville-item::after {
		border-bottom: 1px solid currentColor;
		min-width: 1vw;
	}

	.offre-item {
		font-size: 3.5vw;
	}

	.fisca-item>img {
		max-width: 10vw;
		max-height: 10vw;
		margin-right: 2vw;
	}

	/**** Personalisation de Slick ****/
	.slick-prev,
	.slick-next {
		width: 40px;
		height: 40px;
	}

	.slick-prev::before,
	.slick-next::before {
		font-size: 40px;
	}

	/**********************************/

	.programme {
		min-height: 0;
		flex-direction: column;
		align-items: flex-start;
		align-items: stretch;
		border-radius: 4px;
		box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
		overflow: hidden;
	}

	.programme .etape {
		position: static;
		font-size: 3.75vw;
		z-index: 1;
		min-height: 20px;
	}

	.programme .card {
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		background-image: none !important;
		flex-direction: column;
	}

	.programme .card a.link-programme {
		/*display: none;*/
		position: static;
	}

	.programme .card a.link-programme .offre-programme {
		font-size: 4.5vw;
		width: 100%;
		margin: 0;
	}

	.programme .card .visuel {
		display: block;
	}

	.programme .card .details-residence {
		position: relative;
		z-index: 10;
		display: block;
		width: 100%;
		padding: 0 20px 20px 20px;
		text-align: left;
	}

	.programme .card .details-residence::after {
		left: 0;
		width: inherit;
		transform-origin: top left;
		transform: skewY(-4deg);
	}

	.programme .section-infos {
		padding: 0;
		margin: 12px 0;
		border-left: 2px solid var(--color-primaire);
		border-right: 0;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.programme .infos-residence {
		background: none;
		margin: 12px;
		padding: 0;
		font-size: 1.6rem;
	}

	.programme .pictos-residence {
		margin: 12px 0 12px 12px;
		padding: 0;
		background: none;
	}

	.programme .btn-residence {
		margin: 12px 0 12px 4px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
	}

	.programme .btn-plus-infos {
		background: none;
		border-radius: 0;
		padding: 0;
		margin: 0;
	}

	.programme .btn-plus-infos>a {
		margin: -14px 0 -18px -1vw;
	}

	.sup-footer {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: stretch;
		margin: 20px 0 0 0;
	}

	.sup-footer .etape-selection {
		margin: 0 0 20px 0;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.sup-footer .etape-selection:last-child {
		margin: 0;
	}

	.etape-selection .number {
		position: relative;
		margin: 5px 20px 0 0;
		flex: 0 0 auto;
		border-radius: 0;
		background-color: transparent;
		z-index: 2;
	}

	.etape-selection .number::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: -30px;
		right: 0;
		transform: skewX(-25deg);
		background-color: var(--color-primaire);
		z-index: -1;

	}

	.sup-footer .etape-selection p {
		text-align: left;
		margin: 0;
	}

	.sub-footer-right .second-nav>ul {
		columns: 1;
		column-gap: 0;
	}
}

@media (max-width: 640px) {
	.header .nav {
		flex-direction: column;
		height: auto;
	}

	.header .nav .logo {
		height: 60px;
	}

	.header .nav>ul {
		flex-wrap: wrap;
		justify-content: flex-end;
		max-height: 0;
		transition: all .5s ease;
	}

	.header .nav>a.nav-mobile.on~ul {
		max-height: 110px;
	}

	.header .nav>ul li {
		opacity: 0;
		transition: all .5s ease;
	}

	.header .nav>a.nav-mobile.on~ul li {
		opacity: 1;
	}

	.header .nav>a.nav-mobile {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}

	.section-intro-bis .chiffres-cles {
		max-width: 100%;
	}

	.section-intro-bis .chiffres-cles>div {
		margin: 6px 0;
		flex: 1 1 100%;
	}

	.section-intro-bis .chiffres-cles>div::after {
		display: none;
		top: auto;
		right: 10%;
		bottom: 0;
		left: 10%;
		;
		width: auto;
		height: 1px;
		background: var(--color-primaire);
	}

	.section-intro-bis .chiffres-cles>div:nth-child(odd) {
		padding: 0 12px 12px 12px;
	}

	.section-intro-bis .chiffres-cles>div:nth-child(odd)::after {
		display: block;
	}

	.section-intro-bis .chiffres-cles>div:nth-child(even) {
		padding: 0 12px 12px 12px;
	}

	.section-intro-bis .chiffres-cles>div:nth-child(even)::after {
		display: block;
	}

	.section-intro-bis .iso {
		max-width: 600px;
		margin: 60px auto 0 auto;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
	}

	.section-intro-bis .iso>img {
		height: 85px;
		margin-right: 8px;
		flex: 0 0 auto;
		width: auto;
	}

	.section-intro-bis .iso>p {
		max-width: 420px;
		margin: 0;
		font-size: 2rem;
		line-height: 1.2;
		text-align: center;
	}

	.fisca-item>img {
		max-width: 15vw;
		max-height: 15vw;
	}

	form.search ul.stats li {
		min-width: 50%;
	}

	form.search .options select {
		min-width: 100%;
		margin-top: 12px;
	}

	.programme .etape {
		font-size: 4.5vw;
	}

	.sub-footer {
		flex-wrap: wrap;
	}

	.sub-footer .adresses {
		width: 100%;
		margin-bottom: 12px;
		justify-content: space-around;
	}

	.sub-footer .adresses .tel {
		text-align: center;
	}

	.sub-footer .sub-footer-right {
		margin: 0 auto;
		text-align: center;
		justify-content: center;
	}

	.sub-footer-right .afaq {
		margin-right: -60px;
	}
}

@media (max-width: 480px) {
	.header nav>ul li {
		width: 100%;
	}

	.header nav>ul li a {
		justify-content: flex-end;
		width: 100%;
	}

	.header nav>ul li a.rappel i {
		order: -1;
		margin: 0 .2em 0 0;
	}

	form.search ul.stats li {
		min-width: 100%;
	}

	.programme .btn-plus-infos>a {
		font-size: 5.8333vw;
	}

	.programme .btn-plus-infos>a.mdi::before {
		font-size: 8.333vw;
	}

	.sub-footer .adresses {
		display: block;
		text-align: center;
	}

	.sub-footer .adresses>div {
		margin: 0 0 12px 0;
	}
}



/******************/
/* Page programme */
/******************/
section.main-header {
	flex: 1 1 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

section.main-header .top-header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	max-height: none;
	min-height: 0;
}

section.main-header .top-header .logo {
	flex: 0 0 auto;
	height: 64px;
}

section.main-header .top-header .logo a {
	height: inherit;
}

section.main-header .top-header .logo img {
	height: inherit;
	width: auto;
	min-width: 0;
	max-width: none;
}

section.main-header .offre {
	flex: 1 1 auto;
	margin: 0;
	padding: 8px 20px;
	background: #DD0909;
	color: #FFF;
	font-family: var(--font-default);
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

/*section.main-header > .statut {
	transform: translateY(100%);
}
section.main-header .offre + .statut {
	transform: translateY(0);
}*/

section.main-header .statut {
	align-self: flex-end;
	margin-bottom: 20px;
}

section.main-header .statut>div {
	padding: 10px 20px 10px 20px;
	padding-right: calc((100vw - 1140px) / 2);
	background: var(--color-primaire);
	color: #FFF;
	font-size: 3.6rem;
	font-weight: 400;
	text-transform: uppercase;
}

section.main-header .visuel {
	position: relative;
	display: none;
}

section.main-header .details-residence {
	position: relative;
	min-width: 400px;
	align-self: flex-start;
	margin: auto 0 auto 80px;
	padding: 20px 30px;
	background: rgba(255, 255, 255, .9);
	border-left: 5px solid var(--color-primaire);
	font-family: var(--font-default);
}

section.main-header .details-residence .nom-residence {
	font-size: 3.2rem;
	font-weight: bold;
}

section.main-header .details-residence .ville-residence {
	font-size: 2.4rem;
	text-transform: uppercase;
}

section.main-header .details-residence .region-residence {
	font-size: 2.4rem;
}

section.main-header .details-residence .infos-residence {
	margin: 20px 0;
}

section.main-header .details-residence .pictos-residence {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	height: 60px;
}

section.main-header .details-residence .pictos-residence img {
	display: block;
	width: auto;
	height: inherit;
	margin-right: 10px;
}

section.main-header .details-residence .btn-localiser {
	margin-top: 12px;
}

section.main-header .details-residence .btn-localiser>a {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	font-size: 1.6rem;
	text-decoration: none;
}

section.main-header .details-residence .btn-localiser>a::before {
	font-size: 2rem;
	margin-left: -5px;
}

section.avant-premiere .statut>div {
	background-color: var(--color-secondaire);
}

section.avant-premiere .details-residence {
	border-color: var(--color-secondaire);
}

section.avant-premiere .btn-localiser>a:focus,
section.avant-premiere .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.nouveaute .statut>div {
	background-color: var(--color-secondaire);
}

section.nouveaute .details-residence {
	border-color: var(--color-secondaire);
}

section.nouveaute .btn-localiser>a:focus,
section.nouveaute .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.lancement .statut>div {
	background-color: var(--color-secondaire);
}

section.lancement .details-residence {
	border-color: var(--color-secondaire);
}

section.lancement .btn-localiser>a:focus,
section.lancement .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.lancement_2 .statut>div {
	background-color: var(--color-secondaire);
}

section.lancement_2 .details-residence {
	border-color: var(--color-secondaire);
}

section.lancement_2 .btn-localiser>a:focus,
section.lancement_2 .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.travaux-en-cours .statut>div {
	background-color: var(--color-secondaire);
}

section.travaux-en-cours .details-residence {
	border-color: var(--color-secondaire);
}

section.travaux-en-cours .btn-localiser>a:focus,
section.travaux-en-cours .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.livraison-immediate .statut>div {
	background-color: var(--color-secondaire);
}

section.livraison-immediate .details-residence {
	border-color: var(--color-secondaire);
}

section.livraison-immediate .btn-localiser>a:focus,
section.livraison-immediate>a:hover {
	color: var(--color-secondaire);
}

section.dernieres-opportunites .statut>div {
	background-color: var(--color-secondaire);
}

section.dernieres-opportunites .details-residence {
	border-color: var(--color-secondaire);
}

section.dernieres-opportunites .btn-localiser>a:focus,
section.dernieres-opportunites .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

section.opportunites .statut>div {
	background-color: var(--color-secondaire);
}

section.opportunites .details-residence {
	border-color: var(--color-secondaire);
}

section.opportunites .btn-localiser>a:focus,
section.opportunites .btn-localiser>a:hover {
	color: var(--color-secondaire);
}

.sticky {
	position: fixed;
	top: 0;
	z-index: 10;
	width: 100%;
}

.nav-programme {
	height: 50px;
	background: var(--color-primaire);
	font-family: 'Open Sans', sans-serif;
	font-size: 1.6rem;
}

.nav-programme>ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	height: inherit;
	color: #FFF;
}

.nav-programme>ul li {
	height: inherit;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}

.nav-programme>ul li a {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	height: inherit;
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
	padding: 0 15px;
	transition: all .3s ease-in-out;
}

.nav-programme>ul li a::before {
	font-size: 3rem;
	margin-right: 6px;
}

.nav-programme>ul li a:focus,
.nav-programme>ul li a:hover {
	background: #FFF;
	color: var(--color-primaire);
}

.nav-programme>ul li a.rappel {
	background: var(--color-secondaire);
	padding: 0 10px 0 15px;
}

.nav-programme>ul li a.rappel i {
	font-size: 3rem;
}

.nav-programme>ul li a.rappel:focus,
.nav-programme>ul li a.rappel:hover {
	background: #FFF;
	color: var(--color-secondaire);
}

.nav-programme ul li.tel-programme {
	font-size: 2.4rem;
	margin-right: -190px;
}

.page-programme section:not(.main-header) {
	margin: 30px 0;
	padding: 0;
}

.page-programme section.bloc {
	background: #F4F4F4;
	margin: 0;
	padding: 30px 0;
}

section h1 {
	margin: 30px 0 .1em 0;
	padding: 0;
	font-family: var(--font-default);
	font-size: 3.2rem;
	font-weight: normal;
	line-height: 1.1;
	text-transform: uppercase;
}

section.infos-generales .flex-row {
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 20px;
}

section.infos-generales .presentation {
	flex: 1 1 auto;
	margin: 0 20px 0 0;
}

section.infos-generales .presentation p {
	margin-left: 20px;
}

section.infos-generales .presentation .details p {
	font-weight: bold;
	margin: 0 0 0 20px;
}

section.infos-generales .plan-de-masse {
	flex: 1 1 auto;
	max-width: 40%;
}

section.infos-generales .plan-de-masse img {
	position: relative;
}

section.infos-generales .btn-plus-infos span {
	display: inline-flex;
	flex-direction: row-reverse;
	align-items: center;
}

section.infos-generales .btn-plus-infos span::before {
	font-size: 2.6rem;
	transition: all .3s ease-in-out;
	transform: translateY(10%);
}

section.infos-generales .btn-plus-infos.actif span::before {
	transform: rotate(-180deg);
}

section.infos-generales .bloc-habiter-investir {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin: 0 -20px;
	font-size: 1.4rem;
	/*display: none;*/
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease-in-out;
}

section.infos-generales .bloc-habiter-investir.actif {
	/*display: flex;*/
	max-height: 9999px;
}

section.infos-generales .btn-plus-infos {
	font-size: 1.6rem;
	text-align: center;
	cursor: pointer;
}

section.infos-generales .bloc-habiter-investir>div {
	flex: 1 1 auto;
	max-width: 50%;
	margin: 0 20px;
	background: #F4F4F4;
}

section.infos-generales .bloc-habiter-investir p.titre {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 0 1em 0;
	padding: 2px 8px;
	background: var(--color-primaire);
	color: #FFF;
	font-family: var(--font-default);
	font-size: 2rem;
	text-align: center;
	text-transform: uppercase;
	z-index: 1;
}

section.infos-generales .bloc-habiter-investir p.titre::before {
	position: absolute;
	bottom: -.81em;
	left: 50%;
	transform: translateX(-50%);
	font-size: 4em;
	color: var(--color-primaire);
	z-index: -1;
}

section.infos-generales .bloc-habiter-investir .content {
	padding: 0 12px 20px 12px;
}

section.infos-generales .pour-habiter .ptz,
section.infos-generales .pour-habiter .tva-reduite {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}

section.infos-generales .pour-habiter>div img {
	align-self: flex-start;
	flex: 0 0 auto;
	width: 75px;
	margin: 6px 12px 12px 0;
}

section.infos-generales .pour-habiter div+div {
	margin-top: 20px;
}

section.infos-generales .pour-investir .ptz,
section.infos-generales .pour-investir .tva-reduite {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
}

section.infos-generales .pour-investir .logo-fiscalite {
	max-width: 75px;
}

section.infos-generales .pour-investir p.sous-titre {
	border-bottom: 2px solid currentColor;
	display: inline-block;
	margin: 20px 0 8px 0;
	padding: 0 2px 0 20px;
	font-size: 1.2em;
	font-variant: small-caps;

}

section.infos-generales .bloc-habiter-investir ul {
	margin: 0 0 0 20px;
	padding: 0;
	list-style-type: square;
	list-style-position: outside;

}

section.call-to-action .wrapper1140 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	padding: 10px 0;
}

a.btn-rdv {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	background-color: var(--color-secondaire);
	border-radius: 4px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	color: #FFF;
	margin: 10px 20px;
	padding: 0 12px 0 8px;
	font-family: var(--font-default);
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .3s ease-in-out;
}

a.btn-3d {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	background-color: var(--color-secondaire);
	border-radius: 4px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	color: #FFF;
	margin: 10px 20px;
	padding: 0 12px 0 8px;
	font-family: var(--font-default);
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .3s ease-in-out;
}

a.btn-rdv::before {
	font-size: 1.5em;
	margin: 0 .3em 0 0;
}

a:focus.btn-rdv,
a:hover.btn-rdv {
	background-color: var(--color-primaire);
}

a.btn-rappel {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	background-color: var(--color-secondaire);
	border-radius: 4px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	color: #FFF;
	margin: 10px 20px;
	padding: 0 12px 0 8px;
	font-family: var(--font-default);
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: none;
	transition: all .3s ease-in-out;
}

a.btn-rappel::before {
	font-size: 1.5em;
	margin: 0 .3em 0 0;
}

a:focus.btn-rappel,
a:hover.btn-rappel {
	background-color: var(--color-primaire);
}

section.photos-videos {
	margin-top: 30px;
	background: #F4F4F4;
	padding: 21px;
}

section.photos-videos .galerie {
	display: grid;
	grid-template-areas: "a a b b"
		"a a c d";
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-gap: 20px;

}

section.photos-videos .galerie>div {
	position: relative;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

section.photos-videos .galerie div:nth-child(n+5) {
	display: none;
}

section.photos-videos .galerie div:first-child {
	grid-area: a;
}

section.photos-videos .galerie div:nth-child(2) {
	grid-area: b;
}

section.photos-videos .galerie div:nth-child(3) {
	grid-area: c;
}

section.photos-videos .galerie div:nth-child(4) {
	grid-area: d;
}

section.photos-videos .galerie span {
	margin: 0;
	padding: 0;
	width: 100%;
	padding-bottom: calc(100% - 24px);
	display: block;
}

section.photos-videos .galerie div:nth-child(2) span {
	padding-bottom: calc(50% - 12px);
}

section.photos-videos .galerie a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, .5);
	color: #FFF;
	font-size: 7rem;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: all .3s ease-in-out;
	opacity: 0;
}

section.photos-videos .galerie a::before {
	transform: scale(0);
	transition: all .3s ease-in-out;
}

section.photos-videos .galerie a:focus,
section.photos-videos .galerie a:hover {
	opacity: 1;
}

section.photos-videos .galerie a:focus::before,
section.photos-videos .galerie a:hover::before {
	transform: scale(1);
}

section.photos-videos .galerie a.video {
	opacity: 1;
	background: rgba(0, 0, 0, 0);
	font-size: 9rem;
}

section.photos-videos .galerie a.video:focus,
section.photos-videos .galerie a.video:hover {
	background: rgba(0, 0, 0, .5);
}

section.photos-videos .galerie a.video::before {
	transform: scale(1);
	text-shadow: 0 0 10px rgba(0, 0, 0, .7);
}

section.photos-videos .galerie a:focus.video::before,
section.photos-videos .galerie a:hover.video::before {
	transform: scale(1.3);
}

@media (max-width: 640px) {
	section.photos-videos .galerie {
		grid-template-areas: "a a"
			"a a"
			"b b"
			"c d";
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr 1fr 1fr;
	}

	section.photos-videos .galerie a.video {
		font-size: 7rem;
	}
}

section.promoteur .flex-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
}

section.promoteur .logo-promoteur {
	flex: 1 1 auto;
	min-width: 140px;
	width: 15%;
	margin: 6px 20px 0 0;
}

section.atouts {
	margin-top: 30px;
	background: #F4F4F4;
	padding: 21px;
	font-size: 1.8rem;
}

section.atouts .flex-row {
	justify-content: space-around;
	align-items: stretch;
	margin: 0 -5px;
}

section.atouts .flex-row>div {
	width: 380px;
	margin: 0 5px;
}

section.atouts h2 {
	margin: 0 0 .25em 0;
	padding: 0 .8em 0 .1em;
	font-family: var(--font-default);
	font-size: 3.2rem;
	font-variant: small-caps;
	font-weight: normal;
	line-height: 1.1;
	border-bottom: 3px solid currentColor;
}

section.atouts p {
	line-height: 1.25;
}

section.atouts ul {
	margin: 6px 20px 0 20px;
	padding: 0;
}

section.atouts ul li {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	line-height: 1.25;
	margin: .25em 0;
}

section.atouts ul li::before {
	font-family: "Material Design Icons";
	content: "\F12C";
	font-size: 1.5em;
	color: var(--color-secondaire);
	margin: -.2em .2em 0 0;
	flex: 0 0 auto;
}


section.lots {
	font-family: var(--font-default);
}

section.lots .groupe-lots {
	margin-bottom: 8px;
}

section.lots .infos-lots {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0 10px;
	height: 50px;
	background: var(--color-primaire);
	color: #FFF;
	font-size: 2rem;
}

section.lots .infos-lots>div.typologie {
	text-transform: uppercase;
	min-width: 60px;
}

section.lots .infos-lots>div.mdi {
	transition: all .3s ease-in-out;
}

section.lots .infos-lots>div.mdi::before {
	transition: all .3s ease-in-out;
}

section.lots .infos-lots.actif>div.mdi::before {
	transform: rotate(-180deg);
}

table.liste-lots {
	text-align: center;
}

table.liste-lots thead {
	background: #979797;
	color: #FFF;
}

table.liste-lots thead tr th {
	font-weight: normal;
	padding: 8px;
}

table.liste-lots thead tr th:first-child {
	width: 85px;
}

table.liste-lots th[data-sort] {
	cursor: pointer;
}

table.liste-lots th[data-sort] span {
	position: relative;
	display: inline-flex;
	flex-direction: row-reverse;
}

table.liste-lots th[data-sort] span::before {
	content: "\F54F";
	font-family: "Material Design Icons";
}

table.liste-lots tbody tr td {
	padding: 6px 0;
	border-bottom: 1px solid var(--color-primaire);
}

table.liste-lots a.btn {
	background-color: var(--color-secondaire);
	border-radius: 4px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	color: #FFF;
	padding: 5px 10px;
	text-decoration: none;
	transition: all .3s ease-in-out;
}

table.liste-lots a:focus.btn,
table.liste-lots a:hover.btn {
	background-color: var(--color-primaire);
}

section.lieu .flex-row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

section.lieu .visuel {
	flex: 0 0 auto;
	width: 20%;
	height: 0;
	padding-bottom: 20%;
	margin-right: 20px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;

}

section.lieu .visuel img {
	display: none;
}

section.map {
	margin-top: 25px;
}

section.map ul.legende {
	margin: 0;
	padding: 0 16px;
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	background: var(--color-secondaire);
	color: #FFF;
	font-family: var(--font-default);
	font-size: 2.4rem;
}

section.map ul.legende a {
	color: #FFF;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0 6px;
	opacity: .7;
	transition: all .3s ease-in-out;
}

section.map ul.legende a::before {
	font-size: 3.3rem;
	margin-right: 6px;
}

section.map ul.legende a:focus,
section.map ul.legende a:hover,
section.map ul.legende a.enabled {
	opacity: 1;
}

section.map .google-map {
	position: relative;
	height: 0;
	overflow: auto;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 740px;
}

section.map .google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 740px;
	border: 0;
}

section.espace-de-vente .flex-row {
	justify-content: space-between;
}

section.espace-de-vente .infos-bv .adresse-bv,
section.espace-de-vente .infos-bv .horaires-bv,
section.espace-de-vente .infos-bv .tel-bv {
	/*display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	text-decoration: none;
	margin: -2px 0;*/
	position: relative;
	padding-left: 1.8em;
	margin: 12px 0;
	text-decoration: none;
}

section.espace-de-vente .infos-bv .adresse-bv::before,
section.espace-de-vente .infos-bv .horaires-bv::before,
section.espace-de-vente .infos-bv .tel-bv::before {
	font-size: 1.5em;
	position: absolute;
	top: -.25em;
	left: 0;
}

section.espace-de-vente .infos-bv .horaires-bv span {
	background-image: linear-gradient(to right, currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 100% 1px;
	background-position: center bottom 0px;
}

section.espace-de-vente .infos-bv table {
	margin: 0;
}

section.espace-de-vente .infos-bv table tr td:first-child {
	min-width: 120px;
	text-align: right;
	font-weight: bold;
}

section.espace-de-vente .call-to-action {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
}

section.coordonees a[href^="tel"] {
	color: var(--color-secondaire);
	font-weight: bold;
	text-decoration: none;
}

section.rendez-vous {
	margin-top: 30px;
	background: #F4F4F4;
	padding: 21px;
}

section.rendez-vous .bloc-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
}

section.rendez-vous form {
	flex: 0 1 720px;
}

section.rendez-vous form>div {
	margin: 1em 0;
}

section.rendez-vous form .form-obligatoire {
	margin-left: auto;
	color: #ED7F4C;
	font-style: italic;
	font-weight: 400;
}

section.rendez-vous form .civilite {
	order: -1;
}

section.rendez-vous form .infos-contact {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 0 -20px;
}

section.rendez-vous form .infos-contact>* {
	flex: 0 0 auto;
	margin-left: 20px;
	width: calc(50% - 20px);
}

section.rendez-vous form .habiter-investir {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.validation button {
	background-color: var(--color-secondaire);
	color: #FFF;
	border: none;
	padding: 10px 20px;
	border-radius: 5px;
	text-transform: uppercase;
	font-family: var(--font-default);
	font-size: 1.8rem;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
	transition: all .3s ease-in-out;
}

.validation button:focus,
.validation button:hover {
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2);
	background-color: var(--color-primaire);
}

section.rendez-vous .visuel {
	flex: 0 1 350px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 20px;
}

section.mentions-legales {
	font-size: 10px;
    line-height: 1.2;
    color: #8C8C8C;
    background: #F4F4F4;
    padding: 21px;
}

section.mentions-legales>div {
	border-top: 1px solid var(--color-primaire);
	padding-top: 16px;
}

.footer+section.mentions-legales {
	border-top: none;
}


/* Page programme */
@media (max-width: 1140px) {
	section.main-header .statut>div {
		padding: 10px 20px;
	}

	.nav-programme {
		font-size: 1.5vw;
		height: auto;
	}

	.nav-programme>ul {
		align-items: stretch;
	}

	.nav-programme>ul li {
		align-items: stretch;
	}

	.nav-programme>ul li a {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.nav-programme>ul li a::before {
		font-size: 2vw;
		margin: 0 0 -.4vw 0;
	}

	.nav-programme>ul li a.rappel {
		flex-direction: column-reverse;
	}

	.nav-programme>ul li a.rappel i {
		font-size: 2vw;
		margin: 0 0 -.4vw 0;
	}

	.nav-programme>ul li a.rappel:focus,
	.nav-programme>ul li a.rappel:hover {
		background: #FFF;
		color: var(--color-secondaire);
		;
	}

	section.rendez-vous .visuel {
		display: none;
	}

	section.rendez-vous form {
		flex: 0 1 100%;
	}

	section.rendez-vous form .form-obligatoire {
		margin: 0 0 12px 0;
		width: 100%;
	}

	section.rendez-vous form .civilite {
		order: 1;
	}
}

@media (max-width: 960px) {
	.sticky {
		position: static;
	}

	.nav-programme {
		font-size: 1.6rem;
		height: 50px;
	}

	.nav-programme>ul {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
		height: inherit;
	}

	.nav-programme>ul li {
		display: none;
	}

	.nav-programme>ul li.rendez-vous,
	.nav-programme>ul li.rappel {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		height: inherit;
	}

	.nav-programme>ul li a {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
	}

	.nav-programme>ul li a.rappel {
		flex-direction: row;
	}

	.nav-programme>ul li a::before,
	.nav-programme>ul li a.rappel i {
		font-size: 3rem;
	}

	.nav-programme>ul li a::before {
		margin: 0 6px 0 0;
	}

	.nav-programme>ul li a.rappel i {
		margin: 0 0 0 6px;
	}

}

@media (max-width: 800px) {
	section.main-header {
		display: block;
		background-image: none !important;
		padding: 0px;
	}

	section.main-header .top-header {
		display: block;
	}

	section.main-header .top-header .logo {
		background: var(--color-primaire);
	}

	section.main-header .top-header .logo img {
		display: block;
		margin: 0 auto;
	}

	section.main-header .offre {
		font-size: 2rem;
	}

	section.main-header>.statut {
		display: none;
	}

	section.main-header .visuel .statut {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY(100%);
	}

	section.main-header .statut>div {
		padding: 6px 12px;
		font-size: 2rem;
	}

	section.main-header .visuel {
		display: block;
	}

	section.main-header .details-residence {
		min-width: 0;
		margin: 0;
		padding: 15px 20px;
		border-left-width: 12px;
	}

	section.main-header .details-residence .section-localisation {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
	}

	section.main-header .details-residence .section-localisation>div {
		margin-right: .6em;
	}

	section.main-header .details-residence .nom-residence {
		font-size: 2rem;
	}

	section.main-header .details-residence .ville-residence,
	section.main-header .details-residence .region-residence {
		font-size: 1.8rem;
	}

	section.main-header .details-residence .infos-residence {
		display: inline-block;
		margin-right: 20px;
	}

	section.main-header .details-residence .pictos-residence {
		display: inline-flex;
	}

	section.infos-generales .bloc-habiter-investir {
		display: block;
		margin: 0;
	}

	section.infos-generales .bloc-habiter-investir>div {
		max-width: none;
		margin: 0;
	}

	section.atouts .flex-row>div {
		flex: 1 1 auto;
		width: auto;
	}

	section.atouts .flex-row>div:first-child {
		margin-bottom: 20px;
	}

	section.lots .infos-lots {
		font-size: 2.5vw;
	}

	section.lots .infos-lots>div.typologie {
		font-size: 2rem;
	}

	section.lots .infos-lots>div.mdi {
		font-size: 2rem;
	}

	section.lots .wrapper-table {
		width: 100%;
		overflow-x: scroll;
	}

	section.lots .wrapper-table::-webkit-scrollbar {
		-webkit-appearance: none;
	}

	section.lots .wrapper-table::-webkit-scrollbar:vertical {
		width: 12px;
	}

	section.lots .wrapper-table::-webkit-scrollbar:horizontal {
		height: 12px;
	}

	section.lots .wrapper-table::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 0, .5);
		border-radius: 10px;
		border: 2px solid #ffffff;
	}

	section.lots .wrapper-table::-webkit-scrollbar-track {
		border-radius: 10px;
		background-color: #ffffff;
	}

	table.liste-lots {
		table-layout: auto;
		min-width: 600px;
	}

	section.map ul.legende a {
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
		font-size: 3vw;
	}

	section.map ul.legende a::before {
		font-size: 6vw;
		margin: 0 0 -1.4vw 0;
	}
}

@media (max-width: 640px) {

	section.infos-generales .flex-row {
		display: block;
	}

	section.infos-generales .presentation {
		margin: 0 0 20px 0;
	}

	section.infos-generales .presentation p {
		margin: 0 0 1em 0;
		text-align: justify;
	}

	section.infos-generales .presentation .details p {
		margin: 0;
	}

	section.infos-generales .plan-de-masse {
		max-width: 100%;
	}

	section.infos-generales .plan-de-masse img {
		position: relative;
	}

	section.infos-generales .btn-plus-infos span {
		display: inline-flex;
		flex-direction: row-reverse;
		align-items: center;
	}

	section.infos-generales .btn-plus-infos span::before {
		font-size: 2.6rem;
		transition: all .3s ease-in-out;
		transform: translateY(10%);
	}

	section.infos-generales .btn-plus-infos.actif span::before {
		transform: rotate(-180deg);
	}

	section.lots .infos-lots {
		font-size: 3vw;
	}

	section.lots .infos-lots>div:nth-child(4) {
		display: none;
	}

	section.promoteur .flex-row {
		display: block;
	}

	section.promoteur .logo-promoteur {
		margin: 1em 0;
		width: auto;
		max-width: 200px;
	}

	section.promoteur .logo-promoteur .presentation {
		width: 100%;
		flex: 0 0 auto;
	}

	section.lieu .flex-row {
		flex-direction: column;
	}

	section.lieu .visuel {
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0 0 1em 0;
		background-image: none;
	}

	section.lieu .visuel img {
		display: block;
	}

	section.rendez-vous form .infos-contact {
		display: block;
		margin: 0;
	}

	section.rendez-vous form .infos-contact>* {
		display: block;
		width: 100%;
		margin: 0;
	}

}

@media (max-width: 480px) {

	section.espace-de-vente .infos-bv table,
	section.espace-de-vente .infos-bv table tr,
	section.espace-de-vente .infos-bv table tr td {
		display: block;
		text-align: left !important;
	}

}

/******************/

/* ====== Footer Container ====== */
.footer-izimmo {
	display: flex;
	flex-direction: column;
	padding: 2rem 2.5rem;
	gap: 2rem;
	align-items: center;
}

@media (min-width: 768px) {
	.footer-izimmo {
		flex-direction: row;
		padding-left: 2rem;
		padding-right: 2rem;
		gap: 0;
	}
}

.footer-logo-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 280px;
}

.footer-logo {
	width: 125px;
	aspect-ratio: 5 / 2;
}

/* ====== Text Section ====== */
.footer-text-section {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-left: 0;
}

@media (min-width: 768px) {
	.footer-text-section {
		padding-left: 2rem;
	}
}

@media (min-width: 1280px) {
	.footer-text-section {
		padding-left: 5rem;
		padding-right: 4rem;
	}
}

.footer-legal-text {
	font-size: 12px;
	line-height: 1.4;
}

/* ====== Links Sections ====== */
.footer-links-desktop {
	display: none;
}

@media (min-width: 768px) {
	.footer-links-desktop {
		display: flex;
		gap: 1rem;
	}
}

.footer-links-mobile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

@media (min-width: 768px) {
	.footer-links-mobile {
		display: none;
	}
}

.footer-link {
	font-size: 11px;
	font-weight: 600;
	text-decoration: underline;
}

/* ====== AFAQ Badge ====== */
.footer-certification {
	width: 100px;
}