/* REFONTE ODESIGN */
h1 {
  font-size: 44px!important;
  line-height: 67px!important; 
}

h2 {
  font-size: 38px!important;
  line-height: 42px!important;
}

h3 {
  font-size: 32px!important;
  line-height: 38px!important;
}
.filler {
  min-height: 1px;
}
body.home section.mainContent .repeatContainer{
	padding-top: 0!important;
}
section.mainContent .repeatContainer .fadedContainer .fadedBlock {
	direction: rtl !important;
}
section.mainContent .repeatContainer .fadedContainer:nth-child(2n) .fadedBlock {
	direction: ltr !important;
}
section.mainContent .repeatContainer .fadedContainer:nth-child(2n) .fadedBlock .sectionImg{
	padding-left: 0!important;
	text-align: left!important;
}
section.mainContentPage .repeatContainer .fadedContainer .fadedBlock,
section.mainContent .repeatContainer .fadedContainer .fadedBlock{
  align-items: center!important;
}
.contentDiv .insideDiv{
  position: relative;
  transform: translateY(0)!important;
  top: 0!important;
}
.sectionImg{
	padding-right: 0!important;
}
.repeatContainer{
	position: relative;
}
.bigWord{
	font-size: 10.363636363636363rem;
  text-transform: uppercase;
  color: #F9F9F9;
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  left: 8%;
  top: 7.5rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
  z-index: 0;
}
.btnGold a{
	text-align: center;
    display: inline-block;
    padding: 0.22727272727272727rem 0.6681818181818181rem;
    font-size: 0.8181818181818182rem;
    background-color: #8A7355;
    color: #fff!important;
    transition: all 0.2s ease-out;
    text-decoration: none;
}
.btnGold a:hover{
	background-color: #fff!important;
	color: #000!important;
}
.headerBgMenu{
	background-color: #EFEDE7;
}
.container10{
	padding-left: 8.333%;
    padding-right: 8.333%;
    display: inline-block;
    width: 100%;
    position: revert;
}
.gaucheContainer,
.droiteContainer{
	width: 30%;
}
.imgHeader{
	display: flex;
	justify-content: center;
	width: 100%;
}
/*.imgHeader a{
	display: flex;
	justify-content: center;
}*/
.imgHeader img{
	width: 7.2727272727272725rem;
  display: block;
  object-fit: contain;
}
.imgHeader a:focus {
    outline: none!important;
}
.flexThat{
	display: flex;
	align-items: center;
	width: 100%;
}
.home header.header {
  height: auto!important; 
}
header.header .header-menubar{
	opacity: 1!important;
	position: relative;
	height: 100vh;
	overflow: hidden;
}
.theMainMenu li{
	text-decoration: none!important;
	list-style: none!important;
}
.menu-menu-gauche-container .menu,
.menu-menu-droite-container .menu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0.6818181818181818rem 0!important;
	padding: 5px 0;
}
.theMainMenu .menu li a{
	font-family: "Montserrat", sans-serif;
	font-weight: 400!important;
	color: #000;
	font-size: 0.8181818181818182rem;
}

/* BANNER */
.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
.video-background::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}
.video-background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.container.texteBanner{
	padding-top: 100px!important;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding-right: 0;
}
.ctnStyleBanner{
	color: #fff!important;
	text-transform: uppercase;
}
.ctnStyleBanner h1{
	color: #fff!important;
	text-transform: none;
}

