/*------------------------------------------------------*
  *-----------------------------------     CSS BODY     ----*
  *------------------------------------------------------*/


body {
 color: #000;
 font-family: Arial, Helvetica, sans-serif;
 font-size: 12px;
 margin: 0px;
 margin-bottom: 0px;
 border: 0;
 padding: 0;
}
html, body{
 /*overflow-x: hidden !important;*/
}

/*------------------------------------------------------*
  *-----------------------------------     CSS GABARIT PRINCIPAUX    ----*
  *------------------------------------------------------*/

#haut {
 position: relative;
 left: 0px;
 top: 0px;
 width: 100%;
 height: calc(100vh - 70px);
 background-repeat: no-repeat;
 background-position: bottom center;
 background-size: cover;
}

.main-title{
 color: #FFF;
 font-weight: 400;
 padding-left: 20px;
}
.main-title.invert{
 color: #000;
}

.menu {
 width: fit-content;
 background-color: #FFF;
}

#menu-flash {
 margin-left: 30px;
}

#centre {
 position: relative;
 left: 0px;
 top: 0px;
 padding: 0 15px;
 min-height: 10px;
 background-image: url(../elements/line.png);
 background-repeat: repeat-x;
 margin-left: 20px;
 margin-right: 20px;
}

#line {
 float: left;
 width: 100%;
 height: 6px;
 background-image: url(../elements/line-first.png);
 background-repeat: repeat-x;
}

#bas {
 clear: both;
 padding-top: 10px;
 width: calc(100% - 40px);
 font-size: 11px;
 margin-bottom: 20px;
 margin-left: 20px;
 margin-right: 20px;
}

/*------------------------------------------------------*
  *-----------------------------------     CSS MENU     ----*
  *------------------------------------------------------*/

.navbar-toggle {
 position: absolute;
 top: 10px;
 right: 10px;
 height: 80px;
 width: 80px;
 border: none;
 cursor: pointer;
 background: transparent !important;
}

.navbar-toggle .icon-bar {
 display: block;
 margin: auto;
 width: 50px;
 height: 3px;
 border-radius: 0;
 background-color: #000;
 transition: all 0.2s ease-in-out;
}

.navbar-toggle .icon-bar + .icon-bar {
 margin-top: 10px;
}
.navbar-toggle[aria-expanded="true"]{
 z-index: 2;
}
.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child {
 background-color: #000 !important;
}

.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(1) {
 width: 50px;
 -webkit-transform: translate(0, 3.75px) rotate(45deg);
 -ms-transform: translate(0, 3.75px) rotate(45deg);
 -o-transform: translate(0, 3.75px) rotate(45deg);
 transform: translate(0, 7px) rotate(45deg);
 background-color: #000;
}

.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(2) {
 display: none;
}

.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(3) {
 width: 50px;
 -webkit-transform: translate(0, -3.75px) rotate(-45deg);
 -ms-transform: translate(0, -3.75px) rotate(-45deg);
 -o-transform: translate(0, 0) rotate(-45deg);
 transform: translate(0, -6px) rotate(-45deg);
 background-color: #000;
}


/*------------------------------------------------------*
  *-----------------------------------     CSS SOUS MENU     ----*
  *------------------------------------------------------*/

.ssmenu {
 float: left;
 padding-top: 12px;
 width: 100%;
}

#newsletter {
 float: left;
 width: 240px;
 height: 50px;

 margin-left: 58px;
 margin-top: -6px;
}


.tri {
 text-decoration: none;
 font-size: 12px;
 font-family: verdana;
 font-weight: bold;
 color: #FFF;
 background-color: #000;
}

a.section {
 text-decoration: none;
 font-size: 12px;
 font-family: verdana;
 font-weight: bold;
 color: #000;
}



/*------------------------------------------------------*
  *-----------------------------------     CSS PAGE RANK   ----*
  *------------------------------------------------------*/


div.pagerank {
 clear: both;

 height: 30px;
 text-align: right;
 margin-bottom: 5px;
 padding-right: 38px;
 font-weight: bold;
 font-size: 20px;
}

a.lien_pagination img {
 border: 0;
}

img.left:hover {
 background-image: url(../elements/fleche-g-on.png);
}


img.right:hover {
 background-image: url(../elements/fleche-d-on.png);
}



/*------------------------------------------------------*
  *-----------------------------------     CSS LIEN ANCRE TOP      ----*
  *------------------------------------------------------*/

