 * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 0; }
html, body { overflow-x:hidden}
html { margin: 0; padding: 0; }
body { font-family: 'Raleway', sans-serif; font-size: 16px; line-height: 24px; color: #535353; }

::-moz-selection { background: #77a2ff; color:#fff; }
::selection { background: #77a2ff; color:#fff; }

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

.fancy { position: relative; }
.fancy:before { width: 100%; height: 100%; content: ''; background-color: #5d9a9f; opacity: 0; position: absolute; top: 0; left: 0; transition: opacity .2s ease-in-out; z-index: 1; }
.fancy:hover:before { opacity: .4; }
.fancy:after { width: 100%; height: 100%; content: ''; background-image: url('images/picto-zoom.svg'); background-size: 77px; background-position: center; background-repeat: no-repeat; opacity: 0; transition: opacity .2s ease-in-out; position: absolute; top: 0; left: 0; z-index: 2; }
.fancy:hover:after { opacity: 1; }

.resize { position: relative; overflow: hidden; z-index: 1; }
.resize > img { opacity: 0; position: absolute; top: 50% !important; left: 50% !important; filter: alpha(opacity=0); z-index: 0; }

.alignleft { float: left; margin: 0 1em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1em; }
.aligncenter { display: block; margin: 0 auto 1em; max-width:100%; height:auto }

header { height: 245px; }
header > .container { height: 100%; }
header .logo { width: 550px; height: 155px; background-size: 67px 110px; background-position: top +45px left; background-repeat: no-repeat; display: block; opacity: 0; position: absolute; top: -20px; padding-top: 45px; }
header .logo a {height: 100% !important;text-decoration: none;display: flex;align-items: center;padding-left: 80px;width: 100% !important;}
header .logo a > * { font-size: 34px; line-height: 36px; font-weight: normal; color: #414344; }
#logo {float:left;width:100%;height:100%}

.liseret { display: flex; align-items: flex-end; position: absolute; top: 20px; right: 0; }
.liseret .social a { font-size: 12px; font-weight: bold; text-decoration: none; color: #414141; }
.liseret .social a img { margin: 0 5px }

header .container > .contact { font-size: 12px; color: #414141; position: absolute; bottom: 70px; right: 0; }
header .container > .contact > * { text-decoration: none; color: #414141; position: relative; padding-left: 30px; margin-left: 15px; }
header .container > .contact span.phone a{text-decoration: none; color: #414141; position: relative;}
header .container > .contact span.address:before { width: 14px; height: 21px; content: ''; background: transparent url('images/header-pin.svg') center no-repeat; position: absolute; left: 10px; }
header .container > .contact span.phone:before { width: 17px; height: 17px; content: ''; background: transparent url('images/header-phone.svg') center no-repeat; background-size: cover; position: absolute; bottom: -1px; left: 10px; }
header .container > .contact a.mail:before { width: 20px; height: 13px; content: ''; background: transparent url('images/header-email.svg') center no-repeat; background-size: cover; position: absolute; top: 0; left: 5px; }
header .container > .contact > a:hover { text-decoration: underline; }

nav.main { width: 100%; height: 45px; background-color: #615d57; border-radius: 0 25px; position: absolute; bottom: 0; margin-top: 45px; padding: 0 25px; }
nav.main > ul { height: 100%; display: flex; flex-wrap: wrap; justify-content: space-around; overflow:hidden; }
nav.main > ul > li { border-bottom: 6px solid #818181; }
nav.main > ul li.social-mobile {display: none;}
nav.main > ul > li > a { width: 100%; height: 39px; font-weight: bold; text-decoration: none; line-height: 42px; color: #fff; opacity: 1; transition: color .2s ease-in-out, opacity .2s ease-in-out; display: block; position: relative; padding: 0 20px; }
nav.main > ul > li > a:hover { color: #818181; }
nav.main ul.sub-menu { display: none; }

nav.page > span {position: relative;width: 100%;font-weight: bold;color: #fff;min-height: 70px;height: auto;padding: 0 20px;display: flex;align-items: center;border-bottom: 1px solid #fff;}
nav.page > span:before {transition:transform .4s ease-in-out;content:'';background:transparent url(images/more.svg) no-repeat center center;background-size:29px;position:absolute;right:20px;top:15px;float:left;width:40px;height:40px}
nav.page > span.open:before {transform:rotate(45deg)}
nav.page ul { border-radius: 0 15px 15px 0; overflow: hidden; }
nav.page ul li { min-height: 70px; height: auto; background-size: 100% auto; background-position: center left; background-repeat: no-repeat; display: flex; position: relative; }
nav.page ul li:before { width: 100%; height: 100%; content: ''; background-color: #53504b; opacity: 1; transition: opacity .2s ease-in-out; position: absolute; top: 0; left: 0; z-index: 0; }
nav.page ul li:hover:before { opacity: .7; }
nav.page ul li:nth-child(2n+2):after, nav.page > span:after { width: 100%; height: 100%; content: ''; background-color: rgba(255, 255, 255, .2); position: absolute; top: 0; left: 0; z-index: 1; }
nav.page ul li a { width: 100%; min-height: 70px; height: 100%; font-weight: bold; text-decoration: none; color: #fff; display: flex; align-items: center; position: relative; z-index: 2; padding: 0 20px;}
section.page * + nav.page ul { margin-top: 30px; }
nav.page > span, nav.page ul li:before {background-color: #818181;}

.photos-categories { border-radius: 0 15px 15px 0; overflow: hidden; }
.photos-categories li { min-height: 70px; height: auto; font-weight: bold; cursor: pointer; color: #fff; background-color: #53504b; transition: background-color .2s ease-in-out; display: flex; align-items: center; position: relative; padding: 0 20px; }
.photos-categories li:hover { background-color: rgba(83, 80, 75, .9); }
.photos-categories li.current:after { width: 100%; height: 100%; content: ''; background-color: rgba(255, 255, 255, .2); position: absolute; top: 0; left: 0; z-index: 1; }

section.page .side.hub nav.page ul { border-radius: 0; display: flex; flex-wrap: wrap; justify-content: inherit; }
section.page .side.hub nav.page ul li { width: calc(25% - 5px); height: 270px; background-image: none !important; margin: 0 5px 5px 0; }
section.page .side.hub nav.page ul li:after { background-color: transparent; }
section.page .side.hub nav.page ul li:nth-child(8n+2):after,
section.page .side.hub nav.page ul li:nth-child(8n+4):after,
section.page .side.hub nav.page ul li:nth-child(8n+5):after,
section.page .side.hub nav.page ul li:nth-child(8n+7):after { width: 100%; height: 100%; content: ''; background-color: rgba(255, 255, 255, .2); position: absolute; top: 0; left: 0; z-index: 1; }
section.page .side.hub nav.page ul li a { justify-content: center; }
section.page .side.hub .add-infos { border-radius: 0; }

nav.home { width: 100%; height: 510px; }
nav.home ul { width: 100%; height: 100%; display: flex; justify-content: space-between; flex-basis: 0; flex-grow: 1; }
nav.home ul li { width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat; flex: 1; transition: flex .3s ease-in-out; position: relative; margin-right: 5px; background-size: cover;}
nav.home ul li:last-child { margin: 0; }
nav.home ul li:hover { flex: 2.5; }
nav.home ul li a { width: 100%; height: 100%; font-size: 25px; text-decoration: none; color: #fff; display: flex; justify-content: center; align-items: flex-end; position: relative; z-index: 1; padding: 30px 30px 65px 30px; }
nav.home ul li a:after { width: 100%; height: 30px; content: '+'; font-size: 34px; color: #fff; display: flex; justify-content: center; position: absolute; bottom: 15px; left: 0; z-index: 1; }

.mobile-menu { display: none; }

nav.square ul { width: 100%; display: flex; flex-wrap: wrap; }
nav.square ul li { width: 25%; height: 235px; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; }
nav.square ul li:before { width: 100%; height: 100%; content: ''; background-color: #53504b; opacity: 1; transition: opacity .25s ease-in-out; position: absolute; top: 0; left: 0; z-index: 0; }
nav.square ul li:nth-child(8n+2):before,
nav.square ul li:nth-child(8n+4):before,
nav.square ul li:nth-child(8n+5):before,
nav.square ul li:nth-child(8n+7):before { background-color: #615d57; }
nav.square ul li:hover:before { opacity: .7; }
nav.square ul li a { width: 100%; height: 100%; text-decoration: none; color: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; z-index: 1; }
nav.square ul li a img, nav.square ul li a svg { margin-bottom: 20px; width:45px; height:45px }
nav.square ul li a svg * {fill:#fff}
nav.square ul li a strong { position: relative; text-align: center;}
nav.square ul li a strong:before { width: 65px; content: ''; border-bottom: 2px solid #fff; position: absolute; bottom: -10px; left: calc((100% - 65px) / 2); }

section.page { margin: 20px 0; }
section.page > .container { display: flex; }
section.page > .container.thumb {flex-wrap: wrap;}
section.page > .container.thumb .thumbs {overflow:hidden;width:100%;height:225px;display: block;position: relative;margin-bottom: 20px;}
section.page > .container + .container { margin-top: 30px; }
section.page > .container > .title,
section.page .side { width: 260px; flex-shrink: 0; margin-right: 70px; }
section.page .side.hub { width: 100%; margin-right: 0; }
section.page .content { width:calc(100% - 330px); line-height: 30px; }
section.page .content > * + * { margin-top: 12px; }
section.page .content h2 { font-size: 16px; color: #5d9a9f; }
section.page .content > a { color: #5d9a9f; }
section.page .content ul li {position: relative; padding-left: 30px;}
section.page .content ul li::before {content: ""; width: 5px; height: 5px; background: #5d9a9f; position: absolute; top: 14px; left: 15px;}
section.page .title > h1 { font-size: 25px; line-height: 41px; color: #373737; position: relative; }
section.page .title > h1:before { width: 80px; content: ''; border-bottom: 4px solid #818181; position: absolute; bottom: -4px; left: 0; }

section.page .add-infos { font-size: 14px; line-height: 18px; background-color: #e0e0e0; border-radius: 0 15px 15px 0; padding: 20px; }
section.page * + .add-infos { margin-top: 20px; }

section.page .acc-content > .acc { width: 100%; flex-shrink: 0; }
section.page .acc-content > * + .acc { margin-top: 5px; }
section.page .acc-content > .acc > h2 { width: 100%; min-height: 42px; line-height: 24px; cursor: pointer; color: #fff !important; background-color: #818181; display: flex; align-items: center; position: relative; padding: 0 55px 0 15px; }
section.page .acc-content > .acc > h2:before,
section.page .acc-content > .acc > h2:after { width: 20px; height: 5px; content: ''; background-color: #fff; border-radius: 3px; transform: rotate(-90deg); transition: transform .25s ease-in-out; position: absolute; top: calc((100% - 5px) / 2); right: 15px; }
section.page .acc-content > .acc > h2:after { transform: rotate(0deg); right: 15px; }
section.page .acc-content > .acc > h2.opened:before,
section.page .acc-content > .acc > h2.opened:after { transform: rotate(0); }
section.page .acc-content > .acc:first-child > h2 { border-radius: 0 20px 0 0; }
section.page .acc-content > .acc > div > * + * { margin-top: 20px; }
section.page .acc-content > .acc > div { padding: 0 15px 25px; }

section.page .gallery { display: flex; justify-content: space-between; flex-wrap: wrap; }
section.page .gallery:after { width: 260px; content: ''; }
section.page .gallery .gallery-item { width: auto; max-width: 260px; margin: 0 0 25px 0; overflow: hidden; }
section.page .gallery .gallery-item a { width: 260px; height: 170px; display: block; border-radius: 10px; overflow: hidden; }
section.page .gallery .gallery-item a img { width: 260px; height: 170px; }
section.page .gallery .clear { display: none; }
section.page.gallery .gallery { margin: 0; }

.home-news { flex-wrap: wrap; justify-content: center; }
.home-news a { text-decoration: none; }
.home-news > a { width: 300px; display: flex; flex-direction: column; align-items: center; }
.home-news > a strong { font-size: 24px; color: #5f5c58; position: relative; padding-bottom: 12px; margin-bottom: 8px; }
.home-news > a strong:before { width: 90px; content: ''; border-bottom: 2px solid #68a1a5; position: absolute; bottom: 0; left: calc((100% - 90px) / 2); }
.home-news > a span { font-size: 13px; color :#8a8c8a; }
.home-news > a span:hover { text-decoration:underline}
.home-news > ul { width: 100%; height: 275px; display: flex; flex-wrap: wrap; justify-content: space-between; flex-shrink: 0; overflow: hidden; margin-top: 30px; }
.home-news > ul:not(.slide):after { width: 33%; content: ''; }
.home-news > ul li { width: 33%; height: 275px; line-height: 24px; background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0; position: relative; margin-bottom: 6px; }
.home-news > ul li:before { width: 100%; height: 100%; content: ''; background-color: #615d57; opacity: 1; transition: opacity .2s ease-in-out; position: absolute; top: 0; left: 0; }
.home-news > ul li.with-thumb:before { opacity: .85; }
.home-news > ul li.with-thumb:hover:before { opacity: .95; }
.home-news > ul li a { height: 100%; color: #fff; position: relative; display: block; padding: 60px 30px 30px; overflow: hidden; }
.home-news > ul li a .title { font-size: 20px; display: block; }
.home-news > ul li a .date { font-size: 12px; font-weight: bold; display: block; margin-bottom: 20px;  }
.home-news > ul li a .categories { height: 21px; display: flex; position: absolute; top: 21px; left: 30px; }
.home-news > ul li a .category { height: 21px; font-size: 13px; line-height: 21px; background-color: #414141; border-radius: 10px; display: block; padding: 0 10px; margin-right: 8px; }
.home-news > ul li a p { margin-bottom: 20px; }

section.page .home-content { width: 100%; height: 725px; /*background-size: 980px 725px; background-position: center left; background-repeat: no-repeat; */display: flex; justify-content: flex-end; align-items: center; position: relative; }
section.page .home-content > .thumb {position:absolute;width:85%;height:725px;float:left;overflow:hidden;left:0;top:0}
section.page .home-content > .content {width: 520px; height: 650px; text-align: justify; color: #fff; background-color: rgba(75, 143, 149, .9); border-radius: 0 20px 0 20px; overflow: auto; position: relative; padding: 40px 20px 40px 40px;z-index:2 }
section.page .home-content > .content ul li {position: relative; padding-left: 30px;}
section.page .home-content > .content ul li::before {content: ""; width: 5px; height: 5px; background: #fff; position: absolute; top: 14px; left: 15px;}
section.page .home-content > .content.height, .home-content.container.height {height:auto !important}
section.page .home-content > .content .scrollbar { padding-right: 20px; }
section.page .home-content > .content .scrollbar > * + * { margin-top: 25px; }
section.page .home-content > .content h2 { font-size: 24px; color: #fff; position: relative; padding-bottom: 20px; }
section.page .home-content > .content h2:before { width: 90px; content: ''; border-bottom: 2px solid #53504b; position: absolute; bottom: 0; left: 0; }

.home-events { width: 100%; height: 230px; align-items: center; }
.home-events .title { width: 160px; font-size: 24px; text-align: right; color: #66605a; }
.home-events .title strong span { color: #b3d0d2; display: block; }
.home-events .title a { font-size: 14px; text-decoration: none; text-transform: uppercase; color: #73a7ab; display: block; margin-top: 10px; }
.home-events .title a:hover { text-decoration: underline; }
.home-events ul { width: 100%; height: 100px; display: flex; }
.home-events ul li { width: 33%; height: 100%; position: relative; margin-left: 8px; }
.home-events ul li a { width: 100%; height: 100%; text-decoration: none; color: #66605a; opacity: 0; display: flex; align-items: center; position: absolute; top: -40px; }
.home-events ul li a > strong {padding-right:10px}
.home-events ul li a .date { width: 100px; height: 100px; font-size: 35px; color: #68a1a5; background-color: #b3d0d2; transition: color .2s ease-in-out, background-color .2s ease-in-out; border-radius: 50%; display: flex; flex-shrink: 0; flex-direction: column; justify-content: center; align-items: center; margin-right: 8px; }
.home-events ul li:hover a .date { color: #fff; background-color: #68a1a5; }
.home-events ul li a .date span { font-size: 14px; text-transform: uppercase; color: #fff; margin-top: 10px; }

.post-type-archive-events section.page .content {width: 100%;}
.events-list { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; overflow: hidden; }
.events-list:after { width: 33%; content: ''; }
.events-list li { width: 33%; height: 275px; background-color: #615d57; margin-bottom: 6px;margin-left: 0 !important;list-style: none !important;}
.events-list li a { width: 100%; height: 100%; text-decoration: none; color: #fff; display: block; padding: 30px; overflow: hidden; }
.events-list li a h2 { font-size: 20px; color: #fff !important; }
.events-list li a .date { font-size: 12px; font-weight: bold; display: block; margin-bottom: 20px; }
.events-list li a div { margin-bottom: 20px; }
.events-list li a span.read-more { float: right; }
.events-list li:hover a span.read-more { text-decoration: underline; }

.page-template-template-news section.page .content ul li, .post-type-archive section.page .content ul li, .page-template-template-partners-links section.page .content ul li {padding-left: 0;}
.page-template-template-news section.page .content ul li::before, .news-list ul li::before, .post-type-archive section.page .content ul li::before, .page-template-template-partners-links section.page .content ul li::before {content: none !important;}
.news-list ul { display: flex; flex-wrap: wrap; }
.news-list ul li { width: 100%; flex-shrink: 0; }
.news-list ul li + li { margin-top: 30px; }
.news-list ul li a { text-decoration: none; color: #535353; display: flex; opacity: 0; }
.news-list ul li a figure { width: 270px; height: 178px; flex-shrink: 0; align-self: center; margin-right: 30px; }
.news-list ul li a > div { width: 100%; border-bottom: 1px solid #5d9a9f; padding-bottom: 15px; }
.news-list ul li a > div .categories { height: 21px; display: flex; margin: 5px 0 15px; }
.news-list ul li a > div .category { height: 21px; font-size: 13px; line-height: 21px; border-radius: 10px; display: block; margin-right: 8px; }
.news-list ul li a > div .title { width: 100%; color: #5d9a9f; display: block; }
.news-list ul li a > div .date { font-size: 15px;  }
.news-list ul li a > div .read-more, .news-list ul li a > div .date{color:#b5b5b5}
.news-list ul li a:hover > div .read-more{text-decoration: underline;}

.home-gallery { width: 100%; height: 305px; }
.home-gallery a { text-decoration: none; }
section.page .home-gallery > .title { width: calc(100% - 470px); height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; justify-content: center; align-items: center; position: relative; margin-right: 5px; }
section.page .home-gallery > .title:before { width: 100%; height: 100%; content: ''; background-color: #5d9a9f; opacity: .5; position: absolute; top: 0; left: 0; z-index: 0; }
section.page .home-gallery > .title strong { font-size: 45px; font-weight: normal; color: #fff; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 0; }
section.page .home-gallery > .title strong:before { width: 200px; content: ''; border-bottom: 3px solid #fff; position: absolute; top: 50px; left: 0; }
section.page .home-gallery > .title strong span { font-size: 16px; margin-top: 40px; }
section.page .home-gallery > ul { width: 100%; height: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
section.page .home-gallery > ul li { width: 230px; height: 150px; position: relative; overflow: hidden; margin-bottom: 5px; }
section.page .home-gallery > ul li:before { width: 100%; height: 100%; content: ''; background-color: #5d9a9f; opacity: .5; transition: opacity .2s ease-in-out; position: absolute; top: 0; left: 0; z-index: 1; }
section.page .home-gallery > ul li:hover:before { opacity: 0; }
section.page .home-gallery > ul li a { width: 100%; height: 100%; display: block; position: relative;  }
section.page .home-gallery > ul li a:before { content: none; }

section.page .contact p { display: flex; justify-content: space-between; }
section.page .contact p.submit { display: flex; justify-content: space-between; align-items: center; position: relative; }
section.page .contact .recaptcha { display: flex; justify-content: flex-end; }
section.page .contact .recaptcha,
section.page .contact * + p { margin-top: 25px; }
section.page .contact label { width: 330px; flex-shrink: 0; }
section.page .contact input,
section.page .contact select,
section.page .contact textarea { width: 100%; height: auto; color: #5d9a9f; background-color: transparent; border: 1px solid #5d9a9f; border-radius: 2px; padding: 4px 8px; }
section.page .contact textarea { height: 64px; }
section.page .contact input[type="submit"] { width: auto; font-weight: bold; background-color: transparent; border: 1px solid #5d9a9f; transition: color .2s ease-in-out; position: relative; z-index: 1; padding: 8px 15px; }
section.page .contact input[type="submit"]:hover { color: #33cac8; }
section.page .contact p#email2{display:none}

section.page .gallery a.resize { width: 270px; height: 170px; position: relative; border-radius: 10px; margin: 0 0 10px 0; }
section.page .gallery a.resize > img { width: 100%; height: 100%; }

/** Newsletter **/
.blocNewsletter {display: flex;padding: 30px 40px;color: #fff;justify-content: space-between;align-items: center;background-color: #4b8f95;margin: 60px 0;overflow: hidden;}
.blocNewsletter div.subtitle {margin-bottom: 0;margin-right: 20px;}
.blocNewsletter div.subtitle h2 {color: #ffffff;font-weight: normal;line-height: 40px;background-color: transparent !important;}
.blocNewsletter div.subtitle:after {content: none !important;}
.blocNewsletter div.subtitle > h2:before {bottom: 15px;left: 5px;}
.blocNewsletter #mailpoet_form_1 {padding: 20px 0 0 0;}
.blocNewsletter #mailpoet_form_1 form.mailpoet_form {padding: 0;display: flex;flex-wrap: wrap;width: 415px !important;}
.blocNewsletter form input[type=email] {padding: 18px 15px 18px 25px !important;background-color: #ffffff !important;border: 0 !important;}
.blocNewsletter #mailpoet_form_1 .mailpoet_text, .blocNewsletter #mailpoet_form_1 .mailpoet_textarea {width: 460px !important;}
.blocNewsletter #mailpoet_form_1 .mailpoet_paragraph {margin-bottom: 10px !important;width: 100% !important;}
.blocNewsletter form input[type=email]::placeholder {color: #b7bbbd;opacity: 1;font-size: 1.2rem;font-weight: 100;}
.blocNewsletter form input[type=email]::-ms-input-placeholder {color: #b7bbbd;font-size: 1.2rem;font-weight: 100;}
.blocNewsletter form input[type=email]::-ms-input-placeholder {color: #b7bbbd;font-size: 0.8rem;font-weight: 100;}
.blocNewsletter form input[type=submit] {font-weight: normal !important;background-color: #5f5c58 !important;color: #ffffff !important;padding: 16px 40px !important;transition: background-color .25s ease-in-out;font-size: 1.2em;}
.blocNewsletter form input[type=submit]:hover {background-color: #373737 !important;}
.blocNewsletter #mailpoet_form_1 p.mailpoet_form_paragraph {display: none !important;}
.blocNewsletter #mailpoet_form_1 .mailpoet_validate_success {color: #b7bbbd !important;width: 70% !important;}
.blocNewsletter #mailpoet_form_1 .mailpoet_message {padding: 0 10px;}

.home-partners { flex-wrap: wrap; }
section.page .home-partners > .title { width: 100%; text-align: center; flex-shrink: 0;}
section.page .home-partners > a {width: 100%; display: flex; flex-direction: column; align-items: center; text-decoration: none;}
section.page .home-partners > a .title {color: #5f5c58;}
section.page .home-partners > a span {font-size: 13px;}
section.page .home-partners > a:hover span {text-decoration: underline;}
.home-partners ul { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-around; flex-shrink: 0; margin-top: 30px; }
.home-partners ul li { margin: 0 40px 30px; }
.post-type-archive section.page .content ul li, .page-template-template-partners-links section.page .content ul li {padding-left: 0;}
.post-type-archive section.page .content ul li::before, .page-template-template-partners-links section.page .content ul li::before {content: none;}
.post-type-archive-partners section.page .content {width: 100%;}
.post-type-archive-partners .partners {float: left; width: 100%;}
.post-type-archive-partners .partners li {float: left; width: calc(100% / 3 - 40px); text-align: center; height: 160px; line-height: 125px; margin: 20px 10px;}
.post-type-archive-partners .partners li figure img {max-width: 50%; height: auto;}
.post-type-archive-partners .partners li p {line-height: 28px;}

.categories ul { display: flex; margin-top: 20px; flex-wrap: wrap;}
.categories ul li { height: 30px; background-color: #414141; border-radius: 15px; overflow: hidden; margin: 0 8px 5px;}
.categories ul li a { height: 100%; line-height: 30px; text-decoration: none; color: #fff; transition: background-color .2s ease-in-out, color .2s ease-in-out; display: block; padding: 0 20px; }
.categories ul li a:hover { color: #fff; }

.page-template-template-download section.page .content ul li {padding-left: 0;}
.downloads li { width: 100%; background-color: #615d57; position: relative; margin: 3px 0; }
.downloads li:before { width: 100%; height: 100%; content: ''; background-color: #fff; opacity: 0; transition: opacity .2s ease-in-out; position: absolute; top: 0; left: 0; }
.downloads li:hover:before { opacity: .2; }
.downloads li:first-child { border-radius: 0 15px 0 0; }
.downloads li:last-child { border-radius: 0 0 0 15px; }
.downloads li a { width: 100%; height: 100%; text-decoration: none; color: #fff; display: block; position: relative; padding: 8px 50px 8px 15px; }
.downloads li a:after { width: 28px; height: 100%; content: ''; background-image: url('images/picto-download.svg'); background-size: 28px 28px; background-position: center; background-repeat: no-repeat; position: absolute; top: 0; right: 15px; }

.pagination { display: flex; justify-content: center; margin-top: 30px !important; margin-bottom:25px; flex-wrap:wrap;}
.pagination > * { height: 30px; line-height: 30px; color: #fff; background-color: #414141; border-radius: 15px; margin: 0 8px 10px; padding: 0 20px; }
.pagination a { text-decoration: none; color: #b3d0d2; }

#breadcrumbs { width:calc(100% - 330px); }
#breadcrumbs ul { display: flex; align-items: center; padding: 8px 0; }
#breadcrumbs ul li { padding-right: 10px; }
#breadcrumbs ul li,
#breadcrumbs ul li a { font-size: 14px; text-decoration: none; color: #b4b4b4; }
#breadcrumbs ul li a:hover { text-decoration: underline; }

form > .submit {clear: both;padding: 2em 0;}

p.rgpd{display: block !important;}
p.rgpd > input {width:auto !important;border:0 !important;border-radius:0 !important;padding:0 !important}

#jobs-list {margin-bottom:30px;}
#jobs-list, #jobs-list li {clear:both;width:100%;}
#jobs-list li {padding:1em 0;border-bottom:1px solid #eee}
#jobs-list li:before {content: none;}
#jobs-list li:last-child {border:0}
#jobs-list li a {text-decoration:none;width: 100%;border: 0}
#jobs-list li a div {color: #454545}
#jobs-list li a strong {text-transform:uppercase}
a.back_offers {color: #6e98f5;text-decoration: none;float:right;margin-top:20px;}
a.back_offers:hover { text-decoration: underline; }

#jobs_form {float: none;width:100%;margin: 2em auto 2em;}
#jobs_form > div, #jobs_form > p {margin:1em 0;clear: both}
#jobs_form > div, #jobs_form > p {margin:.5em 0;float:left;width:100%}
#jobs_form label {color:#422905;float:left;width: 30%;height: 30px;line-height: 30px;font-size:15px}
#jobs_form select, #jobs_form input, #jobs_form textarea{color:#422905;font-size:15px;border:1px solid #5d9a9f;background:#fff;width:70%;height:30px;padding: 2px 5px}
#jobs_form textarea{height:200px}
#job_cv, #job_lm {border:0 !important;float:right !important}
#re-captcha {float:left;width:70%}
div.g-recaptcha {float:right}
#jobs_form p.submit{width:100%}

#jobs_form input[type=submit] {width:auto;height: auto}
#jobs_form input[type=submit] {float:right;background-color: transparent;color: #5d9a9f;border: 1px solid #5d9a9f;transition: color .2s ease-in-out;text-transform: uppercase;padding: 10px 40px;font-size:18px}
#jobs_form input[type=submit]:hover { color: #33cac8; }
small.alert{float: right;width: 70%;text-align: left;color: #cc0000}
.job-content > * > * + * { margin-top: 20px; }

footer { width: 100%; color: #fff; }
footer.fixed {position:fixed;bottom:0;left:0}
footer a { text-decoration: none; color: #fff; }
footer > .container { width: 100%; height: 100%; display: flex; }
footer .infos { width: 100%; height: 100%; background-color: #5d9a9f; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; order: 0; padding: 30px 50px 20px; }

footer .infos .contact > * { display: block; position: relative; padding-left: 25px; }
footer .infos .contact > *:before { background-position: center left; background-repeat: no-repeat; position: absolute; top: 1px; left: 3px; }
footer .infos .contact > .address:before { width: 14px; height: 19px; content: ''; background-image: url('images/picto-footer-address.svg'); background-size: 14px 19px;  }
footer .infos .contact > .phone:before { width: 14px; height: 19px; content: ''; background-image: url('images/picto-footer-phone.svg'); background-size: 14px 19px;  }
footer .infos .contact > .mail:before { width: 14px; height: 14px; content: ''; background-image: url('images/picto-footer-mail.svg'); background-size: 14px 14px; top: 5px; }
footer .infos .contact > * + * { margin-top: 20px; }
footer .copyright p { font-size: 12px; line-height: 23px; text-transform: uppercase; }
footer .copyright p a:hover { text-decoration: underline; }
footer #map { width: calc(100% - 330px); height: 100%; order: 1; }

body.home footer { height: 465px; }
body.home footer .infos { width: 325px; display: block; margin-right: 5px; padding: 30px 20px 20px; }
body.home footer .infos .logo { display: block; margin: 0 auto 1em; }
body.home footer .infos .contact { margin: 30px 0; }

body.single-post section.page > div.container > div.title {position:absolute;top:245px;left:0}
body.single-post section.page > div.container > div#breadcrumbs {margin-left:330px}

@media (max-width: 1024.9px) {
    header > .container .contact,
    header > .container .liseret { right: 10px; }
    header > .container,
    section.page > .container { padding: 0 10px; }
	nav.main {width: calc(100% - 20px);}
    section.page .gallery a.resize { margin-bottom: 20px; }
	body.single-post section.page > div.container > div.title{left:10px}
}

@media (max-width: 768.9px) {
    header > .container { padding: 0; }
    header > .container > .contact,
    header > .container .liseret,
    nav.main > ul { display: none; }

    body { padding-top: 145px; }
    body > header { width: 100%; height: auto; background-color: #fff; position: fixed; top: 0; left: 0; z-index: 1000; }
    header .logo { width: 100%; height: 100px; background-size: 50px 80px; background-position: top +10px left +10px; opacity: 1; padding: 10px; position: relative; top: 0; }
	header .logo a{background-size: 50px 80px !important;}
	
    nav.main { width:100%;cursor: pointer; border-radius: 0; position: relative; bottom: inherit; margin-top: 0; padding: 0; }
    nav.main > ul { width: 100%; height: 100%; background-color: #414141; position: fixed; }
    nav.main > ul li { border-bottom: 1px solid rgba(255, 255, 255, .2) !important; border-left: 3px solid transparent; }
    nav.main > ul li.social-mobile {display: flex; justify-content:center;border-bottom:0 !important;}
    nav.main > ul li.social-mobile .social{margin-top:30px;}
    nav.main > ul li.social-mobile a{font-size:13px;padding:0 5px;color: #fff;text-decoration:unset;}
    nav.main > ul li:first-child { border-top: 1px solid rgba(255, 255, 255, .2) !important; }
    .mobile-menu { width: 100%; height: 100%; display: block; position: relative; padding: 0 10px; }
    .mobile-menu > span { font-size: 16px; line-height: 45px; text-transform: uppercase; color: #fff; }
    .mobile-menu > span > span { width: 19px; height: 2px; background-color: #fff; -webkit-transition-delay: 0s; transition-delay: 0s; position: absolute; top: 21px; right: 15px; }
    .mobile-menu > span > span:before,
    .mobile-menu > span > span:after {width: 100%;height: 100%;content: '';-webkit-transition: margin .2s ease-in-out;transition: margin .2s ease-in-out;-webkit-transition-delay: .2s;transition-delay: .2s;background-color: #fff;border-radius: 2px;position: absolute;left: 0;margin-top: -7px;}
    .mobile-menu > span > span:after {margin-top: 7px;}
    .mobile-menu > span > span.cross { -webkit-transition-delay: 0s; transition-delay: 0s; background: transparent; }
    .mobile-menu > span > span.cross:before,
    .mobile-menu > span > span.cross:after { -webkit-transition: -webkit-transform .2s ease-in-out; transition: -webkit-transform .2s ease-in-out; transition: transform .2s ease-in-out; transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); background: #fff; margin: 0; }
    .mobile-menu > span > span.cross:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

    nav.home { height: 350px; padding: 0 !important; }
    nav.home ul li:hover { flex: 1; }

	nav.page ul {max-height:0}
    nav.page ul,
    section.page .add-infos { border-radius: 0; }
    nav.page ul li:hover:before { opacity: 1; }
    nav.page ul li.parent a:before,
    nav.page ul li.parent a:after { width: 20px; height: 5px; content: ''; background-color: #fff; border-radius: 3px; transform: rotate(-90deg); transition: transform .25s ease-in-out; position: absolute; top: calc((100% - 5px) / 2); right: 15px; }
    nav.page ul li.parent a:after { transform: rotate(0deg); right: 15px; }
    nav.page ul.open li.parent a:before,
    nav.page ul.open li.parent a:after { transform: rotate(0); }

    .home-news { padding: 0 !important; }
    .home-news > ul { height: 325px; }
    .home-news > ul li { height: 325px; opacity: 1; }
    .home-news > ul li a { font-size: 14px; }

    .news-list ul li a { opacity: 1; }
	section.page .content {width:100%}
    section.page { margin-top: 5px; }
    section.page .home-content { padding: 0 !important; }
    section.page .home-content > .content, section.page .home-content > .thumb { width: 100%; border-radius: 0; }
	section.page .home-content > .thumb{display:none !important}
	
    .home-events { flex-wrap: wrap; }
    .home-events .title { width: 100% !important; text-align: center; margin: 0 !important; }
    .home-events .title span { display: inherit; }

    .home-events ul li a { opacity: 1; position: relative; top: 0; }

    .events-list li { width: calc(50% - 3px); }

    .photos-categories { border-radius: 0; }

    .home-gallery { height: auto; flex-wrap: wrap; }
    section.page .home-gallery > .title { width: 100%; height: 260px; margin-right: 0; }
    section.page .home-gallery > ul li { width: 370px; height: 190px; margin: 7px 0 0; }

    nav.square { padding: 0 !important; }
    nav.square ul li { height: 192px; }

    .home-partners ul {flex-direction: column; align-items: center;}
    .home-partners ul li {text-align: center;}
    .home-partners ul li img {max-width: 60%; height: auto;}

    section.page > .container > .title,
    section.page .side { width: 100%; }
    section.page .side + .content { margin-top: 30px; }
    section.page > .container { flex-wrap: wrap; }
    #breadcrumbs { display: none; }

    footer { height: auto !important; }
    footer > .container { flex-wrap: wrap; }
    footer #map { width: 100%; height: 250px; order: 0; }
    footer .infos { width: 100% !important; display: block; order: 1; }
    footer .infos .logo { display: block; margin: 0 auto 1em; }
    footer .infos .contact { text-align: center; margin: 30px 0; }
    footer .infos .contact > * { padding: 25px 0 0 0; }
    footer .infos .contact > *:before { width: 100% !important; background-position: center !important; }
    footer .copyright { text-align: center; }

    .blocNewsletter {flex-direction: column;}
	.blocNewsletter div.subtitle {margin-right: unset;text-align: center;}
	.blocNewsletter #mailpoet_form_1 .mailpoet_text, .blocNewsletter #mailpoet_form_1 .mailpoet_textarea, .blocNewsletter #mailpoet_form_1 form.mailpoet_form {width: 100% !important;}
	
}

@media (max-width: 425.9px) {
    nav.home { height: auto; }
    nav.home ul { display: block; }
    nav.home ul li { height: 95px; background-position: center; margin-bottom: 3px; }
    nav.home ul li a { align-items: center; padding: 0; }
    nav.home ul li a:after { width: auto; align-items: center; position: relative; bottom: inherit; left: inherit; margin-left: 6px; }

    .home-news > ul { height: 250px; }
    .home-news > ul li { width: 100%; height: 100%; }

    .home-events { height: auto; }
    .home-events ul { height: auto; flex-wrap: wrap; }
    .home-events ul li { width: 100%; padding-left: 0; margin-bottom: 10px; }
    .events-list li { width: 100%; }

    nav.square ul li { width: 50%; }
    nav.square ul li:before { background-color: #53504b !important; }
    nav.square ul li:nth-child(8n+2):before,
    nav.square ul li:nth-child(8n+3):before,
    nav.square ul li:nth-child(8n+6):before,
    nav.square ul li:nth-child(8n+7):before { background-color: #615d57 !important; }

    section.page .home-gallery > .title strong:before { left: calc((100% - 200px) / 2); }
    section.page .home-gallery > .title strong span { text-align: center; }
    section.page .home-gallery > ul li { width: calc(50% - 3px); }

    section.page .gallery { justify-content: center; }

    section.page .contact p { flex-wrap: wrap; }

    .news-list ul li a { flex-wrap: wrap; justify-content: center; }
    .news-list ul li a figure { margin: 0 0 20px 0; }

    #jobs_form label { float: none; width: 100%; display: block; }
    #jobs_form input, #jobs_form textarea { width: 100%; }
    #re-captcha { width: auto; float: none; }
	body.single-post section.page > div.container > div.title{width: 100%;position: relative;top: 0;left: 0;}
	body.single-post section.page > div.container > div.content{margin-top:0}

    .post-type-archive-partners .partners li {width: 100%; margin-left: 0;}

    img.aligncenter, img.alignleft, img.alignright, section.page .content p > img {display: block; float: none; margin: 0 auto 1em; max-width: 100%; height: auto;}
    table{max-width: 100%; height: auto;}
	
	div:not(.g-recaptcha) iframe:not(.fancybox-iframe), iframe:not(.fancybox-iframe), iframe.embed-doc{width:100% !important;height:auto !important}

    body.page-template-template-contact div:not(.g-recaptcha) iframe:not(.fancybox-iframe), body.page-template-template-contact iframe:not(.fancybox-iframe) {height: 100% !important;}
}
