/**
 * @file
 * Modules styles
 *
 * Modules are reusables CSS objects (components).
 * They can be utilized 
 */






/**
 * Paragraph File
 */
.file__list{
  margin:0;
  padding:0;
  display: flex;
  flex-wrap: wrap;
}
.file__item{
  list-style:none;
  width:100%;
  align-self: stretch;
  border:1px solid #dddddd;
  position: relative;
  padding-left:45px;
  margin:1em 0;
}
.file__item:before{
  content:'';
  display: block;
  width:45px;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  background-image:url('../images/file-icon.svg');
  background-size:30px;
  background-position: center;
  background-repeat: no-repeat;
  border-right:1px solid #dddddd;
}
.file__item:hover{
  border-color:#fdc533;
}
.file__item:hover:before{
  border-color:#fdc533;
}
@media screen and (min-width: 480px){
  .file__item{
    width:calc(50% - 0.5em);
  }
  .file__item:nth-child(2n+1){
    margin-right:.5em;
  }
  .file__item:nth-child(2n+2){
    margin-left:.5em;
  }
}
@media screen and (min-width: 768px){
  .file__item{
    width:calc(33.333% - 1em);
  }
  .file__item:nth-child(2n+1), .file__item:nth-child(2n+2){
    margin-right:0;
    margin-left:0;
  }
  .file__item:nth-child(1n+1){
    margin-right:1.5rem;
  }
  .file__item:nth-child(3n+3){
    margin-right:0;
  }
}
@media screen and (min-width: 1024px){
  .file__item{
    width:calc(25% - 1.125rem);
  }
  .file__item:nth-child(3n+3){
    margin-right:0;
    margin-left:0;
  }
  .file__item:nth-child(1n+1){
    margin-right:1.5rem;
  }
  .file__item:nth-child(4n+4){
    margin-right:0;
  }
}
.file-item__link{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}
.file-item__title{
  padding:0.5em 0.85em;
  display: block;
}







/**
 * Main slider
 */
.main-slider__list{
  margin:0;
  padding:0;
  position: relative;
}
.main-slider__list .main-slider__item{
  list-style: none;
  background-color:#167394;
}
.main-slider__list:after{
  content:'';
  display: block;
  width:55px;
  height:35px;
  background-size:cover;
  background-position: center;
  background-image:url('../images/icon-velo.svg');
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0.15em;
  right: 1em;
  z-index:5;
}
.main-slider__image, .main-slider__content{
  width:100%;
}
.main-slider__image{
  align-self: center;
}
.main-slider__image img{
}
.main-slider__content{
  font-family: 'Georgia';
  font-size:1em;
  color:#ffffff;
  padding:1.8rem 1rem;
  position: relative;
}
.main-slider__content p{
  margin:0 0 1em;
}
.main-slider__content:before{
  content:'';
  display: block;
  width:100%;
  height:5em;
  position: absolute;
  top:-5em;
  left:0;
  background: rgb(255,255,255);
  background: -moz-linear-gradient(bottom,  rgba(22,115,148,0) 0%, rgba(22,115,148,1) 90%);
  background: -webkit-linear-gradient(bottom,  rgba(22,115,148,0) 0%,rgba(22,115,148,1) 90%);
  background: linear-gradient(to bottom,  rgba(22,115,148,0) 0%,rgba(22,115,148,1) 90%);
}
.main-slider__content:after{
  content:'';
  display: block;
  width:70px;
  height:45px;
  background-size:cover;
  background-position: center;
  background-image:url('../images/icon-papillon.svg');
  background-repeat: no-repeat;
  position: absolute;
  top:-2em;
  left:1em;
}
.main-slider__list .slick-arrow{
  background-color:transparent;
  width:30px;
  height:30px;
  background-size:25px;
  background-position: center;
  border:none;
  overflow: hidden;
  text-indent:-999em;
  background-repeat: no-repeat;
  position: absolute;
  top: 25%;
  z-index:5;
}
.main-slider__list .slick-prev{
  left:0.25em;
  background-image:url('../images/main-slider-arrow-left.svg');
}
.main-slider__list .slick-next{
  right: 0.25em;
  background-image:url('../images/main-slider-arrow-right.svg');
}

@media screen and (min-width: 600px){
  .main-slider__content:after{
    top:0.5em;
    left:-3em;
  }
  .main-slider__content:before{
    width:12em;
    height:100%;
    left:-12em;
    top:0em;
    background: -moz-linear-gradient(left,  rgba(22,115,148,0) 0%, rgba(22,115,148,1) 90%);
    background: -webkit-linear-gradient(left,  rgba(22,115,148,0) 0%,rgba(22,115,148,1) 90%);
    background: linear-gradient(to right,  rgba(22,115,148,0) 0%,rgba(22,115,148,1) 90%);
  }
  .main-slider__list .slick-arrow{
    top: 50%;
    transform:translateY(-50%);
  }
  .main-slider__list .main-slider__item{
    display: flex;
    align-items: stretch;
  }
  .main-slider__image, .main-slider__content{
    width:50%;
  }
}
@media screen and (min-width: 900px){
  .main-slider__image img{
    position: static;
  }
}
@media screen and (min-width: 1000px){
  .main-slider__content{
    font-size:1.15em;
    padding:1.8rem;
  }
}
@media screen and (min-width: 1230px){
  .main-slider__content{
    font-size:1.375em;
    padding:2.8rem;
  }
}
@media screen and (min-width: 1330px){
  .main-slider__list:after{
    width:115px;
    height:80px;
    right: -2em;
  }
  .main-slider__list .slick-prev{
    left:-3em;
  }
  .main-slider__list .slick-next{
    right: -3em;
  }
}


