/*** MISE EN FORME PAR DEFAUT ***/
*{
   margin:0; 
   padding:0; 
   box-sizing:border-box;   
   z-index:1;
}
body{
   font-family: 'Open Sans', sans-serif;
   font-size:18px;
   font-weight:300;
   line-height: 1.42857143;
   color:#222;
   background-color:#fff;
}
body.site{background-color:#333;}

img{border:none; max-width:100%; height:auto;}

a{color:inherit; text-decoration:none;}
a:hover{text-decoration:none;}

p{margin:0; padding-bottom:20px;}

hr{display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:5px 0;}

/*** COORDONNEES ***/
#coordonnees{
   background-color:#333;
}
#coordonnees ul{ 
   float:right;
   list-style-type:none;
}
#coordonnees li{
   display: block;
   float: left;
   height: 40px;	
   line-height: 40px;
   font-size:14px;   
   font-weight:300;
   color:#fff;
}
#coordonnees a:hover{
   text-decoration:underline;
}
#coordonnees li .fa{
   display:block;
   float:left;
   height: 40px;	
   line-height: 40px;
   font-size:15px;
   font-weight:normal;
   color:#fff;
   padding:0 8px 0 15px;
}
@media (max-width:991px){
   #coordonnees .row{
      width:100%;
      padding-left:10px;
      padding-right:10px;
   }
}

/*** HEADER ***/
header{
   background-color:#fff; 
   z-index:9999;
}
header #logo{
   float:left;
}
header nav{
   float:right;
}
header #logo a,
header #logo img{
   display:block;
   margin:0 auto;
}
@media (max-width:991px){
   header .row{
      width:100%;
      padding-left:10px;
      padding-right:10px;
   }
}

/*** MENU HORIZONTAL ***/
header nav ul{
   float:right;
   list-style-type:none;
   margin-right:-15px; /*Pour compenser le padding du dernier boutton */
}
header nav ul li{
   position:relative;
   float:left;   
   padding:30px 0;
   margin-left:10px;
   z-index:9999;
}
header nav ul li a{
   display:block;
   padding:10px 15px;
   font-size:16px;
   font-weight:300;
   color:#222;
   z-index:9999;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
}
header nav ul li a:hover,
header nav ul li a.current{
   color:#fff;
}

/*** SOUS MENU HORIZONTAL ***/
header nav ul li.dropdown-wrap .dropdown-button:after{
   content:"\f107";  
   font-family: FontAwesome;
   margin-left:6px;
}
header nav ul li.dropdown-wrap:hover,
header nav ul li.dropdown-wrap:hover .dropdown-content{
   display: block;
   z-index:9999;
}
header nav ul li ul.dropdown-content {
   display: none;
   position: absolute;
   margin-top:30px;
   min-width:220px;
   z-index:9999;   
}
header nav ul li ul.dropdown-content li{
   float:none;   
   margin:0;   
   padding:0 15px;
   z-index:9999;
}
header nav ul li ul.dropdown-content li a {
   display:block;
   margin:0;
   padding:15px 10px;
   font-size:14px;
   color:#fff;
   z-index:9999;
   border-bottom:1px dotted #fff;
}
header nav ul li ul.dropdown-content li:last-child a{
   border-bottom:0;
}
header nav ul li ul.dropdown-content li:hover,
header nav ul li ul.dropdown-content li:hover a{
   background-image:url("../images/blanc-transparent.png");
}
header nav ul li.dropdown-wrap:hover .dropdown-button {
   color:#fff;
}

/*** MENU HORIZONTAL FIXE ***/
header.is_stuck{
   position: fixed;
   width: 100%;
   left: 0;
   top: 0;
   border-top: 0; 
   -webkit-box-shadow: 0px 5px 10px 0px rgba(50, 50, 50, 0.75);
   -moz-box-shadow:    0px 5px 10px 0px rgba(50, 50, 50, 0.75);
   box-shadow:         0px 5px 10px 0px rgba(50, 50, 50, 0.75);
   z-index:9999;
}
header.is_stuck #logo img{
   display:block; 
   max-height:64px;
}
header.is_stuck nav ul li{
   padding:10px 0;
}

/*** HEADER RESPONSIVE ADAPTATIONS ***/
@media (max-width:950px){ /* Menu passe sous le logo  */
   header.is_stuck{
      position:relative !important; /* Desactivation du menu fixe */
   }
   header.is_stuck #logo img{
      max-height:none;
   }
   header #logo,
   header nav{
      width:100%;
   }
   header #logo table{
      margin:0 auto;
   }
   header nav ul{
      float:left;
   }
   header nav ul li{
      padding:0 0 15px 0;
   }
}

/* MENU MOBILE */
header #menu-mobile,
header #menu-mobile .slicknav_menu{
   display:none;
}
header #menu-mobile .slicknav_menu{
   padding:0 0 15px 0;
}

