
/**********************************************************************************************************************************/
/* CHARTE
/**********************************************************************************************************************************/
/*
ORANGE
	rgba(229, 150, 64, 1);
	#e5963f


		transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;

*/

/**********************************************************************************************************************************/
/* CHARTE
/**********************************************************************************************************************************/
.noscroll{
	overflow: hidden;
}
.maxContainer{
	max-width: 1240px;
	margin: 0 auto;
}
html{
	background: #FFFFFF;
}

.mobileForce{
	overflow: visible !important;
}


/**********************************************************************************************************************************/
/* FLUSCREEN PARTS
/**********************************************************************************************************************************/
.fullscreen{
	position: relative;
	overflow: hidden;
	z-index: 2;

	transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
}

.mobileForce .fullscreen{
	height: unset !important;
}


/**********************************************************************************************************************************/
/* HEADER
/**********************************************************************************************************************************/
#header{
  background: #FFFFFF;
}

#header-container{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
  padding: 10px;
}

@media only screen and (min-width: 680px) {
	#header-container{
		padding: 10px 5vw;
		justify-content: space-between;
	}
}

@media only screen and (min-width: 1400px) {
	#header-container{
		padding: 20px 5vw;
		justify-content: space-between;
	}
}

#logo-bloc:hover{
	opacity: .8;
}

#main-nav{
	display: none;
}

@media only screen and (min-width: 680px) {
	#main-nav{
		width: 70%;
		display: block;
	}
}

#menu{
	display: flex;
	justify-content: space-around;
}

#menu a{
	font-weight: bold;
	color: inherit;
	font-size: 14px;
	position: relative;
  transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
}

#menu > li a::before{
	position: absolute;
	z-index: -1;
	bottom: -10px;
	height: 3px;
	background: #99BD29;
	width: 0;
	left: 0;
	display: block;
	content: '';

  transition: width 0.2s ease .08s;
  -moz-transition: width 0.2s ease .08s;
  -webkit-transition: width 0.2s ease .08s;
  -o-transition: width 0.2s ease .08s;
}

#menu a:hover{
	color: #99BD29;
}

#menu > li a:hover::before{
	width: 100%;
}

@media only screen and (min-width: 1400px) {
	#menu a{
		font-size: inherit;
	}
}

#menu li{
	position: relative;
}


	.toggleLevel2{
		position: absolute;
		top: -4px;
		right: -35px;
		display: inline-block;
		width: 32px;
		height: 32px;
		background-image: url(../images/pics/toggleMenu.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 12px;
		background-color: transparent;
		opacity: .5;
		cursor: pointer;
	}

@media only screen and (min-width: 800px) {
	.toggleLevel2{
		display: none;
	}
}


.toggleLevel2:hover{
	opacity: 1;
}

#menu ul.lvl2{
	display: none;
	z-index: 100;
}

@media only screen and (min-width: 800px) {
	#menu ul.lvl2{
		position: absolute;
		padding-top: 20px;
	}
}


#menu li.open .lvl2{
	display: block;
}

@media only screen and (min-width: 800px) {
	#menu li:hover .lvl2{
		display: block;
	}
}

#menu .lvl2 li{
	background: #FFFFFF;
	padding: 10px 20px;
	max-height: 64px;
}

#menu .lvl2 li:hover{
	background: #99BD29;
}

#menu .lvl2 :is(li, li a){
	max-height: 64px;
}

#menu li:hover .lvl2 li a,
#menu li.open .lvl2 li a{
	display: block;
	max-height: 44px;
	color: inherit;
	overflow: hidden;
}

#menu li:hover .lvl2 li a:hover,
#menu li.open .lvl2 li a:hover{
	color: #FFFFFF;
}

#menu li:hover .lvl2 li a:hover::before,
#menu li.open .lvl2 li a:hover::before{
	content: none;
}

#header #logo-default{
	display: block;
	max-width: 160px;
	height: auto;
}

#header #logo-white{
	display: none;
	max-width: 160px;
	height: auto;
}

#devis-shortcut{
	display: none;
}

	#devis-shortcut a{
		display: flex;
		width: 70px;
		font-size: 12px;
		line-height: 1.2em;
		text-align: center;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		color: #FFFFFF !important;
		text-transform: inherit !important;
		font-weight: 500;

		margin: 0 -5px -20px -5px;
		padding: 5px;

	  transition: all 0.3s ease .15s;
	  -moz-transition: all 0.3s ease .15s;
	  -webkit-transition: all 0.3s ease .15s;
	  -o-transition: all 0.3s ease .15s;
	}
	#devis-shortcut a:hover{
		background: #99BD29;
	}


	#devis-shortcut span{
		display: block;
		margin-top: 5px;
	}

