html, body { overflow-x:hidden}
html { margin:0; padding:0; }
body { font-family: 'Jost', sans-serif; font-size:20px;line-height:24px;background:#fff; color:#404040; 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:#0195d9}
p {margin:1em 0;padding:0;color:#404040;font-size:20px;line-height:24px}
::-moz-selection { background: #0195d9; color:#fff }
::selection { background: #0195d9; 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, header div.main-nav nav, div.line {float:left;width:100%;clear:both}

/********************************************************************************************************************************************************************************/

/***** ALL PAGES *****/
html.noscroll, body.noscroll {overflow:hidden !important}
body.noscroll {position:relative! important}
body.scrolling > header {position: fixed;z-index: 999999;left: 0;top: 0;float: left;width: 100%; transform: translateY(0px); transition: transform 0.3s ease-in-out, background 0.3s ease-in-out;}
body.scrolling-down > header {transform: translateY(-190px);}
body > header {background: transparent;}
body > header.shadow{background: rgba(7, 7, 43, 0.9); box-shadow: 0 0 10px #a7a7a7;}

header a{color: #fff;}
#logo{width: 100%; height: 100%; float:left; position: relative; z-index: 2;}
#logo a.home-link{float: left; position: absolute; z-index: 5; left: 0px; top: 7px; background-size: contain!important; width: 270px!important; height: 111px!important; padding-left: 110px;}
#logo a.home-link > h1{font-size: 17px; font-weight: 400; text-transform: uppercase; position: absolute; top: 37px; line-height: 25px; text-align: left;}

div.liseret {text-align:right; line-height:30px; background:#212157; position: absolute; top: 0; left: 0; width: 100%; float: left; height: 30px;}
div.liseret strong {padding-left:25px;font-size:14px;font-weight:400;color: #fff; position:relative}
div.liseret strong:first-child:before {opacity:.7;content:'';background:transparent url(images/pin.svg) no-repeat center center;float:left;width:16px;height: 18px;background-size:cover;position:absolute;left: 0;top: 0;}
div.liseret strong.phone:before {opacity:.7;content:'';background:transparent url(images/phone.svg) no-repeat center center;float:left;width:17px;height:17px;background-size:cover;position:absolute;left: 0;top: 0;}
div.liseret strong.phone {margin-left:30px}
div.liseret strong.phone a {color: #fff; transition: color .3s ease-in-out;}
div.liseret strong.phone:hover a {color: #0195d9;}
div.liseret strong:last-child {margin-left:30px}

header div.main-nav{height: 130px;padding: 0;float: left;clear: both;width: 100%;}
header div.main-nav nav div.menu-main-menu-container{float: right;width:100%; margin-top: 50px;}
header div.main-nav nav ul{display: flex;justify-content: space-between; align-items: center;}
header div.main-nav nav ul > li{position: relative;}
header div.main-nav nav ul > li > a{font-size: 18px;display: block; padding: 15px 0; height: 100%;position:relative;transition: color 0.4s ease-in-out;}
header div.main-nav nav ul > li > a:hover, header div.main-nav nav ul > li > a:active, header div.main-nav nav ul > li.current-menu-item > a, header div.main-nav nav ul > li.current-menu-parent > a {color:#a6c736}
header div.main-nav nav ul > li > ul {display: block; padding: 80px 10px 10px;height: auto;position: absolute; top: -200px; left: -25%; opacity:0; transition:opacity 0.4s ease-in-out, top 0.4s ease-in-out; background:rgba(33, 33, 87, 1); border-radius: 0 0 20px 20px; width: 150%; z-index: -1; margin: auto;}
header div.main-nav nav ul > li > ul > li{float:left;width:100%;clear:both;max-width: none;}
header div.main-nav nav ul > li > ul > li > a{line-height: 25px; font-size:15px; color: #fff; opacity: 0; padding: 5px 0 5px 15%; transition:opacity 1s ease-in-out, color 0.4s ease-in-out;}
header div.main-nav nav ul ul > li a:before {opacity:0;content:'>';position:absolute;top: 4px;left:0;font-size: 15px;transition:opacity .4s ease-in-out}
header div.main-nav nav ul > li > ul > li >a:hover, header div.main-nav nav ul ul li a:active{color: #a6c736;}
header div.main-nav nav ul > li:hover > ul {visibility:visible;opacity:1; top: -30px;}
header div.main-nav nav ul > li:hover > ul > li > a{opacity: 1;}
header div.main-nav nav ul ul > li a:hover:before, header div.main-nav nav ul ul li a:active:before {opacity:1}
header div.main-nav nav ul > li.blocs-cloned{display: none;}

#slideshow{margin-top: 30px;}
.home #slideshow, .home div.slideshow, .home div.slideshow ul, .home div.slideshow li{height:690px;float: left;width: 100%;position: relative;}
#slideshow, div.slideshow, div.slideshow ul, div.slideshow li {height:260px;float: left;width: 100%}
#slideshow {position:relative; z-index: -1;}
#slideshow:before {content: '';position: absolute;height: 252px;/*height: 320px;*/ width: 100%;background: url('images/around-slider.svg') no-repeat center;z-index: 999;bottom: -55px;/*bottom: -72px;*/ display: block;background-size: cover;}
div.slideshow {float:left; width:100%; position: relative;}
div.slideshow ul li {background-size:cover;background-position: center;background-repeat: no-repeat;height: 100%}
div.slideshow ul li:before{content: '';position: absolute;height: 100%;width: 100%;float: left;display:block; background: -moz-linear-gradient(to bottom, rgba(0, 0, 0,0.4) 20%, rgba(0, 0, 0,0) 40%);background: -webkit-linear-gradient(to bottom, rgba(0, 0, 0,0.4) 20%, rgba(0, 0, 0,0) 40%);background: linear-gradient(to bottom, rgba(0, 0, 0,0.4) 20%, rgba(0, 0, 0,0) 40%); z-index: 100;}

.home #blocs {float:left;width:100%;position: relative;margin-top: 60px;}
#blocs {float:left;width:100%;position: relative;margin-top: -125px; z-index:50}
#blocs ul {display: flex; justify-content: space-between; margin: 20px 0;}
#blocs li {float:left;width: calc(25% - 60px); text-align:center;}
#blocs li div.icon {position: absolute;bottom: 25px;left: 0;float: left;width: 100%;height: 55px;transition: height .3s ease-in-out, bottom .3s ease-in-out; fill: #fff;}
#blocs ul ul.sub-menu{display: none;}
#blocs li a {display: flex;flex-direction: column;justify-content: center;width: 100%;height: 198px;position: relative; color: #fff;}
#blocs li a > div.content{ border-radius: 40px; height: inherit; opacity: 0.85; transition: opacity 0.3s ease-in-out;}
#blocs li:hover a:before {opacity: 1;}
#blocs li img, #blocs li svg {height: 100%;width:auto;display: block;margin: 0 auto;}
#blocs li strong {font-size:30px;position: absolute;left: 0;float: left;width: 100%;font-weight: 500;padding: 18px 10px; top: 25px; line-height: 30px;}
#blocs li:hover a > div.content{opacity: 1;}
#blocs li:hover div.icon{height: 70px; bottom: 25px;}

/********************************************************************************************************************************************************************************/

/***** FRONT PAGE *****/
/***Format Images***/
.alignleft { max-width: 1160px; float: left !important; margin: 1em 1em 1em 0; }
.alignright { max-width: 1160px; float: right !important; margin: 1em 0 1em 1em; }
.aligncenter { max-width: 1160px; display: block; margin: 1em auto; float:none !important }
img.resp {position: absolute;top:50% !important;left:50% !important;float: left; opacity: 0;filter: alpha(opacity=0)}

p{line-height: 26px;}
div.line.sun{overflow: hidden;}
.home div.top-content{margin-top: 80px; width: 100%; display: flex;}
.home div.top-content::after{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 550px; height: 500px; top: 0; left: -50%; z-index: -1; opacity: 0.03;}
.home div.top-content div.left h2{font-size: 45px; color: #a6c736; text-align: center; font-weight: 400; padding-bottom: 30px;}
.home div.top-content div.left{width: calc(100% - 475px); padding: 10px 50px 10px 10px;}
.home div.top-content div.left.long{width: 100%; padding: 0;}
.home div.top-content div.right{width: 475px;}
.home div.top-content div.right.short{width: unset;}

#news-jobs{margin-top: 20px;}
#news{padding: 52px 0; position: relative; height: 302px;}
#news::before{content: ''; position: absolute; width: calc(100% + 100%);height: 100%;left: 0;top: 0;z-index: -1; background: #212257; border-radius: 40px 0 0 40px; padding-left: 100%;}
#jobs{padding: 52px 0; position: relative; margin-top: 18px; height: 302px;}
#jobs::before{content: ''; position: absolute; width: calc(100% + 100%);height: 100%;left: 0;top: 0;z-index: -1; background: #a6c736; border-radius: 0 40px 40px 0;}
#news::after, #jobs::after{content: ''; background: transparent url(images/sun.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -75%; right: -97%; z-index: -1; opacity: 0.05;}
#jobs::after{top: 10%; right: -90%; opacity: 0.1;}
#news div.title, #jobs div.title{text-align: center; margin-bottom: 35px;}
#news div.title h2, #jobs div.title h2{font-size: 32px; color: #fff; margin-bottom: 15px; font-weight: 400;}
#news div.title a > span, #jobs div.title a > span{transition: color .4s ease-in-out; position: relative; font-size: 16px; color: #fff;}
#news div.title a > span:after, #jobs div.title a > span:after{width: 100%; content: ''; border-bottom: 1px solid #fff; position: absolute; bottom: 0; left: 0; transition: width .3s ease-in-out, left .3s ease-in-out;}
#news div.title a:hover > span::after, #jobs div.title a:hover > span:after{width: 0; left: calc(100% / 2);}
#news ul, #jobs ul{ text-align: center;}
#news ul li, #jobs ul li{width: 65%; margin-left: 17.5%; height: 105px;}
#news ul li a article, #jobs ul li a article{border-radius: 20px; transition: background 0.3s ease-in-out;}
#news ul li a article > small, #jobs ul li a article > small{color: #fff; font-size: 15px; transition: color 0.3s ease-in-out;}
#news ul li a article header h1, #jobs ul li a article header h1{color: #fff; font-size: 25px; margin: 12px 0; transition: color 0.3s ease-in-out;}
#news ul li a article > span, #jobs ul li a article > span{color: #0090db; background: #fff; border-radius: 12px; font-size: 16px; display: block; margin: 48px auto; height: 24px; width: 54px; line-height: 24px; text-align: center; overflow: hidden; transition: color 0.3s ease-in-out;}
#news ul li a:hover article, #jobs ul li a:hover article{background: #fff; }
#news ul li a:hover article small.date, #news ul li a:hover article header h1, #news ul li a:hover article > span{color: #212257;}
#jobs ul li a:hover article small, #jobs ul li a:hover article header h1, #jobs ul li a:hover article > span{color: #a6c736;}
#news_prev, #news_next, #jobs_prev, #jobs_next {cursor:pointer;float:left;width:13px;height:22px;overflow:hidden;background:transparent url(images/arrow.svg) no-repeat center center;background-size:cover;position:absolute;top:76%;margin-top:-15px; z-index: 100;}
#news_prev, #jobs_prev {left: 12%; transform: rotate(-180deg);}
#news_next, #jobs_next {right: 12%}
div.right #news.show-sun, div.right #jobs.show-sun{overflow: hidden; width: 155%;}
div.right #news.show-sun::before{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -55%; left: 35%; z-index: -1; opacity: 0.025; padding-left: unset; border-radius: unset;}
div.right #jobs.show-sun::before{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -10%; left: 35%; z-index: -1; opacity: 0.025; padding-left: unset; border-radius: unset;}
div.right #news.show-sun::after, div.right #jobs.show-sun::after{content: unset;}

.home #photos {margin-top: 80px;}
#photos div.title{text-align: center;}
#photos div.title h2{font-size: 45px; color: #0090db; margin-bottom: 20px; font-weight: 400;}
#photos div.title a > span{transition: color .4s ease-in-out; position: relative; font-size: 16px; color: #0090db;}
#photos div.title a > span::after{width: 100%; content: ''; border-bottom: 1px solid #0090db; position: absolute; bottom: 0; left: 0; transition: width .3s ease-in-out, left .3s ease-in-out;}
#photos div.title a:hover > span::after{width: 0; left: calc(100% / 2);}
#photos ul {height:auto;float:left;width:100%;clear:both;position:relative;max-width:100%}
.home #photos ul {height: 276px;margin-top:40px;width: 100% !important;}
#photos ul li {float:left;width:calc(100% / 3 - 2px);height:276px;margin: 0 3px 3px 0;position:relative !important;}
.home #photos ul li {width: 398px;float:none; margin-right:10px !important;margin-bottom:0 !important}
#photos ul li:nth-child(3n+3) {margin-right:0}
#photos ul li a{float:left;width:100%;height:100%;position:relative;overflow:hidden}
#photos ul li a:after {content:'';float:left;width:100%;height:100%;background:rgba(0, 144, 219,.7) url(images/zoom.svg) no-repeat center center;background-size:65px;opacity:0;transition:opacity .4s ease-in-out;position:absolute;left:0;top:0;z-index:1}
#photos ul li a:hover:after {opacity:1}

.page-template-template-gallery #photos li{padding-left:0; height: 266px; padding-bottom: unset;}
.page-template-template-gallery #photos li:before {display:none}

.home div.bottom-content{margin-top: 80px; width: 100%; display: flex;}
.home div.bottom-content div.left{width: 475px;}
.home div.bottom-content div.right{width: calc(100% - 475px); margin-top: -10px;}

#documents{padding: 52px 0; position: relative; height: 302px;}
#documents::before{content: ''; position: absolute; width: calc(100% + 100%);height: 100%;right: 0;top: 0;z-index: -1; background: #f5be00; border-radius: 0 40px 40px 0; padding-left: 100%;}
#documents::after{content: ''; background: transparent url(images/sun.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -75%; left: -95%; z-index: -1; opacity: 0.1;}
#documents div.title{text-align: center; margin-bottom: 45px;}
#documents div.title h2{font-size: 45px; color: #fff; margin: 0 0 20px 0; font-weight: 400;}
#documents div.title a > span{transition: color .4s ease-in-out; position: relative; font-size: 16px; color: #fff;}
#documents div.title a > span:after{width: 100%; content: ''; border-bottom: 1px solid #fff; position: absolute; bottom: 0; left: 0; transition: width .3s ease-in-out, left .3s ease-in-out;}
#documents div.title a:hover > span::after{width: 0; left: calc(100% / 2);}
#documents ul li{width: 70%; margin: auto; display: flex; justify-content: space-between; padding-bottom: 12px;}
#documents ul li:before{content: none;}
#documents ul li:last-child{margin-bottom: unset;}
#documents ul li span{color: #fff; font-size: 18px;}
#documents ul li a > span{font-size: 16px; position: relative; color: #f5be00; background: #fff; border-radius: 12px; padding: 0 10px; transition: background 0.3s ease-in-out, color 0.3s ease-in-out;}
#documents ul li a:hover > span{background: unset; color: #fff;}

#partners div.title{text-align: center;}
#partners div.title h2{font-size: 45px; color: #f5be00; margin-bottom: 20px; font-weight: 400;}
#partners div.title a > span{transition: color .4s ease-in-out; position: relative; font-size: 16px; color: #f5be00;}
#partners div.title a > span:after {width: 100%; content: ''; border-bottom: 1px solid #f5be00; position: absolute; bottom: 0; left: 0; transition: width .3s ease-in-out, left .3s ease-in-out;}
#partners div.title a:hover > span::after{width: 0; left: calc(100% / 2);}

.home #partners {margin-top: 60px;}
#partners ul {float:left;width:100%;height:100%; display: flex; justify-content: center;}
#partners li {float: left;width: calc(100% / 3 - 1px);text-align: center;height: 190px;line-height: 190px;}
#partners li a > img {max-width:65%;height:auto; transition: max-width 0.3s ease-in-out;}
#partners ul li:before{content: none;}

footer.fixed {position:fixed;bottom:0;left:0}
.home footer div.footer-top{height: 570px;display: flex;font-size: 16px;margin-top: 80px;position: relative;}
footer div.footer-top p{font-size:15px;color: #fff;margin:0;font-weight: 300;line-height: 23px;}
footer div.footer-top p.email > a{color: #fff; position: relative;}
footer div.footer-top p.email > a::after{width: 100%; content: ''; border-bottom: 1px solid #fff; position: absolute; bottom: 0; left: 0; transition: width .3s ease-in-out, left .3s ease-in-out;}
footer div.footer-top p.email > a:hover::after{width: 0; left: calc(100% / 2);}
footer div.footer-top strong.footer-title{font-size:25px;color: #a6c736; text-transform: uppercase; margin:0;font-weight: 500;line-height: 30px;}
footer div.footer-top p strong{font-size: 20px;color: #fff;}
footer div.footer-top div#map{width: 100%;position: relative;}
footer div.footer-top div#map #map_canvas{height:100%}

.home footer div.footer-top div.footer-contact{background: rgba(33, 33, 87, 0.9);display: flex; justify-content: start; align-items: center; height: 328px; padding: 30px 0 70px 45px; border-radius: 40px 0 0 40px; position: absolute; right: 0; top: 121px; width: 40%; overflow: hidden;}
.home footer div.footer-top div.footer-contact::after{content: ''; background: transparent url(images/sun.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -65%; left: unset; right: 0%; z-index: -1; opacity: 0.05;}
footer div.footer-top div#contact{width: 230px;height:auto; padding: 0 0 0 30px; margin-top: 60px;}

.home footer div.footer-bottom, body.page-template-template-contact footer div.footer-bottom{margin-top:0}
footer div.footer-bottom{background: #0090db;height: 78px;float: left;width: 100%;}
div.copyright p, div.copyright p a{text-align: center;font-size: 18px;color:#fff;margin: 0;line-height: 78px;}
div.copyright p a:hover{text-decoration:underline}
div.copyright span.copyright-title{text-transform: uppercase;}

footer div.footer-top{height: 240px;display: flex;font-size: 16px;margin-top: 79px;}
footer div.footer-top div.footer-contact{background: #212157; display: flex; justify-content: center; align-items: center; height: 240px; /*padding: 45px 0 55px 0;*/padding-bottom: 10px; width: 100%; position: relative; z-index: 1; overflow: hidden;}
footer div.footer-top div.footer-contact::after{content: ''; background: transparent url(images/sun.svg) no-repeat center; position: absolute; float: right; width: 450px; height: 450px; top: -80%; right: unset; left: 0; z-index: -1; opacity: 0.05;}
footer div.footer-top div.footer-contact div.logo-footer img{width: 145px; height: 182px;}

/********************************************************************************************************************************************************************************/

/***** INTERNAL PAGES *****/
/***Breadcrumbs***/
#breadcrumbs {float:left;width:100%;clear:both;height:55px;line-height:55px; margin: 25px 0; position:relative; z-index:50}
#breadcrumbs li {display:inline}
#breadcrumbs li a,#breadcrumbs li > span {font-size:14px; color: #404040;}
#breadcrumbs li a{border-bottom: 0; transition: border-bottom 0.3s ease-in-out;}
#breadcrumbs li a:hover {border-bottom:1px solid}
div#breadcrumbs ul li.child-item a{font-weight: 600;}
#breadcrumbs li > span {color:#a9a8a8}
#breadcrumbs li.separator {font-size:12px;color:#afcc4a;margin:0 5px}

/***Internal Page Submenu***/
#submenu::before{content: ''; position: absolute; width: calc(100% + 100%);height: 100%;right: 0;top: 0;z-index: -1; background: #a6c736; border-radius: 0 40px 40px 0; padding-left: 150%;}
#submenu::after{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -185px; left: -200%; z-index: -1; opacity: 0.05;}
#submenu{float: left;clear: both;width:285px;position: relative;padding: 30px 40px 45px 0;margin-right: 42px; border-radius: 0 40px 40px 0; z-index: 1;}
#submenu .page-title a{overflow:hidden;position:relative;color:#fff;float: left;font-size: 45px;padding: 10px 0; line-height: 45px;}
#submenu .page-title a strong{font-weight:400;position: relative;z-index:2}
#submenu .page-title a img, #submenu .page-title a svg {position:relative;z-index:2;float:left;width:26px;height:auto;margin-right:15px}
#submenu .secondary-nav{padding: 15px 0 0 40px;float: left;width: 100%;}
#submenu ul, #submenu li{width:100%;float:left;clear:both}
#submenu li {margin: 0 0 5px 0;}
#submenu li a{width: 100%;color:#fff;font-size:22px;line-height:30px;display: block; position: relative; transition: color 0.3s ease-in-out; border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 5px;}
#submenu li a:before {opacity: 0; content: '\203a'; position: absolute; top: -2px; left: -30px; transition: opacity 0.3s ease-in-out; font-size: 34px;}
#submenu li:last-child a{border-bottom:0 !important}
#submenu li:hover a, #submenu li.current a{color:rgba(255,255,255,.6);}
#submenu li:hover a::before, #submenu li.current a::before{color: #fff; opacity: 1;}

body:not(.home) div.left {float:left;width:calc(100% - 330px)}
body:not(.home) div.left.long {width:100%}
div.left h1 {font-size:50px; font-weight: 400; margin:0 0 1em 0; line-height: 65px;}
div.left h2{font-weight: 400; font-size: 38px; margin: 35px 0 45px; line-height: 38px;}
div.left h3{font-size: 30px; font-weight:400; color: #a6c736; line-height: 32px;}
div.left h2 > span{position: relative;}
body:not(.home) div.left h2 > span::before {content: ''; position: absolute; border-bottom: 30px solid #afcc4a; width: 7px; top: 12.75px; left: -19px;}
div.left p img{max-width: 100%; height: auto;}


div.left ul, div.left ol, div.with-children ul, div.with-children ol {margin: 1em 0;}
div.left  ul > li > ul {margin-bottom:0}
div.left ul > li {padding-bottom: 10px;position: relative;padding-left: 30px;}
div.left ul > li:before {content: '';background: #a6c736;width: 7px;height: 7px;float: left;position: absolute;top: 8px;left: 10px;border-radius: 50%;}
div.left ul > li > ul > li:before{content: unset; background: none!important;}
div.left ul > li > ul > li:before{content: '';border: 2px solid #a6c736;width: 4px;height: 4px;float: left;position: absolute;top: 8px;left: 10px;border-radius: 50%;}
div.left ol {list-style-type: decimal;list-style-position: inside;padding-left: 5px;}
div.left ol > li {padding-bottom: 10px}
div.left ol > li::marker {color: #a6c736;}

div.left div.gallery {margin:2em 0}
div.left dt.gallery-icon a{float:left;width:100%;height:240px;position:relative;overflow:hidden}
div.left dt.gallery-icon a:before {content:'';float:left;width:100%;height:100%;background:rgba(0, 144, 219,.7) url(images/zoom.svg) no-repeat center center; background-size:65px;opacity:0;transition:opacity .4s ease-in-out;position:absolute;left:0;top:0;z-index:1}
div.left dt.gallery-icon a:hover:before{opacity:1}
div.left .gallery.default .gallery-caption {display:none}

div.left div.content{position: relative;}
div.left div.content::after{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; bottom: -5%; right: -40%; z-index: -1; opacity: 0.025;}
div.left div.content.sun-show::before{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: 30%; left: -100%; z-index: -1; opacity: 0.025;}
div.left div.content.sun-show::after{right: -55%;}
.page-template-template-protected-job div.left div.content::after{content: unset;}

/***Contact Form***/
#contact-form {float: none;width:100%;margin:3em auto 2em auto;}
#contact-form > div, #contact-form > p {margin:2em 0;clear: both}
#contact-form label {transition:color .4s ease-in-out;float:left;width: 30%;height: 30px;line-height: 30px;}
#contact-form input[type=text],#contact-form input[type=email],#contact-form textarea{transition:border-color .4s ease-in-out;border: 0;border-bottom: 1px solid #dadada;background:#fff;width:70%;height:30px;padding: 2px 5px;}
#contact-form textarea{height:200px}
#re-captcha {float:left;width:70%}
div.g-recaptcha {float:right}
#contact-form div.submit{width:100%}
#contact-form input[type=submit] {transition:background .4s ease-in-out, color .4s ease-in-out;float:right;color:#fff;background:#212257; border: 0;text-transform: uppercase;padding: 10px 40px;margin-top:2.75em;font-weight: 600;}
#contact-form input[type=submit]:hover {color:#fff;background:#afcc4a;}
#contact-form p.focused label, #contact-form div.focused label {color:#afcc4a !important}
#contact-form p.focused input[type=text],#contact-form p.focused input[type=email],#contact-form div.focused textarea{border-bottom:1px solid #afcc4a !important}
#contact-form #email2{display:none}

body:not(.home) #partners li {overflow: hidden;padding-left:0 !important}

/***News Page***/
.page-template-template-news div.line ul.news_list li{width: 100%;height: 235px;padding-left:0;border-bottom:1px solid #cdcdcd;margin: 25px 0 0 0;}
.page-template-template-news div.line ul.news_list li:last-child{border-bottom:0}
.page-template-template-news div.line ul.news_list li:before{display:none}
.page-template-template-news div.line ul.news_list li div.img{float: left;clear: both;margin: 0 25px 0 0;width:300px;height:210px;overflow:hidden;position:relative; border-radius: 20px;}
.page-template-template-news div.line ul.news_list li h2{transition:color .4s ease-in-out;color:#404040;padding-bottom: 0 !important;letter-spacing: 0 !important;text-transform: none !important;font-size: 1.4em !important; margin: 0 0 10px 0;}
.page-template-template-news div.line ul.news_list li h2::before{content: unset;}
.page-template-template-news div.line ul.news_list li:hover h2{color:#afcc4a}
.page-template-template-news div.line ul.news_list li a{color:#afcc4a;float: left;width: 100%;height: 210px;}
.page-template-template-news div.line ul.news_list li a span{float: right;color: #ccc;}
div.pagination{text-align:center}
div.pagination span, div.pagination a{display:inline-block;height:25px;text-align:center;padding: 0 5px}
div.pagination span, div.pagination span:hover, div.pagination a:hover{background:#a6c736;color:#fff}
div.pagination a.next{background:transparent !important;color:#bbb !important}
div.pagination a.next:hover{color:#a6c736 !important}

/***Single Post***/
.single-post div.line div.container img{width: 300px;height:auto;float: left;margin-right: 25px}
.single-post div.line div.container p{margin: 0 0 25px 0}
.single-post div.line div.container div.return{margin: 30px 0;float: left;clear: both;}
.single-post div.line div.container div.return a{display:block;width: 100%;height: 100%;color:#afcc4a}


/***Documents Page***/
#documents-list ul li{width: 55%; display: flex; justify-content: space-between; margin-bottom: 5px; padding-bottom: 12px; padding-left: 0;}
#documents-list ul li:before{content: none;}
#documents-list ul li:last-child{margin-bottom: unset;}
#documents-list ul li a > span{position: relative; color: #fff; background: #f5be00; border-radius: 12px; padding: 0 10px; transition: background 0.3s ease-in-out, color 0.3s ease-in-out;}
#documents-list ul li a:hover > span{background: unset; color: #f5be00;}

/***Jobs Page***/
.post-type-archive-jobs #jobs-list {margin: 0 0 20px 0;background:none;height:auto;}
.post-type-archive-jobs #jobs-list li {background:#f6f9eb;height:auto;margin-bottom:10px;padding: 20px;display: block;float: left;width: 100%;}
.post-type-archive-jobs #jobs-list li:before {content: none!important;padding-left:0 !important}
.post-type-archive-jobs #jobs-list li > a{color: #464646;float: left;width: 100%;height: 100%;}
.post-type-archive-jobs #jobs-list li > a > strong {line-height: 23px;padding-bottom: 20px;display: block;color: #afcc4a;}
.post-type-archive-jobs #jobs-list li > a > span {float: right;margin-top: 1em;}

/***Jobs Form***/
#jobs_form {float: left;width:100%;margin:0 auto 2em auto;}
#jobs_form > div,#jobs_form > p {margin:2em 0;clear: both}
#jobs_form label {transition:color .4s ease-in-out;float:left;width: 30%;height: 30px;line-height: 30px}
#jobs_form input[type=text],#jobs_form input[type=email],#jobs_form textarea{transition:border-color .4s ease-in-out;font-size:17px;border: 0;border-bottom: 1px solid #dadada;background:#fff;width:70%;height:30px;padding: 2px 5px;}
#jobs_form textarea{height:200px}
#jobs_form #re-captcha {float:left;width:70%;margin-top:0}
div.g-recaptcha {float:right}
#jobs_form div.submit{width:100%}
#jobs_form input[type=submit] {transition:background .4s ease-in-out, color .4s ease-in-out;float:right;color: #fff;background: #212257;border: 0;text-transform: uppercase;padding: 10px 40px;margin-top:2.75em;/*font-size:17px;*/font-weight: 600;}
#jobs_form input[type=submit]:hover {color:#fff;background:#afcc4a}
#jobs_form p.focused label, #jobs_form div.focused label {color:#afcc4a !important}
#jobs_form p.focused input[type=text],#jobs_form p.focused input[type=email],#jobs_form div.focused textarea{border-bottom:1px solid #afcc4a !important}
a.back_offers{margin-top: 20px; float:right; color: #afcc4a;}

/***Establishment Page***/
div.left div.establishments{margin: 75px 0; position: relative;}
div.left div.establishments div.estab{display: flex; align-items: center; margin-bottom: 95px;}
div.left div.establishments div.estab:last-child{margin-bottom: unset;}
div.left div.establishments div.estab h3{text-transform: uppercase; font-size: 23px; font-weight: 600; color:#a6c736; margin-bottom: 15px;}
div.left div.establishments div.estab div.estab-coordinate p{margin: 0;}
div.left div.establishments div.estab div.estab-coordinate hr{margin: 0.5em 0;}
div.left div.establishments div.estab div.estab-coordinate p.estab-coord{font-size: 18px;}
div.left div.establishments div.estab div.estab-coordinate p span.tel{margin-right: 15px;}
div.left div.establishments div.estab .estab-image{margin-right: 25px;}
div.left div.establishments div.estab .estab-image > div#img{float: left; clear: both;width: 300px; height: 210px; overflow: hidden; position: relative; border-radius: 20px;}
div.left div.establishments::after{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: 30%; right: -55%; z-index: -1; opacity: 0.025;}

/***Sub Menu Blocs - Establishment Page***/
div.left div.sub-menu-blocs{position: relative;}
div.left div.sub-menu-blocs::after{content: ''; background: transparent url(images/soleil.svg) no-repeat center; position: absolute; float: right; width: 500px; height: 500px; top: -20%; left: -105%; z-index: -1; opacity: 0.025;}
div.left div.sub-menu-blocs ul{display: flex; flex-direction: row; justify-content: space-between; flex-wrap: wrap;}
div.left div.sub-menu-blocs ul li{padding-left: unset; text-align: center; width: calc(33.3% - 20px); margin: 15px 0; padding-bottom: unset;}
div.left div.sub-menu-blocs ul li:last-child{margin-right: unset;}
div.left div.sub-menu-blocs ul li::before{content: unset;}
div.left div.sub-menu-blocs ul li a {display: flex;flex-direction: column;justify-content: center;width: 100%;height: 216px;position: relative;color: #fff; border-radius: 40px; opacity:1; transition: opacity 0.5s ease-in-out;}
div.left div.sub-menu-blocs ul li a div.content{position: unset;}
div.left div.sub-menu-blocs ul li a span { font-size: 28px; line-height: 35px;position: absolute;left: 0;float: left;width: 100%; padding: 20px 30px; top: 10px;}
div.left div.sub-menu-blocs li svg {height: 100%; width:auto;display: block;margin: 0 auto;}
div.left div.sub-menu-blocs ul li div.icon {position: absolute;bottom: 20px;left: 0;float: left;width: 100%;height: 75px; fill: #647720; transition: height .3s ease-in-out, bottom .3s ease-in-out, fill 0.3s ease-in-out;}
div.left div.sub-menu-blocs ul li:hover div.icon{height: 85px; bottom: 25px; fill: #fff;}
div.left div.sub-menu-blocs ul > li:hover a{opacity: 0.8;}

/*******************************************************************************************************************************************************************************/

/*****RWD*****/
/***Menu Hamburger***/
.mobile_menu {display:none;float: left;width: 35px;height: 35px;position: absolute;cursor: pointer;top: 18px;right: 25px;background: transparent;transition:background .4s ease-in-out; z-index: 2;}
span.hamburger {float:left;width: 35px;position: absolute;top: 19px;}
span.hamburger span, span.hamburger span:before, span.hamburger span:after {position: absolute;width: 35px;height: 4px; border-radius: 2px;}
span.hamburger span{background: #595981;-webkit-transition-delay: .2s;-webkit-transition-duration: 0s; transition-delay: 0s; transition-duration: 0s;}
span.hamburger span:before, span.hamburger span:after {content : ' ';background: #595981;-moz-transition: margin .2s ease-in-out;-o-transition: margin .2s ease-in-out;-webkit-transition: margin .2s ease-in-out;transition: margin .2s ease-in-out;-webkit-transition-delay: .2s;transition-delay: .2s;}
span.hamburger span:before{margin-top: -12px;}
span.hamburger span:after {margin-top: 12px;}
span.hamburger.cross > span, .mobile_menu.opened span.hamburger.cross > span{-webkit-transition-delay:0s;transition-delay: 0s;background: transparent}
span.hamburger.cross span:before {background: #fff;-moz-transition: transform .5s ease-in-out;-o-transition: transform .5s ease-in-out;-webkit-transition: transform .5s ease-in-out;transition: transform .5s ease-in-out;-webkit-transform: rotate(-45deg);-moz-transform: rotate(-45deg);-o-transform: rotate(-45deg);transform: rotate(-45deg);margin: 0}
span.hamburger.cross span:after {background: #fff;-moz-transition: transform .5s ease-in-out;-o-transition: transform .5s ease-in-out;-webkit-transition: transform .5s ease-in-out;transition: transform .5s ease-in-out;-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg);transform: rotate(45deg);margin:0}
body > header.shadow div.mobile_menu {background: transparent;}

@media (max-width: 1440.9px){

	/***Home Page***/
	.home div.top-content::after{left: -25%;}
	#news::after, #jobs::after{right: -55%;}
	div.right #news.show-sun, div.right #jobs.show-sun{width: 120%;}
	div.right #news.show-sun::before, div.right #jobs.show-sun::before{left: 15%;}
	#documents::after{left: -55%;}

	/***Internal Pages***/
	#submenu::after{left: -110%;}
	div.left div.establishments::after{right: -35%;}
	div.left div.sub-menu-blocs::after{left: -75%;}
	div.left div.content::after{right: -20%;}
	div.left div.content.sun-show::before{left: -75%;}
	div.left div.content.sun-show::after{right: -30%;}

}

@media (max-width: 1024.9px){
	
	/***All Pages***/
	div.liseret, header div.main-nav nav ul{padding: 0 5px 0 0;}
	header div.main-nav nav ul > li > ul {left: -12.5%;	width: 125%;}

	#blocs li {width: calc(25% - 40px);}
	#blocs li a{height: 184px; line-height: 30px;}
	#blocs li strong{top: 20px;}
	#blocs li:hover div.icon{height: 70px; bottom: 25px;}
	#blocs ul > li:hover a{border-radius: 50%;}

	/***Home Page***/
	.home div.top-content::after{left: -15%;}
	.home div.top-content div.left.long{padding: 0 20px;}
	#news::after, #jobs::after{right: -35%;}
	div.right #news.show-sun, div.right #jobs.show-sun{width: 100%;}
	div.right #news.show-sun::before, div.right #jobs.show-sun::before{left: 0;}
	#documents::after{left: -35%;}

	.home footer div.footer-top div.footer-contact::after{right: -25%;}

	/***Internal Pages***/
	#breadcrumbs {margin: 25px 20px; line-height: normal;}

	body:not(.home) div.line {margin: 0 20px; width: calc(100% - 40px);}

	#submenu{margin-right: 38px;}
	#submenu::after{left: -75%;}

	div.left div.establishments div.estab .estab-image{margin-right: 22px;}

	div.left div.sub-menu-blocs::after{left: -80%;}
	div.left div.sub-menu-blocs ul{justify-content: space-evenly;}
	div.left div.sub-menu-blocs ul li{width: calc(42% - 10px);}

	footer div.footer-top div.footer-contact::after{left: -10%;}

	.page-template-template-news div.line ul.news_list li {height: 255px; margin: 35px 0 0 0;}

	#documents-list ul li{width: 65%;}
	
}

@media(max-width: 768.9px) {
	
	/***All Pages***/
	body > header.shadow{background: unset;}

	#logo{height: 80px;background: #212157}
	#logo a.home-link{float:left;width:100%;text-align:center; width: 290px!important; height: 64px!important; /*background-size: contain!important;*/ left: 12px; top: 8px; padding-left: 70px;}
	#logo a.home-link > h1 {font-size: 17px; top: 10px; line-height: 23px;}
	div.liseret{display:none}

    body > header #logo a.home-link:after{display:none !important}
	/* body > header.shadow{box-shadow:none !important} */
	body > header div.main-nav{padding:0;height: 0; transition: height .4s ease-in-out;}
	body > header div.main-nav.opened {height:100vh;overflow-y: scroll; background: rgba(7, 7, 43, 0.9);}
	/* body > header div.main-nav.opened .container {overflow: hidden;} */

	body > header div.main-nav nav{display: none; width: 100%;height: 100vh; /*background: rgba(7, 7, 43, 0.9);*/ top: 0; overflow-y: scroll; position: relative;}
	body > header div.main-nav nav div.menu-main-menu-container{height: auto;width: 100% !important; margin-top: 0; position: relative;}
	.mobile_menu, span.hamburger {display:block}

	div.liseret, header div.main-nav nav ul {padding: unset;}
	header div.main-nav nav ul.menu{display: block; width: 100%;position:absolute;top:30px;left:0px;transition:left .4s ease-in-out; height: 100vh;}
	header div.main-nav nav ul.menu li{padding: 0;position: static;display:inline-block;max-width: 100%;width:100%;text-align:left}
	/* header div.main-nav nav ul > li{height:36px;} */
	header div.main-nav nav ul > li{height: auto; margin-bottom: 25px;}
	header div.main-nav nav ul > li > a{color: #fff!important;}
	header div.main-nav nav ul > li.blocs-cloned{display: block;}
	header div.main-nav nav ul > li.blocs-cloned a{padding:0 16px 0;}
	header div.main-nav nav ul > li.blocs-cloned a div.content{padding:0 0 0 15px; border-radius: 8px; height: 60px; line-height: 60px;}
	header div.main-nav nav ul > li.blocs-cloned div.icon{display: none;}
	header div.main-nav nav ul.menu > li.menu-item-has-children > a:after{content:'\203A';color:#fff;position:absolute;right:31px;top:-2px;font-size:30px}
	header div.main-nav nav ul.menu > li.blocs-cloned.menu-item-has-children > a:after{top: 15px;}
	header div.main-nav nav ul > li > a, header div.main-nav nav ul > li > ul > li > a, header div.main-nav nav ul > li.blocs-cloned > ul > li > a{/*line-height:36px;*/height:100%;padding:0 0 0 31px; font-size: 22px;}
	header div.main-nav nav ul ul{padding:0 0 0 20px;width:100%;visibility:hidden;opacity:0;transition:none;transition:left .4s ease-in-out;left:calc(100% + 20px);position: absolute;top: 0;margin: 0;height: 100vh;}
	header div.main-nav nav ul > li > ul{background: unset; padding: unset; left: 100%; top: 0; opacity: 1;}
	header div.main-nav nav ul > li:hover > ul {visibility:visible;opacity:1; top: 0;}
	header div.main-nav nav ul > li > ul > li > a{opacity: 1;}
	header div.main-nav nav ul.done{left: -100%!important;}
	header div.main-nav nav ul li ul.sub-menu.shown {display:block; visibility:visible !important; opacity:1 !important; left: 100%; height: 100vh; z-index: 1; width: 100%; overflow-y: scroll;}
	/* header div.main-nav nav ul ul.sub-menu li.menu-item{padding: 0 0 0 16px!important;} */
	header div.main-nav nav ul ul.sub-menu li.menu-item{padding: 0 16px!important; width: 100%; height: auto;}
	header div.main-nav nav ul ul li a:before {content: unset; opacity: unset;}
	header div.main-nav nav ul ul li.back a:before{content: '\2039'; position: absolute; top: -3px; left: 12px; font-size: 30px; transition: opacity .4s ease-in-out;}
	header div.main-nav nav ul.menu li.blocs-cloned ul.sub-menu li.parent{width: calc(100% - 32px); border-radius: 8px; margin-left: 16px;}
	header div.main-nav nav ul.menu li.blocs-cloned ul.sub-menu li.parent > a {padding: 0 0 0 15px; height: 60px; line-height: 60px;}
	header div.main-nav nav ul > li > ul > li.menu-item > a, header div.main-nav nav ul > li.blocs-cloned > ul > li.menu-item > a {border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 12.5px;}
	header div.main-nav nav ul > li > ul > li.menu-item, header div.main-nav nav ul > li.blocs-cloned > ul > li.menu-item{margin-bottom: 12.5px;}

	div.slideshow ul li:before{background: unset;}
		
	.home #blocs{margin-top: 30px;}
	#blocs ul{justify-content: space-evenly; align-items: center; flex-wrap: wrap;}
	#blocs li{width: calc(40% - 70px); margin: 15px 10px;}

	/***Front Page***/
	.home div.left, body:not(.home) div.left{width:100%}

	.home div.top-content{display: block;}
	.home div.top-content::after{left: -15%; width: 450px; height: 450px;}
	.home div.top-content div.left{width: 100%; padding: 0 20px; float: unset;}
	.home div.top-content div.right{width: 100%;}

	#news-jobs{margin-top: 80px;}
	#news::after, #jobs::after{width: 375px; height: 375px; right: -10%;}
	#news::after{top: -65%;}
	#news, #jobs{padding: 30px 0; height: 265px;}
	#jobs{margin-top: 18px;}
	#news div.title, #jobs div.title{margin-bottom: 35px;}
	#news::before, #jobs::before{border-radius: unset;}
	#news_prev, #news_next, #jobs_prev, #jobs_next{top: 70.5%;}
	#news_prev, #jobs_prev {left: 15%;}
	#news_next, #jobs_next {right: 15%}
	div.right #news.show-sun, div.right #jobs.show-sun{display: none;}
	div.right #news.show-sun::before, div.right #jobs.show-sun::before{content: none;}

	.home div.bottom-content{display: block;}
	.home div.bottom-content div.left{width: 100%; padding: unset; float: unset;}
	.home div.bottom-content div.right{width: 100%;}

	#documents{padding: 30px 0; height: 275px;}
	#documents::after{width: 375px; height: 375px; left: -12%; top: -60%;}
	#documents div.title{margin-bottom: 35px;}
	#documents::before{border-radius: unset;}
	#documents ul li{width: 50%;}

	.home #partners{margin-top: 80px;}
	#partners li a > img{max-width: 60%;}

	.home footer div.footer-top{display: block; height: 500px;}
	.home footer div.footer-top div#map{height: 325px; float: left;}
	.home footer div.footer-top div.footer-contact{background: #212157; width: 100%; border-radius: unset; justify-content: center; position: relative; top: 0; left: 0; height: calc(100% - 325px); padding: unset;}
	.home footer div.footer-top div.footer-contact::after{width: 325px; height: 325px; top: -80%; right: -5%;}
	.home footer div.footer-top div.footer-contact div.logo-footer > img{width: auto; height: 98px;}
	.home footer div.footer-top div#contact{margin-top: unset;}

	div.copyright p{padding: 10px 0;}
	div.copyright p, div.copyright p a{line-height: 30px;}

	/***Internal Pages***/
	#slideshow{margin-top: 80px;}
	#slideshow:before{background-size: contain; height: 164px;}

	#breadcrumbs{height: 20px;}
	#breadcrumbs ul{display: none;} 
	body:not(.home) #blocs{height: auto; margin-top: 0; display: none;}

	body:not(.home) div.line{margin: 0 25px; width: calc(100% - 50px);}
	body:not(.home) div.left h2 > span::before {left: -14px;}

	#documents-list ul li {width: 90%;}
	#documents-list li a:before{background-position-x:25px}

	#submenu{width: calc(100% + 40px);margin-left:-20px;padding:0;margin-bottom: 20px;margin-top:-20px}
	#submenu::before{width: 100%; padding: unset; border-radius: unset;}
	#submenu::after{content: none;}
	#submenu.opened::after{content: ''; background: transparent url(images/sun.svg) no-repeat center; position: absolute; float: right;	width: 400px; height: 400px; top: -10%; left: -10%; z-index: -1; opacity: 0.1;}
	#submenu .page-title a{width:100%;background:transparent !important; padding: 20px 27px;}
	#submenu .page-title a strong, #submenu .page-title a:after{color:#fff !important;}
	#submenu .secondary-nav, #submenu .page-title a:before, #submenu .page-title a img, #submenu .page-title a svg{display:none}
	#submenu .page-title a:after{transition:transform .4s ease-in-out;content:'+';position:absolute;top: 16px;right:27px;font-size: 55px;}
	#submenu .secondary-nav{padding-top:0}
	#submenu .secondary-nav{padding: 30px 30px 30px 40px; float: left;width: 100%;}
	#submenu.opened .page-title a:after{transform:rotate(-45deg)}
	#submenu li{height: auto; margin: 0 0 10px 0;}
	#submenu li a{padding-bottom: 10px; font-size: 20px;}
	#submenu li a:before{top: -2px;}
	#submenu::after, div.left div.establishments::after, div.left div.sub-menu-blocs::after, div.left div.content::after, div.left div.content::after, div.left div.content.sun-show::before, div.left div.content.sun-show::after{content: unset;}

	div.left div.establishments div.estab{margin-bottom: 60px;}
	div.left div.establishments div.estab .estab-image{margin-right: 25px;}

	div.left div.sub-menu-blocs ul{justify-content: space-between;}
	div.left div.sub-menu-blocs ul li a span{padding: 20px 10px;}
	div.left div.sub-menu-blocs ul li{width: calc(33.3% - 15px); margin: 10px 0;}

	footer div.footer-top{display: block; height: 175px;}
	footer div.footer-top div.footer-contact{width: 100%; border-radius: unset; justify-content: center; align-items: center; position: relative; top: 0; left: 0; height: 100%; padding: unset;}
	footer div.footer-top div.footer-contact::after{width: 325px; height: 325px; top: -80%; left: unset; right: -5%;}
	footer div.footer-top div.footer-contact div.logo-footer > img{width: auto; height: 98px;}
	footer div.footer-top div#contact{margin-top: unset;}

	.page-template-template-news div.line ul.news_list li{height:265px}
	.page-template-template-news div.line ul.news_list li a{height:250px}
	.page-template-template-news div.line ul.news_list li h2{ font-size: 24px!important; line-height:32px}
	.page-template-template-news div.line ul.news_list li a strong{font-size:18px;}
	.page-template-template-news div.line ul.news_list li p {font-size:18px;line-height:24px;}
	.page-template-template-news div.line ul.news_list li div.img{height: 225px;}

}

@media(max-width: 425.9px) {
	
	/***All Pages***/
	p, ul li, ol li{font-size: 18px;}

	/* #logo a.home-link > h1 {font-size: 18px;} */
	header div.main-nav nav ul > li {margin-bottom: 20px;}
	header div.main-nav nav ul > li > a, header div.main-nav nav ul > li > ul > li > a, header div.main-nav nav ul > li.blocs-cloned > ul > li > a {font-size: 18px;}
	header div.main-nav nav ul > li.blocs-cloned a div.content, header div.main-nav nav ul.menu li.blocs-cloned ul.sub-menu li.parent > a {height: 45px; line-height: 45px;}
	header div.main-nav nav ul.menu > li.blocs-cloned.menu-item-has-children > a:after {top: 7.5px;}
	header div.main-nav nav ul > li > ul > li.menu-item > a, header div.main-nav nav ul > li.blocs-cloned > ul > li.menu-item > a {padding-bottom: 10px;}
	header div.main-nav nav ul > li > ul > li.menu-item, header div.main-nav nav ul > li.blocs-cloned > ul > li.menu-item{margin-bottom: 10px;}

	#slideshow{margin-top: 80px;}
	.home #slideshow, .home div.slideshow, .home div.slideshow ul, .home div.slideshow li{height: 135px;}

	.home #blocs{margin-top: unset;}
	#blocs li{width: calc(50% - 50px);}
	#blocs li a{height: 120px;}
	#blocs li a > div.content{border-radius: 18px;}
	#blocs li strong{font-size: 16px; top: 0; line-height: 18px;}
	#blocs li div.icon{height: 48px; bottom: 10px;}
	#blocs li:hover div.icon{height: 52px; bottom: 15px;}
	
	/***Front Page***/
	.home div.top-content div.left h2{padding-bottom: unset;}
	.home div.top-content div.left h2, #news div.title h2, #jobs div.title h2, #photos div.title h2, #documents div.title h2, #partners div.title h2{font-size: 35px;}
	.home div.top-content::after{width: 400px; height: 400px;}

	#news::after, #jobs::after {width: 350px; height: 350px; right: -20%;}
	#news::after{top: -60%;}
	#news ul li a article header h1, #jobs ul li a article header h1{font-size: 22px;}
	#news div.title a > span, #jobs div.title a > span, #news ul li a article > small, #jobs ul li a article > small, #news ul li a article > span, #jobs ul li a article > span, #photos div.title a > span, #documents div.title a > span, #documents ul li a > span, #partners div.title a > span{font-size: 14px;}
	#news_prev, #jobs_prev{left: 13%;}
	#news_next, #jobs_next{right: 13%;}

	#photos li{margin: 0 0 5px 0 !important; width:425px !important}

	#documents::after{width: 350px; height: 350px; left: -25%; top: -50%;}
	#documents ul li{padding-left: unset; width: 75%;}

	#partners ul{flex-direction: column; align-items: center; flex-wrap: wrap; margin: 20px 0;}
	#partners li{width: 100%; height: 120px; line-height: 120px;}
	#partners li a > img{max-width: 35%;}

	footer div.footer-top div#contact{width: 220px;}
	.home footer div.footer-top div.footer-contact::after, footer div.footer-top div.footer-contact::after{right: -15%; top: -85%;}

	div.copyright p{padding: 10px 5px;}
	div.copyright p, div.copyright p a{font-size: 15px;}

	/***Internal Pages***/
	#slideshow, div.slideshow, div.slideshow ul, div.slideshow li{height: 135px;}
	#slideshow:before {height: 142px; width: 102%; left: -1%;}

	#breadcrumbs {margin: 25px 15px;}

	body:not(.home) div.line {margin: 0 20px; width: calc(100% - 40px);}
	div.left h1{font-size: 45px; line-height: 50px;}
	div.left h2{font-size: 30px; line-height: 32px;}
	body:not(.home) div.left h2 > span::before{border-bottom: 26px solid #afcc4a; width: 4px; top: 9px; left: -10px;}
	div.left h3{font-size: 28px; line-height: 32px;}

	#submenu.opened::after{left: -20%; width: 350px; height: 350px;}
	#submenu .page-title a{font-size: 40px; padding: 16px 25px;}
	#submenu .page-title a:after{font-size: 50px; top: 12px; right: 25px;}

	.page-template-template-protected-job div.left h2{font-size: 32px;}

	div.left div.establishments{margin: 65px 0;}
	div.left div.establishments div.estab{flex-direction: column;}
	div.left div.establishments div.estab .estab-image{margin-right: unset;}
	div.left div.establishments div.estab .estab-image > img{width: 290px; height: 215px;}
	div.left div.establishments div.estab h3{font-size: 20px; margin-bottom: 12px;}
	div.left div.establishments div.estab .estab-coordinate{margin-top: 20px; width: 300px;}
	div.left div.establishments div.estab div.estab-coordinate p.estab-coord{font-size: 16px;}

	div.left div.sub-menu-blocs ul li {width: calc(50% - 10px);}
	div.left div.sub-menu-blocs ul li a{height: 175px;}
	div.left div.sub-menu-blocs ul li a span{font-size: 20px; line-height: 28px; padding: 15px 10px;}
	div.left div.sub-menu-blocs ul li div.icon{height: 60px; bottom: 15px;}
	div.left div.sub-menu-blocs ul li:hover div.icon{height: 65px; bottom: 20px;}

	.page-template-template-gallery #photos ul {margin-left: -15px; width: calc(100% + 30px); max-width: calc(100% + 30px);}
	.gallery.default .gallery-item {width: calc(50% - 2px);max-width: calc(50% - 2px)}
	.gallery.default .gallery-item:nth-child(2n+2) {margin-right:0}

	.page-template-template-news div.line ul.news_list li div.img{margin-bottom: 15px;width:100%;margin-right:0}
	.page-template-template-news div.line ul.news_list li h2{overflow: hidden;margin-top:10px; width: 100%; text-align: left;}
	.page-template-template-news div.line ul.news_list li{height:500px}
	.page-template-template-news div.line ul.news_list li a{height:485px}
	.page-template-template-news div.line ul.news_list li p {height: 120px; overflow:hidden}

	#jobs_form label, #jobs_form input[type=text], #jobs_form input[type=email], #jobs_form textarea {width:100%}
	#contact-form label, #contact-form input[type=text], #contact-form input[type=email], #contact-form textarea {width:100%}

	.single-post div.line div.container div.return a, #jobs_form label, a.back_offers, #jobs_form label, #jobs_form input[type=text], #jobs_form input[type=email], #jobs_form textarea, #jobs_form input[type=submit], #contact-form label, #contact-form input[type=text], #contact-form input[type=email], #contact-form, #contact-form input[type=submit]{font-size: 18px;}
	
	#documents-list ul li{width: 100%;}
}

@media(max-width: 375.9px) {
	
	/***All Pages***/
	p, ul li, ol li{font-size: 15px;}

	.home #blocs{margin-top: 15px;}
	#blocs li a{height: 112px;}
	#blocs li strong{font-size: 15px;}
	#blocs li div.icon{height: 42px;}
	#blocs li:hover div.icon{height: 46px;}

	/***Front Page***/
	.home div.top-content div.left h2, #news div.title h2, #jobs div.title h2, #photos div.title h2, #documents div.title h2, #partners div.title h2{font-size: 30px;}

	#news, #jobs, #documents{height: 225px; padding: 25px;}
	#news::after, #jobs::after{width: 300px; height: 300px; right: -20%; top: -50%;}
	#jobs::after{top: 10%;}
	#news div.title, #jobs div.title, #documents div.title, #partners div.title{margin-bottom: 20px;}
	#news div.title h2, #jobs div.title h2, #photos div.title h2, #documents div.title h2, #partners div.title h2{margin-bottom: 10px;}
	#news ul li, #jobs ul li{width: 75%; margin-left: 12.5%;}
	#news ul li a article header h1, #jobs ul li a article header h1{font-size: 20px; margin: 10px 0;}
	#news div.title a > span, #jobs div.title a > span, #news ul li a article > small, #jobs ul li a article > small, #news ul li a article > span, #jobs ul li a article > span, #photos div.title a > span, #documents div.title a > span, #documents ul li a > span, #partners div.title a > span{font-size: 12px;}
	#news_prev, #news_next, #jobs_prev, #jobs_next {top: 69.5%;}


	#photos li{width:375px !important}

	#documents::after{width: 300px; height: 300px; left: -22%;}
	#documents ul li{width: 85%;}
	#documents ul li span{font-size: 16px;}

	footer div.footer-top div#contact{padding: 0 0 0 20px;}
	
	/***Internal Pages***/
	#slideshow:before {height: 138px;}

	#breadcrumbs {margin: 25px 10px;}

	body:not(.home) div.line {margin: 0 15px; width: calc(100% - 30px);	}

	div.left h1 {font-size: 40px; line-height: 45px;}
	div.left h2 {font-size: 24px; line-height: 26px; margin: 30px 0;}
	body:not(.home) div.left h2 > span::before{border-bottom: 20px solid #afcc4a; width: 3px; top: 8px; left: -9px;}
	div.left h3{font-size: 22px; line-height: 26px;}

	#submenu .page-title a{line-height: 28px;}
	#submenu .page-title a strong{font-size: 32px;}
	#submenu .page-title a:after{font-size: 40px; top: 15px;}
	#submenu.opened::after{left: -15%; top: -8%; width: 300px; height: 300px;}

	.page-template-template-protected-job div.left h2{font-size: 28px;}

	div.left div.establishments{margin: 60px 0;}
	div.left div.establishments div.estab h3{font-size: 18px; margin-bottom: 10px;}
	div.left div.establishments div.estab div.estab-coordinate p.estab-coord{font-size: 15px;}

	div.left div.sub-menu-blocs ul li a{height: 130px; border-radius: 25px;}
	div.left div.sub-menu-blocs ul li a span{font-size: 18px; line-height: 24px; padding: 10px; top: 8px;}
	div.left div.sub-menu-blocs ul li div.icon{height: 50px; bottom: 8px;}
	div.left div.sub-menu-blocs ul li:hover div.icon{height: 55px; bottom: 12px;}

	.page-template-template-news div.line ul.news_list li a{height:480px}
	.page-template-template-news div.line ul.news_list li h2{font-size: 20px!important;}
	.page-template-template-news div.line ul.news_list li p, .page-template-template-news div.line ul.news_list li a strong{font-size: 15px;}

	.page-template-template-gallery #photos ul {margin-left: -10px; width: calc(100% + 20px); max-width: calc(100% + 20px);}

	.single-post div.line div.container div.return a, #jobs_form label, a.back_offers, #jobs_form label, #jobs_form input[type=text], #jobs_form input[type=email], #jobs_form textarea, #jobs_form input[type=submit], #contact-form label, #contact-form input[type=text], #contact-form input[type=email], #contact-form, #contact-form input[type=submit]{font-size: 15px;}

}

@media(max-width: 320.9px) {	

	/***All Pages***/
	#logo a.home-link{width: 225px!important; padding-left: 65px;}
	/* #logo a.home-link > h1{font-size: 13px;} */
	#logo a.home-link > h1{top: 0; line-height: 22px;}

	#blocs li{width: calc(50% - 32px);}
	#blocs li a{height: 94px;}
	#blocs li strong{padding: 12px 10px;}
	#blocs li div.icon{height: 38px;}
	#blocs li:hover div.icon{height: 42px;}

	/***Front Page***/
	.home div.top-content div.left h2, #news div.title h2, #jobs div.title h2, #photos div.title h2, #documents div.title h2, #partners div.title h2{font-size: 24px;}
	
	#news, #jobs{height: 210px; padding: 22px;}
	#news::after, #jobs::after{width: 250px; height: 250px; right: -30%; top: -40%;}
	#jobs::after{top: 5%;}
	#news div.title, #jobs div.title, #documents div.title, #partners div.title{margin-bottom: 15px;}
	#news div.title h2, #jobs div.title h2, #photos div.title h2, #documents div.title h2, #partners div.title h2{margin-bottom: 5px;}
	#news ul li a article header h1, #jobs ul li a article header h1{font-size: 18px; margin: 6px 0;}
	#news_prev, #news_next, #jobs_prev, #jobs_next{top: 66%;}
	#news_prev, #jobs_prev{left: 11%;}
	#news_next, #jobs_next{right: 11%;}

	#photos li{width:320px !important}

	#documents{height: 220px; padding: 22px 10px;}
	#documents::after{width: 250px; height: 250px; left: -25%; top: -40%;}
	#documents ul li{width: 90%;}

	.home footer div.footer-top div.footer-contact::after {width: 250px; height: 250px;	top: -40%; right: -20%;}

	/***Internal Pages***/
	#slideshow:before {height: 134px;}

	.page-template-template-protected-job div.left h2{font-size: 24px;}

	div.left h1{font-size: 32px; line-height: 37px;}
	div.left h2{font-size: 20px; line-height: 24px;}
	body:not(.home) div.left h2 > span::before{top: 5.5px;}
	div.left h3{font-size: 18px; line-height: 22px;}

	#submenu .page-title a strong{font-size: 30px;}
	
	div.left div.establishments div.estab h3{font-size: 17px;}
	div.left div.establishments div.estab .estab-image > div#img, div.left div.establishments div.estab .estab-coordinate{width: 290px;}

	div.left div.sub-menu-blocs ul li a{height: 115px; border-radius: 20px;}
	div.left div.sub-menu-blocs ul li a span{font-size: 16px; line-height: 20px; padding: 5px 10px;}
	div.left div.sub-menu-blocs ul li div.icon {height: 45px;}
	div.left div.sub-menu-blocs ul li:hover div.icon{height: 50px;}

	.gallery.default .gallery-item {width:100%;max-width: 100%;margin-right:0}

	div.copyright p{padding: 5px 5px;}
	div.copyright p, div.copyright p a{line-height: 23px;}

}

/******************************************************************************************************************************************************************************/

/***Animation***/
/* @keyframes menu-bkg {
    from, to { top: -205%; }
    50%  { top: 0%; }
} */
