/* GLOBAL  */

@import url('https://use.typekit.net/cbn7sld.css');

* {
	box-sizing: border-box;
}

body,
html {
	margin: 0;
	padding: 0;
}

body {
	font-family: "program", sans-serif;
	color: #000000;
	background-color: #fff;
	margin: 0;
	padding: 0;
	font-size: 16px;
	letter-spacing: 0.5px;
}

.openMenuMobile {
	display: none;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}

.container-form {
	max-width: 830px;
	margin: 0 auto;
	position: relative;
	padding-top: 50px;
}

.container-maconnerie {
	padding: 0px 100px;
}

.container-services {
	padding: 0px 12%;
}


section {
    
}

.single main.Flix {
    overflow: visible;
}

.Flix {
	overflow: hidden;
}

h1 {
    font-size: 25px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 35px;
    font-family: "meno-banner", serif;
}

a {
	color: #b4cb23;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.sticky {
	position: fixed !important;
	top: 47px !important;
	max-width: 505px;
}

.stopped {
	position: absolute;
}


a.demande_de_devis {
	border: 1px solid #B4CB23;
	border-radius: 24px;
	padding: 10px 15px 10px 15px;
	display: flex;
	gap: 10px;
	align-items: center;
	color: #fff;
	font-family: "meno-banner", serif;
}

a.demande_de_devis img,
.nous_contacter img {
	height: 16px;
}

a.nous_telephoner {
	background: #B4CB23;
	color: #000;
	border-radius: 24px;
	padding: 10px 15px 10px 15px;
	display: flex;
	align-items: center;
	font-family: "meno-banner", serif;
	font-weight: bold;
}

.nous_contacter {
	border: 1px solid transparent;
	border-radius: 24px;
	padding: 10px 15px 10px 15px;
	display: flex;
	gap: 10px;
	align-items: center;
	color: #000;
	background: #fff;
	font-family: "meno-banner", serif;
}

ul.reseaux_sociaux {
	list-style: none;
	padding: 0;
	display: inline-flex;
	gap: 10px;
}

.btn {
    line-height: 1em;
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    background-color: #B4CB23;
    text-decoration: none;
    font-size: 17px;
    letter-spacing: -0.1px;
    border-radius: 50px;
    color: #000;
    font-weight: bold;
    font-family: "meno-banner", serif;
    position: relative;
    transition: border-radius 0.3s ease, background-color 0.3s ease;
    border: none;
}

.btn:hover {
	border-radius: 50px 0px 0px 50px;
}

.btn:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -40px;
	transform: translate(-50%, -49%);
	height: 35px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	background: #B4CB23 url(/wp-content/uploads/2024/06/fleche-noire.svg);
	width: 35px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	border: 1px solid #B4CB23;
}

.wp-txt-center {
	text-align: center;
	line-height: 1.3em;
}

.margin20 {
	margin-top: 20px;
	margin-bottom: 20px;
}

.margin30 {
	margin-top: 30px;
	margin-bottom: 30px;
}

.margin40 {
	margin-top: 40px;
	margin-bottom: 40px;
}

.margin50 {
	margin-top: 50px;
	margin-bottom: 50px;
}

.margin60 {
	margin-top: 60px;
	margin-bottom: 60px;
}

.margin70 {
	margin-top: 70px;
	margin-bottom: 70px;
}

.margin80 {
	margin-top: 80px;
	margin-bottom: 80px;
}

.margin90 {
	margin-top: 90px;
	margin-bottom: 90px;
}

.margin100 {
	margin-top: 100px;
	margin-bottom: 100px;
}


