@font-face {
  font-family: 'DIN';
  src: url('polices/DINCondensed-Bold.eot?#iefix') format('embedded-opentype'),  url('polices/DINCondensed-Bold.woff') format('woff'), url('polices/DINCondensed-Bold.ttf')  format('truetype'), url('polices/DINCondensed-Bold.svg#DINCondensed-Bold') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Avenir';
  src: url('polices/AvenirLTStd-Roman.eot?#iefix') format('embedded-opentype'),  url('polices/AvenirLTStd-Roman.otf')  format('opentype'),
	     url('polices/AvenirLTStd-Roman.woff') format('woff'), url('polices/AvenirLTStd-Roman.ttf')  format('truetype'), url('polices/AvenirLTStd-Roman.svg#AvenirLTStd-Roman') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* --------------------------------------------------------------- */
/*
/* HTML
/*
/* --------------------------------------------------------------- */
* {
	box-sizing:border-box;	
}

html, body {
	margin:0; padding:0; width:100%; height:100%;
	font-family:"Avenir"; font-size:16px;
}

body {
	color:#353535;
	background-color:#ccc;
	text-align:center;
	background: url('images/fond_motif.jpg');
}

#main {
	position:relative; top:0; left:0; width:100%; min-height:100%; margin:0 auto;
	text-align:justify;
	background: url('images/masque_entete.png') no-repeat top center;
	overflow-x:hidden;
}
#main:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 484px;    
    z-index: -1;
    
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #FFF;
}
#main.cat_0:after{
    background-image: url('images/fond_entete.jpg');
}
#main.cat_1:after{
    background-image: url('images/fond_entete_1.jpg');
}
#main.cat_2:after{
    background-image: url('images/fond_entete_2.jpg');    
}
#main.cat_3:after{
    background-image: url('images/fond_entete_3.jpg');    
}
#main.cat_4:after{
    background-image: url('images/fond_entete_4.jpg');    
}
#main.cat_5:after{
    background-image: url('images/fond_entete_5.jpg');   
}
#main.cat_6:after{
    background-image: url('images/fond_entete_6.jpg');    
}
#main.cat_7:after{
    background-image: url('images/fond_entete_7.jpg');    
}

@media screen and (max-width: 1920px){
    #main:after{
        -webkit-background-size: cover;
        background-size: cover;
    }
}



/* --------------------------------------------------------------- */
/*
/* Header
/*
/* --------------------------------------------------------------- */
#entete {
	position:relative; top:0; left:0;
	min-height:165px;
	text-align: center;
}

#entete #logo {
	position:relative; top:0; left:0;
	display: inline-block;
	padding-top:30px;
}

#entete .qualibat {
	position: absolute; top: 75px; right: 50%;
	margin-right:-525px;
	display: none;
}


/* --------------------------------------------------------------- */
/*
/* Menu
/*
/* --------------------------------------------------------------- */
#menu {
	position:relative; top:0px; left:0;
	width:100%; min-height:30px;
	font-family: "DIN";
	font-size: 20px;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	padding-top:20px;
	
	margin-bottom:265px;
}

#menu ul {
	list-style-type:none; margin:0; padding:0;
	width:100%;
	display:flex;
	justify-content:space-around;
}

#menu ul li {
	margin:0px; padding:0;
	display: block;
}

#menu ul li a {
	text-decoration:none;
	display:block;
	padding:0 10px;
	color:#FFF;
	text-shadow:0px 0px 3px #000;
}

#menu ul li ul {
	display:none;
	position:absolute; top:30px; left:0;
}

#menu ul li:hover ul { 
	display:block; 
	margin:2px 0px;
}

#menu ul li ul li {
	clear:left;
	margin:0;
}


/* --------------------------------------------------------------- */
/*
/* Page
/*
/* --------------------------------------------------------------- */
#page {
	position:relative; top:0; left:0;
	min-height:350px;
	background: #FFF;
}

#page .fond_motif {
	background: url('images/fond_motif.jpg');	
}

#page .bouton {
	display: inline-block;
	color:#FFF;
	text-transform: uppercase;
	font-size: 19px;
	padding:20px 25px;
	background-color: #ff7f32;
	text-decoration: none;
}

#page #titre_page {
	position: relative; top:-60px; left: 0;	
	margin-bottom:-00px !important;
}

#page h1 {
	position: relative; top: 0; left: 0;
	font-size: 61px;
	color:#43934b;
	font-weight: 700;
	text-transform: uppercase;
	font-family: "Saira Condensed";
	line-height: 55px;
	text-align: center;
}
#page h1 span {
	font-weight: 100;
	display: block;	
}