/* MENU MOBILE*/
@media (max-width:685px){ /*Affichage du menu Mobile - à changer si le menu est trop long */	
   header nav{
      display:none;
   }
   header #menu-mobile,
   header #menu-mobile .slicknav_menu{
      display:block;
   }
   header #menu-mobile .slicknav_menu {
      background-color:#fff;
   }
   header #menu-mobile .slicknav_menu a{
      color:#222;
   }
   header #menu-mobile .slicknav_menu ul li{
      text-align:left;
      border-bottom:1px dotted #ccc;
      font-size:14px;
      font-weight:300;
      padding:8px;      
   }
   header #menu-mobile .slicknav_menu ul li:last-child{
      border-bottom:none;
   }
   header #menu-mobile .slicknav_menu ul li:hover{
      background-color:#f7f7f7;
   }
   header #menu-mobile .slicknav_menu ul li a,
   header #menu-mobile .slicknav_menu ul li a{
      background:transparent;
      /*background-image: url("../images/submenu.png");
      background-position: right center;
      background-repeat: no-repeat;*/
   }
   .slicknav_nav .slicknav_arrow{
      float:right;
   }
}

/** TITRE PAGE **/
#titre-page-section{
   padding:100px 10px;
   background:#ffffff url(../../images/header-top-menuiserie.jpg) no-repeat center; 
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   -ms-filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/header-top-menuiserie.jpg',sizingMethod='scale')";
   background-size: cover;
}
#titre-page-section .accroche{
   font-size:25px;
   font-weight:300;
   color:#fff;
}
/*
@media (max-width:690px){
   #titre-page-section{
      padding:150px 0;
   }
}
*/

/** DEVIS **/
#devis-section{
   background:#ffffff url(../images/bg-devis.jpg) no-repeat center; 
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   -ms-filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/bg-devis.jpg',sizingMethod='scale')";
   background-size: cover;
}
#devis-section .row{
   background:transparent url(../images/noir-transparent.png) repeat;
   padding:30px;
   color:#fff;
}

/** LIVRE D'OR **/
#livredor-section{
   background:#ffffff url(../images/temoignages.jpg) no-repeat center; 
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   -ms-filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/temoignages.jpg',sizingMethod='scale')";
   background-size: cover;
}
#livredor-section .fa-star{
   font-size:13px;
}
#livredor-section .fa-star.jaune{
   color:#fec001;
}
#livredor-section .fa-star.gris{
   color:#cccccc;
}
#livredor-pages{
   padding:10px 0;
}
#livredor-pages a{
   padding:0 5px;
   cursor:pointer;
}
#livredor-pages a:hover{
   background-color:#ddd;
   color:#000;
}
#livredor-form label{
   display:block;
   font-size:13px;
   font-weight:600;
   color:#fff;
   padding-top:15px;
   padding-bottom:5px;
   text-transform:uppercase;
}
#livredor-form input[type="text"],
#livredor-form input[type="email"],
#livredor-form textarea,
#livredor-form select
{
   width:100%;
   padding:8px 5px;
   color:#222;
   font-size:15px;
}
#livredor-section textarea{
   height:200px;
}
#livredor-section #com_msg_all .success,
#livredor-section #com_msg_all .error{
   padding:8px 20px;
}

/** CONTACT **/
#contact-section .champ{
   padding:0 10px 15px 0;
}
#contact-section label{
   display:block;
   font-size:13px;
   font-weight:600;
   padding-bottom:5px;
   text-transform:uppercase;
}
#contact-section input[type="text"],
#contact-section input[type="email"],
#contact-section textarea{
   width:100%;
   padding:8px 5px;
   border:1px solid #c0c0c0;
   font-size:15px;
}
#contact-section textarea{
   height:200px;
}

/** GOOGLE MAP **/
#cartemap{
   padding-left:30px;
}
@media(max-width:991px){
   #cartemap{
      padding-left:0;
      padding-top:30px;
      margin-top:30px;
      border-top:1px dotted #ccc;
   }
}
#map{
   width:100%;
   height:350px;
   margin-top:30px;
}