.padding20 {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.padding30 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

.padding40 {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

.padding50 {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.padding60 {
	padding-top: 60px !important;
	padding-bottom: 60px !important;
}

.padding70 {
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}

.padding80 {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.padding90 {
	padding-top: 90px !important;
	padding-bottom: 90px !important;
}

.padding100 {
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.texteblanc {
	color: #fff;
}

p {
	line-height: normal;
}


/* DECO  */


.RdeReno {
	position: absolute;
	z-index: 1;
	top: 35%;
	left: 6%;
	width: auto;
	height: 640px;
}

.RdeReno img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.feuilleenvers:before,
.feuilleenvers .overflowhidden:before {
	content: "";
	background: url(/wp-content/uploads/2024/06/double-feuille.svg);
	width: 185px;
	height: 200px;
	position: absolute;
	display: block;
	right: 0;
	top: 15px;
	z-index: 3;
	background-size: contain;
	background-repeat: no-repeat;
}

.LogoR .container:before {
    background: url(/wp-content/uploads/2024/06/Grand-R-gris.svg);
    width: 220px;
    height: 400px;
    position: absolute;
    display: block;
    right: -25%;
    top: -100px;
    z-index: 3;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}


/* HEADER  */

.main-header:before {
    content: "";
    background: linear-gradient(180deg, #000000 0%, #00000098 65%, rgba(0, 0, 0, 0) 100%);
    height: 145px;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
}

.main-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: white;
	padding: 10px 80px;
	gap: 30px;
	align-content: center;
	position: fixed;
	z-index: 10;
	width: 100%;
	top: 40px;
}

.main-header * {
	position: relative;
}

.logo-container img {
	height: 70px;
}

.burger-menu {
	display: none;
	font-size: 30px;
	cursor: pointer;
}

.main-nav {
	display: flex;
	margin: 0;
}

.main-nav li {
	list-style: none;
	position: relative;
	margin-right: 35px;
}

.main-nav li a:before {
	background: #B4CB23;
	border-radius: 2px;
	content: "";
	width: 25px;
	height: 3px;
	display: block;
	position: absolute;
	bottom: -30%;
	left: 0px;
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}

.main-nav li a:hover:before {
	width: 100%;
}

.main-nav li a {
	text-decoration: none;
	text-align: left;
	letter-spacing: 0px;
	font-family: "meno-banner", serif;
	color: #ffffff;
	margin: 0 25px 0 0;
	font-size: 1.1em;
}

li.menu-item-has-children:after {
	content: "\276F";
	position: absolute;
	right: 0px;
	transform: rotate(90deg);
	top: 1px;
	color: #b4cb23;
}


.main-nav li.menu-item-has-children.openLi .sub-menu {
	display: block;
	padding: 10px;
	background: #0000008a;
	min-width: 250px;
	top: 45px;
	backdrop-filter: blur(30px);
	border-radius: 15px;
	overflow: hidden;
	width: 280px;
}

.main-nav li.menu-item-has-children.openLi .sub-menu li {
	margin-bottom: 10px;
	margin-top: 10px;
	margin-right: 0;
}

.main-nav li.menu-item-has-children.openLi .sub-menu li a:before {
	display: none;
}


.main-nav li a:hover {
	background-position: 0%;
}

.main-nav li:last-child {
	border: none;
}

.main-nav a {
	text-decoration: none;
	text-align: left;
	letter-spacing: 0px;
	color: #ffffff;
	margin: 0 25px;
}

.block-d-Header {
	display: flex;
	gap: 20px;
	align-items: center;
}

.block-d-Header a.btn2 {
	margin: 0;
}

.logo-container {
	margin-right: auto;
}


.ChargementLangue li:not(.CURRENTLANGUEACTIVE) {
	display: none !important;
}

.SelecteurLangue {
	width: 20px;
	position: relative;
	padding-right: 30px;
	padding-left: 10px;
	margin-top: -30px;
}

.SelecteurLangue.open li {
	display: block !important;
	margin-bottom: 10px;
}

.SelecteurLangue.open .ChargementLangue {
	border: 1px solid #b4cb23;
	padding-top: 5px;
	background: rgb(30 30 30);
	padding-left: 5px;
	border-radius: 10px;
}

ul.ChargementLangue {
	position: absolute;
	z-index: 3;
	margin: 0;
	padding: 0 8px 0px 0;
}

ul.ChargementLangue:after {
	content: "\276F";
	position: absolute;
	right: -15px;
	transform: rotate(90deg);
	top: 2px;
	color: #b4cb23;
}

.ChargementLangue li {
	border-radius: 50%;
	overflow: hidden;
	width: 25px;
	height: 25px;
}


.ChargementLangue li img {
	object-fit: cover;
	width: 25px;
	height: 25px;
}

.menu-item-has-children ul.sub-menu {
	position: absolute;
	display: none;
}


/* ENTETE  */

.overflowhiddenSlider {
	height: 800px;
	position: relative;
	width: 100%;
}

.overflowhiddenSlider .fondImage {
	height: 800px;
	position: relative;
	background-size: cover !important;
	background-position: center center !important;
}


.overflowhiddenSlider .slick-dots {
	bottom: 50px;
}

.overflowhiddenSlider .slick-dots li button:before {
	font-size: 20px;
	color: #F48F4F;
}


.ItemSliderHome .container {
	width: 100%;
}

.ItemSliderHome h2 {
	position: relative;
	font-family: "program", sans-serif;
	font-size: 30px;
	line-height: 1.2em;
	font-weight: normal;
	margin: 15px 0 5px 0;
	color: #fff;
}

.ItemSliderHome h3 {
	color: #c6a277;
}

.blockAbso {
	position: absolute;
	bottom: -71px;
	right: 4%;
	z-index: 2;
	border-radius: 91px 39px 165px 0px;
	opacity: 1;
	backdrop-filter: blur(30px);
	padding: 65px;
	background: #00000070;
	max-width: 700px;
	width: 680px;
}


.blockAbso .btn {
	position: absolute;
	bottom: -18px;
}


.blockAbso .btn:after {
	transform: translate(-50%, -51%);
}


section#home_slider .fondTexte p {
	color: #fff;
	line-height: 1.3em;
	font-size: 18px;
	margin: 0;
}

.ItemSliderHome ul {
	padding: 0;
	list-style: none;
	display: flex;
	gap: 20px;
}

.ItemSliderHome {
	/* overflow: hidden !important; */
}

.ItemSliderHome ul li a {
	width: 310px;
}

.ItemSliderHome ul li a.btn {
	background: transparent;
	color: #D3AD7F;
}

.ItemSliderHome ul li a.btn:hover {
	background: #D3AD7F;
	color: #fff;
}

section#home_slider {
	position: relative;
	padding-top: 0;
	z-index: 1;
}


.fleches {
	position: absolute;
	top: 20px;
	right: 0;
	height: 50px;
	z-index: 2;
	width: 170px;
}

.flechPrev,
.flechNext {
	width: 75px;
	height: 45px;
	border: 1px solid #b4cb27;
	text-align: center;
	overflow: hidden;
	position: absolute;
	border-radius: 50px;
	cursor: pointer;
	background-color: transparent;
	transition: transform 0.5s ease, background-color 0.7s ease;
}

.fleches .slick-arrow img {
	position: absolute;
	top: 50%;
	z-index: 19;
	left: 50%;
	height: 35px;
	transform: translate(-50%, -50%);
	width: 40px;
}

.flechPrev:hover,
.flechNext:hover {
	background-color: rgb(251 251 251 / 10%);
	transform: scale(0.95);
}

.flechPrev {
	left: -20px;
}

.flechNext {
	right: 30px;
}


/* ENTETE INTERNE  */

#banniereIntern {
	height: 39vh;
	overflow: hidden;
	position: relative;
	margin-top: 5%;
}

#banniereIntern .banniereImg,
#banniereIntern .banniereImg .cntimg {
	height: 100%;
}

#banniereIntern .banniereImg .cntimg {
	position: relative;
}

