.roboto-thin {
    font-family: "Roboto", sans-serif;
    font-weight: 100;
    font-style: normal;
  }
  
  .roboto-thin-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 100;
    font-style: italic;
  }
  
  .roboto-light {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
  
  .roboto-light-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-style: italic;
  }
  
  .roboto-regular {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .roboto-regular-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: italic;
  }
  
  .roboto-medium {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  
  .roboto-medium-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-style: italic;
  }
  
  .roboto-bold {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  
  .roboto-bold-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: italic;
  }
  
  .roboto-black {
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: normal;
  }
  
  .roboto-black-italic {
    font-family: "Roboto", sans-serif;
    font-weight: 900;
    font-style: italic;
  }

/* Tailles & Polices */

.h10{
  font-size: 10px;
}

.h15{
  font-size: 15px;
}

.h20{
  font-size: 20px;
}

.h25{
  font-size: 25px;
}

.h30{
  font-size: 30px;
}

.h35{
  font-size: 35px;
}

.h40{
  font-size: 40px;
}

.h45{
  font-size: 45px;
}

.h50{
  font-size: 50px;
}

.h55{
  font-size: 55px;
}

.h60{
  font-size: 60px;
}

.h65{
  font-size: 65px;
}

.h70{
  font-size: 70px;
}

.h75{
  font-size: 75px;
}

.h80{
  font-size: 80px;
}

.h85{
  font-size: 85px;
}

.h90{
  font-size: 90px;
}

.h95{
  font-size: 95px;
}

.center{
  text-align: center;
}

/* colors */

#link {color: inherit;}

.BleuCarr{
  color: #211452;
}

.BleuABI{
  color: #0069B4;
}

.BleuGLS{
  color: #009FE3;
}

.RougeLR{
  color: #E53328;
}

.BleuLR{
  color: #0059A1;
}

.BleuTR{
  color: #211452;
}

.JauneG{
  color: #FBC518;
}

/* fonts */

.maj{
  text-transform: uppercase;
}

.center {
  text-align: center;
}

.blanc{
  color: white;
}

/* MarginIndex */

.centeretmargin{
  max-width: 1500px;
  margin: auto;
}

.fondcouleur .centeretmargin{
  max-width: 1000px;
}

/* Menu */

.menusticky{
  position: sticky;
  top: 0;
  margin-top: 0;
  display: flex;
  width: auto;
  height: 100px;
  background-color: white;
  box-shadow: 0px 7px 6px #00000029;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
  overflow: hidden;
  z-index: 1000;
}

.menusticky p{
  margin: auto;
}

.logomenu{
  flex: 1;
  display: flex;
  margin: auto;
  text-decoration: none;
  margin-left: 0;
}

.logomenu p{
  margin: auto;
  margin-left: 0;
}


.btnsmenu{
  flex: 1.4;
  display: flex;
  margin: auto;
}

.ancre{
  height: 0;
  font-size: 0;
  visibility: hidden;
  position: relative;
  top:-170px;
}

/*Menu Resp*/

.btncache{
  display: flex;
  margin: auto;
  margin-top: 0;
  list-style-type: none;
  flex:0.2;
  }

.btncache a#openbtn{
    margin: auto auto auto auto;
    margin-right: 0;
    text-decoration: none;
    }
    
.burgericon span{
  display: block;
  width: 35px;
  height: 5px;
  background-color: #E53328;
  margin: 10px 10px;
  border-radius: 10px;
  }

.menuresp {
  height: 100%;
  width: 100%;
  position: fixed;
  z-index:2000;
  top: 0;
  right: -100%;
  background-color: #E53328;
  transition: right 0.7s ease;
  display: flex;
  }

.menuresp a{
color: #FFFFFF;
text-decoration: none;
display:inline-flex;
transition: 0.5s;
font-weight: 700;
font-size: 20px;
}

.menuresp li.boitelogo{
display: flex;
}

.menuresp li.boitelogo a{
    margin: auto;
}

.menuresp li{
color: #FFFFFF;
text-align: center;
padding: 0.5em;
border-radius: 10px;
margin-top: 0.5em;
margin-left: auto;
margin-right: auto;
margin-bottom: auto;
}

.menuresp ul{
    display:block;
    list-style-type: none;
    padding: 0;
    margin:auto;
    }



.menuresp li.boitelogo:hover {
background: none;
}

.menuresp.active{
right: 0;
}

a.closeb{
color: #FFFFFF;
position: absolute;
top: 10px;
right: 8%;
width: 60px;
}

.closeb:hover{
background-color: none;
}

