/* CSS Document */

body,html,*{
	margin: 0; padding: 0;
	box-sizing: border-box;
	font-family: 'Source Sans Pro', sans-serif;

}
body{
	background-color: #f6f6f6;
}
.clear{
	height: 0; clear: both;
}
#header{
	width: 100%;
	height:100px;
	background-color: #233920;
}
#headerContent{
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}
#headerContent #logoDiv {
	top: 13px;
    position: absolute;}
#headerContent #logoDiv #logoSapin { height: 60px;}
h1{ 
	
	font-family: 'PT Serif', serif;
	font-weight: 700;
	font-style: italic;
	font-size: 30px;
	height: 40px;
	color: #f6f6f6;
    top: 20px;
    left: 70px;
    position: absolute;
    width: 420px;}
h2{
	color: #498042;
	font-size: 40px;
	font-family: 'PT Serif', serif;
	font-weight: 700;
	font-style: italic;
	line-height: 50px;
	margin-bottom: 40px;
}
h3{
	color: #525252;
	font-size: 28px;
	font-family: 'PT Serif', serif;
	font-weight: 700;
	font-style: italic;
	margin-bottom: 10px;
	text-shadow: white 1px 1px 5px;
}
#headerContent #menu{
	list-style: none;
	position: absolute;
	right:0;
	text-transform: uppercase;
	font-weight: 600;
	font-style: italic;
	font-size: 18px;
}
#headerContent #menu li{
	float: left;
	margin-left: 5px;
}

#headerContent #menu li a {
	height: 80px;
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	display: inline-block;
	vertical-align: top;
	padding: 0 15px;
    text-decoration: none;
	background: none;
}
#headerContent #menu li a.active {
	background: #498042;}
#headerContent #menu li a:hover {
	background: #498042;
	transition: background .5s ease-out;
}
#headerContent #menu li a span {
-webkit-transform: skew(20deg);
-moz-transform: skew(20deg);
-o-transform: skew(20deg);
	color: white;
	display: block;
	margin-top: 43px;
}

/* MENU MOBILE */	
.toggle-menu {
	width: 40px;
	height: 38px;
	display: none;
	position: fixed;
	top: 22px;
	right: 15px;
	z-index:50;
	background: #233920;
}
.toggle-menu i {
	position: absolute;
	display: block;
	height: 2px;
	background-color:#fff;
	width: 23px;
	right: 8px;
	-webkit-transition: all .3s;
	        transition: all .3s;
}
.toggle-menu i:nth-child(1) { top: 11px; }
.toggle-menu i:nth-child(2) { top: 18px; }
.toggle-menu i:nth-child(3) { top: 25px; }
.open-menu i:nth-child(1) {
	top: 18px;
	-webkit-transform: rotateZ(45deg);
	        transform: rotateZ(45deg);
}
.open-menu i:nth-child(2) { background: transparent; }
.open-menu i:nth-child(3) { 
	top: 18px;
	-webkit-transform: rotateZ(-45deg);
	        transform: rotateZ(-45deg);
}

#mobileMenu{
	background:#233920;
	width:100%;
	top:80px; left:0;
	z-index: 1;
	height: calc(100% - 80px);
	position:fixed;
	display:none;
	overflow-y: scroll;}

#mobileMenu ul { 
	list-style: none;
	text-transform: uppercase;
	font-weight: 600;
	font-style: italic;
	font-size: 18px;
}

#mobileMenu li { 
	text-align: center;}


#mobileMenu li a {
	height: 80px;
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	display: inline-block;
	vertical-align: top;
	padding: 0 15px;
    text-decoration: none;
	background: none;
}
#mobileMenu li a.active {
	background: #498042;}
#mobileMenu li a:hover {
	background: #498042;
	transition: background .5s ease-out;
}
#mobileMenu li a span {
-webkit-transform: skew(20deg);
-moz-transform: skew(20deg);
-o-transform: skew(20deg);
	color: white;
	display: block;
	margin-top: 43px;
}



#indexIllustration{
	background-image: url("../../img/homepage.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 50vh;
}

ul.datesListe li{
	margin-bottom: 20px;
	margin-top: 15px;
	list-style: none;
	font-size: 18px;
	display: block;
}
ul.datesListe li span.heures{font-weight: 700;}
ul.datesListe li span.dateVille{
	color: #498042;
	font-size: 23px;
	font-family: 'PT Serif', serif;
	font-weight: 700;
	font-style: italic;
}
ul.datesListe li span.dateDescr{}

.mainContainer{
	width: 100%;
}
.mainContent{
	
	padding-bottom: 1px;
	padding-right: 150px;
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	background-image: url("../../img/bg.gif");
	background-repeat: repeat-y;
	background-position: top center;
}