a.line-top {
 clear: both;
 display: block;
 width: 100%;
 height: 15px;
 background-image: url(../elements/line-top.png);
 background-repeat: repeat-x;
}
a.line-top:first-of-type {display: none}


a.line-top div.bord-gauche {
 float: left;
 height: 15px;
 width: 35px;
 background-image: url(../elements/line-top-gauche.png);
 background-repeat: no-repeat;
}

a.line-top div.fleche-haut {
 float: right;
 height: 15px;
 width: 39px;
 background-image: url(../elements/fleche-off.png);
 background-repeat: no-repeat;
}

a.line-top:hover div.fleche-haut {
 float: right;
 left: 15px;
 width: 39px;
 background-image: url(../elements/fleche-on.png);
 background-repeat: no-repeat;
}


/*------------------------------------------------------*
  *-----------------------------------     CSS FICHE   ----*
  *------------------------------------------------------*/

.fiche {
 float: left;
 width: 100%;
 margin-top: 20px;
 margin-bottom: 30px;
 max-width: 960px;
}

.image {
 float: left;
 width: 202px;
 margin-right: 20px;
 margin-top: 5px;
 overflow: hidden;
 background-image: url(../elements/fond.png);
}

.media {
 float: left;
 width: 320px;
 margin-right: 20px;
 margin-top: 5px;
 overflow: hidden;
 background-image: url(../elements/fond.png);
}

.texte {
 float: left;
 max-width: 500px;
}

.cadre-carousel {
 float: left;
 width: 320px;
 height: 240px;
 overflow: hidden;
}
.cadre-carousel .item{
 display: block;
    height: 240px;
    width: 320px;
    background-color: #FFF;
}
.cadre-carousel .item img {
    height: 100%;
     width:100%;
 object-fit: cover;
}

.lb-data .lb-number {
    display:  none !important;
}

.owl-prev, .owl-next{
 position: absolute;
 display: block;
 top: 105px !important;
 height: 30px;
 width: 30px;
 background-color: #FFF !important;
 line-height: 30px !important;
 overflow: hidden;
}

.owl-prev span, .owl-next span{
 font-size: 45px;
 position: relative;
 top:-4px;
}
.owl-prev{
 left: 0;
}
.owl-next{
 right: 0;
}
.texte h1 {
 margin: 0;
 font-size: 24px;
 font-weight: normal;
}

span.sstitre {
 font-weight: bold;
 font-size: 14px;
}

span.annee {
 font-weight: bold;
 font-size: 15px;
}

a.label {
 color: #FFF;
 background-color: #000;
 padding-left: 2px;
 padding-right: 2px;
}

a.label:hover {
 color: #000;
 background-color: #FFF;
}


div.description2 {
 font-size: 12px;
 padding-top: 20px;
 max-width: 500px;

}

.audioplayer {
 margin-top: 12px;
 height: 20px;
}

/*------------------------------------------------------*
  *-----------------------------------     CSS BAS   ----*
  *------------------------------------------------------*/

#bas a {
 color: #000;
 background-color: #FFF;
 padding-left: 2px;
 padding-right: 2px;
}

#bas a:hover {
 color: #FFF;
 background-color: #000;
}

/*------------------------------------------------------*
  *-----------------------------------     CSS CONTACT   ----*
  *------------------------------------------------------*/


a.erikm {
 display: block;
 float: left;
 color: #FFF;
 width: 150px;
 height: 150px;
 text-decoration: none;
 text-align: center;
 padding: 25px;
 font-size: 32px;
 margin-right: 60px;
 margin-bottom: 20px;
 background-image: url(../elements/bt-erik-off.png);
 background-repeat: no-repeat;
}

a.erikm:hover {
 background-image: url(../elements/bt-erik-on.png);
}

a.promoter {
 display: block;
 float: left;
 color: #FFF;
 background-image: url(../elements/bt-prom-off.png);
 background-repeat: no-repeat;
 width: 150px;
 height: 150px;
 text-decoration: none;
 text-align: center;
 padding: 25px;
 font-size: 32px;
 margin-right: 60px;
}

a.promoter:hover {
 background-image: url(../elements/bt-prom-on.png);
}

/*------------------------------------------------------*
  *-----------------------------------     CSS SPIP   ----*
  *------------------------------------------------------*/

.spip_in,
.spip_out {
 color: #000;
 background-color: #FFF;
 padding-left: 2px;
 padding-right: 2px;
}

.spip_in:hover,
.spip_out:hover {
 color: #FFF;
 background-color: #000;
}

