@font-face {
    font-family: 'aldo';
    src: url('fonts/aldo-webfont.eot');
    src: url('aldo-webfont.eot') format('embedded-opentype'),
         url('fonts/aldo-webfont.woff2') format('woff2'),
         url('fonts/aldo-webfont.woff') format('woff'),
         url('fonts/aldo-webfont.ttf') format('truetype'),
         url('fonts/aldo-webfont.svg#aldo') format('svg');
    font-weight: normal;
    font-style: normal;
}

html, body { overflow-x:hidden}
html { margin:0; padding:0; }
body { font-family: 'Roboto', Helvetica, sans-serif;font-size:16px;line-height:18px;background:#fff; margin:0; padding:0; overflow-y: hidden; text-align:left}
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin:0; padding:0}
a{text-decoration:none;color:#5dbbfd}
p {margin:1.2em 0;padding:0;color:#2a2f32;font-size:16px;line-height:25px}
::-moz-selection { background: #3d89bf; color:#fff }
::selection { background: #3d89bf; color:#fff }
sup { font-family:Arial, sans-serif }

.container {z-index:1;max-width:1160px; position:relative; margin:0 auto; padding:0}
img.resp {position: absolute;top: 50% !important;left: 50% !important;float: left; opacity: 0;filter: alpha(opacity=0)}

header, footer, nav.main, div.line {float:left;width:100%;clear:both}
h2{line-height:35px; font-size:20px; color:#5dbbfd;}

img.alignleft { max-width: 1160px; float: left !important; margin: 1em 1em 1em 0; }
img.alignright { max-width: 1160px; float: right !important; margin: 1em 0 1em 1em; }
img.aligncenter { max-width: 1160px; display: block; margin: 1em auto; float:none !important }

div.left ul{margin:1em 0}
div.left ul li{position:relative;padding-left: 25px;line-height:30px}
div.left ul li:before{content:'';background: #5dbbfd;width: 5px;height: 5px;float:left;position:absolute;top: 12px;left: 10px;} 
div.left ol{list-style-type:decimal;list-style-position:inside;padding-left: 15px;}
div.left ol li{line-height:30px}

/* Header */
header{height:170px; background:#1b425e; position:relative}
header a{display:block}
header a strong{font-size:38px; line-height:43px; color:#fff; padding-top:10px; font-family:'aldo', sans-serif;position:relative; top:15px}
header a strong span:nth-child(2){color:#5ad8fc}
header a strong span:nth-child(3){color:#3d89bf}
header a img{position:absolute; top:0; right:-75px}
.main-nav{background:#fff;z-index:500;position: absolute;width: 100%;bottom: 0;}
.menu{height:45px}
.menu li{float:left;line-height:45px; width:157px; transition:background 0.2s ease-in-out}
.menu li:first-child{width:55px; overflow:hidden}
.menu li:nth-child(2){transition:border-left 0.8s ease-in-out}
.menu li:first-child:hover{background:none !important}
.menu li:first-child a{padding:0 15px; color:#fff; overflow:hidden; border-right:0}
.menu li:first-child a:before{content: ""; width: 26px; height: 25px; background-repeat: no-repeat;position:absolute; top:10px; background-position: center;background-size: cover;background-image: url(images/home.svg)}
.menu li a{text-transform:uppercase;font-size:14px; color:#1b425e;text-align:center; border-right:1px solid #1b425e;display:block; transition:color 0.2s ease-in-out}
.menu li:hover{background:#3d89bf !important}
.menu li:hover a{color:#fff !important}

#slideshow, div.slideshow, div.slideshow ul, div.slideshow li{height:400px;float: left;width: 100%;position: relative;}
#slideshow {z-index: 1;}
div.slideshow{float:left;width:100%}
div.slideshow ul li{background-size:cover;background-position: center;background-repeat: no-repeat;height: 100%}
div.slider-cycle-pager {text-align: center;width: 100%;z-index: 1000;position: absolute;overflow: hidden;bottom: 15px;}
div.slider-cycle-pager span.slider-round{border-radius:50%;cursor:pointer;position:relative;display: inline-block;height:15px;width:15px;border:3px solid #fff;opacity:0.9; margin:0 13px 0 0;transition:background .5s ease-in-out}
div.slider-cycle-pager span.slider-round.active{background:#fff}

/* Home page */
.home-content{margin:40px 0}
.home .left{float:left; width:calc(100% - 445px); margin-right:15px; padding:30px 25px; background:#d4eaf8; border:1px solid #54b9ff; margin-top:0}
.home .left h2{font-size:30px; color:#18557f; font-family:'aldo', sans-serif;font-weight:normal}
.home-navigation{width:400px; float:right; margin-right:30px}
.home-navigation ul li{height: 212px; width: 192px; background: #1b425e; position:relative; text-align:center;margin:0 13px 13px 0}
.home-navigation ul li:hover a:before{transform:scale(0.9); opacity:0.7} 
.home-navigation ul{display:flex; flex-wrap:wrap}
.home-navigation ul li:nth-child(even){margin:0 0 13px 0}
.home-navigation ul li a{color:#fff; font-family:'aldo', sans-serif;font-size:17px; flex-direction: column; justify-content:flex-end; display: flex; float: left;width: 100%;height: 100%; padding: 25px 25px 35px 25px;}
.home-navigation ul li a:before{transition:transform 0.2s ease-in-out, opacity 0.2s ease-in-out; content: ""; width: 85px; height: 85px; background-repeat: no-repeat;position:absolute; bottom: 80px; left:52px;background-position: center;background-size: cover;}
.home-navigation ul li:nth-of-type(1) a:before{background-image: url(images/verify.svg);}
.home-navigation ul li:nth-of-type(2) a:before{background-image: url(images/page.svg);}
.home-navigation ul li:nth-of-type(3) a:before{background-image: url(images/restauration.svg);width: 105px;left:42px; height:105px; bottom:65px}
.home-navigation ul li:nth-of-type(4) a:before{background-image: url(images/home-submenu.svg);}

.home .news{height:460px; text-align:center; background: url('images/news.jpg'); background-position:center center; background-size:cover; background-repeat:no-repeat ; background-attachment:fixed;position:relative; color:#fff; margin-bottom:40px}
.home .news:after{top:0;left:0;content:'';float:left;width:100%;height:100%;position:absolute;z-index:0;background:rgba(27,60,98,.5)}
.home .news h2{font-family:'aldo', sans-serif;font-size:30px;margin-top:65px; text-shadow:0 0 10px rgba(0,0,0,.75); color:#fff; font-weight:normal}
.home .news .see-all, .home .news .date, .home .news .read-more{font-size:16px}
.home .news .read-more{border-bottom:1px solid #fff}
.home .news ul{ width:50%; margin:auto; margin-top:40px;height:200px}
.home .news ul li{float:left; width:100%; height:200px}
.home .news a h1{text-transform:uppercase; font-size:18px; color:#fff; font-family:'Roboto', sans-serif;margin-bottom:0}
.home .news a, .home .news a p{color:#fff; font-size:18px; line-height:36px; text-shadow:0 0 10px rgba(0,0,0,.75)}
.home .news a p{margin:10px 0}
div.cycle-pager {text-align: center;width: 100%;z-index: 1000;position: absolute;overflow: hidden;bottom: -45px;}
div.cycle-pager span.round{border-radius:50%;cursor:pointer;position:relative;display: inline-block;height:13px;width:13px;background:#fff;opacity:.5;margin:0 13px 0 0;transition:opacity .5s ease-in-out}
div.cycle-pager span.round.active{opacity:1}

.home .gallery{text-align:center; }
.home .gallery h2{font-family:'aldo', sans-serif;font-size:30px;text-align:center; color:#1b425e; margin-bottom:10px; font-weight:normal}
.home .gallery ul li { width: calc((100% / 4) - 15px); height: 160px; display: inline-block; position: relative; overflow: hidden; margin-right: 15px; margin-bottom:15px}
.home .gallery ul li:nth-child(4), .home .gallery ul li:nth-child(8){margin-right:0}
.home .gallery ul{margin-top:30px}
a.fancy { width: 100%; height: 100%; display: block; position: absolute; }
.home .gallery ul li a:before {content:'';float:left;width:100%;height:100%;background:rgba(27,60,98,.5);opacity:0;transition:opacity .4s ease-in-out;position:absolute;left:0;top:0;z-index:1}
.home .gallery ul li a:after {content:'';opacity:0;background:transparent url(images/picto-zoom.svg) no-repeat center center;background-size:55px;width:100%; height:100%; left:0;top:0;transition:opacity .4s ease-in-out;position:absolute;z-index:2;float:left;}
.home .gallery ul li:hover a:before, .home .gallery ul li:hover a:after {opacity:1}
.home .gallery .see-all{color:#1b425e}
.see-all, .home .news .read-more{font-weight:normal;transition: font-weight 0.2s ease-in-out;}
a:hover > .see-all, .home .news .read-more:hover{font-weight:bold}

/* Internal Pages */
div.left {float:left;width:calc(100% - 295px);margin-top:45px}
div.left.long{width:100%; margin-top:45px}
h1{color:#5dbbfd; font-family:'aldo', sans-serif;line-height:1; font-size:36px; margin-bottom:30px; font-weight:normal }
.page-template-template-news div.left ul li:before{display:none}
.page-template-template-news div.left ul li a{color:#1b425e;float: left;width: 100%;height: 200px;}
.page-template-template-news div.left ul li a span{float: right;color: #ccc;}
.page-template-template-news div.left ul li{width: 100%;height: 200px;padding-left:0;border-bottom:1px solid #cdcdcd;margin: 25px 0 0 0;}
.page-template-template-news div.left ul li:last-child{border-bottom:0}
.page-template-template-news div.left ul li:before{display:none}
.page-template-template-news div.left ul li div.img{float: left;clear: both;margin: 0 25px 0 0;width:280px;height:165px;overflow:hidden;position:relative}
.page-template-template-news div.left ul h2{transition:color .4s ease-in-out;color:#1b425e}
.page-template-template-news div.line ul li:hover h2{color:#5dbbfd}
div.pagination{text-align:center}
div.pagination span, div.pagination a{display:inline-block;height:25px;text-align:center;padding:5px}
div.pagination span, div.pagination span:hover, div.pagination a:hover{background:#5dbbfd;color:#fff}
.return{margin-top:25px}

.page-template-template-partners ul.partners{margin-top:40px !important}
.page-template-template-partners ul.partners li{padding-left:0 !important;float:left;width: 20%;text-align: center;}
.page-template-template-partners ul.partners li:before{display:none !important}
.page-template-template-partners ul.partners li a{display:block}
.page-template-template-partners ul.partners li a > img {max-width:50%;height:auto;}

div.illustration {float:right;width:325px;margin:0 0 3.1em 1em; position:relative}
div.illustration > div {border-radius: 50%;display: block;width:100%;height:325px;overflow:hidden;position:relative}
div.illustration:after{content:'';float:left;width:138px;height:138px;background:rgba(93,187,253,.6);position:absolute;right:35px;bottom:-35px; border-radius:50%}

#submenu{width:260px; min-height:640px; float:right; margin-top:45px; background:rgba(93,187,253,0.2); position:relative}
#submenu:after{content:'';background:transparent url(images/pen.svg) no-repeat bottom;background-size:320px 320px;width:100%; height:100%; right:-25px;bottom:-35px;position:absolute;float:left;}
.page-title{background:#5dbbfd}
.page-title a{text-transform:uppercase; text-align:center; display:block; font-size:17px; line-height:35px; color:rgba(255,255,255,0.5); letter-spacing:0.2em}
#submenu ul{position:relative; z-index:500}
#submenu ul li{margin:15px; text-align:center;}
#submenu ul li a{ color:#5dbbfd; padding:10px; border-radius:20px; display:block; font-size:16px; transition:background 0.2s ease-in-out }
#submenu ul li:hover a, #submenu ul li:current a{background:rgba(93,187,253,0.3)}

.page-template-template-gallery #photos{float:left;width:calc(100% - 295px);}
.page-template-template-gallery .block{width: calc(33% - 10px);height: 250px; position: relative; margin: 0 10px 10px 0; overflow:hidden; display:inline-block}
.page-template-template-gallery .block a:before {content:'';float:left;width:100%;height:100%;background:rgba(27,60,98,.5);opacity:0;transition:opacity .4s ease-in-out;position:absolute;left:0;top:0;z-index:1}
.page-template-template-gallery .block a:after {content:'';opacity:0;background:transparent url(images/picto-zoom.svg) no-repeat center center;background-size:55px;width:100%; height:100%; left:0;top:0;transition:opacity .4s ease-in-out;position:absolute;z-index:2;float:left;}
.page-template-template-gallery .block:hover a:before, .page-template-template-gallery .block:hover a:after {opacity:1}
.page-template-template-gallery #submenu{margin-top:0}
.page-template-template-gallery #submenu h1{text-transform:uppercase; text-align:center; display:block; font-size:17px; line-height:35px; color:rgba(255,255,255,0.5); letter-spacing:0.2em; font-family:"Roboto",sans-serif; margin-bottom:0}
.page-template-template-gallery #submenu ul{margin:0}
.page-template-template-gallery #submenu ul li{padding-left:0; color:#5dbbfd; padding:10px; border-radius:20px; display:block; font-size:16px; transition:background 0.2s ease-in-out; line-height:18px; cursor:pointer }
.page-template-template-gallery #submenu ul li:before{display:none}
.page-template-template-gallery #submenu ul li:hover, .page-template-template-gallery #submenu ul li.active{background:rgba(93,187,253,0.3)}

div.gallery{margin:2em 0 !important}
dt.gallery-icon a{float:left;width:100%;height:240px;position:relative;overflow:hidden}
dt.gallery-icon a:after {content: '';float: left;width: 100%;height: 100%;background:rgba(93,187,253,0.3);opacity: 0;transition: opacity .4s ease-in-out;position: absolute;left: 0;top: 0;z-index:1}
dt.gallery-icon a:hover:after{opacity:1}
dt.gallery-icon a:before {content:'';opacity:0;background:transparent url(images/picto-zoom.svg) no-repeat center center;background-size:55px;transition:opacity .4s ease-in-out;position:absolute;left:5px;top:5px;z-index:2;float:left;width:100%;height:100%;}
dt.gallery-icon a:hover:before{opacity:1}

#contact-form{float: none;width: 100%; margin-top:50px}
#contact-form > div, #contact-form > p{margin:1em 0;clear: both}
#contact-form label{float:left;width: 30%;height: 30px;line-height: 30px;}
#contact-form select, #contact-form input[type=text],#contact-form input[type=email],#contact-form textarea{font-family: "Roboto",sans-serif;border:1px solid rgba(102, 102, 102, 0.4);background:#fff;width:70%;height:30px;padding: 2px 5px}
#contact-form textarea{height:200px}
#contact-form div.submit{width:100%}
#contact-form input[type=submit], #jobs_form input[type=submit] {float:right;color: #fff;border: 0;text-transform: uppercase;padding: 10px 40px;margin-top: 1em;font-family: "Roboto",sans-serif;background: #3d89bf}
p.alert{font-weight: bold;color:#ae2223}
strong.mail_sent{margin: 30px 0;font-weight:300;line-height:30px;display: block;}
#contact-form select{width:70%}
#re-captcha {float: left;width:70%;clear:none !important;margin:0 !important}
div.g-recaptcha {float:right;clear:none !important;margin:0 !important}
div.g-recaptcha div {clear:none !important;margin:0 !important}
p.rgpd {}

/* Footer */
footer{margin-top:40px}
.footer-bottom{ background-color: #5dbbfd;}
footer .copyright { height: 85px; display: flex; justify-content: space-around; align-items: center; text-transform: uppercase; }
footer .copyright > * { position: relative; color: #1b425e; font-size:16px}
footer .copyright a { text-decoration: none; text-transform: uppercase; color: #1b425e; position: relative;font-weight:normal; transition: font-weight 0.2s ease-in-out; }
footer .copyright a:hover{font-weight:bold}
#map{height:400px}
footer.fixed {position: fixed;bottom: 0;left: 0;}