#banniereIntern .banniereImg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 1;
}


#banniereIntern .banniereImg .cntimg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #4050945e;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

#banniereIntern .cntTitle {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 3;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}

#banniereIntern .cntTitle h1 {
	margin-bottom: 0;
	font-size: 2.5em;
	color: #fff;
	font-style: normal;
	margin-top: 12px;
	font-weight: 500;
}

#banniereIntern .cntTitle em {
	font-style: normal;
	position: relative;
	color: #F48F4F;
	font-weight: 100;
	font-size: 20px;
	margin-bottom: 15px;
	text-transform: uppercase;
}


/* CONTENU SPECIFIQUE  */


.fondvert {
	background: #B4CB23;
	color: #fff;
	position: relative;
}

.fleuricone {
	gap: 20px 20px;
	display: flex;
	flex-wrap: wrap;
}

.fleuricone .itemBox {
	background: #FFFFFF;
	border-radius: 0px 75px;
	overflow: hidden;
	color: #000;
	font-size: 14px;
	flex: 1 1 calc(50% - 20px);
	background-color: white;
	padding: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 200px;
	position: relative;
}

.fleuricone p {
	width: 80%;
	margin: 0;
	margin: auto;
}

.fleuricone h4 {
	color: #B4CB23;
	text-align: center;
	margin: 0 !important;
	padding: 0;
	font-size: 25px !important;
	margin-top: 15px !important;
}