.mainContent:last-of-type{padding-bottom: 100px;}
.mainContent:first-of-type{padding-top: 60px;}
.mainContent.fullWidth{padding-right: 0;}
.mainContent p{
	line-height: 32px; margin-bottom: 40px; color: #525252;
}
.mainContent img.illustration{
	float: left; margin-right: 40px;
}
.mainContent #labels{ display: flex; width: 80%; margin: 0 auto; margin-bottom: 40px;}
.mainContent #labels .imgContainer{ flex: auto; text-align: center}

.mainContent .illustrationsContainer { display: flex; margin-bottom: 40px; justify-content: space-between;}
.mainContent .illustrationsContainer .imgContainer{ flex-basis: content; }
.mainContent .illustrationsContainer .imgContainer .illustrationsSalage{ width: 431px; }

.mainContent quote {
	/*font-weight: 700;
	font-style: italic;*/
	color: #525252;
	font-size: 30px;
	line-height: 50px;
	text-align: center;
	font-family: 'PT Serif', serif;
	margin: 0 auto;
    display: block;
	margin-bottom: 40px;
}

.w3-content {
    max-width: 1000px;
}

.w3-content, .w3-auto {
    margin-left: auto;
    margin-right: auto;
}
.w3-tooltip, .w3-display-container {
    position: relative;
}

.w3-green {
    color: #fff!important;
    background-color: #498042!important;
}

.w3-display-left {
    position: absolute;
    top: 50%;
    left: -1%;
    transform: translate(0%,-50%);
    -ms-transform: translate(-0%,-50%);
}
.w3-display-right {
    position: absolute;
    top: 50%;
    right: -1%;
    transform: translate(0%,-50%);
    -ms-transform: translate(0%,-50%);
}
.w3-btn, .w3-button {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.w3-btn, .w3-button {
    border: none;
    display: inline-block;
    padding: 30px 16px;
    vertical-align: middle;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background-color: inherit;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
}

.loginButton{
	background: #498042;
	display: inline-block; 
	position: relative;
	border-radius: 5px;
	padding: 0 15px;
	color: white;
	font-weight: 300;
	text-decoration: none;
	box-shadow: 3px 3px 5px #ccc;
}

.loginButton:hover{ box-shadow: 1px 1px 0 #ccc;}

/*#loginFilter{
	background: rgba(55, 55, 55, 0.6);
	position: fixed;
	width: 100vw;
	height: 100vh;
	z-index: 99;
	display: none;
    justify-content: center;
    align-items: center;
}*/
#loginDiv{
	position: relative;
    width: 450px;
    border: solid 1px darkgreen;
    border-radius: 20px;
    display: block;
    background-color: #f6f6f6;
    padding: 40px;
    z-index: 999;
}
/*#loginDiv a#close{
	position: absolute;
	top: 3px;
	right: 18px;
	color: #498042;
	font-size: 30px;
	font-family: 'PT Serif', serif;
	font-weight: 700;
	text-decoration: none;
}*/
#loginDiv label{
	margin-bottom: -6px;
	display: block;
}
#loginDiv #sdbPwd{
	padding: 8px 13px;
}
#loginDiv .loginButton{
	border: none;
    padding: 8px 15px;
    margin-top: 15px;
}
.badPassword{
	color: indianred;
}

/*.produitsCategContainer{
	margin-bottom: 40px;
	clear: both;
}
.produitsCategContainer::after {
    content: "";
    display: table;
    clear: both;
}

.produitVignette{
	color: #525252; display: block; text-decoration: none; width: 29%; position: relative; float: left; text-align: center; margin-top: 50px; margin-right: 6%; cursor: pointer; min-height: 350px;
}*/
.produitsCategContainer{
	display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
	margin-bottom: 40px;
	
}


.produitVignette{
	color: #525252; display: block; text-decoration: none; width: 29%; position: relative; float: left; text-align: center; margin-top: 50px; margin-right: 6%; cursor: pointer; height: auto;
}

.produitVignette img.IGPlogo{
	width: 70px;
    position: absolute;
    top: 107px;
    right: -10px;
}
.produitVignette:nth-of-type(3n+3){margin-right: 0;}


.produitVignette img{width: 100%; margin-bottom: 10px;}