/***** 3 COLONNES *****/
.titre3col > *:only-child{
    margin: 0!important;
}
.col3Section{
	padding: 50px 0;
}
.col3Section{
	width: 100%;
}
.grid3col{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
.projetItem{
  position: relative;
  min-height: 592px;
  background-size: cover;
  background-position: center center;
}
.projetItem .overlay{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  opacity: 0;
  transition: all .2s;
}
.projetItem .overlay:hover {
    opacity: 1;
}
section.mainContentPage .imgGrid .overlay .descriptionImage .descPosition{
  padding: 30px!important;
}
.descriptionImage{
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.descPosition{
	padding-left: 1rem;
	padding-right: 1rem;
}
.descPosition *{
	color: #fff;
}
.top3Section{
	display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 50px;
}
.gridBlog{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.insideBlog{
  margin: 0!important;
}
.navSection{
  padding-top: 50px;
}
.lienNoir p{
	margin: 0!important;
}
.lienNoir a{
	font-size: 0.7272727272727273rem;
  display: inline-block;
  position: relative;
  padding-bottom: 0;
  font-weight: 500;
  line-height: 1.4em;
  transition: all .2s linear;
  text-decoration: none;
  color: #000;
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;
}
.lienNoir a::before{
	content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  transition: width 0s ease;
}
.lienNoir a:hover::before{
	width: 0%;
  background: #000000;
  transition: width .5s ease;
}
.lienNoir a::after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	background: #000000;
	transition: width .5s ease;
}
.lienNoir a:hover::after{
	width: 0%;
	background: transparent;
	transition: width 0s ease;
}
.returnLink{
  position: relative;
/*  top: -150px;
  right: 0;
  left: 0;*/
}

/***** last section ****/

section.mainContent .lastSection{
	background-color: #F0EDE8!important;
  margin-bottom: 100px!important;
}
section.mainContent .lastSection .contentDiv{
	padding-top: 0!important;
}
.lastSection{
	padding: 60px 0;
}


/*** HEADER ****/

.theMainMenu .menu .sub-menu {
  position: absolute;
  z-index: 9999;
  padding: 0!important;
  background-color: #F2F2F2;
  opacity: 0;
  width: max-content;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.theMainMenu .menu .menu-item-has-children a:after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  width: 0;
  height: 8px;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid var(--bleu);
}
.theMainMenu .menu .menu-item-has-children .sub-menu a:after {
  display: none;

}
.theMainMenu .menu a:hover,
.theMainMenu .menu .sub-menu a:hover,
.menu-menu-mobile-container a:hover,
.adresse a:hover{
  color: #999999!important;
}
.sub-menu-toggle{
  display: none;
}

.theMainMenu .menu li:hover .sub-menu {
  opacity: 1;
  visibility: visible;
}

.theMainMenu .menu .sub-menu li {
  display: block;
  margin: 0;
  padding-bottom: 0 !important;
}

.menu .menu-item-has-children::after{
  font-weight: 900;
  font-family: "Font Awesome 6 Pro";
  content: "\f078";
  font-size: 12px;
  padding-left: 0.5em;
  color: #999999;
  transition: all 0.2s ease-in-out;
}
.theMainMenu .menu .sub-menu a {
  padding: 0.7rem 0.8rem;
  font-weight: 400;
  display: inline-block;
  border-radius: 0;
  padding-bottom: 0!important;
}
.theMainMenu .menu .sub-menu li:last-child a{
	padding-bottom: 0.6rem!important;
}
.logoFooter svg{
  max-width: 303px!important;
  margin-top: 212px!important;
}
.frameMap iframe{
  height: 275px!important;
}
#colophon .container{
  padding-bottom: 50px;
}
#colophon .social a .fab{
  font-size: 18px!important;
}
#colophon #top-menu li{
  line-height: 1.2!important;
}

/*** MOBILE HEADER ***/

.menuMobileCtn {
  display: none;
}
.menuDesktop,
.menuMobileCtn{
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}