.itemBox.num2 {
	border-radius: 100px 0px;
	top: 50px;
}

.itemBox.num3 {
	border-radius: 100px 0px;
}

.itemBox.num4 {
	border-radius: 0px 100px;
	top: 50px;
}

.grid4icones {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 10px 10px;
	align-items: center;
	padding-bottom: 50px;
	padding-top: 50px;
}

.fondvert.logoh3 .ContenuRea:before {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(61deg) brightness(103%) contrast(96%);
	width: 110px;
}

.gridul1-2 ul {
	display: grid;
	grid-template-columns: 0.6fr 1fr;
	grid-template-rows: 1fr;
	gap: 10px 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}

.gridul1-2 .image-compare-viewer.icv.icv__icv--horizontal.standard {
	box-shadow: 0px 15px 60px #00000029;
	border-radius: 50px;
}

.gridul1-2 li h3:before,
.gridImageTexte .LayTexte h3:before {
	content: "";
	position: absolute;
	left: -50px;
	background: url(/wp-content/uploads/2024/06/petite-feuille-titre.svg);
	width: 100%;
	height: 50px;
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	top: -25px;
}


.gridul1 ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 0px 40px;
	list-style: none;
padding:0;
}

.gridul1 ul li,
.gridul1 ul li p {
	line-height: 1.4em;
}


.titre :is(h3, h4, h5) {
	position: relative;
	font-family: "program", sans-serif;
	font-size: 30px;
	line-height: 1.2em;
	font-weight: normal;
	margin: 15px;
}


.titre :is(h3 strong, h4 strong, h5 strong) {
	font-weight: 500;
}

.barrehr hr {
	width: 70px;
	border-top: 2px solid #B4CB23;
	border-radius: 15px;
	margin-bottom: 20px;
}

.gridImageTexte {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 0px 110px;
	align-items: center;
}

.gridImageTexte.Droite .LayImg {
	order: 2;
}

.Decalage {
	margin-left: 0;
	width: 70%;
	color: #000;
	font-size: 0.9em;
}

.LayImg {
	position: relative;
}

.LayImg .cadre {
	overflow: hidden;
	height: 550px;
	text-align: right;
}

.LayImg img.cover {
	width: auto;
}

img.cover {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.LayTexte h3 {
	padding: 0;
	margin: 0;
	position: relative;
}

.LayTexte h3 span {
	transform: matrix(1, -0.02, 0.02, 1, 0, 0);
	background: #405094 0% 0% no-repeat padding-box;
	border-radius: 10px;
	display: table;
	margin: 0 0 8px 0px;
	padding: 5px 30px;
	position: relative;
}

.LayTexte h3 span em {
	display: inline-block;
	transform: matrix(1, 0.02, -0.02, 1, 0, 0);
	font-size: 2.2em;
	color: #fff;
	font-style: normal;
	margin-top: 5px;
	font-weight: 500;
}


.vaguecss .fondImage:before {
	background: #000000 0% 0% no-repeat padding-box;
	opacity: 0.5;
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}


.vaguecss::before,
.vaguecss::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 60px;
	background-size: cover !important;
	z-index: 3;
}

.vaguecss::before {
	top: 0;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1437 45"><path d="M0,44V0H1437V45S910,7,0,44Z" style="fill:%23fff"/></svg>') no-repeat center center;
}