#nav-toggler{
	display: block;
	position: absolute;
	right: 10px;
	cursor: pointer;
}

@media only screen and (min-width: 680px) {
	#nav-toggler{
		display: none;
		position: relative;
		right: unset;
	}
}

#nav-toggler span{
	width: 24px;
	height: 4px;
	border-radius: 5px;
	background: #424242;
	display: block;
	margin: 3px 0;
	transform-origin: 0 0;

	/* TRANSITION */
	transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;

	/* TRANSFORM */
	transform: translateX(0) translateY(0) rotate(0);
	-webkit-transform: translateX(0) translateY(0) rotate(0);
	-moz-transform: translateX(0) translateY(0) rotate(0);
	-o-transform: translateX(0) translateY(0) rotate(0);
	-ms-transform: translateX(0) translateY(0) rotate(0);
}

@media only screen and (min-width: 680px) {
	#nav-toggler span{
		width: 32px;
		background: #FFFFFF;
	}
}

/**********************************************************************************************************************************/
/* HEADER FIXED
/**********************************************************************************************************************************/
#header.fixed{
  background: #FFFFFF;
  box-shadow: 0 1px 3px 0 rgba(0,0,0,.1);
  z-index: 10;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

#header.fixed #header-container{
  padding: 10px 40px;

  transition: padding 0.3s ease;
  -moz-transition: padding 0.3s ease;
  -webkit-transition: padding 0.3s ease;
  -o-transition: padding 0.3s ease;
}

#header.fixed a{
  color: inherit;
  font-size: 12px;
  text-transform: uppercase;
}

#header.fixed #logo-default{
  display: block;
  max-width: 160px;

  transition: max-width 0.3s ease;
  -moz-transition: max-width 0.3s ease;
  -webkit-transition: max-width 0.3s ease;
  -o-transition: max-width 0.3s ease;
}

#header.fixed #logo-white{
  display: none;
}


/**********************************************************************************************************************************/
/* HEADER STICKY RIGHT
/**********************************************************************************************************************************/
#header.stick-right{
	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1);
	min-width: 70px;

	transition: min-width 0.3s ease;
	-moz-transition: min-width 0.3s ease;
	-webkit-transition: min-width 0.3s ease;
	-o-transition: min-width 0.3s ease;
}

@media only screen and (min-width: 800px) {
	#header.stick-right{
		box-shadow: none;
		left: unset;
		width: auto;
		height: 100vh;
		justify-content: center;
		background: #5a5a5c;
	}

	#header.stick-right #header-container{
		flex-direction: column;
		height: 100%;
		padding: 20px 5px;
	}

	#header.stick-right #main-nav{
		display: none;
	}

	#header.stick-right #logo-default{
		display: none;
	}

	#header.stick-right #logo-white{
		display: block;
	}

	#header.stick-right #devis-shortcut{
		display: block;
	}

	#header.stick-right #logo-bloc{
		transform: rotate(90deg) translate(-50%, -50px);
		position: absolute;
		top: 50%;
		right: 0;

		transition: right 0.3s ease ;
		-moz-transition: right 0.3s ease;
		-webkit-transition: right 0.3s ease;
		-o-transition: right 0.3s ease;
	}

	#header.stick-right #nav-toggler{
		display: block;
	}
}

/**********************************************************************************************************************************/
/* HEADER MAX STICKY
/**********************************************************************************************************************************/
#header.max.stick-right{
	min-width: 100%;
}

#header.max.stick-right #header-container{
	display: flex;
	justify-content: center;
	align-items: center;
}

#header.max.stick-right #main-nav{
	display: block;
	width: unset;
}

#header.max.stick-right #main-nav #menu{
	display: block;
}

#header.max.stick-right .toggleLevel2{
	background-size: 16px;
	top: 20px;
	background-image: url(../images/pics/toggleMenuW.png);
}

#header.max.stick-right #main-nav li{
	margin: 20px 0;
}

#header.max.stick-right #main-nav a{
	color: #FFFFFF;
}