/* --------------------------------------------------------------- */
/*
/* Pied
/*
/* --------------------------------------------------------------- */
#pied {
	position:relative; top:0; left:0;
	text-align:center;
	padding-top:285px;
}
#pied:before {
	content:"";
	position: absolute; top: 0; left: 0;
	width:100%; height:481px;
	background: url('images/fond_pied.png') no-repeat top center;	
}
#pied:after {
	content:"";
	position: absolute; top: 125px; left: 50%;
	width:278px; height:66px;	
	margin-left:-139px;
	background: url('images/logo_pied.png') no-repeat center center;
}

#pied #haut_pied {
	padding:35px 0;
	font-size: 19px;
}
#pied #haut_pied .box_contact {
	position: relative; top: 0; left: 0;
	min-height:125px;
	
}
#pied #haut_pied .box_contact:after {
	content:"";
	position: absolute; bottom: 0;	left: 50%;
	width:30px; height:1px;
	margin-left:-15px;
	background-color: #65ff85;
}
#pied #haut_pied .box_contact .icone {
	color:#65FF85;
	font-size: 35px;	
}
#pied #haut_pied .box_contact a {
	color:#FFF;	
	text-decoration: none;
}


#pied #bas_pied {
	background-color: #FFF;
	font-size: 13px;
	padding:15px 0;
}
#pied #bas_pied a {
	color:#353535;	
}


/* --------------------------------------------------------------- */
/*
/* Général
/*
/* --------------------------------------------------------------- */
a img {
	border:none;	
}

#page h1 {
	margin-top:0;	
}


#page .center { text-align:center; margin-left:auto; margin-right:auto; }
#page .left { float:left; margin:0 1em 0.5em 0; }
#page .right { float:right; margin:0 0 0.5em 1em; }
#page .clear { clear:both; }
#page hr { border-color:#ac2; color:#ac2; }

.cache { display:none; position:absolute; width:1px; height:1px; overflow:hidden; }
.print { display:none; }
.noprint { }


/* ------ Formulaire ------ */

#page .form-control{
    border-radius: 0!important;
}
#page .text-center .obligatoire{
    float: none;
}

#page form .form_group{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#page form .group{
    position:relative; 
    margin-bottom: 15px; 
    font-family: 'Avenir';
    letter-spacing: 1px;
}
#page form .group textarea{
    resize: none;
}
#page form .group input, #page form .group textarea{
    font-size: 17px;
    color: #353535;
    padding: 5px 10px 2px 5px;
    display:block;
    width:100%;
    border: none;
    border-bottom: 1px solid #43934B;
    background: none !important;
    border-radius: 0px;
}
#page form .group select{
    color:#353535;
    font-size: 15px;
    font-weight:normal;
    border-top: none;
    border-left: none;
    border-right: none;
    padding-left: 1px;
    border-bottom: 1px solid #FFF;
}
#page form .group select:focus{
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
#page form .group input:focus, #page form .group textarea:focus{
    outline:none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

#page form .group label{
    color:#353535;
    font-size: 17px;
    font-weight:normal;
    position:absolute;
    pointer-events:none;
    left:15px;
    top: 5px;
    -o-transition:0.2s ease all;
    transition:0.2s ease all; 
    -moz-transition:0.2s ease all; 
    -webkit-transition:0.2s ease all;
}
#page form .group select ~ label{
    top: 4px;
    left: 20px;
}

#page form .group input:focus ~ label, #page form .group input.filled ~ label,
#page form .group textarea:focus ~ label, #page form .group textarea.filled ~ label{
    top: -13px;
    font-size:12px;
    color: #353535;
}
#page form .group select.filled ~ label{
    opacity: 0;
}
#page form .group .bar{
    position:relative;
    display:block;
    width:100%;
}
#page form .group .bar:before, #page form .group .bar:after{
    content:'';
    height:1px; 
    width:0;
    bottom:1px; 
    position:absolute;
    background: #688816; 
    -o-transition:0.2s ease all; 
    transition:0.2s ease all; 
    -moz-transition:0.2s ease all; 
    -webkit-transition:0.2s ease all;
}
#page form .group .bar:before{
    left:50%;
}
#page form .group .bar:after{
    right:50%; 
}