.vaguecss::after {
	bottom: 0;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1437 45"><path d="M0,44V0H1437V45S910,7,0,44Z" style="fill:%23fff"/></svg>') no-repeat center center;
	transform: rotate(180deg);
}


.overflowhidden {
	height: 540px;
	overflow: hidden;
	position: relative;
	display: grid;
	place-items: center;
}

.fondImage {
	height: 500px;
	position: absolute;
	width: 100%;
}

.textblanc {
	color: #fff;
}

.fondTexte ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 10px 60px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}

.fondTexte ul li {
	font-size: 20px;
}

.overflowhidden .container {
	width: 100%;
	z-index: 1;
}

#block_fond_image_texte h3 {
	margin: 15px 0 10px 0;
}


.masonry {
	display: flex;
	width: 100%;
	flex-wrap: nowrap;
}

.masonry-grid-column {
	display: flex;
	flex-direction: column;
	width: 25%;
	box-sizing: border-box;
	margin: 10px;
}

.masonry .item {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
}

.masonry .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.masonry .item.short {
	height: 400px;
}

.masonry .item.tall {
	height: 600px;
}

.container-services ul.services {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 0px 30px;
	margin-bottom: 60px;
}

.container-services ul.services li {
	list-style: none;
	text-align: center;
}

img.icone {
	height: 60px;
	margin: auto;
	display: block;
	margin-bottom: 20px;
}

.titreservices {
	letter-spacing: 0px;
	color: #405094;
	font-size: 19px;
	display: block;
}

.descriptionservices {
	font-size: 18px;
	color: #024126;
	width: 60%;
	display: block;
	margin: auto;
}

section#block_fond_image_texte {
	position: relative;
}

section#block_fond_image_texte.GrappeHautDroite:before {
	content: "";
	background: url(/wp-content/uploads/2024/05/vignes-1.svg);
	position: absolute;
	right: -20%;
	top: -30%;
	z-index: 2;
	width: 40%;
	height: 60%;
	background-size: contain;
	background-repeat: no-repeat;
}

section#block_fond_image_texte.GrappeBasGauche:after {
	content: "";
	background: url(/wp-content/uploads/2024/05/vigne-2.svg);
	position: absolute;
	left: -3%;
	bottom: -30%;
	z-index: 2;
	width: 40%;
	height: 60%;
	background-size: contain;
	background-repeat: no-repeat;
}

.activites {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0px 60px;
	padding: 0;
	margin: auto;
}


.activites li {
	position: relative;
	max-height: 480px;
	list-style: none;
}

.activites li:nth-child(2) .CadreActiviteImage {
	border-radius: 0px 150px 0px 50px;
}

.activites li a {
	position: relative;
	display: block;
}

.activites span.btn {
	bottom: -35px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "meno-banner", serif;
}

.CadreActiviteImage {
	height: 350px;
	display: flex;
	justify-content: center;
	border-radius: 150px 0px 50px 0px;
	position: relative;
	overflow: hidden;
}