#header.max.stick-right #nav-toggler{
	position: absolute;
	top: 20px;
	right: 20px;
}

#header.max.stick-right #devis-shortcut{
	position: absolute;
	bottom: 20px;
	top: unset;
	right: 5px;
}

#header.max.stick-right #menu li:hover .lvl2{
	display: none;
}

#header.max.stick-right #logo-bloc{
	right: 95vw;
}

#header.max.stick-right #main-nav ul.lvl1 > li{
	margin-bottom: 50px;
}
#header.max.stick-right #main-nav ul.lvl1 > li a{
	font-family: 'Amatic SC';
	font-weight: bold;
	font-size: 60px;
	line-height: 60px;
}

#header.max.stick-right #main-nav ul .open .lvl2{
	display: block;
	position: relative;

	padding-top: 0;

}

#header.max.stick-right #main-nav ul.lvl2 > li{
	margin: 0;
}

#header.max.stick-right #main-nav ul.lvl2 > li a{
	font-size: 14px;
	font-family: 'Ubuntu', sans-serif;
	text-transform: uppercase;
	padding: 10px 0;
	background: none;
	line-height: normal;
	margin: 10px 0;
}
#header.max.stick-right #main-nav ul.lvl2 > li a::before{
	content: none;
}
#header.max.stick-right #main-nav ul.lvl2 > li a:hover{
	color: #99BD29;
}
#header.max.stick-right #main-nav ul.lvl2 a{
	margin: 0 20px;
}

#header.max.stick-right #nav-toggler span:nth-child(3){
	transform: rotate(135deg) translateY(-4px) translateX(-19px) !important;
	-webkit-transform: rotate(135deg) translateY(-7px) translateX(-23px) !important;
	-moz-transform: rotate(135deg) translateY(-7px) translateX(-23px) !important;
	-o-transform: rotate(135deg) translateY(-7px) translateX(-23px) !important;
	-ms-transform: rotate(135deg) translateY(-7px) translateX(-23px) !important;
}

#header.max.stick-right .toggleLevel2{
	display: inline-block !important;
}

/**********************************************************************************************************************************/
/* HEADER MAX
/**********************************************************************************************************************************/
#header.max #nav-toggler span:nth-child(2){
	opacity: 0;
}

#header.max #nav-toggler span:nth-child(1){
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}

#header.max #nav-toggler span:nth-child(3){
	transform: rotate(135deg) translateY(-4px) translateX(-19px);
	-webkit-transform: rotate(135deg) translateY(-4px) translateX(-19px);
	-moz-transform: rotate(135deg) translateY(-4px) translateX(-19px);
	-o-transform: rotate(135deg) translateY(-4px) translateX(-19px);
	-ms-transform: rotate(135deg) translateY(-4px) translateX(-19px);
}

/**********************************************************************************************************************************/
/* HEADER MAX MOBILE ONLY
/**********************************************************************************************************************************/
@media only screen and (max-width: 800px) {

	#header.max{
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		overflow-y: auto;
		overflow-x: hidden;
	}

	#header.max #header-container{
		flex-direction: column;
	}

	#header.max #main-nav{
		display: flex;
		align-self: flex-start;
		width: 100vw;
		margin: 20px -10px;
		border-top: 1px solid #F1F1F1;
		border-bottom: 1px solid #F1F1F1;
	}

	#header.max #main-nav #menu{
		display: block;
		width: 100%;
	}

	#header.max #main-nav #menu li{
		padding: 20px 0 20px 20px;
	}

	#header.max #main-nav #menu li + li{
		border-top: 1px solid #F1F1F1;
	}

	#header.max #main-nav #menu .lvl2 li{
		padding: 0;
	}
	#header.max #main-nav #menu .lvl2 li + li{
		border-top: none;
	}


	#header.max #nav-toggler{
		top: 12px;
	}

	#header.max #main-nav #menu .toggleLevel2{
		right: 30px;
		top: 15px;
	}

	#header.max #main-nav #menu .open .toggleLevel2{
		right: 35px;
	}

}



/**********************************************************************************************************************************/
/* COVER
/**********************************************************************************************************************************/
#cover img{
	max-width: 100%;
	height: auto;
	display: block;
}

/**********************************************************************************************************************************/
/* FOOTER
/**********************************************************************************************************************************/
#footer{
	min-height: 100vh;
	background: url(../images/bg/footer-bg.png) no-repeat -65vw center / contain transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
}