/* FOOTER */
footer .reseau-sociaux{
   text-align:right;
}
footer .reseau-sociaux span{
   display:inline-block;
   height:30px;	
   vertical-align:middle;
   font-size:20px;
   line-height:30px;
   font-weight:bold;
   color:#666;
}
footer .social-icon {
   display:inline-block;
   vertical-align:middle;
   width: 30px;
   height: 30px;
   font-size: 24px;
   line-height: 30px !important;
   color: #555;
   text-align:center;
   text-shadow: none;
   border-radius: 3px;
   overflow: hidden;
   background-color: #444;
   color: #FFF !important;
   border-color: transparent;
}
footer .social-icon i {
   display: block;
   position: relative;
   width: 30px;
   height: 30px;
   text-align:center;
   font-size: 24px;
   line-height: 30px !important;
}
body:not(.device-touch) footer .social-icon i {
   -webkit-transition: all .3s ease;
   -o-transition: all .3s ease;
   transition: all .3s ease;
}
footer .social-icon i:last-child { color: #FFF !important; }
footer .social-icon:hover i:first-child { margin-top: -30px; }
footer .social-icon:hover {
   background-color:#666;
}

/*** GOTOTOP BOUTON ***/
#gotoTop {
   display: none;
   z-index: 999;
   position: fixed;
   width: 40px;
   height: 40px;
   background-color: #333;
   background-color: rgba(0,0,0,0.3);
   font-size: 20px;
   line-height: 36px;
   text-align: center;
   color: #FFF;
   top: auto;
   left: auto;
   right: 30px;
   bottom: 50px;
   cursor: pointer;
   border-radius: 2px;
}
body:not(.device-touch) #gotoTop {
   transition: background-color .2s linear;
   -webkit-transition: background-color .2s linear;
   -o-transition: background-color .2s linear;
}
.stretched #gotoTop { bottom: 30px; }
#gotoTop:hover { background-color: #CCCCCC; }


/* Les titres */
/* Voir fichier css dans repertoire /polices*/
.titre-large span,
.titre-medium span,
.titre-small span{
   display:block;
   height:4px;
   width:150px;
   margin:0 auto;
}

/* Boutons */
.button-large{
   display:inline-block;
   font-size:20px;
   font-weight:300;
   padding:18px 25px;
   border:0;
}
.button-medium{
   display:inline-block;
   font-size:18px;
   font-weight:300;
   padding:15px 20px;
   border:0;
}
.button-large:hover,
.button-medium:hover{
   background-image:url("../images/blanc-transparent.png");
}

/* Textes */
.txt-normal{
   font-size:18px;
}
.txt-medium{
   font-size:15px;
}
.txt-small{
   font-size:13px;
}
.txt-blanc{
   color:#fff;
}
.txt-noir{
   color:#222;
}
.txt-gris{
   color:#666;
}
.italic{
   font-style:italic;
}
.souligne{
   text-decoration:underline;
}
.gras{
   font-weight:600;
}
.majuscule{
   text-transform:uppercase;
}

/* Alignements */
.aleft{
   text-align:left;
}
.acenter{
   text-align:center;
}
.aright{
   text-align:right;
}
.ajustify{
   text-align:justify;
}
.fleft{
  float:left;
}
.fright{
  float:right;
}
.bcenter{
   display:block;
   margin:0 auto;
}

/* Paddings  */
.section-pad{
   padding:60px 0;
}
.no-padding{
   padding:0;
}
.pad-top-10{
   padding-top:10px;
}
.pad-bottom-10{
   padding-bottom:10px;
}
.pad-left-10{
   padding-left:10px;
}
.pad-right-10{
   padding-right:10px;
}
.pad-all-10{
   padding:10px;
}

/* Margins */
.no-margin{
   margin:0;
}
.mar-top-10{
   margin-top:10px;
}
.mar-bottom-10{
   margin-bottom:10px;
}
.mar-left-10{
   margin-left:10px;
}
.mar-right-10{
   margin-right:10px;
}
.mar-all-10{
   margin:10px;
}

/* Widths */
.full-width{
   width:100%;
   height:auto;
}
.max-width-800{
   max-width:800px;
}
.max-width-900{
   max-width:900px;
}

/* Background */
.bg-blanc{
   background-color:#fff;
}
.bg-blanc-transparent{
   background-image:url("../images/blanc-transparent.png");
}
.bg-gris{
   background-color:#f4f4f4
}
.bg-noir{
   background-color:#333;
}

@media (min-width:992px){
   .bg-fixed{
      background-attachment: fixed !important;
   }
}

/* Masonry */
.masonry-grid-sizer,
.masonry-grid-item{
  width:33.33333333%;
}
.masonry-grid-item img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:991px){   
   .masonry-grid-sizer,
   .masonry-grid-item {
     width: 50%;
   }
}
@media(max-width:600px){   
   .masonry-grid-sizer,
   .masonry-grid-item {
     width: 100%;
   }
}

/* Success et Error */
.has-error input,
.has-error textarea,
input:invalid{
   border:1px solid #cc0000;
   box-shadow: none;
}
.help-block.form-error{
   font-size:13px;
   color:#cc0000;
}
p.error{
   color:#990000;
   font-size:15px;
   background-color:#ffbaba;
   border:1px solid #990000;
   padding:10px;
   margin:0;
}
p.success{   
   color:#537d17;
   font-size:15px;
   background-color:#dff2bf;
   border:1px solid #669933;
   padding:10px;
   margin:0;
}


/* Divers */
.block{
   display:block;
}
.list-style-none{
   list-style-type:none;
}