.boitelogo {
margin: auto auto auto auto;
flex:2;
max-height: 120px;
display: flex;
flex-flow: row;
}

.menuadh .boitelogo {
  flex: 2;
}

.boitelogo a{
color:inherit;
text-decoration:none;}

/* Footer */

.footer{
  background-color: #0059A1;
  border-radius: 20px 20px 0 0;
  width: auto;
  min-height: 200px;
  padding: 4em;
  display: flex;
  flex-flow: wrap;
}

.footerinfos{
  flex: 1.3;
  display: flex;
  flex-direction: column;
  margin: auto;
  text-align: center;
}

.footerliens{
  flex: 0.8;
  margin: auto;
  display: flex;
  flex-direction: column;
}

.footerliens a{
  text-decoration: none;
  color: white;
  margin: auto;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
  text-align: center;
}

.footerliens a:hover{
  font-weight: 500;
}

/* Page index */


body{
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin: 0px;
  z-index: 1;
  position:relative;
  font-family: 'Roboto', sans-serif;
  overflow-x: hidden;
}

.header{
  position: relative;
  width: auto;
  z-index: 2;
  padding-top: 5em;
  padding-bottom: 5em;
}

.header p{
  position: relative;
  z-index: 2;
}

.header a{
  z-index: 2;
}

.backgroundvideo{
  position: absolute;
  left: 0; bottom:0;
  width: 100%;
  height: 100%;
}

.backgroundvideo video{
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  z-index: 0;
}

.headerl1{
  flex-flow: column;
  display: flex;
  flex-flow: row;
}

.headerl11{
  flex:1;
}

.PR10pc{
  padding-right: 10%;
}

.headerl12{
  flex:1.2;
  display: flex;
}

.btnheader{
  padding: 0.5em;
  background-color: #0059A1;
  border-radius: 10px;
  margin: auto;
  margin-top: 0;
  color: white;
  min-width: 140px;
  text-align: center;
}

.menusticky .btnheader{
  margin: auto;
}

.menusticky .btncache{
  margin: auto;
}

.headerl12 .rouge{
  background-color: #E53328;
}

.btnsmenu .rouge{
  background-color: #E53328;
}

.btnheader:hover{
  background-color: #E53328;
}

.headerl12 .rouge:hover{
  background-color: #0059A1;
}

.btnsmenu .rouge:hover{
  background-color: #0059A1;
}

a.btnheader{
  text-decoration: none;
}

.headerl2{
  display: flex;
  flex-flow: row wrap;
  gap : 1em;
  padding-top: 2em;
}

.headerl2 p{
  margin: auto;
}

.headerl21{
  flex : 1;
  margin: auto;
  z-index: 3;
  position: relative;
  padding: 0.5em;
  padding-top: 1em;
  padding-bottom: 1em;
  display: flex;
  flex-flow: column;
  flex-basis: 30%;
}

.headerl21 p{
  margin: auto;
}

.headerl21:before{
  content: ' ';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: white;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 2;
  border-radius: 10px;
}

.headerl21:hover:before{
  background-color:#E53328;
  opacity: 1;
}

.headerl3{
  display: flex;
  flex-flow: row;
  margin-top: 5em;
}

.headerl3 p{
  margin: auto;
}


.barrelogos{
  background-color: white;
  width: auto;
  display: flex;
  flex-flow: row wrap;
  gap: 2em;
  height: auto;
  overflow: hidden;
  z-index: 10;
  margin: auto;
  padding-top: 2em;
  padding-bottom: 2em;
}

a.logoligne{
  text-decoration: none;
}

.logoligne{
  flex-basis:12%;
  margin:auto;
  display:flex;
}

a.logoligne img{
  max-width: 160px;
  height: auto;
  margin: auto;
}

a.logoligne img.imgLRR{
  max-width: 90px;
}

.fondcouleur{
  width: auto;
  padding-top: 2em;
  padding-bottom: 2em;
}

.divmedia{
  display: flex;
  flex-flow: row;
  padding-top: 1em;
}

.inverse .divmedia{
  flex-flow: row-reverse;
}

.transporteurs .divmedia{
  flex-direction: column;
  text-align: center;
}

img.imgtrans{
  margin: auto;
  max-width: 400px;
}

.transporteurs .mediatext{
  text-align: center;
}

.transporteurs .mediatext p{
  margin: auto;
}

.transporteurs .mediatext .mt2{
  margin-top: 1em;
}

.transporteurs .mediatext .mt3 a{
  margin: auto;
  margin-top: 1em;
}