hr.spip {
 color: #000;
 background-color: #000;
 height: 1px;
 border: 0;
 margin-bottom: 15px;
 margin-top: 15px;
}

/*------------------------------------------------------*
  *-----------------------------------     CSS HACK     ----*
  *------------------------------------------------------*/

*,::after,::before {
    box-sizing: border-box
}
a.hide {
 color: #FFF;
 background-color: #FFF;
 font-weight: bold;
 text-decoration: none;
}

a.hide:hover {
 background-color: #000;
 padding-left: 2px;
 padding-right: 2px;
}


a {
 outline: none;
}

:focus {
 -moz-outline-style: none;
}



.navbar,
.menuphone-links {
 display: none;
}

.menuphone-links a {
 font-family: verdana;
 display: block;
 clear: both;
 height: 20px;
 padding-top: 4px;
 text-decoration: none;
 text-align: center;
 width: 100%;
 text-transform: uppercase;
 font-size: 13px;
 font-weight: bold;
 color: #FFF;
 background-color: #F00;
 margin-bottom: 1px;
}

.txt-left {
 width: 450px;
 float: left;
 padding-right: 60px;
}

.txt-right {
 width: 450px;
 float: left
}




/*------------------------------------------------------*
  *-----------------------------------     MENU BURGER always    ----*
  *------------------------------------------------------*/



 body.active{
  overflow: hidden !important;
 }
.menu {
  display: none;
 }

 .navbar-collapse {
  display: none
 }

 body.active #haut{
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  overflow-y: auto;
  height: 100%;
 }
 

 .navbar-collapse.show {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #FFF;
  padding-top:100px;
 }
 
 .navbar-collapse.show a{
  display: block;
  width:100%;
  padding:30px;
  font-size:18px;
  color:#FFF;
  text-decoration:none;
  transition: all 0.3s ease-out;
 }
 .navbar-collapse.show a:hover, .navbar-collapse.show a:focus{
  opacity: 0.8;
 }


 .navbar {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
 }

 .logo {
  display: block;
  font-size: 32px;
  text-decoration: none;
  color: #000;
  padding: 30px;
  width: fit-content;
 }

 .navbar-top{
  background-color: #FFF;
}

 
 body.active .navbar-top{
    position: relative;
    z-index: 3;
}

 
 .logo.active{
  position: relative;
  z-index: 2;
 }
 
 .menu-launcher {
  color: #FFFFFF;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
 }


 
#premier,
 #second,
 #troisieme,
 #quatrieme,
 #cinquieme {
  padding-top: 30px;
 }

/*------------------------------------------------------*
  *-----------------------------------     MEDIA QUERIES    ----*
  *------------------------------------------------------*/


/* Tablet Landscape */
@media screen and (max-width: 1035px) {
 

 
 div#newsletter {
  margin-top: 7px;
  margin-bottom: 7px;
  margin-right: 0;
  margin-left: 0;
  width: auto;
  float: right;
 }
 


 div#newsletter iframe {
  display: none
 }

 .txt-right,
 .txt-left {
  width: 100%;
  padding: 0;
 }


 div.pagerank {
  width: 100%;
  float: right;
  padding-right: 0px;
  margin: 10px 0px 0px 0px;
  font-size: 14px;
 }

 .texte {
  width: 50%;
 }



}

/* Tablet Portrait */
@media screen and (max-width: 768px) {

 #centre{
  margin: 0;
 }
 body {
  margin: 0px;
  overflow-x: hidden;
 }

 .texte {
  width: 100%;
 }

 .texte h1 {
  margin-top: 6px;
 }

 /*#premier,
 #second,
 #troisieme,
 #quatrieme,
 #cinquieme {
  margin-left: 5%;
 }

 .fiche,
 .ssmenu,
 a.line-top,
 #bas {
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
 }


 #line {
  margin-left: 5%;

 }*/

 .description1 * {
  font-size: 12px;

 }

 .fiche {
  font-size: 12px;
 }

}

/* All Mobile Sizes (devices and browser) */
@media screen and (max-width: 640px) {

 body {
  margin: 0px;
 }



 .texte {
  width: 90%;
  min-width: 288px;
 }

 .description1 * {
  font-size: 13px;

 }

 .fiche {
  font-size: 13px;
 }


}


/* minimal SIZE */
@media screen and (max-width: 352px) {



 .fiche,
 .ssmenu,
 a.line-top,
 #bas {
  width: 82%;
  margin-left: 2%;
  margin-right: 2%;
 }


}