.image_Activite {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.cadrebtnActivite {
	position: absolute;
	z-index: 9;
	bottom: 45px;
	border-radius: 10px;
	margin: 0 0 20px 0px;
	padding: 15px 30px;
	color: #fff;
	font-family: "meno-banner", serif;
}

.cadrebtnActivite strong {
	display: inline-block;
	color: #fff;
	margin-top: 5px;
	font-weight: 500;
	font-size: 1.6em;
	line-height: 1.6rem;
}

.LayImgGalerie {
	overflow: hidden;

}

.itemImg {
	height: 400px;
	padding: 0;
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 10px;
}

.itemImg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.GalItem {
	left: 143px;
}

.slick-list {
	overflow: visible;
}

.itemImg.slick-slide {
	opacity: 0.48;
}

.itemImg.slick-slide.slick-current a {
	position: relative;
}

.itemImg.slick-slide.slick-current a:before {
	content: "";
	background: transparent linear-gradient(180deg, #00000000 0%, #0000007B 78%, #000000 100%) 0% 0% no-repeat padding-box;
	mix-blend-mode: multiply;
	opacity: 0.82;
	position: absolute;
	width: 100%;
	height: 100%;
	display: inline-block;
}

.galerie .Decalage {
	width: 45%;
}

.GalItem .slick-prev,
.GalItem .slick-next {
	z-index: 9;
}

.GalItem .slick-prev:before,
.GalItem .slick-next:before {
	display: none;
}

.GalItem .slick-prev {
	left: 12%;
	width: 35px;
	height: 35px;
	background: #D3AD7F;
	color: #024126;
	font-size: 20px;
}

.GalItem .slick-next {
	right: 16%;
	width: 35px;
	height: 35px;
	background: #D3AD7F;
	color: #024126;
	font-size: 20px;
}

.itemImg.slick-slide.slick-current {
	opacity: 1;
}

.galerie a.btn {
	background: transparent;
	color: #D3AD7F;
}

.galerie a.btn:hover {
	background: #D3AD7F;
	color: #fff;
}


/* CAROU REALISATIONS  */


.logoh3 hr {
	margin-left: 15px;
}

.logoh3 .ContenuRea:before,
.gridul1 h3:before {
	content: "";
	position: absolute;
	left: -150px;
	background: url(/wp-content/uploads/2024/06/double-feuille-V2.svg);
	width: 100%;
	height: 120px;
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
}

.gridRea {
	display: grid;
	grid-template-columns: 0.8fr 1fr;
	grid-template-rows: 1fr;
	gap: 10px 10px;
	align-items: center;
}

.fondrearadiusinversement {
	background: #f8f3ed;
	position: relative;
	border-radius: 0% 0% 19% 42% / 26% 26% 28% 29%;
	padding-bottom: 0 !important;
}

.fondrearadius {
	background: #f8f3ed;
	position: relative;
	clip-path: ellipse(122% 100% at 57% 100%);
}

.carou_rea .item:nth-child(odd) {
	margin-top: 40px;
}


.CarouDecalage {
	overflow: hidden;
	margin-right: -65%;
	padding-bottom: 50px;
	padding-top: 20px;
}

.CarouDecalage .item {
	position: relative;
	max-height: 480px;
	list-style: none;
	margin-right: 30px;
}

.CarouDecalage .item a {
	overflow: hidden;
	position: relative;
	display: block;
	box-shadow: 0px 15px 30px #00000029;
	border-radius: 50px 0px;
}

.CadreActiviteImage:before {
	content: "";
	background: transparent linear-gradient(180deg, #00000000 0%, #0000007B 78%, #000000 100%) 0% 0% no-repeat padding-box;
	mix-blend-mode: multiply;
	opacity: 0.82;
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
}

.CarouDecalage .CadreActiviteImage {
	height: 320px;
	display: flex;
	justify-content: center;
	border-radius: inherit;
}

.CarouDecalage .cadrebtnActivite strong {
	font-size: 1.1em;
	word-break: break-word;
}

.CarouDecalage .cadrebtnActivite {
	position: absolute;
	z-index: 99;
	bottom: 20px;
	border-radius: 10px;
	margin: 0;
	padding: 15px 20px;
	width: 100%;
	color: #fff;
	transition: all 0.3s ease;
	text-align: left;
}

.CarouDecalage .cadrebtnActivite strong:after {
	content: "";
	width: 40px;
	height: 2px;
	background: #b4cb23;
	position: absolute;
	bottom: 8px;
	left: 20px;
}


/* FORMULAIRE  */


.cadreform form {
	background: #b9bed8;
	padding: 15px;
	border-radius: 10px;
}

.flex-form {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 5%;
}

.flex-form .full {
	position: relative;
	width: 100%;
}

.flex-form .half {
	position: relative;
	width: 47.5%;
}

.flex-form label {
	display: block;
	margin-bottom: 7px;
}

.flex-form p {
	margin: 0;
}

.flex-form select,
.flex-form input:not(:is([type="button"], [type="submit"], [type="radio"], [type="checkbox"], [type="file"])) {
	height: 3rem;
}

.flex-form :is(input, textarea, select):not(:is([type="submit"], [type="button"])) {
	color: #757575;
	background: #fff;
	font-style: initial;
}

.flex-form select,
.flex-form textarea,
.flex-form input:not(:is([type="button"], .flex-form [type="submit"], .flex-form [type="radio"], .flex-form [type="checkbox"], .flex-form[type="file"])) {
	width: 100%;
	font-size: 15px;
	line-height: 1;
	outline: none;
	box-sizing: border-box;
	border: 1px solid #F7F6F4;
	background-color: #F7F6F4;
	padding: 0.7375rem 1.5rem;
	border-radius: 5px;
}


.wpcf7-acceptance input {
	width: 1em;
	height: 1em;
	margin-top: 0.25em;
	vertical-align: top;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 1px solid rgba(0, 0, 0, .25);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}

input#acceptance, #condition2 input {
    font-size: 20px;
    border: 1px solid #0c0c0c;
    border-radius: 5px;
    min-width: 20px;
}


input#acceptance:checked[type=checkbox],
#condition2 input:checked[type=checkbox] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")
}


input#acceptance:checked, input#acceptance:focus, #condition2 input:focus {
    background-color: #b4cb23;
    border-color: #fff;
    border-color: #fcfbfa;
    outline: 0;
    box-shadow: 0 0 0 0.11rem rgb(0 0 0);
}