/**
 * Illustrated block
 */
.illustrated-block__image, .illustrated-block__content{
  width:100%;
}
.illustrated-block__image{
  text-align: center;
}
.illustrated-block__image img{
  display: inline-block;
}
@media screen and (min-width: 768px){
  .illustrated-block{
    display: flex;
    justify-content: space-between;
  }
  .illustrated-block__image, .illustrated-block__content{
    width:48.78%;
  }
  .illustrated-block--position-image-droite .illustrated-block__content, .illustrated-block--position-image-gauche .illustrated-block__image{
    order:1;
  }
  .illustrated-block--position-image-droite .illustrated-block__image, .illustrated-block--position-image-gauche .illustrated-block__content{
    order:2;
  }
}

.illustrated-block__image .slick-dots{
  margin:0;
  padding:0;
}
.illustrated-block__image .slick-dots li{
  display: inline-block;
  vertical-align: middle;
  list-style: none;
  width:8px;
  height:8px;
  overflow:hidden;
  background-color:#dddddd;
  border-radius:50%;
  margin:0 0.25em;
}
.illustrated-block__image .slick-dots .slick-active, .illustrated-block__image .slick-dots li:hover{
  background-color:#167394;
}
.illustrated-block__image .slick-dots button{
  width:8px;
  height:8px;
  background-color:transparent;
  overflow: hidden;
  border:none;
  text-indent: -999em;
  display: inline-block;
}



/**
 * Push Actu
 */



.push-actualites__list{
  margin:0;
  padding:0;
}
.push-actualites__item{
  width:100%;
  margin:2em 0;
  list-style: none;
}
.push-actualites__inner{
  display: flex;
  align-items: flex-start;
}
.push-actualites__image{
  border-radius:50%;
  overflow: hidden;
  width:80px;
}
.push-actualites__infos{
  padding:0.5rem 0 0 0.5rem;
  width:calc(100% - 80px);
}
.push-actualites__title span{
  font-family: 'Georgia', serif;
  font-size:1.25em;
  color:#333333;
}
.push-actualites__date span{
  font-size:0.875em;
}
.push-actualites__title a:hover span{
  color:#167394;
}
@media screen and (min-width: 400px){
  .push-actualites__image{
    width:100px;
  }
  .push-actualites__infos{
    padding:1rem 0 0 1rem;
    width:calc(100% - 100px);
  }
}
@media screen and (min-width: 700px){
  .push-actualites__list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .push-actualites__item{
    width:48.12%;
  }
}


/**
 * Homepage block
 */
.homepage__actualites{
  width:100%;
}
.homepage__actualites .block-title{
  display: block;
  margin:0;
  font-family: 'Georgia', serif;
  color:#ffffff;
  font-size:2.25em;
  font-weight: 400;
  background-color:#fdc533;
  padding:0 0 0 5.5rem;
  position: relative;
}
.homepage__actualites .block-title:before{
  content:'';
  display: block;
  position: absolute;
  left: -10px;
  top: -5px;
  height:60px;
  width:75px;
  background-image:url('../images/icon-livre.svg');
  background-position: center;
  background-size:cover;
  background-repeat: no-repeat;
}
.homepage__actualites .view-footer{
  text-align: right;
}
.homepage__actualites .view-footer p{
  margin:0.5em 0;
}
.homepage__actualites .view-footer a{
  color:#fdc533;
}
.homepage__actualites .push-actualites__list{
  border-bottom:1px solid #fdc533;
}
.homepage__links{
  padding:1em 3em 9em;
  width:100%;
  background-image:url('../images/arbre.png');
  background-position: center;
  background-size:310px;
  background-repeat: no-repeat;
}
.homepage__links .field__item a{
  color:#ffffff;
  width:100%;
  font-size:1.5em;
  background-color:rgba(22,115,148,0.9);
  font-family: 'Georgia', serif;
  font-weight: 400;
  display: block;
  margin:1.5em auto 0;
  text-align: center;
  border-radius:50em;
  padding:0.5em 0.25em;
  max-width:300px;
}
.homepage__links .field__item a:hover{
  background-color:rgba(22,115,148,1);
}
@media screen and (min-width: 1000px){
  .homepage__actualites, .homepage__links{
    display: inline-block;
    vertical-align: top;
  }
  .homepage__actualites{
    width:65%;
  }
  .homepage__links{
    width:33%;
  }
}




/**
 * Contact block
 */


.contact-webform .form-item label, .contact-webform .form-item input, .contact-webform .form-item .form-textarea-wrapper{
  display: inline-block;
  vertical-align: top;
}
.contact-infos{
  width:180px;
  margin:0 auto;
  text-align: center;
}
.contact-webform{
  width:100%;
  margin-bottom:3rem;
  position: relative;
}
.contact-map{
  margin-bottom:3rem;
}
.contact-map iframe{
  width:100%;
  max-width: 100%;
  height:350px;
}
@media screen and (min-width: 900px){
  .contact-infos{
    text-align: left;
  }
  .contact-infos, .contact-webform{
    display: inline-block;
    vertical-align: top;
  }
  .contact-webform:before{
    content:'';
    display: block;
    width:56px;
    height:37px;
    background-size:cover;
    background-position: center;
    background-image:url('../images/icon-velo.svg');
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0em;
    left: -2.75em;
    z-index:5;
  }
  .contact-webform{
    width:calc(100% - 190px);
    border-left:1px solid #167394;
  }
}