/*
Theme Name: Bonbay
Version: 1.0
Theme URI: http://www.bonbay.fr/
Author: Bonbay
Author URI: http://www.bonbay.fr/
Text Domain:
*/

/*	Copyright: (c) 2013 Alexander "Alx" Agnarson
	License: GNU General Public License v3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html*/


/*RESET*/
/*---------------------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,b,u,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:flex}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}


/*  Base awesome
================================================== */
.fa { width: 1em; text-align: center; }


/*  Base formulaire
================================================== */
input, textarea, 
button, select, 
label { font-family: inherit; }
input,
textarea,
button,
select,
label { font-size: 1rem; }
input::-moz-focus-inner,
button::-moz-focus-inner{ border: 0; padding: 0; }
input[type="text"],
input[type="password"],
input[type="email"],
input[type="submit"],
input[type="tel"],
select,
textarea { margin: 0; border-radius: 0; width:100%;}
input,
textarea,
select,
button { 
    -moz-appearance: none; 
    -webkit-appearance: none;
    appearance: none;
    transition: all .2s ease; 
}
input[type="checkbox"]{ -moz-appearance: checkbox; -webkit-appearance: checkbox; appearance: checkbox; }
input[type="radio"]{ -moz-appearance: radio; -webkit-appearance: radio; appearance: radio; }
label{ }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    background: #fff;
    border: 1px solid #333;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: calc( 90% - 2px );
    outline: none;
    padding: 0.5rem 5%;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus { border-color: #666;  }
label .required { color: #8d001a; }
input[type="submit"],
button[type="submit"] {
    background: #8d001a;
    color: #fff;
    padding: .5rem 1rem;
    font-weight: 600;
    display: flex;
    border: none;
    cursor: pointer;
    font-size: 20px;
    justify-content: center;
    align-items: center;
}
input[type="submit"]:hover,
button[type="submit"]:hover { background: #000; }

/*WPCF7*/
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing{
    border: 1px solid red;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{ border-color: red; color:red; }
.wpcf7 form .wpcf7-response-output{ border: 1px solid grey; }

/*SWIPER*/
.swiper-slide{  }
.swiper-pagination{  }
.swiper-pagination-bullet{  }
.swiper-pagination-bullet-active{  }
.swiper-button-next, .swiper-button-prev{  }
.swiper-button-prev{  }
.swiper-button-next{  }



/** GRID ***/
.row{
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    flex-flow: row wrap;
}
.row.nowrap{ flex-flow: row nowrap; }
.row.flow-row{ flex-flow: row wrap; }

.middle{ align-items: center; }
.flex-end{ align-items: flex-end; }

@media (max-width: 767px){
      /*.row{ flex-flow: column wrap; }
      .row.nowrap{ flex-flow: column nowrap; }*/
}

/* 24 colonnes */
.spannomargin-1, .spannomargin-2, .spannomargin-3,
.spannomargin-4, .spannomargin-5, .spannomargin-6,
.spannomargin-7, .spannomargin-8, .spannomargin-9,
.spannomargin-10, .spannomargin-11, .spannomargin-12,
.spannomargin-13, .spannomargin-14, .spannomargin-15,
.spannomargin-16, .spannomargin-17, .spannomargin-18,
.spannomargin-19, .spannomargin-20, .spannomargin-21,
.spannomargin-22, .spannomargin-23, .spannomargin-24{ width: 100%; }

/*16 colonnes*/
.span-1, .span-2, .span-3, 
.span-4, .span-5, .span-6, 
.span-7, .span-8, .span-9, 
.span-10, .span-11, .span-12, 
.span-13, .span-14, .span-15, .span-16{ width: 100%; }



/* tablette paysage */
@media (min-width: 1024px){

    /*24 colonnes*/
    .spannomargin-1{ width: 4.16666667%; }
    .spannomargin-2{ width: 8.33333333%; }
    .spannomargin-3{ width: 12.5%; }
    .spannomargin-4{ width: 16.666666666667%; }
    .spannomargin-5{ width: 20%; }
    .spannomargin-6{ width: 25%; }
    .spannomargin-7{ width: 29.16666667%; }
    .spannomargin-8{ width: 33.333%; }
    .spannomargin-9{ width: 37.5%; }
    .spannomargin-10{ width: 41.66%; }
    .spannomargin-11{ width: 45.833333333333%; }
    .spannomargin-12{ width: 50%; }
    .spannomargin-13{ width: 54.166666666667%; }
    .spannomargin-14{ width: 58.3333333%; }
    .spannomargin-15{ width: 62.5%; }
    .spannomargin-16{ width: 66.666%; }
    .spannomargin-17{ width: 70.8266666%; }
    .spannomargin-18{ width: 75%; }
    .spannomargin-19{ width: 79.16%; }
    .spannomargin-20{ width: 83.32%; }
    .spannomargin-21{ width: 87.4866666%; }
    .spannomargin-22{ width: 91.6533333%; }
    .spannomargin-23{ width: 95.82%; }
    .spannomargin-24{ width: 100%; }
    .mille{ max-width: 960px; width: 100%; }

    /*16 colonnes*/
    .span-1{ width: 6.25%; }
    .span-2{ width: 12.5%; }
    .span-3{ width: 18.75%; }
    .span-4{ width: 25%; }
    .span-5{ width: 31.25%; }
    .span-6{ width: 37.5%; }
    .span-7{ width: 43.75%; }
    .span-8{ width: 50%; }
    .span-9{ width: 56.25%; }
    .span-10{ width: 62.25%; }
    .span-11{ width: 68.75%; }
    .span-12{ width: 75%; }
    .span-13{ width: 81.25%; }
    .span-14{ width: 87.5%; }
    .span-15{ width: 93.75%; }
    .span-16{ width: 100%; }

}
@media (min-width: 1280px){
    .mille{ max-width: 1080px; }
}
@media (min-width: 1480px){
    .mille{ max-width: 1440px; }
}

.nomobile{ display: none; }
@media (min-width: 1024px){ .nomobile{ display: flex; } }
.onlymobile{ display: flex; }
@media (min-width: 1024px){ .onlymobile{ display: none; } }

/*****************************************/

/*FONTS*/
    .thin{ font-weight: 100; }
    .light{ font-weight: 300; }
    .regular{ font-weight: 400; }
    .medium{ font-weight: 500; }
    .semibold{ font-weight: 600; }
    .bold{ font-weight: 700; }
    .ultrabold{ font-weight: 900; }


    .playfair{
        font-family: "Playfair Display", serif;
        font-optical-sizing: auto;
    }

    .roboto{
        font-family: "Roboto Condensed", sans-serif;
        font-optical-sizing: auto;
    }


/**/

img, iframe, video{ max-width: 100%; }
h1, h2, h3, h4, h5, h6{ }
h1{ font-size: 32px; }
h2{ font-size: 28px; }
h3{ font-size: 24px; }
h4{ font-size: 20px; }
.italique, i, em{ font-style: italic; }
.lowercase{ text-transform: lowercase; }
.uppercase{ text-transform: uppercase; }
.black, a.black{ color:#000; }
.white, a.white{ color: #fff; }
.grey, a.grey{ color: #959393; }
.red, a.red{ color:#ce3933; }

strong, b{ font-weight: 700; }
.align-left, .alignleft{ text-align: left; justify-content: flex-start; }
.align-right, .alignright{ text-align: right; justify-content: flex-end; }
.align-center, .aligncenter{ text-align: center; justify-content: center; }

img.alignleft, img.align-left{ float: left; margin: 0 1em 1em 0 }
img.alignright, img.align-right{ float: right; margin: 0 0 1em 1em }
img.aligncenter, img.align-center{ float: none; margin: 0 auto 1em auto }

.justify{ text-align: justify; }

.button{
    display: block;
    width: auto;
    text-decoration: underline;
    font-size: 16px;
    text-align: center;
    transition: ease-in-out all 0.1s;
    cursor: pointer;
    background: white;
    text-decoration: none;
}
.button:hover{
    background: black!important;
    text-decoration: none;
}

a{ color: #000; text-decoration: none; cursor: pointer; }
a:hover{ color: #959393; text-decoration: underline; }
p{ margin: 10px 0; }
article ul{ margin: 1em 0; }
article ul li{ list-style-type: disc; margin-left: 2em; }

.gallery {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-flow: row wrap;
}
.gallery-item{ margin: 0 1rem 1rem 0; }


.left{ float: left; }
.right{ float: right; }
.center{ margin: 0 auto; }

.relative{ position: relative; }
.absolute{ position: absolute; }

.error{ color: red; font-weight: bold; }

/*****/
/* base */

body{
    background: #fff;
    margin: 0;
    padding: 0;
    color:#000;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    font-size: 14px;
}
.conteneur{ max-width: 1920px; margin: 0 auto; }

header,  main, footer, .home_contenu{ width: 100%; }
.principal{ min-height: 100vh; }
.logo{ margin: 0 0 3rem -42px; z-index: 2; position: relative; }
h2{ font-size: 36px; line-height: 44px; margin: 0 0 3rem 0; letter-spacing: .075rem; }
h2 span{ font-style: normal; }
h1{ font-size: 18px; line-height: 30px; letter-spacing: .05rem; }
p{ line-height: 20px; font-size: 14px; margin: 0; letter-spacing: .025rem; }
h3{ font-size: 16px; letter-spacing: .025rem; margin: 4rem 0 1rem 0; }
h3 span{ font-size: 24px; letter-spacing: 0; }
.btn{ 
    font-size: 22px; 
    line-height: 60px;
    font-weight: 600; 
    border: 1px solid black;
    display: block;
    text-align: center;
    letter-spacing: .075rem;
    margin: 2rem 0 0 0;
    transition: ease-in-out all .2s;
}
.btn:hover{
    text-decoration: none;
    color:#ce3933;
    border-color: #ce3933;
    transition: ease-in-out all .2s;
}
.row.contacts{ align-items: flex-end; }
.email{ 
    font-size: 14px; 
    font-weight: 600; 
    letter-spacing: .05rem; 
    display: block;
    padding: 0 0 0 2.5rem;
    background: transparent url('images/fleche_33.png') no-repeat left center;
    line-height: 60px;
    margin-left: 1.5rem;
    transition: ease-in-out all .2s;
}
.email:hover{
    text-decoration: none;
    color:#ce3933;
    transition: ease-in-out all .2s;
}
h2::after{
    content: " ";
    display: block;
    background: transparent url('images/synoptique-prod-rouge1.png') no-repeat center;
    width: 117px;
    height: 116px;
    position: absolute;
    z-index: 2;
    right: 0;
    top: -90px;
}
.contacts::before{
    content: " ";
    display: block;
    background: transparent url('images/synoptique-prod-rouge2.png') no-repeat center;
    width: 236px;
    height: 237px;
    position: absolute;
    z-index: 2;
    left: -120px;
    top: -22px;
}

/**/
@media (min-width: 2px) and (max-width: 1023px){
    .conteneur{ width: 100%; }
    .principal{ min-height:auto; }
    img.logo{
        margin: 1.5rem auto 3rem auto;
        width: 70%;
    }
    h2::after{
        right: 10%;
        top: -12.5rem;
        background-size: 100%;
        width: 80px;
        height: 80px;
    }
    .principal .spannomargin-12{ text-align: center; }
    h2 {
        font-size: 28px;
        line-height: 34px;
    }
    .blocs .spannomargin-8{ width: 50%; text-align: left; }
    .blocs { width: 90%; margin-left: 10%; }
    h1{ font-size: 15px; }
    p{ font-size: 12px; line-height: 18px; }
    .btn{ width: max-content; padding: 0 2rem; margin: 1.5rem auto 1rem auto; }
    .contacts .spannomargin-8{ }
    .email{ width: max-content; margin: 0 auto 8rem auto; }
    .contacts::before{ 
        width: 130px; height: 137px; 
        left: 0; 
        background-size: 100%; 
        bottom: 1.75rem; 
        top: auto;
    }
    img.onlymobile{ width: 100%; }




}
/**/
@media (min-width: 768px) and (max-width: 1023px){
    img.logo{ width: auto; }
    h1{ font-size: 18px; }
    p { font-size: 14px; }
    h2 { font-size: 36px; line-height: 44px; }
    .blocs{ width: 70%; margin-left: 25%; }
    .principal .spannomargin-10{ background: black; text-align: center; }
    img.onlymobile{ width: auto; margin: 0 auto; }

}
/**/
@media (min-width: 1024px) and (max-width: 1279px) {
    h2{ font-size: 24px;  line-height: 30px; margin: 0 0 2rem 0; }
    h1{ font-size: 12px; line-height: 20px; }
    p{ line-height: 14px; font-size: 10px; }
    h3 span { font-size: 16px; }
    h3 { font-size: 12px; margin: 2rem 0 1rem 0; }
    .btn { font-size: 16px; line-height: 40px; margin: 1rem 0 0 0; }
    .email{ line-height: 40px; font-size: 10px; background-size: 1rem; padding: 0 0 0 1.5rem; }
    .contacts::before{ background-size: contain; width: 166px; height: 177px; top: -42px; }
    .logo { margin: 0 0 2rem -32px; width: 60%; }
    h2::after{ background-size: contain; width: 87px;  }





}
/**/
@media (min-width: 1280px) and (max-width: 1479px){
    h2{ font-size: 24px;  line-height: 30px; margin: 0 0 2rem 0; }
    h1{ font-size: 14px; line-height: 24px; }
    p{ line-height: 18px; font-size: 12px; }
    h3 span { font-size: 18px; }
    h3 { font-size: 14px; margin: 2rem 0 1rem 0; }
    .btn { font-size: 16px; line-height: 40px; margin: 1rem 0 0 0; }
    .email{ line-height: 40px; font-size: 12px; background-size: 1rem; padding: 0 0 0 1.5rem; }
    .contacts::before{ background-size: contain; width: 166px; height: 177px; top: -42px; }
    .logo { margin: 0 0 2rem -32px; width: 60%; }
    h2::after{ background-size: contain; width: 87px;  }


}
/**/
@media (min-width: 1480px) and (max-width: 1599px){

}
/**/
@media (min-width: 1600px) and (max-width: 1799px){

}
/**/
@media (min-width: 1800px){

}
/**/
@media (min-width: 1900px){

}
/**/