.wpcf7-acceptance span.wpcf7-list-item {
	margin: 0;
}

.wpcf7-acceptance label {
	font: initial;
	font-size: 12px;
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	align-content: center;
	font-family: "meno-banner", serif;
	line-height: 1em;
}

.boutonenvoyer {
    border: 2px solid transparent !important;
    background: #b4cb23 !important;
    min-width: 200px;
    font-size: 1.0em;
    border-radius: 25px 0px !important;
    padding: 15px 19px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.boutonenvoyer:hover {
	background: transparent;
color: #000;
   border: 2px solid #b4cb23 !important;
}


footer.footerbg {
	background-color: #000000;
	padding-top: 50px;
}

.footerbg h4 {
	margin-top: 10px;
	font-size: 1.1em;
	font-family: "meno-banner", serif;
}

footer.footerbg p {
	margin: 0;
}

.main-footer {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"logo nav reservation map"
		"credits credits credits credits";
	color: white;
	padding: 20px;
	gap: 40px 0px;
	max-width: 1200px;
	margin: auto;
}

.main-footer ul {
	list-style: none;
	padding: 0;
}

.main-footer ul li {
	margin-bottom: 10px;
}

.footer-logo {
	grid-area: logo;
	line-height: 1.9em;
}

.footer-nav {
	grid-area: nav;
	padding-left: 0;
}

.footer-nav a {
	text-decoration: none;
	color: #b4cb23;
}

.footer-reservation {
	grid-area: reservation;
}

.footer-reservation a.reservation {
	max-width: 120px;
}

.footer-map {
	grid-area: map;
}

.footer-map iframe {
	height: 200px;
	overflow: hidden;
	border-radius: 15px;
}

.footer-plus {
	grid-area: plus;
	text-align: center;
	border-top: 1px solid #F48F4E;
	padding-top: 20px;
}

.footer-plus ul {
	display: flex;
	justify-content: space-around;
	gap: 20px;
	max-width: 860px;
	margin: auto;
}

.footer-plus ul li {
	display: flex;
	align-items: center;
	margin-bottom: 0 !important;
}

.footer-plus ul li img {
	margin-right: 15px;
}

.footer-plus a {
	color: #fff;
}

.footer-credits {
	grid-area: credits;
	text-align: center;
	border-top: 1px solid #b4cb23;
	padding-top: 20px;
}

a.btn1 {
	border: 2px solid transparent;
	border-radius: 25px 0px;
	padding: 15px 19px;
	display: inline-block;
	background: #b4cb23;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s ease;
}

a.btn1:hover {
	border: 2px solid #b4cb23;
	background: transparent;
}

a.btn2 {
	border: 2px solid #b4cb23;
	border-radius: 25px 0px;
	padding: 15px 19px;
	display: inline-block;
	margin-top: 15px;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s ease;
}

a.btn2:hover {
	border: 2px solid transparent;
	background: #b4cb23;
}