@media screen and (max-width: 1024px) {
  .menuDesktop:not(.btnGold) {
    display: none;
  }
  .menuMobileCtn {
    display: flex;
    
  }
  .menu .menu-item-has-children::after{
    display: none;
  }
  .menuMobileCtn .logoCtn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #EFEDE7;
    width: 100%;
    padding: 1.3636363636363635rem 8.333%;
    position: relative;
    z-index: 999;
  }
  .menuMobileCtn .logoCtn img {
    display: block;
    max-height: 100px;
    width: 100%;
  }
  .logoCtn i {
    color: var(--terracotta);
    font-size: 1.4em;
    cursor: pointer;
  }
  .menuMobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #EFEDE7;
    z-index: 998;
    overflow-y: auto;
    padding: 3em 8.333% 1.5em;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.4s ease-in-out, visibility 0.4s;
  }
  .menuMobile.open {
    transform: translateX(0);
    visibility: visible;
  }
  body.menu-open {
    overflow: hidden;
  }

  .menuMobile .menu-menu-principal-container {
    width: 100%;
  }
  .menuMobile .main-menu .menu {
    display: flex;
    flex-direction: column;
    background-color: var(--creme);
    padding: 0;
  }
  .menuMobile .main-menu .menu > li {
    width: 100%;
    list-style: none;
  }
  .menuMobile li {
    padding: 0.5em 0;
    list-style: none;
  }
  .menuMobile .menu-item a {
    display: flex;
    justify-content: space-between;
    padding-right: 0.5em;
    color: #000;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase!important;
  }
  .menuMobile .menu-item a:focus,
  .menuMobile .menu-item a:focus-visible{
  	outline: none!important;
  	text-decoration: none!important;
	}
	.menuMobile .adresse{
		font-family: "Roboto", sans-serif;
		font-size: 0.8181818181818182rem;
	}
	.menuMobile .adresse a{
		color: #000;
		transition: all 0.2s ease-in-out;
	}
	.menuMobile .adresse a:hover{
		text-decoration: underline;
	}
	.wpml-ls-legacy-list-horizontal{
		padding: 7px 0!important;
	}
	.wpml-ls-legacy-list-horizontal a:first-of-type{
		padding-left: 0!important;
	}
	.wpml-ls-legacy-list-horizontal a{
		color: #000;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase!important;
	}
	.menu .no-pageLink a{
		cursor: default!important;
	}
  /* --- Sous-menus --- */
  .menuMobile .sub-menu {
    display: flex;
    flex-direction: column;
    position: relative;
    visibility: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 1rem;
  }
  .menuMobile .sub-menu .menu-item:first-of-type {
    padding-top: 0.5em;
  }
  .menuMobile .sub-menu .menu-item:last-of-type {
    padding-bottom: 0.5em;
  }
  .menuMobile .sub-menu a {
    font-size: 0.9em;
  }
  .menuMobile .menu-item-has-children > a::after {
    display: none;
  }
  .menuMobile .chevron-toggle {
    font-size: 0.75em;
    color: var(--brunF);
    padding: 0.5em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
  }
  .menuMobile .menu-item-has-children.open > a > .chevron-toggle {
    transform: rotate(180deg);
  }
  .menuMobileCtn .menuParent {
    margin-top: 2em;
    padding-left:0;
  }
}

/*----------------RESPONSIVE--------------*/

@media screen and (max-width: 1440px) {
	.gaucheContainer, 
	.droiteContainer{
		width: 40%;
	}
	.gaucheContainer{
		padding-right: 1rem;
	}
	.droiteContainer{
		padding-left: 1rem;
	}
  .projetItem{
    min-height: 412px;
  }
}

@media screen and (max-width: 1280px) {
	.site-content section.mainContent .repeatContainer .fadedContainer .fadedBlock .sectionImg{
		padding-left: 8.333%!important;
		padding-right: 8.333%!important;
	}
	section.mainContent .repeatContainer .fadedContainer .fadedBlock .sectionImg img{
		max-height: 1000px;
	}
	.logoFooter a svg{
		margin-top: 1rem!important;
	}
	.frameMap{
		padding-top: 2.727272727272727rem;
	}
}
@media screen and (max-width: 1280px) {
  .grid3col{
    grid-template-columns: repeat(2, 1fr);
  }
	.projetItem .overlay{
		opacity: 1;
	}

}
@media screen and (max-width: 768px) {
		.projetItem{
		min-height: 450px;
	}
  .grid3col{
    grid-template-columns: repeat(1, 1fr);
  }
}