#page form .group input:focus ~ .bar:before, #page form .group input:focus ~ .bar:after,
#page form .group textarea:focus ~ .bar:before, #page form .group textarea:focus ~ .bar:after{
    width:50%;
}
#page form .group .form-control:not(.invalid):focus{
    border-color: #688816;
}
#page form .group .form-control.filled{
    border-color: #688816;
}
#page form .group .form-control.invalid{
    border-color: #c0392b;
}
#page form .group input.invalid ~ label{
    color: #353535;
}
#page form .group input.invalid ~ .bar:before, #page form .group input.invalid ~ .bar:after,
#page form .group input.filled:not(.invalid):invalid ~ .bar:before, #page form .group input.filled:not(.invalid):invalid ~ .bar:after{
    background: #c0392b;
}

#page form .group input.filled:not(.invalid):invalid{
    border-bottom: 1px solid #c0392b;
}
#page form .group input.filled:not(.invalid):invalid ~ label{
    color: #353535;
}

#page form b{
    color: #C0392B
}

#page form button{
    background: #FF7F32;
    border-radius: 0px;
    border:none;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    cursor: pointer;  
    color:#FFF;    
    padding:10px 25px 10px 22px;
    text-transform: uppercase;
    font-family: 'Avenir';
    font-size: 15px;
}

#page form button i {
	margin-right:7px;	
}

#page form b{
    position: absolute;
    top: 0;
    right: 0;
}

#page form .obligatoire {
    float:left;
    display: inline-block;
    margin-top:15px;
    color: #353535;
    font-family: 'Avenir';
    font-size: 18px;
}
#page form .obligatoire b {
    position:relative;  
}







#page form .obligatoire {
	float:left;
	display: inline-block;
	margin-top:15px;
}

#page form .obligatoire b {
	position:relative;	
}



/* ------- Zoom DW ------- */
#z_ombre { 
	background-color:#222; 
	filter:progid:DXImageTransform.Microsoft.Alpha(opacity:90); opacity:0.9; 
}
#z_image {
	border:10px solid #fff; 
	visibility:hidden; 
}
#z_titre { 
	height:10px; 
	color:#FFF; 
	background-color:#000;  
	filter:progid:DXImageTransform.Microsoft.Alpha(opacity:70); 
	opacity:0.7; 
}
#z_close { 
	visibility:hidden;
}

@media screen and (max-width: 1199px){
    #entete .qualibat{
        height: 70px;
        top: 105px;
        margin-right: -385px;
    }
}

@media screen and (max-width: 800px){
    #menu{
        font-size: 18px;
    }
}

@media screen and (max-width: 767px){
    #main{
        overflow-x: visible;
    }
    #entete{
        background: #FFF !important;
        height: auto;
        min-height: auto;
    }
    #entete #logo{
        height: 130px;
        display: flex;
        align-items: center;
        justify-content: start;
        padding-top: 0;
    }
    #entete .qualibat{
        top: 25px;
        right: 40px;
        margin-right: 0;
        
    }
    
    #menu{
        position: sticky;
        z-index: 100;
        top: 0;        
        bottom: auto;
        padding: 0;
        min-height: 50px;
        margin-bottom: 250px;
        text-align: left;
        background: rgba(50,145,61,1);
    }
    #menu .navbar-toggler{
        color: #FFF;
        outline: none;
        line-height: 40px;
        font-family: 'DIN';
        text-transform: uppercase;
        text-shadow: 0px 0px 3px  #000;
    }
    #menu #navbarNav{
        position: absolute;
        width: 100vw;
        left: 0px;
                
        background: rgba(50,145,61,1);
        background: -moz-linear-gradient(top, rgba(50,145,61,1) 0%, rgba(1,85,11,1) 100%);
        background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(50,145,61,1)), color-stop(100%, rgba(1,85,11,1)));
        background: -webkit-linear-gradient(top, rgba(50,145,61,1) 0%, rgba(1,85,11,1) 100%);
        background: -o-linear-gradient(top, rgba(50,145,61,1) 0%, rgba(1,85,11,1) 100%);
        background: -ms-linear-gradient(top, rgba(50,145,61,1) 0%, rgba(1,85,11,1) 100%);
        background: linear-gradient(to bottom, rgba(50,145,61,1) 0%, rgba(1,85,11,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#32913d', endColorstr='#01550b', GradientType=0 );
    }
    
    #menu ul{
        flex-direction: column;
        padding: 20px 0;
        width: 540px;
        margin: auto;
    }
    
    #pied:before{
        height: 285px;
    }
    #pied #haut_pied{
        background: #747474;
    }
}
@media screen and (max-width: 575px){
    #menu ul{
        width: 100%;
    }
}

@media screen and (max-width: 475px){
    #entete #logo{
        justify-content: center;
    }
    #entete .qualibat{
        display: none;
    }
}