.produitVignette p.produitTitre{ color: #525252; font-size: 18px; font-weight: 600; margin-bottom: 10px; line-height: normal;}
.produitVignette p.produitSousTitre{ color: #525252; font-size: 16px; font-weight: 300; margin-bottom: 15px; padding: 0 15px; line-height: normal;}

.produitVignette:hover{
	background: #ddd;
	transition: background .5s ease-out;
}

.pswp__custom-caption {
     background: #498042;
    font-size: 18px;
    color: #fff;
    width: 100%;
    max-width: 600px;
    padding: 10px 20px;
    border-radius: 4px;
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
	text-align: center;
}
.pswp__custom-caption p.produitTitre{ color: #fff; font-size: 20px; font-weight: 600; margin-bottom: 10px; line-height: normal;}
.pswp__custom-caption p.produitSousTitre{ color: #fff; font-size: 18px; font-weight: 300; margin-bottom: 5px; padding: 0 15px; line-height: normal;}
.pswp__custom-caption p.produitSousTitre.IGPdescr{ padding-right: 150px;}
.pswp__custom-caption img.IGPlogo{
	width: 120px;
    position: absolute;
    top: 8px;
    right: 17px;}

.hidden-caption-content {
  display: none;
}

.achatTypeAdjustHeight{
	height: 120px;
}
.halfWidth{
	width: 48%;
	float: left;
}
.halfWidth.right{
	float: right;
}

.achatsImg{
	width: 500px;
	max-width: 100%;

}
.achatsImg.right{
	float: right;
}
.achatsSignature{
	width: 330px;
}

#footerContainer{
	width: 100%;
	background-color: #333333;
}
#footerContent{
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	padding: 60px 0;
	color: #ffffff;
	text-align: center;
}
#footerContent #footerTitle{ 
	font-family: 'PT Serif', serif;
	font-weight: 700;
	font-style: italic;
	font-size: 21px;
	color: #f6f6f6;
    position: relative;
    width: 100%;
	height: 50px;
    margin-bottom: 20px;
text-align: center;}
#footerContent #footerTitle span {display: inline-block; position: relative; top: -10px; font-family: 'PT Serif', serif;}
#footerContent #footerTitle .sapinFooter { height: 50px; display: inline-block; margin: 0 20px;}
#footerContent p{font-size: 16px; color: #8e8e8e;font-weight: 600; margin-bottom: 10px;}
#footerContent p a{color: #8e8e8e; text-decoration: underline}
#footerContent p a:hover{color: #9c9c9c; text-decoration: none}
#subFooterContainer{
	width: 100%;
	background-color: #2c2c2c;
}
#subFooterContent{
	width: 1000px;
	max-width: 100%;
	margin: 0 auto;
	padding: 60px 0;
}
#subFooterContent p{
	color: #525252;
	font-weight: 600;
}

@media (max-width: 1110px) {
.produitVignette img.IGPlogo{
	top: 10vw;
	}
}

@media (max-width: 960px) {
	#headerContent #menu{ display: none;}
	
    #headerContent,#headerContent #logoDiv,#footerContent,#subFooterContent {
        width: 100%;
    }
	

	.mainContent{
		width: calc(100% - 40px);
		background-image: 0;
		background: #f6f6f6;
		padding: 0 20px;
	}
	.toggle-menu {
		display: inline-block;
	}
	.mainContent .illustrationsContainer .imgContainer .illustrationsSalage{
		width: 95%;
	}
}
@media (max-width: 850px) {
	.halfWidth {
		width: 100%;
		float: none;
	}
	.achatTypeAdjustHeight{height: auto; margin-bottom: 15px;}
	.achatsImg{margin-bottom: 30px;}
}
@media (max-width: 750px) {
	.produitVignette{
		width: 47%; margin-right: 6%;
	}
	.produitVignette:nth-of-type(3n+3){margin-right: 6%;}
	.produitVignette:nth-of-type(2n){margin-right: 0;}
	
	.mainContent #labels .imgContainer .labelImg{
		width: 95%;
	}
	
.produitVignette img.IGPlogo{
	top: 17vw;
	}
	.pswp__custom-caption p.produitSousTitre.IGPdescr{ padding-right: 110px;}
	.pswp__custom-caption img.IGPlogo{
		width: 90px;
		position: absolute;
		top: 20px;
		right: 17px;}

}
@media (max-width: 600px) {

	.mainContent img.illustration{
		float: none;
		margin-bottom: 25px;
	}
	
	.achatsImg{width: 100%}
}
@media (max-width: 500px) {
	h1{
		font-size: 5.0vw;
		width: calc(100% - 75px);
		top: 15px;
	}
	#header{
		height: 80px;
	}
	#headerContent #logoDiv #logoSapin{margin-left: 15px; margin-top: 2px;	height: 50px;}
	#footerContent #footerTitle{font-size: 4vw;}
	#footerContent{
		padding: 25px 0;
	}
	#subFooterContent{
		padding: 25px 0;
	}
	#subFooterContent p{
		text-align: center;}
	
	.mainContent img.illustration{
		width:100%;
		margin-right: 0;
	}
	
	.produitVignette img.IGPlogo{
		top: 14vw;
	}
	
}
