/*
Theme Name: Café de Paris
Theme URI: https://wordpress.org/themes/cafe_paris/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Café de Paris is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Café de Paris elevates your portfolio, business website, or personal blog.
Requires at least: 5.3
Tested up to: 6.0
Requires PHP: 7.4
Version: 2.55
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cafe_paris
Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready

Café de Paris WordPress Theme, (C) 2020 WordPress.org
Café de Paris is distributed under the terms of the GNU GPL.
*/

/* Oops! CSS */
body, html, * { box-sizing: border-box; font-family: 'Zilla Slab', serif; font-size: 30px; font-weight: 400; color: #000; line-height: 1.5; transition: font-size 0.5s ease; padding: 0; margin: 0; scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.noScroll { overflow: hidden; }
.site { position: fixed; z-index: 2; width: 100%; }

@media screen and (max-width: 650px) {
	body, html, * { font-size: 18px; }
}

/* miscellaneous */
ul, ol { margin: 0 0 20px 20px; padding: 0 0 0 15px; }
li { margin: 0; padding: 0 0 10px; }
a { text-decoration: none; color: #a98b8f; transition: color 0.5s ease; font-size: inherit; font-weight: inherit; }
a:hover { color: #a98b8f; }
a:visited { color: #a98b8f; }
.with-gap { padding-top: 40px; }
h1 { font-size: 60px; font-family: 'Montserrat', sans-serif; color: #54171f; font-weight: 700; line-height: 1.2; padding: 0; margin: 0; text-transform: uppercase; transition: font-size 0.5s ease; }
h2 { font-size: 45px; font-family: 'Montserrat', sans-serif; font-weight: 700; line-height: 1.2; text-transform: uppercase; transition: font-size 0.5s ease, padding 0.5s ease; }
h3 { font-size: 25px; font-family: 'Zilla Slab', serif; font-weight: 700; line-height: 1.2; text-transform: uppercase; transition: font-size 0.5s ease, padding 0.5s ease; }

/* Preloader */
#preloader { position: fixed; top:0; left:0; right:0; bottom:0; background-color:#fff; z-index: 1100; }
#status { max-width: 470px; position:absolute; left:50%; top:50%; transform: translate(-50%, -50%); margin: 0; }

/* =============================================================================================================================================================== */
/* main menu & header */
.home .site-header { position: relative; width: 100%; padding: 50px 0 25px 115px; display: flex; justify-content: space-between; flex-wrap: nowrap; align-items: center; z-index: 1005; transition: padding 0.5s ease; }
.site-header { position: relative; width: 100%; padding: 30px 0 13.5vh 55px; display: flex; justify-content: space-between; flex-wrap: nowrap; align-items: center; z-index: 1005; transition: padding 0.5s ease; }

.home-page-logo { position: relative; width: 121px; height: 222px; }
.sec-page-logo { position: relative; width: 136px; }
.home .sec-page-logo { display: none; }
.sec-page-top-image { position: relative; width: 100%; height: 100vh; height: calc(86.5vh - 140px); padding: 0 10% 10vh 0; display: flex; align-items: center; justify-content: end; transition: width 0.5s ease, height 0.5s ease, padding 0.5s ease; }
.sec-page-top-image img { max-height: 100%; max-width: 100%; }
.sec-page-top-title { position: absolute; top: 80px; left: 100px; }

.sub-menu-toggle { display: none; }
.home-page-navigation { position: absolute; left: 240px; top: 155px; width: 90%; width: calc(100% - 240px); text-align: center; }
.sec-page-navigation { position: absolute; left: 190px; top: 80px; width: 90%; width: calc(100% - 190px); text-align: center; }
.primary-navigation { position: relative; width: auto; text-align: right; }
.primary-menu-container { position: relative; width: 100%; height: 100%; }
#primary-menu-list { position: relative; padding: 0; margin: 0; list-style-type: none; display: flex; justify-content: center; flex-wrap: nowrap; align-items: center; }
#primary-menu-list > li { position: relative; padding: 12px 0; margin: 0 20px; cursor: pointer; font-size: 15px; line-height: 1; border-top: 1px solid #fff; border-bottom: 1px solid #fff; transition: border-color 0.5s ease; }
#primary-menu-list li a { font-family:'Zilla Slab', serif; font-size: 15px; font-weight: 700; color: #54171f; transition: font-size 0.5s ease; text-transform: uppercase; line-height: 1; padding: 0; margin: 0; letter-spacing: 1px; }
#primary-menu-list > li.current-menu-item,
#primary-menu-list li.current_page_ancestor { border-top: 1px solid #54171f; border-bottom: 1px solid #54171f; }
#primary-menu-list li.menu-item-has-children,
#primary-menu-list li.current-menu-item.menu-item-has-children,
#primary-menu-list li.current_page_ancestor.menu-item-has-children { border-bottom: 1px solid #fff !important; }
#primary-menu-list li.current_page_ancestor { border-top: 1px solid #54171f; }
#primary-menu-list ul.sub-menu { width: 100%; max-height: 0px; list-style-type: none; position: absolute; top: 100%; left: 0; padding: 0 0 10px 0; margin: 0; border-bottom: solid 1px #fff; overflow: hidden; text-align: left; transition: max-height 0.5s ease-in-out, border-color 0.5s ease; }
#primary-menu-list li.current_page_ancestor ul.sub-menu { max-height: 1px; border-bottom: 1px solid #54171f; }
#primary-menu-list ul.sub-menu > li { font-size: 13px; line-height: 1; }
#primary-menu-list ul.sub-menu > li a { font-size: 13px; line-height: 1; }
#primary-menu-list li.menu-item-has-children:hover > ul.sub-menu { max-height: 500px; border-bottom: solid 1px #54171f; }
#primary-menu-list > li:hover { border-top: 1px solid #54171f; border-bottom: 1px solid #54171f; }
#primary-menu-list ul.sub-menu > li:hover a { color: #a98b8f; } 
#primary-menu-list > li:last-child a { color: #a98b8f !important; font-style: italic; }
#primary-menu-list > li:last-child:hover { border-top: 1px solid #fff; border-bottom: 1px solid #fff; }

#menuToggle { display: none; position: absolute; top: 30px; right: 30px; z-index: 1; -webkit-user-select: none; user-select: none; padding: 6px 0 0; margin: 0; }
#menuToggle a { text-decoration: none; color: #54171f; transition: color 0.3s ease; }
#menuToggle a:hover { color: #a98b8f; }
#menuToggle input { display: block; width: 40px; height: 36px; position: absolute; top: -1px; left: -3px; cursor: pointer; opacity: 0; z-index: 2; -webkit-touch-callout: none; }
#menuToggle span { display: block; width: 33px; height: 2px; margin-bottom: 8px; position: relative; background: #54171f; border-radius: 0; z-index: 1; transform-origin: 4px 0px; transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), background 0.5s cubic-bezier(0.77,0.2,0.05,1.0), opacity 0.55s ease; }
#menuToggle span:first-child { transform-origin: 0% 0%; }
#menuToggle span:last-child { transform-origin: 0% 100%; }

@media screen and (min-width: 1600px) {
	#primary-menu-list li a { font-size: 20px; }
	#primary-menu-list ul.sub-menu > li a { font-size: 16px; }
}
@media screen and (max-width: 1500px) {
	.sec-page-top-image { padding: 0 40px 10vh 0; }	
}
@media screen and (max-width: 1375px) {
	.home-page-logo { display: none; }
	.home .sec-page-logo { display: block; }
	.home .site-header { position: relative; width: 100%; padding: 30px 0 85px 0; display: flex; justify-content: center; flex-wrap: wrap; }
	.site-header { position: relative; width: 100%; padding: 30px 0 25px 0; display: flex; justify-content: center; flex-wrap: wrap; }
	.sec-page-logo { margin: 0 0 30px; }
	.home-page-navigation { position: relative; left: 0; top: auto; width: 100%; text-align: center; }
	.sec-page-navigation { position: relative; left: 0; top: auto; width: 100%; text-align: center; }
	.sec-page-top-image { width: 100%; height: 100vh; height: calc(100vh - 236px); padding: 10vh 40px 10vh 0; }
	.sec-page-top-image img { max-height: 55vh; max-width: 100%; }
}
@media screen and (max-width: 1150px) {
	.home-page-logo { display: block; }
	.home .sec-page-logo { display: none; }
	#menuToggle { display: block; }
	.primary-menu-container { display: none; }
	#site-navigation { position: absolute; top: 0; left: 0; }
	.site-header { justify-content: center; padding: 30px 0 40px 30px; }
	.home .site-header { padding: 30px 0 45px 0; }
	.sec-page-top-image { width: 100%; height: 100vh; height: calc(100vh - 210px); padding: 0 40px 20vh 40px; justify-content: center; }
	.sec-page-top-title { top: auto; left: 50%; bottom: 10vh; transform: translateX(-50%); }
}
@media screen and (max-width: 875px) {
	.sec-page-top-image img { width: 778px; max-width: 100%; }
}
@media screen and (max-width: 700px) {
	.sec-page-top-title h1 { font-size: 45px; }
}
@media screen and (max-width: 650px) {
	.sec-page-top-image img { width: 130%; max-width: 700px; }
}
@media screen and (max-width: 525px) {
	.sec-page-top-title h1 { font-size: 38px; }
}

/* mobile menu */
.mobile-menu-holder { position: fixed; top: 0; left: 100vw; left: calc(100vw + 70px); height: 100%; width: 0; opacity: 0; overflow-y: scroll; background-color: #54171f; padding: 0; margin: 0; z-index: 1003; transition: width 0.5s ease, left 0.5s ease, opacity 0.5s ease; }
.mobile-menu-holder.open { width: 100%; left: 0; opacity: 1; }
.mobile-menu-holder > div { position: relative; width: 100%; min-height: 100%; }
.close-mobile-menu { position: absolute; top: 30px; right: 30px; cursor: pointer; font-size: 1px; font-weight: 400; color: #fff; }
.close-mobile-menu img { width: 30px; height: 30px; }
.mobile-menu-holder .logo-menu-holder { position: relative; width: 136px; padding: 80px 0; margin: 0 auto; }
.mobile-menu-holder .logo-menu-holder img { max-width: 100%; height: auto; }
.mobile-navigation-holder { position: relative; margin: 0 auto; }
.mobile-menu-container { position: relative; display: flex; justify-content: start; width: 360px; max-width: 80%; margin: 0 auto; padding: 0 0 140px 0; }
#mobile-menu-list { position: relative; list-style-type: none; padding: 0; margin: 0; width: 100%; border-top: 3px solid #fff; border-bottom: 2px solid #fff; }
#mobile-menu-list > li { padding: 9px 0; border-bottom: 1px solid #fff; width: 100%; font-size: 15px; }
#mobile-menu-list li a { color: #fff; font-size: 15px; font-weight: 700; text-transform: uppercase; }
#mobile-menu-list ul { list-style-type: none; margin: 0; padding: 2px 0 0 0; }
#mobile-menu-list ul li { margin: 0; padding: 1px 0; font-size: 15px; }
#mobile-menu-list > li:last-child { display: none; }
.lang-switcher { position: absolute; bottom: 60px; left: 50%; transform: translateX(-180px); width: 360px; max-width: 80%; margin: 0; padding: 0; font-size: 15px; }
.lang-switcher a { font-size: 15px; color: #a98b8f; font-style: italic; text-transform: uppercase; font-weight: 700; }

/* =============================================================================================================================================================== */
/* home page */
.home-page-top-image { position: relative; width: 100%; height: 100vh; height: calc(100vh - 297px); padding: 0 5% 13vh 19.5%; display: flex; align-items: center; justify-content: center; transition: width 0.5s ease, padding 0.5s ease; }

.home-container { position: relative; width: 100%; padding: 25vh 0 30vh 0; margin: -5px 0 0 0; background-color: #54171f; transition: padding 0.5s ease; }
.home-container > div { position: relative; width: 1095px; margin: 0 auto; transition: width 0.5s ease; } 
.home-container > div p { font-size: 30px; color: #fff; font-family: 'Zilla Slab', serif; font-weight: 400; transition: font-size 0.5s ease; }
.home-container > div:last-child { position: absolute; bottom: -100px; right: 0; width: 28%; transition: width 0.5s ease; }

.home-testimonial { position: relative; width: 100%; padding: 25vh 0; margin: -5px 0 0 0; background-color: #fbe8e6; }
.home-testimonial > div { position: relative; width: 1095px; margin: 0 auto; } 
.home-testimonial > div p { font-size: 30px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; font-style: italic; transition: font-size 0.5s ease; }
.home-testimonial .auteur { display: flex; flex-wrap: nowrap; justify-content: start; }
.home-testimonial .auteur > div:first-child { width: 25px; font-size: 18px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; line-height: 1.25; }
.home-testimonial .auteur > div:last-child p { font-size: 18px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; line-height: 1.25; font-style: normal; }

@media screen and (max-width: 1525px) {
	.home-container { padding: 25vh 19% 30vh 19%; }
	.home-container > div { width: 100%; }
}
@media screen and (max-width: 1450px) {
	.home-container > div:last-child { width: 400px; }
}
@media screen and (max-width: 1375px) {
	.home-page-top-image { width: 1025px; padding: 0 0 10vh 0; margin: 0 auto; align-items: flex-start; }
	.home-container > div p,
	.home-testimonial > div p { font-size: 25px; line-height: 1.28; }
}
@media screen and (max-width: 1150px) {
	.home-page-top-image { padding: 5vh 0 5vh 0; }
}
@media screen and (max-width: 1025px) {
	.home-page-top-image { left: 50%; transform: translateX(-50%); transform: translateX(calc(-50% + 35px)); }
}
@media screen and (max-width: 1000px) {
	.home-container { padding: 25vh 0 30vh 0; }
	.home-container > div { width: 610px; margin: 0 auto; }
}
@media screen and (max-width: 840px) {
	.home-page-top-image { width: 122vw; }
}
@media screen and (max-width: 710px) {
	.home-container { padding: 5vh 30px 20vh 30px; }
	.home-container > div { width: 100%; }
	.home-container > div p { font-size: 22px; }
	.home-container > div:last-child { width: 300px; }
}

/* =============================================================================================================================================================== */
/* secondary pages */

/* a propos page */
.sec-maroon-content-container { position: relative; width: 100%; padding: 25vh 0 30vh 0; margin: -1px 0 0 0; background-color: #54171f; z-index: 3; }
.sec-maroon-content-container > div { position: relative; width: 1095px; margin: 0 auto; } 
.sec-maroon-content-container > div p { font-size: 30px; color: #fff; font-family: 'Zilla Slab', serif; font-weight: 400; transition: font-size 0.5s ease; }
.sec-maroon-content-container > div h2 { color: #fff; padding: 0 0 30px 0; margin: 0; }
.sec-maroon-content-container > div:last-child { position: absolute; bottom: -220px; right: 8.5%; width: 24%; }

@media screen and (max-width: 1700px) {
	.sec-maroon-content-container > div:last-child { width: 400px; }
}
@media screen and (max-width: 1525px) {
	.sec-maroon-content-container { padding: 25vh 19% 30vh 19%; }
	.sec-maroon-content-container > div { width: 100%; }
}
@media screen and (max-width: 1375px) {
	.sec-maroon-content-container > div h2 { font-size: 37px; }
	.sec-maroon-content-container > div p { font-size: 25px; line-height: 1.28; }
}
@media screen and (max-width: 1000px) {
	.sec-maroon-content-container { padding: 25vh 0 30vh 0; }
	.sec-maroon-content-container > div { width: 610px; margin: 0 auto; }
	.sec-maroon-content-container > div:last-child { width: 300px; }
}
@media screen and (max-width: 710px) {
	.sec-maroon-content-container { padding: 5vh 30px 20vh 30px; }
	.sec-maroon-content-container > div { width: 100%; }
	.sec-maroon-content-container > div h2 { font-size: 33px; }
	.sec-maroon-content-container > div p { font-size: 22px; }
}

.sec-white-content-container { position: relative; padding: 20vh 7.8% 15vh 7.8%; margin: -1px 0 0 0; width: 100%; background-color: #fff; z-index: 2; }
.sec-white-content-container > div:first-child { position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; }
.sec-white-content-container > div:first-child > div { position: relative; width: 46.65%; border-top: 1px solid #54151e; padding: 20px 0 0 0; }
.sec-white-content-container > div:first-child > div h2 { font-size: 30px; color: #54151e; padding: 0 0 15px 0; margin: 0; }
.sec-white-content-container > div:first-child > div h3 { color: #54151e; padding: 0 0 10px 0; margin: 0; }
.sec-white-content-container > div:first-child > div p { font-size: 22px; color: #54151e; }
.apropos-bottom-image { position: relative; margin: -80px 0 0 -30px; width: 48%; transition: width 0.5s ease; }
.apropos-bottom-image img { width: 100%; }

@media screen and (max-width: 1200px) {
	.sec-white-content-container { padding: 20vh 19% 15vh 19%; }
	.sec-white-content-container > div:first-child { flex-wrap: wrap; justify-content: start; }
	.sec-white-content-container > div:first-child > div { width: 100%; padding: 20px 0 80px 0; }
	.apropos-bottom-image { margin: 0 0 0 -30px; width: 80%; }
}
@media screen and (max-width: 1000px) {
	.sec-white-content-container { padding: 20vh 0 15vh 0; }
	.sec-white-content-container > div:first-child > div { width: 610px; margin: 0 auto; }
	.apropos-bottom-image { width: 425px; margin: 0 auto; }
}
@media screen and (max-width: 710px) {
	.sec-white-content-container { padding: 15vh 30px 10vh 30px; }
	.sec-white-content-container > div:first-child > div { width: 100%; }
	.sec-white-content-container > div:first-child > div { font-size: 22px; }
}
@media screen and (max-width: 710px) {
	.apropos-bottom-image { width: 90%; }
}
/* equipe page */
.sec-page-top-equipe { position: relative; width: 100%; min-height: 100vh; min-height: calc(100vh - 275px); padding: 0 0 15vh 27%; transition: padding 0.5s ease, margin 0.5s ease; }
.equipe-holder { position: relative; display: flex; align-items: flex-start; justify-content: start; flex-wrap: wrap; }
.equipe-holder > div { width: 370px; position: relative; padding: 0 35px 70px 35px; }
.equipe-holder > div > div:first-child { position: relative; width: 100%; padding: 100% 0 0 0; background-size: cover; background-position: center center;  }
.equipe-holder > div > div:last-child { position: relative; padding: 10px 0 0 0; margin: 0; }
.equipe-holder > div > div:last-child h3 { font-family: 'Montserrat', serif; font-size: 15px; font-weight: 700; color: #54171f; text-transform: uppercase; }
.equipe-holder > div > div:last-child p { font-family: 'Zilla Slab', serif; font-size: 15px; font-weight: 400; color: #54171f; }
.spacer-0 { display: block; }
.spacer-1 { display: none; }

@media screen and (max-width: 1535px) {
	.sec-page-top-equipe { padding: 0 0 15vh 0; }
	.equipe-holder { width: 1110px; margin: 0 30px 0 auto; }
	.spacer-0 { display: none; }
	.spacer-1 { display: block; }
}
@media screen and (max-width: 1375px) {
	.sec-page-top-equipe { margin-top: 10vh; }
}
@media screen and (max-width: 1225px) {
	.post-100 .sec-page-top-title,
	.post-117 .sec-page-top-title { top: 0; left: 50%; transform: translateX(-50%); }
	.equipe-holder { padding: 150px 0 0 0; margin: 0 auto; max-width: 100%; justify-content: center; }
	.spacer-1 { display: none; }
}
@media screen and (max-width: 700px) {
	.sec-page-top-equipe { padding: 0 0 10vh 0; }
}

/* contact page */
.sec-page-top-contact { position: relative; width: 100%; min-height: 100vh; min-height: calc(100vh - 275px); padding: 80px 65px 15vh 46%; transition: padding 0.5s ease, margin 0.5s ease; }
.contact-holder { position: relative; max-width: 520px; }
.contact-holder h2 { font-size: 30px; font-weight: 700; padding: 0 0 15px; color: #54171f; }
.contact-holder h3 { font-size: 25px; font-family: 'Zilla Slab', serif; font-weight: 700; padding: 0 0 10px; color: #54171f; }
.contact-holder p { font-family: 'Zilla Slab', serif; font-weight: 400; font-size: 22px; color: #54171f; }
.contact-logo { padding: 60px 0 0 0; }
.contact-logo p { font-size: 18px; color: #54171f; padding: 0 0 10px; font-weight: 500; }

@media screen and (max-width: 1150px) {
	.sec-page-top-contact { padding: 80px 65px 15vh 65px; }
	.post-8 .sec-page-top-title,
	.post-34 .sec-page-top-title { width: 520px; text-align: left; top: 0; left: 50%; transform: translateX(-50%); }
	.contact-holder { margin: 120px auto 0 auto; }
}
@media screen and (max-width: 710px) {
	.sec-page-top-contact { padding: 80px 30px 15vh 30px; }
	.post-8 .sec-page-top-title,
	.post-34 .sec-page-top-title { width: auto; left: 30px; transform: translateX(0%); }
	.contact-holder { max-width: 100%; }
}

/* francophonie page */
.page-id-241 .sec-page-top-image,
.page-id-243 .sec-page-top-image { height: calc(100vh - 227px); padding: 0 10% 10vh 0; margin: -60px 0 0 0; display: flex; align-items: center; justify-content: end; transition: width 0.5s ease, height 0.5s ease, padding 0.5s ease, background-position 0.5s ease, background-size 0.5s ease; background-size: contain; background-repeat: no-repeat; background-position: top center; }
.page-id-241 .sec-page-top-title,
.page-id-243 .sec-page-top-title { top: 140px; }
.sec-blue-franc-container { position: relative; width: 100%; padding: 15vh 8.6% 0 8.6%; margin: -1px 0 0 0; background-color: #32567f; z-index: 3; }
.sec-blue-stats-holder { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
.stat-holder { width: 395px; margin: 0 10% 150px 0; margin: 0 calc((100% - 1185px) / 2) 150px 0; padding: 0; text-align: center; }
.sec-blue-stats-holder > div:nth-child(3n) { margin: 0 0 150px; }
.stat-holder > div:first-child { position: relative; width: 60%; margin: 0 20% 50px 20%; padding: 60% 0 0 0; background-position: center center; background-size: contain; background-repeat: no-repeat; }
.stat-holder > div:first-child > div { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.stat-holder > div:first-child > div h3 { color: #fff; font-weight: 700; font-family: 'Montserrat', sans-serif; font-size: 30px; padding: 0; margin: 0; }
.stat-holder > div:first-child > div h4 { color: #fff; font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 25px; padding: 0; margin: 0; }
.stat-holder > div:nth-child(2) { height: 1px; width: 100%; background-color: #fff; }
.stat-holder p { color: #fff; font-size: 25px; padding: 20px 0 0 0; }

.sec-white-franc-container { position: relative; width: 100%; padding: 12.5vh 0; margin: -1px 0 0 0; background-color: #fff; }
.sec-white-franc-content { position: relative; width: 1095px; margin: 0 auto; transition: width 0.5s ease; } 
.sec-white-franc-content h2 { font-size: 45px; color: #54171f; font-weight: 700; padding: 0 0 35px; transition: font-size 0.5s ease; }
.sec-white-franc-content p { font-size: 30px; color: #54171f; font-family: 'Zilla Slab', serif; font-weight: 400; transition: font-size 0.5s ease; }

@media screen and (max-width: 1550px) {
	.stat-holder { margin: 0 10% 150px 0; margin: 0 calc((100% - 790px) / 2) 150px 0; }
	.sec-blue-stats-holder > div:nth-child(3n) { margin: 0 calc((100% - 790px) / 2) 150px 0; }
	.sec-blue-stats-holder > div:nth-child(2n),
	.sec-blue-stats-holder > div:last-child { margin: 0 0 150px; }
}
@media screen and (max-width: 1525px) {
	.sec-white-franc-container { padding: 12.5vh 19%; }
	.sec-white-franc-content { width: 100%; }
}
@media screen and (max-width: 1375px) {
	.page-id-241 .sec-page-top-image,
	.page-id-243 .sec-page-top-image { height: calc(100vh - 277px); margin: 40px 0 0 0; }
	.sec-white-franc-content p { font-size: 25px; line-height: 1.28; }
}
@media screen and (max-width: 1150px) {
	.page-id-241 .sec-page-top-image,
	.page-id-243 .sec-page-top-image { margin: 0; background-size: 1250px auto; height: calc(100vh - 210px); }
}
@media screen and (max-width: 1100px) {
	.sec-blue-franc-container { padding: 15vh 0 0 0; }
	.stat-holder { margin: 0 50px 150px 0; }
	.sec-blue-stats-holder > div:nth-child(3n) { margin: 0 50px 150px 0; }
	.sec-blue-stats-holder > div:nth-child(2n),
	.sec-blue-stats-holder > div:last-child { margin: 0 0 150px 0; }
}
@media screen and (max-width: 1000px) {
	.sec-white-franc-container { padding: 12.5vh 0; }
	.sec-white-franc-content { width: 610px; margin: 0 auto; }
}
@media screen and (max-width: 950px) {
	.sec-blue-franc-container { padding: 15vh 30px 0 30px; }
	.stat-holder { margin: 0 20px 150px 20px; }
	.sec-blue-stats-holder > div:nth-child(3n) { margin: 0 20px 150px 20px; }
	.sec-blue-stats-holder > div:nth-child(2n),
	.sec-blue-stats-holder > div:last-child { margin: 0 20px 150px 20px; }
}
@media screen and (max-width: 775px) {
	.page-id-241 .sec-page-top-image,
	.page-id-243 .sec-page-top-image { background-size: 1100px auto; background-position: -370px 0; }
}
@media screen and (max-width: 710px) {
	.sec-white-franc-container { padding: 12.5vh 30px; }
	.sec-white-franc-content { width: 100%; }
	.sec-white-franc-content h2 { font-size: 33px; }
	.sec-white-franc-content p { font-size: 22px; }
}
@media screen and (max-width: 575px) {
	.page-id-241 .sec-page-top-image,	
}
@media screen and (max-width: 525px) {
	.page-id-241 .sec-page-top-image,
	.page-id-243 .sec-page-top-image { background-size: 950px auto; background-position: -370px 0; }
	.stat-holder > div:first-child { width: 237px; margin: 0 auto 50px auto; padding: 237px 0 0 0; background-position: center center; background-size: contain; background-repeat: no-repeat; }
}

/* programme page */
.sec-blue-content-container { position: relative; width: 100%; padding: 25vh 0 45vh 0; margin: -1px 0 0 0; background-color: #32567f; z-index: 3; }
.sec-blue-content-container > div { position: relative; width: 1095px; margin: 0 auto; } 
.sec-blue-content-container > div p { font-size: 30px; color: #fff; font-family: 'Zilla Slab', serif; font-weight: 400; transition: font-size 0.5s ease; }
.sec-blue-content-container > div h2 { color: #fff; padding: 0 0 30px 0; margin: 0; }
.sec-blue-content-container > div:last-child { position: absolute; bottom: 40px; right: 8.5%; width: 40%; }

@media screen and (max-width: 1525px) {
	.sec-blue-content-container { padding: 25vh 19% 40vh 19%; }
	.sec-blue-content-container > div { width: 100%; }
}
@media screen and (max-width: 1375px) {
	.sec-blue-content-container > div h2 { font-size: 37px; }
	.sec-blue-content-container > div p { font-size: 25px; line-height: 1.28; }
}
@media screen and (max-width: 1000px) {
	.sec-blue-content-container { padding: 25vh 0 40vh 0; }
	.sec-blue-content-container > div { width: 610px; margin: 0 auto; }
	.sec-blue-content-container > div:last-child { width: 500px; max-width: 80%; }
}
@media screen and (max-width: 710px) {
	.sec-blue-content-container { padding: 5vh 30px 40vh 30px; }
	.sec-blue-content-container > div { width: 100%; }
	.sec-blue-content-container > div h2 { font-size: 33px; }
	.sec-blue-content-container > div p { font-size: 22px; }
}

.sec-white-container { position: relative; width: 100%; padding: 12.5vh 0; margin: -1px 0 0 0; background-color: #fff; }
.sec-white-container-content { position: relative; width: 950px; padding: 0; margin: 0 auto; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
.sec-white-container-content > div { position: relative; width: 400px; padding: 0; margin: 0; }
.sec-white-container-content > div > div:first-child { position: relative; height: 335px; padding: 0 0 60px; text-align: center; display: flex; justify-content: center; align-items: center; }
.sec-white-container-content > div > div:last-child { position: relative; padding: 20px 0 0 0; border-top: 1px solid #54171f; }
.sec-white-container-content > div > div:last-child h2 { color: #54171f; font-size: 30px; padding: 0 0 15px; margin: 0; }
.sec-white-container-content > div > div:last-child p { color: #54171f; font-size: 22px; font-weight: 500; margin: 0; }

@media screen and (max-width: 1100px) {
	.sec-white-container-content { width: 400px; flex-wrap: wrap; justify-content: center; }
	.sec-white-container-content > div:first-child { padding: 0 0 140px; }
}
@media screen and (max-width: 500px) {
	.sec-white-container-content { width: 100%; padding: 0 30px; }
	.sec-white-container-content > div { width: 100%; }
}

/* ressources page */
.sec-white-acc-container { position: relative; padding: 13vh 7.8% 15vh 7.8%; margin: -1px 0 0 0; width: 100%; background-color: #fff; }
.sec-white-acc-container > h2 { color: #54171f; padding: 0 0 80px; }
.video-holder { position: relative; display: flex; flex-wrap: wrap; width: 100%; align-items: flex-start; }
.video-holder > div { position: relative; width: 33.33%; width: calc(33.33% - 34px); padding: 17.5% 0 0 0; margin: 0 50px 50px 0; background-position: center center; background-size: cover; cursor: pointer; }
.video-holder > div:nth-child(3n) { margin: 0 0 50px 0; }
.video-holder > div > div { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 27%; font-size: 1px; line-height: 1; }

.sec-ressources-content-container { position: relative; width: 100%; padding: 0 0 15vh 0; margin: 0; z-index: 3; }
.sec-ressources-content-container > div { position: relative; width: 1095px; margin: 0 auto; padding: 0 0 40px 0; } 
.sec-ressources-content-container > div ul { padding-bottom: 30px; }
.sec-ressources-content-container > div li { font-size: 22px; }
.sec-ressources-content-container > div li a { font-size: 22px; color: #54171f; font-family: 'Zilla Slab', serif; font-weight: 400; transition: font-size 0.5s ease; line-height: 1.28 !important; }
.sec-ressources-content-container > div h2 { font-size: 30px; color: #54171f; padding: 15px 0; margin: 0; border-top: 1px solid #54171f; }

@media screen and (max-width: 1525px) {
	.sec-ressources-content-container { padding: 0 19% 15vh 19%; }
	.sec-ressources-content-container > div { width: 100%; }
}
@media screen and (max-width: 1000px) {
	.sec-ressources-content-container { padding: 0 0 15vh 0; }
	.sec-ressources-content-container > div { width: 610px; margin: 0 auto; }
}
@media screen and (max-width: 710px) {
	.sec-ressources-content-container { padding: 0 30px 10vh 30px; }
	.sec-ressources-content-container > div { width: 100%; }
}

@media screen and (max-width: 800px) {
	.video-holder > div { width: 50%; width: calc(50% - 20px); padding: 26.25% 0 0 0; margin: 0 40px 40px 0; }
	.video-holder > div:nth-child(3n) { margin: 0 40px 40px 0; }
	.video-holder > div:nth-child(2n) { margin: 0 0 40px 0; }
}

/* espace membres */
.sec-page-top-image-em { position: relative; width: 100%; height: 86.5vh; height: calc(86.5vh - 140px); padding: 0 0 10vh 0; transition: width 0.5s ease, height 0.5s ease, padding 0.5s ease; }
.sec-page-top-image-em img { width: 100%; position: absolute; bottom: 10vh; left: 0; }
.page-id-55 .sec-white-acc-container { padding: 0 7.8% 15vh 7.8%; }

.login-holder { position: absolute; top: 0; left: 56%; padding: 50px 70px 50px 60px; background-color: #54171f; transition: left 0.5s ease; }
.login-holder h3 { font-size: 30px; color: #fff; font-weight: 700; line-height: 1; padding: 0 0 15px; }
.post-password-form label, 
.post-password-message { display: none; }
.post-password-form input[type=password] { max-width: 100%; border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #fff; color: #a98b8f; font-size: 22px; padding: 10px 5px; background-color: transparent; }
.post-password-form input[type=password]::placeholder { color: #a98b8f; opacity: 1; }
.post-password-form input[type=password]::-moz-placeholder { color: #a98b8f; opacity: 1; }
.post-password-form input[type=password]::-ms-input-placeholder { color: #a98b8f; opacity: 1; }
.post-password-form input[type=password]::-moz-placeholder { color: #a98b8f; opacity: 1; }
.password-submit { position: relative; margin: 75px 0 0 0; padding: 12px; background-color: #fff; color: #54171f; font-size: 15px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; }
.logout-holder { position: absolute; right: 100px; top: 100px; display: inline-block; border: 1px solid #fff; padding: 12px; background-color: #54171f; color: #fff; text-transform: uppercase; line-height: 1; letter-spacing: 1px; font-size: 15px; font-weight: 700; cursor: pointer; transition: color 0.3s ease, background-color 0.3s ease, border 0.3s ease; }
.logout-holder:hover { background-color: #fff; border: 1px solid #54171f; color: #54171f; }

@media screen and (max-width: 1450px) {
	.login-holder { left: auto; right: 60px; }
}
@media screen and (max-width: 1375px) {
	.sec-page-top-image-em { margin-top: 60px; height: 100vh; height: calc(100vh - 296px); }
	.page-id-55 .sec-white-acc-container > h2 { font-size: 37px; }
}
@media screen and (max-width: 1250px) {
	.sec-page-top-image-em { margin-top: 0px; height: 100vh; height: calc(100vh - 236px); }
	.sec-page-top-image-em img { width: 2000px; left: -200px; left: calc(-800px + 50vw); }
	.login-holder { top: auto; left: 7.8%; right: auto; bottom: -325px; display: inline-block; }
	.page-id-55 .sec-white-acc-container { margin: 450px auto 0 0; }
	.page-id-55 .sec-white-acc-container.logged { margin: 0; }
}
@media screen and (max-width: 1150px) {
	.page-id-55 .sec-page-top-title { top: 40px; bottom: auto; white-space: nowrap; }
	.sec-page-top-image-em { height: 100vh; height: calc(100vh - 205px); }
	.logout-holder { position: absolute; right: 50%; top: 160px; transform: translateX(50%); }
}
@media screen and (max-width: 700px) {
	.page-id-55 .sec-white-acc-container > h2 { font-size: 30px; }
}	
@media screen and (max-width: 525px) {
	.login-holder { left: 0; right: 0; width: 84.4%; margin: 0 auto; padding: 40px; }
	.post-password-form { max-width: 100%; }
}	
@media screen and (max-width: 450px) {
	.page-id-55 .sec-page-top-title { white-space: normal; text-align: center; }
}

/* pour inscrire/postuler */
.page-id-316 .sec-page-top-image,
.page-id-318 .sec-page-top-image,
.page-id-329 .sec-page-top-image,
.page-id-333 .sec-page-top-image { padding-right: 20%; } 
.jump-link,
a.cafe-btn { position: relative; display: inline-block; padding: 12px; border: 1px solid #fff; background-color: #54171f; color: #fff; font-weight: 700; font-size: 15px; font-family: 'Zilla Slab', serif; text-transform: uppercase; cursor: pointer; margin: 15px 0 0 0; letter-spacing: 1px; transition: color 0.3s ease, background-color 0.3s ease, border 0.3s ease; }
.jump-link:hover,
a.cafe-btn:hover { background-color: #fff; border: 1px solid #54171f; color: #54171f; }

@media screen and (max-width: 1250px) {
	.page-id-316 .sec-page-top-image,
	.page-id-318 .sec-page-top-image,
	.page-id-329 .sec-page-top-image,
	.page-id-333 .sec-page-top-image { padding-right: 40px; } 
}
/* testimonials */
.guillemet-holder { position: absolute; top: -70px; left: -40px; width: 41.4%; transform: translateX(-100%); }
.testimonial { position: relative; width: 100%; padding: 25vh 0; margin: -5px 0 0 0; background-color: #f6f2e2; transition: padding 0.5s ease; }
.testimonial > div { position: relative; width: 1095px; margin: 0 auto; transition: width 0.5s ease; } 
.testimonial > div p { font-size: 30px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; font-style: italic; transition: font-size 0.5s ease; }
.testimonial .auteur { display: flex; flex-wrap: nowrap; justify-content: start; }
.testimonial .auteur > div:first-child { width: 25px; font-size: 18px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; line-height: 1.25; }
.testimonial .auteur > div:last-child p { font-size: 18px; color: #54151e; font-family: 'Zilla Slab', serif; font-weight: 400; line-height: 1.25; font-style: normal; }

@media screen and (max-width: 1525px) {
	.testimonial { padding: 25vh 19%; }
	.testimonial > div { width: 100%; }
	.testimonial > div p { font-size: 25px; line-height: 1.28; }
}
@media screen and (max-width: 1000px) {
	.testimonial { padding: 25vh 0 30vh 0; }
	.testimonial > div { width: 610px; margin: 0 auto; }
	.guillemet-holder { top: -90px; left: 75px; width: 255px; }
}
@media screen and (max-width: 710px) {
	.testimonial { padding: 10vh 30px 20vh 30px; }
	.testimonial > div { width: 100%; }
	.testimonial > div p { font-size: 22px; }
}

/* =============================================================================================================================================================== */
/* footer */
.site-footer { width: 100%; position: relative; padding: 0; z-index: 3; }
.site-footer-top { width: 100%; height: 51px; position: relative; padding: 0; margin: -51px 0 0 0; line-height: 0; font-size: 0; }
.footer-info-holder { width: 100%; position: relative; display: flex; justify-content: space-between; flex-wrap: nowrap; padding: 55px 65px 85px 65px; margin: -1px 0 0 0; background-color: #54151e; }
.footer-info-holder > div:first-child { position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; width: 550px; padding: 30px 0 0 0; transition: width 0.5s ease; }
.footer-info-holder > div:first-child > div:first-child { position: relative; width: 153px; padding: 0; }
.footer-info-holder > div:first-child > div:last-child p,
.footer-info-holder > div:first-child > div:last-child a { color: #fff; font-size: 18px; padding: 0; margin: 0; line-height: 1.25; }
.footer-info-holder > div:nth-child(2) { position: relative; width: 72px; height: 95px; padding: 0; }
.footer-info-holder > div:last-child { position: absolute; bottom: 15px; left: 65px; color: #a98b8f; font-size: 15px; }

@media screen and (max-width: 925px) {
	.footer-info-holder > div:first-child { width: 475px; }
}
@media screen and (max-width: 800px) {
	.footer-info-holder > div:first-child { width: 300px; flex-wrap: wrap; }
	.footer-info-holder > div:first-child > div:first-child { padding: 0 0 20px; }
}
@media screen and (max-width: 600px) {
	.footer-info-holder { padding: 25px 30px 50px 30px; }
	.footer-info-holder > div:last-child { left: 30px; }
}
@media screen and (max-width: 600px) {
	.footer-info-holder > div:nth-child(2) { display: none; }
}

/* accordion */
.oopsaccordioncontainer { width: 100%; padding: 0 0 40px 0; }
h2.oopsaccordion { position: relative; border-top: 1px solid #54171f; width: 100%; padding: 15px 0 !important; cursor: pointer; font-size: 30px; font-weight: 700; color: #54171f; font-family: "Montserrat", sans-serif; }
.fleche-oopsacc { position: absolute; top: 25px; right: 18px; width: 14px; height: 16px; background-image: url(assets/images/fleche-accordeon.svg); background-repeat: no-repeat; background-size: cover; margin: 0; transition: transform 0.5s ease; }
.oopsaccordion.active .fleche-oopsacc { transform: rotate(-180deg); }
.oopsaccordioncontainer h3, .oopsaccordioncontainer h4 { padding: 0; color: #54171f; font-size: 20px; font-size: 1.25vw; font-weight: 600; line-height: 1.5; margin: 0; text-transform: uppercase; }
.oopspanel { position: relative; width: 100%; max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; padding: 0 60px 0 0; margin: 0; transition: padding 0.5s ease; }
.oopsaccordion.active .oopspanel { margin: 0 0 25px; }
.oopsaccordioncontainer p:not(:empty)+ul, .entry-content p+ul { margin-top: -10px; }
.oopsaccordioncontainer p:empty+ul { margin-top: 0.625rem; }
.oopsaccordioncontainer p:empty+p { margin-top: 1.25rem; }
.oopspanel .pdfs a { color: #54171f; }
.oopspanel li,
.oopspanel p { font-size: 22px !important; font-weight: 500 !important; color: #54171f; }
.oopsaccordioncontainer > div:last-child { border-bottom: 1px solid #54171f; }

@media screen and (max-width: 800px) {
	.oopspanel { padding: 0; }
}
@media screen and (max-width: 625px) {
	h2.oopsaccordion { width: 100%; padding: 20px 60px 20px 0 !important; cursor: pointer; font-size: 20px; margin: 0; }
}

/* arrows */
.arrow-holder { position: absolute; bottom: 10px; left: 50%; transform: translate(-50%, -50%); }
.arrow { position: relative; top: 0; border: solid #54171f; border-width: 0 4px 4px 0; display: inline-block; padding: 8px; border-radius: 2px; transform: rotate(45deg); -webkit-transform: rotate(45deg); }

ul.pdfs,
ul.lien,
.oopspanel > ul { list-style-type: none; position: relative; margin: 0 0 20px 0; padding: 0 0 0 40px; }
ul.pdfs li,
ul.lien li { padding: 0 0 10px 0; }
ul.pdfs li::before,
li.pdf::before { content: url(assets/images/icone-pdf.svg); left: 0; width: 20px; position: absolute; }
a.pdf::before { content: url(assets/images/icone-lien-pdf.svg); }
ul.lien li::before,
li.lien::before { content: url(assets/images/icone-lien-externe.svg); left: 0; width: 20px; position: absolute; }
a.lien::before { content: url(assets/images/icone-lien-externe.svg); }
li.word::before { content: url(assets/images/icone-lien-doc.svg); left: 0; width: 20px; position: absolute; }
li.excel::before { content: url(assets/images/icone-lien-xls.svg); left: 0; width: 20px; position: absolute; }

/* overrides and special texts */
*,
*:active,
*:focus,
*:hover { outline: none !important; }
p { padding: 0 0 20px 0; margin: 0; }
p+h3 { padding-top: 5px !important; }
strong { font-weight: 500; }
.hidden { display: none !important; } 
.clearfix { clear: both; }
strong,
em { color: inherit; font-size: inherit; }
p+div.oopsaccordioncontainer { margin-top: 40px !important; }
p:last-child,
ul:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.secondary-content-holder ul ul { padding-top: 10px; }
.oopsaccordioncontainer > h2+div > p:last-child,
.oopsaccordioncontainer > h2+div > ul:last-child { padding-bottom: 40px !important; }
.left-align { text-align: left !important; }
.screen-reader-text { display: none; }
.gen-btn a { position: relative; margin: 25px 0 0 0; display: inline-block; border: 1px solid #fff; padding: 12px; background-color: #54171f; color: #fff; text-transform: uppercase; line-height: 1; font-size: 15px; font-weight: 700; cursor: pointer; transition: color 0.3s ease, background-color 0.3s ease, border 0.3s ease; }
.gen-btn a:hover { background-color: #fff; border: 1px solid #54171f; color: #54171f; }
li::marker { color: #54171f; }

@media screen and (max-width: 600px) {
	.quote { font-size: 25px; } 
}