.mediaimg{
  padding: 1em;
  padding-right: 5em;
  padding-left: 5em;
  margin: auto;
}

.mediaimg img{
  max-height: 400px;
  margin: auto;
  box-shadow: 3px 5px 20px;
  transition: 0.8s ease-in-out;
}

.noshadow .mediaimg img{
  box-shadow: none;
}

.inverse .mediaimg img{
  margin: auto;
  margin-left: 10%;
}

.mediaimg img:hover{
  transform:rotate(-8deg) scale(105%);
}

.inverse .mediaimg img:hover{
  transform:rotate(8deg) scale(105%);
}

.noturn .mediaimg img:hover{
  transform: none;
}

.mediatext{
  flex: 2;
  flex-flow: column;
  display: flex;
  margin: auto;
}

.mediatext p{
margin: auto;
margin-left: 0;
}

.inverse .mediatext p{
  margin-left: auto;
  margin-right: 0;
  text-align: right;
}

p.mt1{
  margin-bottom: 1em;
}

p.mt2{
  margin-bottom: 2em;
}

.mt3{
  margin-top: 1em;
  display: flex;
  flex-flow: row;
}

.inverse .mt3{
  margin: auto;
  margin-right: 0;
}

.mt3 a{
  padding: 0.5em;
  background-color: white;
  border-radius: 10px;
  text-decoration: none;
  text-align: center;
  margin-left: 0;
  margin-right: 3em;
}

.mt3 a.bleu{
  background-color: #0059A1;
}

.mt3 a.rouge{
  background-color:white;
  color: #E53328;
}

.mt3 a.rouge:hover{
  background-color: white;
  color:#0059A1;
}

.inverse .mt3 a{
  text-align: center;
  margin-right: 0;
  margin-left: 3em;
}

.mt3 a:hover{
  background-color: #E53328;
  color: white;
}

/*Page annonceurs*/

.annonceurs .headerl11{
  text-align: center;
}

.annonceurs .headerl11 p{
  margin: 0;
}

.annonceurs .headerl11 .h35{
  padding-left: 15%;
  padding-right: 15%;
}

.btnsann{
  display: flex;
  flex-flow: row wrap;
  gap: 1em;
  margin-top: 1.5em;
}

.btnannonceurs{
  padding: 0.8em;
  background-color: white;
  border-radius: 10px;
  margin: auto;
  color:#0059A1;
  text-align: center;
  text-decoration: none;
  min-width: 120px;
}

.btnannonceurs:hover{
  background-color: #0059A1;
  color: white;
}

.annonceurs p{
  margin: 0;
}

.cadreliste{
  flex-flow: column;
}

.cadremags{
  display: flex;
  flex-flow: row;
  width: auto;
  gap: 2em;
  margin-top: 2em;
  padding-left: 2em;
  padding-right: 2em;
}

.uncadre{
  flex: 1;
  flex-flow: column;
}

.uncadre p{
  text-align: center;
}

.uncadre p.h15{
  text-align: center;
}

.cadresites .cadremags{
  flex-flow: row wrap;
}

.cadresites .uncadre{
  flex:25%
}

.couv{
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 1/1.2;
}

.sites .couv{
  aspect-ratio: 2.5/1;
  width: 100px;
  margin: auto;
}

.dwspub{
  display: flex;
  flex-flow: row;
  gap: 10%;
  max-width: 60%;
  margin: auto;
  margin-top: 1em;
}

.dwpub{
  flex: 1;
  display: flex;
  flex-flow: column;
  margin-top: 2em;
}

.dwpub a{
  margin: auto;
}

p.t{
  margin: auto;
  margin-bottom: 0.7em;
  text-align: center;
}

.btncouv{
  padding: 0.8em;
background-color: white;
border-radius: 10px;
margin: auto;
color:#0059A1;
text-align: center;
text-decoration: none;
flex: 1;
max-width: 170px;
height: 100%;
}

.btncouv:hover{
color:#E53328;
}

.cadresites .btncouv{
  background-color: #E53328;
  color: #FFFFFF;
}

.cadresites .btncouv:hover{
  background-color: #0059A1;
}