@media only screen and (min-width: 800px) {
	#footer{
		padding-left: 15vw;
		background: url(../images/bg/footer-bg.png) no-repeat -15vw center / contain transparent;
	}
}

#footer-ctn{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#footer-logo-and-socials ul{
	text-align: right;
}
#footer-logo-and-socials li{
	display: inline-block;
}

#footer-coordonnees{
	margin: 40px 0;
	line-height: 1.6em;
	text-align: center;
}

@media only screen and (min-width: 800px) {
	#footer-coordonnees{
		display: flex;
		text-align: left;
	}
}

.footer-title{
	font-weight: 500;
	text-transform: uppercase;
	font-size: 18px;
	margin-bottom: 10px;
	display: block;
	letter-spacing: 1px;
}

#certifications{
	text-align: center;
}


#footer-coordonnees a{
	color: inherit;
}

#siege-social{
	margin-bottom: 40px;
}

@media only screen and (min-width: 800px) {
	#siege-social{
		text-align: center;
		margin-bottom: 0;
	}
}

#bouton-footer{
	display: flex;
	justify-content: center;
}

#bouton-footer a{
	display: inline-block;
	padding: 20px 40px;
	position: relative;
	overflow: hidden;
	border-radius: 3px;
	letter-spacing: 10px;
	text-align: center;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5em;
	text-transform: uppercase;
	border: 2px solid #97BC2E;
	border-radius: 3px;
	color: #97BC2E;
}

#bouton-footer a::before{
	width: 0;
	height: 100%;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: #97BC2E;

	transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}

#bouton-footer a span{
	position: relative;
	z-index: 2;
}

@media only screen and (min-width: 800px) {
	#bouton-footer a{
		font-size: 20px;
		line-height: normal;
		font-family: inherit;
	}
}

#bouton-footer a:hover::before{
	width: 100%;
}


#bouton-footer a:hover{
	color: #FFFFFF;
}

/**********************************************************************************************************************************/
/* FOOTER > LEGAL LINKS
/**********************************************************************************************************************************/
#legallinks{
	margin-top: 30px;
}

#legallinks a{
	color: #CECECE;
	font-size: 14px;
}


#legallinks a:hover{
	color: #3d3d3f;
	text-decoration: underline;
}

#legallinks li {
	display: inline-block;
	margin: 0 10px;
}

#main div.frame-framedList{
	padding: 20px 30px;
	background:
		linear-gradient(to right, #97BC2E 4px, transparent 4px) 0 0,
		linear-gradient(to right, #97BC2E 4px, transparent 4px) 0 100%,
		linear-gradient(to left, #97BC2E 4px, transparent 4px) 100% 0,
		linear-gradient(to left, #97BC2E 4px, transparent 4px) 100% 100%,
		linear-gradient(to bottom, #97BC2E 4px, transparent 4px) 0 0,
		linear-gradient(to bottom, #97BC2E 4px, transparent 4px) 100% 0,
		linear-gradient(to top, #97BC2E 4px, transparent 4px) 0 100%,
		linear-gradient(to top, #97BC2E 4px, transparent 4px) 100% 100%;
	background-repeat: no-repeat;
	background-size: 40px 40px;
	width: fit-content;
	position: relative;
	margin: auto;
	margin-bottom: 190px;
	max-width: 350px;
}

@media screen and (min-width: 800px){
	#main div.frame-framedList{
		margin: 0px;
		margin-bottom: 190px;
		max-width: 400px;
	}
}

#main .frame-framedList .ce-textpic{
	display: flex;
	flex-direction: column-reverse;
}

#main .frame-framedList .ce-gallery{
    display: flex;
    justify-content: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 20px);
}

#main .frame-framedList .ce-row{
	border-radius: 50%;
	width: 150px;
    height: 150px;
}


#main .frame-framedList .ce-column img{
	max-width: 200%;
    width: 200%;
    position: relative;
    left: -50%;
    top: 50%;
}

#main .frame-framedList header h2{
	color: #222222;
	font-family: 'Amatic Sc';
	margin: 0px;
}

#main .frame-framedList ul li{
	list-style: none;
}

#main .frame-framedList ul li::before{
	content: '';
    background-image: url('../images/pics/check.png');
	width: 15px;
    height: 15px;
    position: relative;
    left: -7px;
    background-size: cover;
    display: inline-block;
}