/* CSS Mini Reset */
html, body, div, form, fieldset, legend, label, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, footer, header, nav {margin: 0; padding: 0;}
table {border-spacing: 0; border-collapse: collapse;}
li {list-style: none;margin: 0;}
a, a:hover {text-decoration: none; outline: none;}
img, fieldset {border: 0; height: auto;}
h1, h2, h3, h4, h5, h6, th, td, p, caption {font-weight: normal; font-size: 1em;}
footer, header, nav, section {display: block;}
/* End CSS Mini Reset */

/* Defaults */
#err, #err_msg {color:red; font-weight:bold; display:block; padding:5px 0 0 0; font-size:12px; margin-bottom:10px;}
#msg {color:green; font-weight:bold; display:block; padding:5px 0 0 0; font-size:12px; margin-bottom:10px;}
span.error {color:red; font-weight:bold; position: relative;top:-10px;}

img, object {border:0;}
.clr, .clear {clear:both;}
.strong {font-weight:bold;}
/*.right {float:right;} .left {float:left;}*/

.grid-test{
	display: none;
	position: absolute;
	height: 5000px;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	background: url(img/grid.png) repeat-y center;
	z-index: 100;
	opacity: .1;
}

body, html, .site-pusher, .site-container{
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

body{
	background: #fff;
	font-size: 18px;
	font-family: 'Raleway', sans-serif;
	color: #5b5b5b;
}

h1{
	font-size: 50px;
	margin-top: 0px;
	margin-bottom: 30px;
	font-weight: 700;
	text-align: center;
}

h2{
	font-size: 24px;
	font-weight: 900;
	margin-bottom: 30px;
	text-transform: uppercase;
}

h3{
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 15px;
	font-size: 20px;
}

h3 a:hover{color: #377130; text-decoration: underline;}

p+h2{margin-top: 20px;}

a{color: inherit;}

form label a{color: #fff;}

p a{color: #377130; font-weight: 700;}

p{margin: 0;margin-bottom: 1em;}

img{max-width: 100%;}


.items-wrap{text-align: center;}

.btn{
	box-shadow: 0 0 0 50px #377130 inset;
	color: #fff;
	text-transform: uppercase;
	padding: 20px 30px;
	display: inline-block;
	margin: auto;
	text-align: center; 
	font-weight: 700;
	cursor: pointer;
	font-size: 16px;
	transition: all 0.2s ease;
}

.btn:hover{
	box-shadow: 0 0 0 2px #377130 inset;
	color: #377130;
}

.btn.reverse{
	box-shadow: 0 0 0 2px #377130 inset;
	color: #377130;
}

.btn.reverse:hover{
	box-shadow: 0 0 0 50px #377130 inset;
	color: #fff;
}

.btn.blanc{
	box-shadow: 0 0 0 50px #fff inset;
	color: #377130;
	transition: all 0.2s ease;
}

.btn.blanc:hover{
	box-shadow: 0 0 0 2px #fff inset;
	color: #fff;
}

/*			SIDEBAR
==========================================================*/

sidebar{
    position: fixed;
    background: #fff;
    width: 300px;
    /*padding: 0 20px;*/
    height: 100%;
    z-index: 100;
    top: 0;
    box-shadow: 0 0 70px rgba(0,0,0,0.2);
    transition: all 0.2s ease;
    -ms-overflow-style: none;
}

.sidebar-overflow::-webkit-scrollbar{display: none;}

.sidebar-overflow{
    padding-top: 20px;
	overflow-y: auto;
	overflow-x: hidden;
	height: 100%;
}

.logo img{max-width: 100%;}

.navbrand-name{
	text-transform: uppercase;
	font-size: 16px;
	color: #949494;
	font-weight: 700;
	margin-top: 10px;
}

.logo{margin-bottom: 20px;}

.search_bar{position: relative;margin-top: 30px;}

.sidebar-top{margin-bottom: 20px;padding: 0 20px;}

input[name="search"]{
	position: relative;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 13px 13px;
	padding-left: 50px;
	border-radius: 25px;
	/*width: 195px;*/
	background: rgba(0,0,0,0);
	z-index: 2;
	transition: all 0.3s ease;
	font-size: 15px;
	/*color: #fff;*/
	outline: none;
	background: rgba(0,0,0,0.07);
	font-family: inherit;
}

.search_bar input[type="submit"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(img/icone-loupe.png) no-repeat center;
	-webkit-background-size: contain;
	background-size: contain;
	border:none;
	width: 25px;
	height: 25px;
	z-index: 1;
	position: absolute;
	left: 15px;
	top: 10px;
	cursor:pointer;
}

.search_bar.active input[name="search"]{
	background: rgba(0,0,0,0);
	box-shadow: 0 0 0 1px rgba(0,0,0,0.42);
}

.search_bar.active input[type="submit"]{z-index: 4;}

.sidebar-bottom{
	margin-top: 50px;
	padding: 0 20px;
	margin-bottom: 50px;
}

.sidebar-infos{
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
}

.sidebar-infos i{
	position: absolute;
	left: 0;
	font-size: 20px;
	color: #377130;
}

/*			NAV
==========================================================*/

ul.nav{text-align: center;}

ul.nav > li{padding: 15px 0;}

ul.nav > li > a{text-transform: uppercase;}

ul.nav > li:hover{background: #ebebeb;}

ul.nav li a:hover{color: #377130;font-weight: 700;}

ul.nav > li > ul > li > a{color: #a3a3a3;}

ul.nav > li.selected > a{color: #377130; font-weight: 700;}


/*			SITE CONTENT
==========================================================*/


.site-content {
    padding-left: 300px;
    height: 100%;
    overflow: auto;
}

.container{
	position: relative;
	padding: 50px 0;
	width: 1320px;
	margin: auto;
}

.container.col10{width: 1070px;}
.container.col8{width: 850px;}
.container.col6{width: 630px;}

.slideshow-margin{
	position: relative;
    height: 500px;
}

.slideshow{
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.slideshow ul, .slideshow li, .slideshow .slide-txt{
	height: 100%;
}

.slide-txt{
	position: relative;
	text-align: center;
	width: 580px;
	margin: auto;
	text-shadow: 0 0 25px rgba(0,0,0,0.5);
}

.slide-txt .content{
	width: 100%;
	position: absolute;
	top: 20%;
	color: white;
}

.slide-txt .content p{font-size: 20px;font-weight: 600;text-shadow: 0 0 20px #000;}

.slide-txt .content img{ position: initial !important; width: initial !important; height: initial !important;}


.page.accueil{background: #ebebeb;}

.page-top .container{background: rgba(0,0,0,0.5); width: initial;padding: 45px 0;}

.page-top{color: #fff; text-align: center;}

.page-top h1{font-size: 44px;margin-bottom: 10px;}

.page-top p{font-size: 14px;}
.page-top p a{color: inherit; font-weight: 400;}
.page-top p a:hover{text-decoration: underline;}

#cms_navigation a:hover{text-decoration: underline;}

table td{padding: 10px;}
/*			PAGE MOSAIC
==========================================================*/

/*.page.mosaic{text-align: center;}*/

.mosaic_img{
	display: inline-block;
	vertical-align: middle;
	width: 50%;
	position: relative;
	z-index: 2;
}

.mosaic_txt{
	display: inline-block;
	vertical-align: middle;
	width: 45%;
	position: relative;
	z-index: 1;
	text-align: left;
}

.mosaic:nth-child(2n) .mosaic_img.left{display: none;}
.mosaic:nth-child(2n) .mosaic_img.right{margin-left: 2%;}
.mosaic:nth-child(2n+1) .mosaic_img.right{display: none;}
.mosaic:nth-child(2n+1) .mosaic_img.left{margin-right: 2%;}

.mosaic:nth-child(2n) .mosaic_txt{margin-right: 2%;}
.mosaic:nth-child(2n+1) .mosaic_txt{margin-left: 2%;}


/*			PAGE gallery
==========================================================*/


.gallery_line{	background: #ebebeb;}

.gallery_line .container{width: initial;}

.gallery_line li {margin: 0 15px;display: inline-block;vertical-align: top;background: #fff;}
.gallery_line li img{height: 210px; opacity: 1;transition: all 0.2s ease;}

.gallery_line li:hover img{opacity: .5;}

.slick-prev, .slick-next{
	-webkit-appearance: 	none;
	-moz-appearance: 	none;
	appearance: 	none;
	font-size: 0;	
	border: none;
	background: #377130;
	width: 30px;	
	height: 30px;	
	border-radius: 15px;
	position: absolute;	
	top: -40px;	
	cursor: pointer;
	outline: 0;
}

.slick-prev:hover{background: #61a15a;}
.slick-next:hover{background: #61a15a;}

.slick-next{
	right: 20px;	
}

.slick-next::before{
	display: block;
	content: ">";
	color: #fff;
	font-size: 19px;
	top: 10px;	
	right: 10px;	
}

.slick-prev{
	right: 60px;	
}

.slick-prev::before{
	display: block;
	content: "<";
	color: #fff;
	font-size: 19px;
	top: 10px;	
	right: 10px;	
}

/*			PAGE contact
==========================================================*/

.bloc_contact{
	display: inline-block;
	vertical-align: top;
	width: 230px;
	margin: 0 10px;
}

.page.form{display: table;width: 100%;}

.form-map{
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	position: relative;
}

.form-wrap{
	width: 50%;
	background: #377130;
	display: table-cell;
	vertical-align: top;
	color: #fff;
	padding: 80px;
}

.input{
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-right: 20px;
	background: #fff;
	box-shadow: 0 40px #377130 inset;
	transition: all 0.2s ease;
	margin-bottom: 20px;
	width: 100%;
}

.input.textarea{
	height: 230px;
	box-shadow: 0 229px #377130 inset;
}

.input.small{
	width: 45%;
	margin-right: 4%;
}

.input label{
	position: absolute;
    z-index: 10;
    top: 10px;
    left: 15px;
    font-weight: 300;
    font-size: 16px;
    transform: scale(1);
    transition: all 0.2s ease;
    color: #fff;
}

form input, form select, form textarea {
    border-right: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    height: inherit;
    padding: 10px;
    padding-bottom: 10px;
    background: none;
    border: none;
    border-radius: none;
    width: 100%;
    font-size: inherit;
    font-family: inherit;
}

form input[type="checkbox"]{
	width: initial;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

input[type="submit"]{width: initial;}

.input.focus{
	box-shadow: 0 0px #377130 inset;
}

.input.focus label{
	color: #377130;
	top: 0px;
	left: -3px;
	transform: scale(0.7,0.7);
}

.input.filled{
	box-shadow: 0 0px #377130 inset;
	background: rgba(255,255,255,0.5);
}

.input.filled label{
	color: #377130;
	top: 0px;
	left: -3px;
	transform: scale(0.7,0.7);
}


/*			SHOP
==========================================================*/

.shop_toolbar{
	display: none;
	background: #377130;
	color: #fff;
	text-align: right;
	font-size: 16px;
}

.shop_toolbar .container{
	padding: 20px 0;
}

.shop_toolbar a{margin-left: 20px;}

.shop_toolbar a i{margin-right: 10px;}

.liste_product{background: #ebebeb;}

.product_short{background: #fff;position: relative;margin-bottom: 30px;}

.product_short_img{width: 300px;position: absolute;top: 0;bottom: 0;left: 0;right: 0;}

.product_short_content{margin-left: 300px;padding: 30px;}

.product_short .buttons{margin-top: 30px;}

.product_short .buttons a{margin-right: 20px;margin-bottom: 20px;}

.form_devis{background: #377130; color: #fff;}

.form_devis h2{color: #fff;}

.fiche_img{	width: 410px; position: absolute;}

.fiche_content{margin-left: 440px;margin-right: 330px;}

.fiche_buttons{position: absolute;right: 0;width: 300px;top: 50px;text-align: center;}

.cms_shop .retour{position: absolute;margin-top: -25px;}

.product_featured{background: #fff; display: inline-block;vertical-align: top;width: 300px;margin: 15px;}

.product_featured_img{height: 150px;}

.product_featured_content{padding: 20px;}

.alert {
    display: block;
    border-radius: 5px;
    padding: 10px 0;
    /* margin-bottom: 15px; */
    margin: 20px;
    text-align: center;
   	left: 20px;
   	right: 20px;
}

.alert-success{
    background: #dfefff;
    border: 1px solid #66a8ea;
}

.alert-danger{
    background: #ffc7c7;
    border: 1px solid #ff6666;
}

/*			FOOTER
==========================================================*/

footer{
	background: #262626;
	color: #fff;
	font-size: 16px;
}

footer p{margin: 0;}

footer a{
	color: inherit;
	font-weight: inherit;
}

footer a:hover{text-decoration: underline;}

.footer-left{float: left;}

.footer-right{float: right;}




@media screen and (max-width: 1660px) {
	.container{
		width: initial;
		margin: 0 30px;
	}

	.container.col10,.container.col8,.container.col6{margin: auto;}

	.page-top .container{margin: 0;}
}

@media screen and (max-width: 1550px) {
	.fiche_img{width: 350px;}

	.fiche_content{margin-left: 380px;margin-right: 230px;}

	.fiche_buttons{width: 200px;}

	.form-wrap{padding: 80px 50px;}
}

@media screen and (max-width: 1390px) {
	.container.col10{
		width: initial;
		margin: 0 30px;
	}

	.fiche_buttons{position: relative;width: initial; top: initial;text-align: right;}

	.fiche_content{margin-right: 0;}
}

@media screen and (max-width: 1170px) {
	.container.col8{
		width: initial;
		margin: 0 30px;
	}
}

@media screen and (max-width: 1100px) {
	sidebar{
		width: 100px;
	}	

	.sidebar-top{
		padding: 0 10px;
	}

	.navbrand-name{opacity: 0;}

	.search_bar{display: none;}

	.sidebar-nav{width: 0;opacity: 0;}

	.sidebar-bottom{opacity: 0;position: absolute;}

	.site-content{padding-left: 100px;}

	.nav-toggle {
	    position: absolute;
	    z-index: 1000;
	    display: inline-block;
	    width: 40px;
	    height: 30px;
	    cursor: pointer;
	    top: 80px;
	    right: 30px;
	}

	.trait1, .trait2, .trait3 {
	    background: #898989;
	    width: 40px;
	    height: 3px;
	    position: absolute;
	    transition: all 0.5s ease;
	}

	.trait1 {
	    top: 0;
	    left: 0;
	    transform: rotate(0);
	}

	.trait2 {
	    top: 10px;
	    left: 0;
	    transform: rotate(0);
	    opacity: 1;
	}

	.trait3 {
	    top: 20px;
	    left: 0;
	    transform: rotate(0);
	}

	.with-sidebar sidebar{width: 300px;	}

	.with-sidebar .sidebar-top{
		margin-bottom: 20px;
    	padding: 0 20px;
	}

	.with-sidebar .sidebar-nav{opacity: 1; width: initial;}

	.with-sidebar .sidebar-bottom{opacity: 1; position: relative;}

	.with-sidebar .navbrand-name{opacity: 1;}

	.with-sidebar .search_bar{display: block;}

	.site-cache{display: block;background: rgba(0,0,0,0);top: 0;bottom: 0;left: 0;right: 0;transition: all 0.2s ease;}

	.with-sidebar .site-cache{display: block;background: rgba(0,0,0,0.7);z-index: 1;position: fixed;}

	.with-sidebar .nav-toggle{top: 30px;right: -70px;}

	.with-sidebar .trait1, .with-sidebar .trait2, .with-sidebar .trait3{background: #fff;}

	body.with-sidebar .trait1 {
	    transform: rotate(45deg);
	    top: 10px;
	}

	body.with-sidebar .trait2 {
	    opacity: 0;
	}

	body.with-sidebar .trait3 {
	    transform: rotate(-45deg);
	    top: 10px;
	}

	.form-wrap{padding: 50px 50px;}
}

@media screen and (max-width: 800px) {

	h2{font-size: 24px;}

	.site-cache{display: none;}

	sidebar{
		width: 100%;
		height: 70px;
	}

	.sidebar-overflow{padding: 0;overflow: hidden;}

	.nav-toggle{top: 24px;right: 20px;}

	.sidebar-top{margin: 0;}

	.logo{margin-bottom: 0;}

	.logo img{height: 60px;margin-top: 5px;}

	.navbrand-name{opacity: 1;position: relative;top: -20px;margin-top: 0;font-size: 12px;}

	.with-sidebar sidebar{width: 100%;height: 100%;}

	.with-sidebar .nav-toggle {
	    top: 24px;
	    right: 20px;
	}

	.with-sidebar .trait1, .with-sidebar .trait2, .with-sidebar .trait3{background: #898989;}

	.search_bar{margin-top: 10px;}

	.with-sidebar .sidebar-top {
	    padding: 0 10px;
	}

	.with-sidebar .sidebar-overflow{overflow-y: auto;}
	
	.site-content{
		padding-left: 0;
		padding-top: 70px;
	}


	.product_short_img{width: 220px;}

	.product_short_content{margin-left: 220px;}

	.form-wrap{padding: 30px;}
}

@media screen and (max-width: 700px) {
	.container.col6{
		width: initial;
		margin: 0 30px;
	}
}


@media screen and (max-width: 650px) {
	.product_short_img{
		width: initial;
		position: relative;
		height: 200px;
	}

	.product_short_content{
		margin-left: 0;
	}

	.fiche_img{
		width: initial;
		text-align: center;
		position: relative;
	}

	.fiche_content{
		margin: 0;
		margin-top: 20px;
	}

	.page.form{display: initial;}

	.form-map{
		width: 100%;
		display: block;
		height: 300px;
	}

	footer{text-align: center;}

	.footer-left{float: none;margin-bottom: 20px;}
	.footer-right{float: none;}
}

@media screen and (max-width: 520px) {
	.input.small{
		width: 100%;
		margin-right: 0;
	}

	.mosaic_img{display: block;width: initial; max-width: 100%;}

	.mosaic:nth-child(2n) .mosaic_img.left{display: block;}

	.mosaic:nth-child(2n) .mosaic_img.right{display: none;}

	.mosaic_txt{display: block;width: initial;margin-top: 20px;}

	.mosaic:nth-child(2n) .mosaic_txt{margin-right: 0;}
	.mosaic:nth-child(2n+1) .mosaic_txt{margin-left: 0;}
}

@media screen and (max-width: 380px) {
	.navbrand-name{display: none;}
}