@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&display=swap');

/* GENERAL */
body {
	font-family: 'Open Sans', sans-serif;
	font-size:16px;
	line-height:22px;
	color: #545454;
}

h1, h2, h3,
p {
	margin:0;
}

* {
	box-sizing: border-box;
}

.clear {
	clear: both;
}

sup {
	font-size: 0.6em;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

#main {
	width:100%;
	margin:0 auto;
}

/* HEADER */
.bloc-header { 
	width:70%;
	background:url('../img/VILLA_DEVAUX_BLANC_MESNIL.jpg') top center no-repeat;
	background-size:cover;
	float:left;
}

.bloc-header .logo {
	width: 100%;

	padding: 20px 2%;
	z-index: 3;
	color: #fff;
	display: flex;
	background-color: #545454;
	align-items: flex-end;
	font-family: 'Open Sans', sans-serif;
}
.bloc-header .logo img {
	width:215px;
	margin-right: 15px;
}

.bloc-header .txt {
	bottom:0;
	margin:360px 0 80px 0;
	position:relative;
	width:60%;
	background-color:#545454;
	color:#fff;
	padding:20px 2%;
	font-family: 'Playfair Display', serif;
	letter-spacing:0.5px;
}

.bloc-header .txt h1 {
	font-size:33px;
	line-height:42px;
	text-transform:uppercase;
	font-weight:900;
}
.bloc-header .txt p {
	font-size:25px;
	line-height:33px;
	font-weight:700;
}

/* TXT */
.bloc-txt {
	float:left;
	width:70%;
	padding:60px 5%;
}

.bloc-txt h2 {
	font-weight:700;
	text-decoration:underline;
	padding:30px 0 15px;
}
.bloc-txt p {
	padding:15px 0;
}
.bloc-txt p.mention {
	font-size:12px;
	line-height:14px;
}
.bloc-txt p.mention a {
	color:#545454;
	text-decoration:underline;
}


/* IMG */
.bloc-img {
	width:70%;
	margin-bottom:80px;
}
.bloc-img img {
	width:100%;
	height:auto;
}

/* ATOUT */
.bloc-atouts { 
	background-color:#545454;
	width:70%;
	padding:40px 2%;
	color:#fff;
}
.bloc-atouts .cadre {
	border:1px solid #fff;
	padding:60px 2% 40px 2%;
	text-align:center;
}
.bloc-atouts h2 {
	font-size:30px;
	line-height:40px;
	font-family: 'Playfair Display', serif;
	font-weight:900;
	letter-spacing:0.5px;
	padding-bottom:60px;
}

.bloc-atouts .bloc-picto {
	display:flex;
	flex-direction:row;
	align-content:space-between;
}
.bloc-atouts .bloc-picto .picto {
	width:24%;
	padding:0 2% 20px 2%;
	font-size:14px;
	line-height:16px;
}
.bloc-atouts .bloc-picto .picto div {
	background:#fff;
	border-radius:100px;
	width:76px;
	height:76px;
	margin:0 auto 10px auto;
	padding-top:14px;
}

/* MAP */
.bloc-map {
	width:70%;
}
.bloc-map img {
	width:100%;
	height:auto;
}

/* FORM */
.bloc-form {
	width:30%;
	background-color:#545454;
	color:#fff;
	height:100vh;
	position:fixed;
	right:0;
	padding:30px 2%;
	z-index:10;
	overflow:auto;
	text-align:center;
}

.bloc-form .sous-titre {
	padding:5px 0 10px 0;
}

.bloc-form .mention {
	font-size:11px; 
	line-height:13px;
	text-align:left;
}
.bloc-form .mention a {
	color:#fff;
	text-decoration:underline;
}

.btn-form {
	text-align:center;
}
.lien-relance {
	color:#fff;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #eee;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #eee;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #eee;
}

/* FOOTER */
.bloc-footer {
	width:70%;
	background-color:#545454;
	padding:40px 2%;
	display:flex;
	flex-direction:row;
	align-content:space-between;
	line-height:20px;
}

.bloc-footer div {
	flex: 2 1 auto;
	text-align:center;
}

.bloc-footer img {
	height:23px;
	width:auto;
	margin:0 5px;
}
.bloc-footer a {
	color:#fff;
	font-size:12px;
	line-height:14px;
	text-decoration:underline;
	text-transform:uppercase;
}


/* case à cocher */

.case-cocher-txt {
	font-size:11px;
	line-height:13px;
	color:#fff;
	text-transform:none;
	margin-left:35px;
}
.case-cocher { 
	display: block;
	position: relative;
	padding-left: 35px;
	margin: 20px 0;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.case-cocher input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	border:1px solid #fff;
}
.case-cocher:hover input ~ .checkmark {
}
.case-cocher input:checked ~ .checkmark {
	background-color: #fff;
}
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
.case-cocher input:checked ~ .checkmark:after {
	display: block;
}
.case-cocher .checkmark:after {
	left: 8px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid #000;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.mess-conf {
	font-size:30px; 
	line-height:35px;
	margin:20px 0;
	font-weight:700;
}


/**** RESPONSIVE ****/
@media (max-width: 1260px) { 

/* FOOTER */
.bloc-footer {
	flex-direction:column;
}
.bloc-footer img {
	margin:10px 5px 0 5px;
}
}

@media (max-width: 1024px) { 

/* HEADER */
.bloc-header { 
	width:100%;
	height:auto;
}
.bloc-header .txt {
	bottom:0;
	margin:230px 0 80px 0;
	position:relative;
	width:70%;
	background-color:#545454;
	color:#fff;
	padding:20px 2%;
	font-family: 'Playfair Display', serif;
	letter-spacing:0.5px;
}

/* TXT */
.bloc-txt {
	width:100%;
}

/* IMG */
.bloc-img {
	width:100%;
}

/* ATOUT */
.bloc-atouts { 
	width:100%;
}

/* MAP */
.bloc-map {
	width:100%;
}

/* FORM */
.bloc-form {
	width:100%;
	height:auto;
	position:relative;
	z-index:1;
	overflow:auto;
	text-align:center;
}

/* FOOTER */
.bloc-footer {
	width:100%;
}

}

@media (max-width: 640px) { 


.bloc-form {
    padding: 30px 5%;
}

.bloc-atouts {
    padding: 40px 5%;
}
.bloc-atouts .bloc-picto {
	flex-direction:row;
	flex-wrap:wrap;
}
.bloc-atouts .cadre {
    padding: 60px 5% 40px 5%;
}
.bloc-atouts .bloc-picto .picto {
    width: 50%;
}

}

@media (max-width: 480px) { 

.bloc-header .txt {
    width: 100%;
    padding: 20px 5%;
}

.bloc-form {
    padding: 30px 5%;
}

.bloc-atouts {
    padding: 40px 5%;
}
.bloc-atouts .bloc-picto {
	flex-direction:column;
}
.bloc-atouts .cadre {
    padding: 60px 5% 40px 5%;
}
.bloc-atouts .bloc-picto .picto {
    width: 100%;
    padding: 0 0 20px 0;
}

}