.cadrechaine{
  display: flex;
  padding: 4em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.imgcadrechaine{
  flex: 1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 350px;
  aspect-ratio: 1/2.5;
  width: auto;
  margin: auto;
}

.textecadrechaine{
  flex: 2;
  margin: auto;
}

.chaine .dwspub{
  margin-top: 0.5em;
}

.chaine .dwpub{
  margin-top: 0;
}

.chaine .btncouv{
  max-width: 300px;
}

.cadrecontact{
  display: flex;
  margin: auto;
  flex-flow: row wrap;
  gap: 1em;
  margin-top: 3em;
  margin-bottom: 3em;
}

.ccontact{
  margin: auto;
  flex: 1;
  max-width: 300px;
  min-width: 200px;
  background-color: #F3F7FA;
  border-radius: 10px;
  padding: 10px;
}

.ccontact a{
  text-decoration: none;
}

.ccontact a:hover{
  text-decoration: underline;
}

/*Forms*/

.Form{
display: flex;
flex-flow: column;
}

.LForm{
  width: 100%;
  display: flex;
  gap: 1em;
  margin: auto;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.LForm .inputform{
  background-color: white;
  border-radius: 10px;
  border: #0059A1 solid 2px;
  padding: 0.3em;
  flex: 1;
}

.LForm textarea{
  min-height: 200px;
}

.Form input[type="submit"]{
  border: none;
  background-color: #0059A1;
  color: white;
  padding: 0.5em;
  text-transform: uppercase;
  margin: auto;
  border-radius: 10px;
  cursor: pointer;
  margin: auto;
  margin-top: 0.3em;
}

.Form input[type="submit"]:hover{
  background-color: #E53328;
}

.equipe .ccontact{
min-height: 120px;
display: flex;
flex-flow: column;
}

.equipe .ccontact p{
  margin: auto;
}

.equipe .cadrecontact{
  margin-top: 2em;
  margin-bottom: 2em;
}

@media screen and (max-width:1500px){

  /*Ajout marge à centeretmargin en dessous de max-width*/

  .centeretmargin {
  max-width: none;
  margin: auto;
  padding-right: 2em;
  padding-left: 2em;
}
.header{
  padding-top: 2em;
}

/*btnheader width*/

.btnheader{
  min-width: 90px;
}

/*Tailles polices*/

.h10{
  font-size: 7px;
}

.h15{
  font-size: 15px;
}

.h20{
  font-size: 17px;
}

.h25{
  font-size: 22px;
}

.h30{
  font-size: 27px;
}

.h35{
  font-size: 32px;
}

.h40{
  font-size: 37px;
}

.h45{
  font-size: 42px;
}

.h50{
  font-size: 47px;
}

.h55{
  font-size: 52px;
}

.h60{
  font-size: 57px;
}

.h65{
  font-size: 62px;
}

.h70{
  font-size: 67px;
}

.h75{
  font-size: 72px;
}

.h80{
  font-size: 77px;
}

.h85{
  font-size: 82px;
}

.h90{
  font-size: 87px;
}

.h95{
  font-size: 92px;
}

}

@media screen and (max-width:1100px){

  /*Retirer boutons contact et équipe du header*/

  .headerl1 .D1{
    display: none;
  }

}

@media screen and (max-width:1000px){

  /*Ajout marge à centeretmargin des fondcouleur en dessous de max-width*/

  .fondcouleur .centeretmargin {
  max-width: none;
  margin: auto;
  padding-right: 3em;
  padding-left: 3em;
  
}


.headerl1 .D2{
  display: none;
}

/*Tailles polices*/

.h10{
  font-size: 8px;
}

.h15{
  font-size: 15px;
}

.h20{
  font-size: 15px;
}

.logomenu .h20 {
  font-size: 17px;
}

.h25{
  font-size: 20px;
}

.h30{
  font-size: 25px;
}

.h35{
  font-size: 30px;
}

.h40{
  font-size: 35px;
}

.h45{
  font-size: 40px;
}

.h50{
  font-size: 45px;
}

.h55{
  font-size: 50px;
}

.h60{
  font-size: 55px;
}

.h65{
  font-size: 57px;
}

.h70{
  font-size: 58px;
}

.h75{
  font-size: 62px;
}

.h80{
  font-size: 63px;
}

.h85{
  font-size: 68px;
}

.h90{
  font-size: 70px;
}

.h95{
  font-size: 75px;
}

}

@media screen and (max-width:950px){
  .footer{
    flex-flow: column;
    padding: 2em;
  }

  .footerinfos{
    text-align: center;
  }

  .footerliens{
    margin-top: 2em;
  }
}


@media screen and (min-width:900px){
  /*Faire apparaître le btn du menu responsive*/
  .btncache{display: none;}
}

@media screen and (max-width:900px){
  /*disparition du bouton contact*/
  .D1{
    display: none;
  }

  .headerl1 .headerl12{
    display: none;
  }

  .headerl11{
    text-align: center;
  }

  .PR10pc{
    padding: 5em;
    padding-top: 0;
    padding-bottom: 0;
  }

  .cadrechaine{
    display: flex;
    flex-flow: column;
    padding: 2em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }

  .imgcadrechaine{
  aspect-ratio: 1/1.2;
  height: auto;
  width: 200px;
  }

  .textecadrechaine{
    text-align: center;
  }

}

@media screen and (max-width:750px){
  /*disparition du bouton equipe*/
  .D2{
    display: none;
  }

  .headerl21{
    flex-basis: 45%;
  }

  .cadremags{
    flex-wrap: wrap;
  }

  .uncadre{
    flex: 40%
}

  .uncadre p.h15{
    font-size: 13px;
  }
}

@media screen and (max-width:1000px){
.mediaimg{
  padding-left: 2em;
  padding-right: 2em;
}

.mediaimg img{
  max-height: 275px;
}

}

@media screen and (max-width:650px){
  /*disparition du bouton annonceurs*/
  .D3{
    display: none;
  }

  .logoligne{
    flex-basis:25%;
  }

  a.logoligne img{
    max-width: 100px;
  }

  a.logoligne img.imgLRR{
    max-width: 50px;
  }

  .menusticky{
    padding-left: 3%;
    padding-right: 3%;
  }
}

@media screen and (max-width:600px){
 
  /*Passage form en colonne*/
  .LForm{
    flex-flow: column;
  }
 
  /*disparition du bouton boutique*/
  .headerl12{
    display: none;
  }
  
  .h60{
  font-size: 50px;
}

  .h65{
    font-size: 52px;
  }
  
  .h70{
    font-size: 54px;
  }
  
  .h75{
    font-size: 56px;
  }
  
  .h80{
    font-size: 58px;
  }
  
  .h85{
    font-size: 60px;
  }
  
  .h90{
    font-size: 62px;
  }
  
  .h95{
    font-size: 64px;
  }
}

@media screen and (max-width:550px){

  .centeretmargin {
    padding-right: 0.5em;
    padding-left: 0.5em;
  }
  
  .divmedia{
    flex-flow: column;
  }

  .inverse .divmedia{
    flex-flow: column;
  }

  .divmedia .mediatext{
    text-align: center;
  }
  
  .inverse .divmedia .mediatext{
    text-align: center;
  }

  .mediatext p{
    margin: auto;
    margin-bottom: 1em;
  }

  .inverse .mediatext p{
    margin: auto;
    margin-bottom: 1em;
    text-align: center;
  }

  .mediaimg img{
    margin: auto;
  }

  .inverse .mediaimg img{
    margin: auto;
  }

  .mediaimg img:hover{
    transform:rotate(-3deg) scale(102%);
  }
  
  .inverse .mediaimg img:hover{
    transform:rotate(3deg) scale(102%);
  }

  .noturn .mediaimg img:hover{
    transform: none;
  }

  .inverse .mt3{
    margin: auto;
    flex-flow: column;
    gap: 1em;
  }

  .mt3{
    margin: auto;
    flex-flow: column;
    gap: 1em;
  }

  .mt3 a{
    margin: auto;
  }

  .inverse .mt3 a{
    margin: auto;
  }

.mediaimg{
  padding-left: 10%;
  padding-right: 10%;
}

  .mediaimg img{
    max-height: none;
    max-width: 100%;
  }

  img.imgtrans{
    margin: auto;
    max-width: 100%;
  }

/*Retrait du svg et égalisation espace avec ajout padding en balance*/

  svg polygon{
    display: none;
  }

  .divmedia{
    padding-bottom: 1em;
  }

}



@media screen and (max-width:430px){
  a.logoligne img{
    max-width: 80px;
  }

  a.logoligne img.imgLRR{
    max-width: 30px;
  }
}

@media screen and (max-width:450px){
  .h45{
    font-size: 37px;
  }
  
  .h50{
    font-size: 40px;
  }
  
    .h55{
      font-size: 42px ;
    }

    .h60{
    font-size: 44px;
    }
  
    .h65{
      font-size: 46px;
    }
    
    .h70{
      font-size: 48px;
    }
    
    .h75{
      font-size: 50px;
    }
    
    .h80{
      font-size: 52px;
    }
    
    .h85{
      font-size: 54px;
    }
    
    .h90{
      font-size: 56px;
    }
    
    .h95{
      font-size: 58px;
    }

    .header .h80{
      font-size: 35px;
    }

    .header .h65{
      font-size: 30px;
    }

    .menusticky .h50{
      font-size: 30px;
    }

    .menusticky .h35{
      font-size: 15px;
    }
}