@charset "UTF-8";
/* CSS Document */

@font-face {
    font-family: 'montserratbold';
    src: url('../fonts/montserrat-bold-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'montserratregular';
    src: url('../fonts/montserrat-regular-webfont.woff2') format('woff2'),
         url('../fonts/montserrat-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html{ height: 100%;}
body{ margin:0; font-family:'montserratregular', sans-serif; font-size: 17px; line-height: 25px; text-align: justify; color: #4e4e4e; height: 100%; min-height: 100%; position: relative;}
header, section, footer, article, aside{ display:block;}
a{ color: inherit; text-decoration: none;
    transition:0.5s;
    -o-transition:0.5s;
    -webkit-transition:0.5s;
    -ms-transition:0.5s;
    -moz-transition:0.5s;
}

h1, h2, h3, h4, h5{ font-weight: normal; font-family: 'montserratbold';}
*{ box-sizing: border-box; }


.wrapper{ width: 100%; height: 100%; margin: auto;}
.container{ width: 98%; max-width: 1280px; margin: auto; overflow: hidden;}
.max1000{ width: 100%; max-width: 1000px; margin: auto; }

header{ width: 100%; background: #102956; }
.homePage header{
  z-index: 1000; position: absolute; top: 0; left: 0;
  background: transparent;
}
header .logo{ display: block; float: left; margin: 10px 0 10px;}
header .logo img{ display: block; border: 0; width: 100%; }

header nav{
  float: right; margin-top: 50px;
  font-family: 'montserratregular'; font-size: 17px; color: #FFF;  text-align: right;
}
header .container{ overflow: visible; }
header nav ul{ list-style-type: none; margin: 0; padding: 0;}
header nav ul li{ float: left; position: relative;}
header nav ul li+li{ margin-left: 30px; }
header nav ul li a{
    display: block; height: 33px; line-height: 35px;
    padding: 0 2px; position: relative;
}
header nav ul li a:after{
  display: block; content: ""; width: 100%; height: 3px;
  position: absolute; top: -2px; left: 0;
  background: rgba(255,255,255,0); transition: 0.3s;
  transition:0.5s;
    -o-transition:0.5s;
    -webkit-transition:0.5s;
    -ms-transition:0.5s;
    -moz-transition:0.5s;
}
header nav ul li a:hover:after, header nav ul li a.activ:after{
   background: rgba(255,255,255,1);
}


header nav ul.subMenu{
    width: 250px; position: absolute; left: 0; top: 33px; margin: 0;
    font-size: 15px; z-index: 1000; text-transform: none;
    border-bottom: solid 2px #102956; background: rgba(0,0,0,0.6); display: none;
}
header nav ul.subMenu li{ display: block; float: none; margin: 0;}
header nav ul.subMenu li+li{ border-top: solid 1px rgba(255,255,255,0.2); }
header nav ul.subMenu li a{
  display: block; width: 250px; height: auto; line-height: 21px; padding: 8px 10px;
  text-align: left; border-bottom: none; color: #FFF; font-size: 13px;
}
header nav ul.subMenu li a:after{ display: none; }
header nav ul li:hover > ul.subMenu{ display: block; }

header .showMenu{ display: none;}
header nav.phoneNav{ display: none;}

header.sticky{
    position: fixed; background: rgba(16,41,86,0.9); z-index: 5000;
}
header.sticky .logo{ width: 130px;}
header.sticky nav{ margin-top: 30px; }


header ul.top_nav{
    list-style-type: none; padding: 0; color: #FFF;
    float: right; clear: both; font-family: 'latolight'; font-size: 13px;
}
header ul.top_nav li{ display: inline-block;}
header ul.top_nav li+li{ margin-left: 15px;}
header ul.top_nav a{ display: inline-block;}
header ul.top_nav a .icon{ font-size: 23px; display: inline-block; margin-right: 3px; }

.slider{ width: 100%; height: auto; margin: auto; position: relative; background: #000;}
.slider .placeHolder{ display: block; width: 100%; visibility: hidden;}
.slider .banner{position: absolute; width: 100%; height: 100%; top: 0; left: 0; overflow: hidden;}
.slider .banner .item{
  width: 100%; height: 100%;
  position: absolute; top: 0; left: 0;
}
.slider .banner .item+.item{ display: none;}
.back_img{
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%; overflow: hidden;
}
.back_img img{ display: block; width: 100%;}
.slider .layers{
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
}
.slider .layer_table{height: 100%; width: 100%; display: table;}
.slider .layers .content{
  display: table-cell; width: 100%; height: 100%; position: relative;
  vertical-align: middle; color: #FFF;
}
.slider .layers .content .container{ position: relative; }
.slider .layers h1, .slider .layers h2{
  font-size: 80px; line-height: 1; font-family: 'montserratbold';
  text-transform: uppercase; text-align: right;
  color: #FFF; margin: 0; padding-right: 50px;
  -webkit-text-shadow: 0 0 20px rgba(0,0,0,0.5); -moz-text-shadow: 0 0 20px rgba(0,0,0,0.5); -ms-text-shadow: 0 0 20px rgba(0,0,0,0.5); -o-text-shadow: 0 0 20px rgba(0,0,0,0.5); text-shadow: 0 0 20px rgba(0,0,0,0.5);
}
.slider .layers h1 span, .slider .layers h2 span{
  display: block; font-size: 30px;
}

.slider .arrows a{
  display: block; width: 28px;
  position: absolute; top: 40%;
}
.slider .arrows a img{ display: block; width: 100%; }
.slider .arrows a.previous{ left: 20px;}
.slider .arrows a.next{ right: 20px;}

.slider .dots{ width: 100%; position: absolute; bottom: 60px; text-align: center; padding: 0 30px; box-sizing:border-box;}
.slider .dots a{
  display:inline-block; width:20px; height:20px; border: solid 1px #FFF;
  border-radius: 100%; -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%;
}
.slider .dots a+a{ margin-left:15px;}
.slider .dots a:hover,.slider .dots a.activ{ background: #FFF;}


.slider .arrow{
    width: 62px; height: 30px; margin: auto;
    position: absolute; left: 0; right: 0; bottom: 20px;
    z-index: 2600; text-align: center;
}

.buttons a{
  display: inline-block; padding: 7px 20px; margin: 20px 0; text-transform: uppercase;
  font-size: 21px; font-family: 'montserratregular'; border: solid 1px;  
  -webkit-border-radius: 5px; border-radius: 5px;
}
.buttons a.blue_button{ background: #102956; color: #FFF; border-color: #102956;}
.buttons a.blue_button:hover{ background: none; color: #102956; }
.buttons a.white_button{ color: #063348; border-color: #063348; }
.buttons a.white_button:hover{ background: #063348; color: #FFF; }


section.pageSection{ position: relative;}
section.pageSection:before{
  width: 100%; height: 500px; content: "";
  background: linear-gradient(rgba(16,41,86,0), #102956);
  position: absolute; bottom: 0; left: 0; right: 0;
}
section.pageSection .container{ padding: 100px 0; background: rgba(255,255,255,0.5); position: relative; }

article{ padding: 0 20px; }
article p{ margin: 0 0 20px;}
article+article{ margin-top: 35px;}

p.intro{ color: #063348; text-transform: uppercase; font-size: 21px; }

.title{ margin: 20px 0 50px 0; position: relative;}
.title h1, .title h2{
    margin: 0; padding: 0; text-transform: uppercase;
    font-family: 'montserratregular'; font-size: 32px; line-height: 40px; color: #102956;
    margin: 0; text-align: center;
}
.title h1 span, .title h2 span{ color: #102956;}
.title h1:after ,.title h2:after{
    display: block; content: ""; width: 128px;
    border-top: solid 1px #c7c7c7;
    margin: 10px auto;
}
.title .text{
    margin-top: 30px;
    font-family: 'montserratregular'; font-size: 20px; color: #464648;
    text-transform: uppercase; text-align: center;
}

.tab_title{ margin: 30px 0 5px 0; text-align: center;  position: relative;}
.tab_title h2{
    margin: 0; padding: 0; font-size: 20px;
    font-family: 'montserratbold'; color: #000;
    text-align: center;
}
.tab_title h2 span{ color: #feb607;}
.tab_title h2:after{
    display: block; content: ""; width: 128px;
    margin: auto; border-top: solid 1px #feb607;
    margin-top: 10px;
}

.page_title{ width: 100%; height: auto; overflow: hidden; position: relative; padding-bottom: 30px; }
.page_title_content{ margin-top: 200px; position: relative; }
.page_title .back_img{
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}
.page_title .back_img img{ display: block; width: 100%; height: 100%; object-fit: cover; }

.page_title h1, .page_title h2{
  font-size: 29px; line-height: 33px; color: #FFF;
  text-align: center; font-family: 'montserratregular';
}


h1{ text-transform: uppercase;}
h2.aside_title{ color: #000; font-size: 19px; text-transform: uppercase; }


article h3{ font-size: 21px; color: #063348; margin: 20px 0 5px 0; text-transform: uppercase; text-align: left;}
article h4{ font-size: 17px; color: #000; margin: 20px 0 5px 0; text-transform: uppercase;}

.grey_bg{ background: #f0f0f0; }


.breadcrumb{
  text-align: right; padding: 5px 0; border-bottom: solid 1px #feb607;
}
.breadcrumb ol{
  list-style-type: none; margin: 0; padding: 0;
  font-size: 13px;
}
.breadcrumb li{
  display: inline-block;
}
.breadcrumb li+li:before{
    padding: 0 8px;
    font-size: 12px; color: #102956;
    content: ""; font-family: 'FontAwesome';
}
.breadcrumb a{ color: #102956; }
.breadcrumb a:hover{ color: #063348; }


/*features*/
.features{
  text-align: center; color: #FFF; position: relative;
  background: url(../img/bg-features.jpg) no-repeat top center;
  background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; 
}
.features article{ padding:50px 0;}
.features_items{ margin: 40px 0 50px 0; }
.features_item{
  display: block; color: #FFF; height: 100%; position: relative; margin: 5px 20px;
  border:solid 2px #FFF; padding: 30px 15px;
}
.features_item .features_img{
  width: 100%; height: 100%; overflow: hidden;
  position: absolute; top: 0; left: 0;
}
.features_item .features_img img{
  position: absolute; top: 0; left: 0; width: 100%;
  -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s
}
.features_item .features_img:after{
  display: block; content: ""; width: 100%; height: 100%;
  position: absolute; top: 0; left: 0; background:rgba(0,0,0,0.3);
}
.features .item_title{
  width: 100%; position: absolute; bottom: 0; left: 0;
  padding: 0 20px 30px;
}
.features_item h2{
  font-size: 19px; margin: 0; padding: 0;
  color: #FFF; text-transform: uppercase;
}
.features_item p{ font-size: 15px; margin: 0; line-height: 21px; }

.features .circlesLeft{
  width: 601px; height: 947px; position: absolute; max-width: 100%;
  bottom: 0; left: 0; background: url(../img/circles-left.png) no-repeat;
}
.features .circlesRight{
  width: 422px; height: 675px; position: absolute; max-width: 100%;
  bottom: 0; right: 0; background: url(../img/circles-right.png) no-repeat;
}


.white_circle{
  width: 100%; height: 30px; overflow: hidden;
  position: absolute; bottom: 0;
}
.white_circle:after{
  display: block; content: ""; width: 90px; height: 90px;
  position: absolute; top: 0; left: 0; right: 0; margin: auto;
  background: #FFF; border-radius: 100%; -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%;
}
/*end of features*/

/*metiers*/
.metiers{
  padding: 40px 0; position: relative; background: url(../img/circlesBgMetiers.jpg) no-repeat top left;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.metiers_items .row_flex{ flex-wrap: wrap; padding: 0 60px; }
.metiers .metiers_item{
  display: block; width: 100%; height: 100%;
  padding: 0 15px 30px 15px; text-align: center; 
}
.metiers .metiers_item .content{
  position: relative; height: 100%; padding-bottom: 20px;
}
.metiers .icon{
    width: 110px; height: 110px; margin: auto;
}
.metiers .icon img{
    display: block; max-width: 100%;
}
.metiers h3{
    font-family: 'montserratbold'; font-size: 15px; line-height: 19px; color: #102956;
    text-align: center; text-transform: uppercase; margin: 10px 0;
}
.metiers .plus_btn{
    width: 28px; height: 28px; line-height: 31px; display: block;
    margin: auto; background: #102956; color: #FFF;
    position: absolute; bottom: 0; left: 0; right: 0;
    text-align: center; font-size: 20px;
    -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%; border-radius: 100%;
    -webkit-transition: 0.5s; -ms-transition: 0.5s; -moz-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s;
}

.metiers_item:hover .plus_btn{
  -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); -moz-transform: rotate(180deg); transform: rotate(180deg);
}
.metiers_item:hover .featureItem_text{ height: 200px; }

.blue_circle{
  width: 100%; height: 50px; overflow: hidden;
  position: absolute; bottom: 0; border-bottom: solid 20px #102956;
}
.blue_circle:after{
  display: block; content: ""; width: 90px; height: 90px;
  position: absolute; top: 0; left: 0; right: 0; margin: auto;
  background: #102956; border-radius: 100%; -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%;
}

.metiers .slick-prev, .metiers .slick-next{
    font-size: 0; line-height: 0; z-index: 4000;
    display: block; position: absolute; top: 37%;
    width: 60px; height: 60px; padding: 0;
    cursor: pointer; color: transparent; background: transparent; border: none;
    -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%; border-radius: 100%;  
}
.metiers .slick-next{
    right: 0; background: url(../img/slickArrowRight.png)
}
.metiers .slick-prev{
    left: 0; background: url(../img/slickArrowLeft.png)
}
/*End Of metiers*/

/*partners*/
.partnersList{list-style-type: none; margin: 0; padding: 0;}
.partnersList.hidden{ display: none; }
.partnersList li{ display: flex; padding: 15px;}
.partnersList li .imgBlock{
    width: 100%; height: auto; border: 1px solid #102956; padding: 10px;
}
.partnersList li .imgBlock a{ display:block; }
.partnersList li .imgBlock img{ display: block; width: 100%;}
/*end of partners*/

/*page backgrounds*/
.metiersPage{ color: #102956 }
.equipe{
  background: url(../img/background-equipe-aqualtis.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.assistance-maitrise-ouvrage{
  background: url(../img/background-assistance-maitrise-ouvrage.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.assistance-maitrise-oeuvre{
  background: url(../img/background-assistance-maitrise-oeuvre.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.projet-partenariat-public-prive{
  background: url(../img/background-projet-partenariat-public-prive.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.amenagements-hydro-agricoles{
  background: url(../img/background-amenagements-hydro-agricoles.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.telegestion-reseaux-hydrauliques{
  background: url(../img/background-telegestion-reseaux-hydrauliques.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.developpement-rural{
  background: url(../img/background-developpement-rural.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.ouvrages-hydrauliques{
  background: url(../img/background-ouvrages-hydrauliques.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.pistes-rurales{
  background: url(../img/background-pistes-rurales.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.equipement-interne-irrigation{
  background: url(../img/background-equipement-interne-irrigation.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.aep-assainissement{
  background: url(../img/background-aep-assainissement.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
.ressources-en-eau{
  background: url(../img/background-ressources-en-eau.jpg) no-repeat;
  -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover;
}
/*end of page backgrounds*/

.pagination{ margin: 20px; text-align: center;}
.pagination a{
  display: inline-block; font-size: 15px; height: 35px; line-height: 35px; padding: 0 10px;
  background: #FFF; color: #063348; border:solid 1px #063348;
}
.pagination a:hover, .pagination a.activ{background: #FFF; color: #c1c1c1;}

.pagination a:hover, .pagination a.activ{background: #063348; color: #FFF;}

.images_banner{ width: 100%; overflow: hidden; }
.images_banner .imgFull{ margin: 0; }


.tables{ display: table; width: 100%; }
.tables .row + .row{ margin-top: 30px; }
.tables .cell{ display: table-cell;}
.tables .title_cell{width: 30%;}
.tables .text_cell{ padding: 20px;}
.tables .title_cell .imgFull{ margin-top: 0; }
.tables .title_cell h2{
  text-transform: uppercase; text-align: left;
  color: #FFF; font-size: 20px; padding: 20px;
}
.tables .title_cell h2 span{ display: block; font-size: 30px; margin-bottom: 20px; }

.tables .pink_cell{ background: #fe0047; }
.tables .orange_cell{ background: #fca145; }
.tables .green_cell{ background: #5386E4; }



/*contact*/
section.contact{ padding: 100px 0; position: relative;}
.contact_info{
    color: #FFF; font-family: 'montserratbold';
    padding-left: 50px;
}
.contact .map{
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0;
}
.contact .map #map{ width: 100%; height: 100%;}

.contact .one_third{ position: relative;}
.contact .form_block{
    margin: 50px 20px; padding: 20px; background: #FFF;
    box-shadow: 0 0 10px #AAA;
}
.contact .header_title{
  margin-bottom: 20px; text-align: center; font-size: 21px;
  font-family: 'montserratbold'; text-transform: uppercase;
}
.contact .header_title span{ color: #102956; }
.contact fieldset{ border: none; padding: 0; margin: 0;}
.contact input{
  border:solid #929292 1px; width:100%; padding:10px 15px; box-sizing: border-box;
  -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px;
}
.contact textarea{
  border:solid #929292 1px; width:100%; padding:10px 15px; height:100px; box-sizing: border-box;
  -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px;
}
.contact .buttons{ float: right;}
.contact input[type="submit"], .contact button{
  background:#102956; color:#FFFFFF;  border:none; margin:10px 0; padding:5px 15px; width: auto;
  font-size: 17px;
}

.contact .borderSep{ margin: 20px 0; border-bottom: solid 1px #dfdfdf;}
.dateSelector{ position: relative;}
.dateSelector a{ display: block; position: absolute; top: 10px; right: 10px;}
.contact .montant{ text-align: right; font-size: 20px;}

.contact_container{
  width: 100%; max-width: 900px; margin: auto;
}
.contactPage{
  background: url(../img/background-equipe-aqualtis.jpg) no-repeat top center, #102956;
  background-size: contain; color: #FFF;
}
.pageSection.contactPage:before{ display: none; }
.pageSection.contactPage .container{ background: none; }
.contactPage .contact_block{ position: relative; height: auto; margin-bottom: 30px; }
.contactPage .contact_form_box{ background: #FFF; padding: 30px; height: 100%; }
.contactPage .contact_info_box{ background: #102956; height: 100%; padding: 30px; }

.contact_info_box h2{ text-transform: uppercase; font-size: 40px; line-height: 1 }
.contact_info_box .contacts{ line-height: 20px; font-size: 15px; }
.contact_info_box .contacts .icon{
  width: 40px; height: 40px; line-height: 40px; background: #FFF;
  -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%; border-radius: 100%;
  display: block; font-size: 21px; text-align: center; color: #102956;
  
}
.contact_info_box .contacts a{font-weight: bold;}
.contact_info_box .contacts a:hover{ color: #102956;  }
.contact_info_box .contacts .text{ display: block; padding: 5px 10px; }
.contact_info_box .contacts .contact_line+.contact_line{ margin-top: 20px; }
/*End of contact*/

/*errorPage*/
.errorPage{text-align: center; padding: 50px 0;}
.errorPage h1{  text-align: center; font-size: 45px; line-height: 55px; padding-top: 50px; margin: 0;}
.errorPage h2{ font-size: 50px; line-height: 50px;}
/*end of errorPage*/

.construction_page{
  text-align: center; margin: 100px 0; color: #000; text-transform: uppercase;
  font-size: 30px; line-height: 35px; font-family: 'montserratbold';
}

/*simpleList*/
.simpleList, .description_bdd ul{ list-style-type: none; overflow:hidden; margin: 0;}
.simpleList li, .description_bdd ul li{ position: relative; padding: 5px 0 5px 10px; box-sizing:border-box;}
.simpleList li:before, .description_bdd ul li:before{
  content: ''; font-family: 'FontAwesome';
  position: absolute; left: -5px; top: 8px; font-size: 15px;
  color: #102956;
}


/*end of simpleList*/

/*simpleTable*/
.simpleTable{ margin: 20px 0; width: 100%;}
.simpleTable th{ border: none; background: #feb607; color: #FFF; font-weight: normal; padding: 15px 10px; text-align: center; color: #FFF;}

.simpleTable tr:nth-child(2n+2){background: #dcdddd;}
.simpleTable td{ padding: 10px; font-size: 15px;}
/*end of simpleTable*/


/*Accordeon*/
ul.accordeon{ list-style-type:none; margin: 0 auto; padding:0;}
ul.accordeon .accordeonLi{ margin:0; padding: 0; }
ul.accordeon .accordeonLi+.accordeonLi{ margin-top: 2px;}
ul.accordeon .accordeonLi a.accordeonLink{
  display: block; background: #ededed; padding: 0 15px; border: solid 1px #ededed;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}
ul.accordeon .accordeonLi a.accordeonLink h2{
  color: #484848; margin: 0; padding: 12px 0; font-size:17px;
  border:none; font-family: 'montserratregular'; line-height: 1;
}
ul.accordeon .accordeonLi a.accordeonLink i{ display: block; height: 40px; line-height: 40px; float: right; font-size: 20px; color: #feb607; margin-left: 10px;}
ul.accordeon .accordeonLi a.accordeonLink:hover, ul.accordeon .accordeonLi a.current{ color: #FFF; border: solid 1px #feb607; }
ul.accordeon .accordeonLi a.accordeonLink:hover i, ul.accordeon .accordeonLi a.current i, ul.accordeon .accordeonLi a.accordeonLink:hover h3, ul.accordeon .accordeonLi a.accordeonLink.current h2{ color: #feb607;}
ul.accordeon .accordeonItem{ display:none; padding: 10px; margin: 1px 0 5px 0; background: #FFF;}
/*End of Accordeon*/



.msg_ok, .msg_ko{ margin-bottom: 10px; flex-wrap: nowrap !important;}
.msg_ok .icon{
    width: 50px; display: flex;
    background: #3c763d; color: #FFF; font-size: 25px; 
}
.msg_ok .msg_txt{
  background: #dff0d8; padding: 20px; font-size: 15px; line-height: 20px;
  border: solid 1px #3c763d; color: #3c763d; 
}

.msg_ko .icon{ 
  width: 50px; display: flex;
  background: #a94442; color: #FFF; font-size: 25px;
}
.msg_ko .msg_txt{
  background: #f2dede; padding: 20px; font-size: 15px; line-height: 20px;
  border: solid 1px #a94442; color: #a94442;
}

.requiredField{ background:#dd7171; color:#7d0000;}
.requiredFieldTxt{ color:#cf0000; font-size: 11px; font-weight: bold; display: none;}

.imgFull{ display: block; margin: auto; margin-top: 10px; margin-bottom: 10px; max-width: 100%;}
.imgCenter{ display: block; margin: 10px auto; max-width: 100%;}
.imgLeft{ display: block; float: left; margin: 0 20px 20px 0}
.borderImg{ margin:20px; }
.borderImg, .borderImg img{ position: relative; }
.borderImg:before{
  display: block; content: ""; width: 100%; height: 100%;
  position: absolute; top: 20px; left: 20px;
  border: solid 4px #102956;
}
.placeholder{ display: block; width: 100%; visibility: hidden;}


.row:after{ display: block; content: ""; clear: both; }
.row_flex{ display: flex;}
.row_flex:after{ display: block; content: ""; clear: both; }
.flex_wrap{ flex-wrap:wrap; }
.vcenter{
  -webkit-box-align: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center;
}
.hcenter{
  justify-content: center;
}
.one_half{ width: 50%; float: left;}
.one_third{ width: 33.33%; float: left;}
.one_fourth{ width: 25%; float: left;}
.two_third{ width: 66.66%; float: left;}
.three_fourth{ width: 75%; float: left; }



.padding5{ padding: 5px;}
.padding10{ padding: 10px;}
.padding20{ padding: 20px;}
.paddingLeft{ padding-left: 20px;}
.paddingRight{ padding-right: 20px;}
.clear{ clear: both;}
.clearRight{ clear: right;}


footer{ width: 100%; position: relative;
  background: url(../img/bg-footer.png) no-repeat top right, #1e1e1e; color: #FFF;
  text-align: left; padding: 50px 0;
}
footer h3{ margin: 0 0 5px 0; color: #FFF; font-size: 15px; text-transform: uppercase;}
footer .site_map{border-bottom: solid 1px #102956; padding-bottom: 20px; }
footer .site_map h3 a:hover{ color: #FFF; }
footer .site_map ul{ list-style-type: none; margin: 0; padding: 0; font-size: 12px; line-height: 14px; }
footer .site_map ul li+li{ margin-top: 7px; }
footer .site_map ul a:hover{ color: #102956; }
footer nav{
  margin: 0 0 20px 0;
}
footer nav a{ display: block; text-transform: uppercase; font-size: 12px; color: #FFF;}
footer nav a:hover{ color: #FFF;}

footer .copyright{
    text-align: center;
    font-size: 14px; line-height: 20px;
}
footer .copyright .copy{ margin-top: 10px; }

footer .contacts{ line-height: 20px; font-size: 15px; }
footer .contacts .icon{
  clear: left; float: left; display: block;
  width: 30px; font-size: 21px; text-align: center;
  padding: 5px 0; color: #FFF;
}
footer .contacts a{font-weight: bold;}
footer .contacts a:hover{ color: #102956;  }
footer .contacts .text{ display: block; margin-left: 40px; padding: 5px 0; }

footer .social{ text-align: right; }
footer .social ul{
    list-style-type: none; margin: 0; padding: 0;
    float: right;
}
footer .social ul li{ display: inline-block;}
footer .social ul li+li{ margin-left: 5px;}
footer .social ul a{
    display: block; width: 40px; height: 40px; line-height: 40px;
    background: #102956; color: #FFF;
    text-align: center; font-size: 18px;
    -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%; border-radius: 100%;
}

.rappel_form{ width: 100%; max-width: 280px; margin: auto; }
.rappel_form .input input{
  display: block; width: 100%; height: 45px; line-height: 45px;
  background: #2d2d2d; border: none; padding: 0 25px; color: #FFF;
  -webkit-border-radius: 40px; -moz-border-radius: 40px; -ms-border-radius: 40px; -o-border-radius: 40px; border-radius: 40px;
}
.rappel_form .input+.input{ margin-top: 15px; }
.rappel_form .input input.rappel_submit{ background: #102956; color: #FFF; }

.social a.facebook:hover{ background: #3b5998; color: #FFF;}
.social a.twitter:hover{ background: #55acee; color: #FFF;}
.social a.google-plus:hover{ background: #dd4b39; color: #FFF;}
.social a.linkedin:hover{ background: #007bb5; color: #FFF;}
.social a.youtube:hover{ background: #bb0000; color: #FFF;}
.social a.viadeo:hover{ background: #f6876d; color: #FFF;}
.social a.instagram:hover{ background: #bc2a8d; color: #FFF;}


/*animations*/
.animation-element{
    opacity: 0; position: relative;
    transition:1s;
    -o-transition:1s;
    -webkit-transition:1s;
    -ms-transition:1s;
    -moz-transition:1s;
}
.animation-element.in-view{ opacity: 1;}

.animation-element.slide-left {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(-100px, 0px, 0px);
  -webkit-transform: translate3d(-100px, 0px, 0px);
  -o-transform: translate(-100px, 0px);
  -ms-transform: translate(-100px, 0px);
  transform: translate3d(-100px, 0px, 0px);
}

.animation-element.slide-right {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(100px, 0px, 0px);
  -webkit-transform: translate3d(100px, 0px, 0px);
  -o-transform: translate(100px, 0px);
  -ms-transform: translate(100px, 0px);
  transform: translate3d(100px, 0px, 0px);
}

.animation-element.slide-bottom {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(0, 100px, 0px);
  -webkit-transform: translate3d(0, 100px, 0px);
  -o-transform: translate(0, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 100px, 0px);
}

.animation-element.slide-left.in-view, .animation-element.slide-right.in-view, .animation-element.slide-bottom.in-view{
  -moz-transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
/*end of animations*/
