@charset "UTF-8";
/*
Theme Name: Projets Tenergie
Author: Raphael Wittmann
Author URI: https://raphaelwittmann.net/
Version: 1.0
Text Domain: projets-tenergie
*/



/*
* Fonts
*/

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: normal;
    /*font-display: swap;*/
    src: local('Fira Sans Regular'), url('assets/fonts/FiraSans-Regular.woff2') format('woff');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 600;
    /*font-display: swap;*/
    src: local('Fira Sans Medium'), url('assets/fonts/FiraSans-Medium.woff2') format('woff');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 900;
    /*font-display: swap;*/
    src: local('Fira Sans ExtraBold'), url('assets/fonts/FiraSans-ExtraBold.woff2') format('woff');
}
body, button, input, select, textarea {
    
        font-family: "Fira Sans", Arial, Tahoma, sans-serif;
    
}


/*
* Animations
*/
a, a img, input, a i, button, 
.postInList .postThumbnailLink .postTitle, .shopHeader { transition: all .2s ease-in-out; }

/*
* Variables
*/
:root {
  --content-width: calc(100% - 30px);
  --content-max-width: 760px;
  --content-max-width-wide: 1100px;
  --site-content-padding-vertical: 30px;
  --site-content-padding-vertical-minus: 0;
  
  --margin-bottom-elements: 30px;
  --margin-top-elements: 30px;
  
  --color-main: #000;
  --color-light: #f4efed;
  --color-ocre: #a96d55;
  --color-grey : #b3afb1;
}


/*
* Structure
*/



.site { 
    position: relative;  
}

.site-content { padding-top: var(--site-content-padding-vertical); padding-bottom: var(--site-content-padding-vertical); position: relative; }
.page-template-page-accueil .site-content { padding-top: 0; }


.main { margin: 0 auto; width: var(--content-width); position: relative; max-width: var(--content-max-width-wide); z-index: 5; }

.txt > * { margin-left: auto; margin-right: auto; width: var(--content-width); max-width: var(--content-max-width); }
.txt > .alignfull { width: 100%; max-width: none; }
.txt > * + .alignfull { margin-top: 0; }
.txt .alignwide { max-width: var(--content-max-width-wide); }
.wp-block-group__inner-container > *, .wp-block-cover__inner-container > * { max-width: var(--content-max-width);  margin-left: auto; margin-right: auto; }
.txt > .alignfull > .wp-block-group__inner-container { width: var(--content-width);  margin-left: auto; margin-right: auto; max-width: var(--content-max-width-wide); }

.wp-block-group.has-background { padding-left: 15px; padding-right: 15px; } 
.wp-block-group.has-background.alignfull { padding-top: 50px; padding-bottom: 50px; } 

.txt > .topSection {  }
.txt > .lastSection {  }

section { /*scroll-snap-align: start;*/ }
::-moz-placeholder { opacity: 1; }

/*
* General styles
*/
html { /*scroll-snap-type: y mandatory;*/ }
body { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--white); font-size: 18px; line-height: 1.4; overflow-x: hidden; -webkit-overflow-scrolling: touch; letter-spacing: 0px; }
.siteWrapper { background: var(--wp--preset--color--white); color: var(--wp--preset--color--marine); }

img { max-width: 100%; height: auto; }

b, strong { font-weight: 600; }
em { font-style: italic; }

clearfix:before, .clearfix:after, .gallery:before, .gallery:after { clear: both; content: " "; display: table; }

.singleHeader { padding-top: 50px; }
.singleHeaderRow { padding-top: 5vw; }


/*
* Links
*/

a { color: inherit; text-decoration: none; }
.txt a { text-decoration: underline; }
.txt a:hover { text-decoration: none; }
button { outline: none; }

a.btn, .txt a.btn, .txt .wp-block-button__link, button, input[type="submit"], a.button { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--turquoise); border-radius: 25px; padding: 10px 20px; display: inline-block; font-size: 16px; line-height: 1.3; -webkit-appearance: none; position: relative; text-align: left; font-weight: 600; text-decoration: none; }

.txt .wp-block-button__link { padding-right: 35px; }
.txt .wp-block-button__link:after, .footer-menu li:before, .mainMenu > .menu-item-has-children > a:after, ul.mainMenu > li > ul a:after  { 
    position: absolute; right: 18px; top: 50%; transform: translateY(-50%); z-index: 10;
    content: ''; display: block; width: 5px; height: 9px;
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSI5IiB2aWV3Qm94PSIwIDAgNSA5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wLjQ3NDg3MiAxLjAyNTEzTDMuOTQ5NzUgNC41TDAuNDc0ODczIDcuOTc0ODciIHN0cm9rZT0iIzAwQTE5QSIvPjwvc3ZnPg==");
    mask-size: auto 9px;
    mask-repeat: no-repeat;
    background-color: var(--wp--preset--color--turquoise);
    transition: background-color 0.2s ease;
 } 
.txt .wp-block-button__link:hover:after { background-color: var(--wp--preset--color--white); }
.footer-menu li:before { right: auto; left: 0; }

.txt .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--marine); color: var(--wp--preset--color--marine); background: transparent; }
.txt .is-style-outline .wp-block-button__link:after { background-color: var(--wp--preset--color--turquoise); }
a.btn:hover, .txt a.btn:hover, .txt .wp-block-button__link:hover, button:hover, input[type="submit"]:hover { background-color: var(--wp--preset--color--turquoise); border-color: var(--wp--preset--color--vert); color: var(--wp--preset--color--white); }

.txt .is-style-outline .wp-block-button__link:hover { background-color: var(--wp--preset--color--marine); border-color: var(--wp--preset--color--marine); color: var(--wp--preset--color--white)!important; }

.txt a { color: var(--wp--preset--color--blue); border-bottom: 1px solid var(--wp--preset--color--blue); }
.txt a:hover { color: var(--wp--preset--color--blue); border-bottom-color: transparent; }



/*
* Header
*/
.site-header { position: relative; padding: 20px 0; z-index: 9999; background: var(--wp--preset--color--white); }



.site-branding { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.menuWrapper { flex-basis: 100%; }

.logos { position: relative; padding: 50px 0; }

.siteTitle { font-size: 12px; line-height: 14px; }
.siteTitle a { display: flex; gap: 11px; }
.siteTitle  img { width: auto; height: 45px; display: block; }
.siteTitle a .siteName { color: var(--wp--preset--color--marine); border-left: 1px solid var(--wp--preset--color--marine); padding-left: 11px; display: flex; align-items: center;  }

.mobileMenuSelector { display: inline-block; font-size: 13px; position: absolute; z-index: 9999; top: 20px; right: 8px; }
.admin-bar .mobileMenuSelector { /*top: 54px;*/ }
.mobileMenuSelector a { cursor: pointer; font-size: 20px; padding: 0 9px; display: inline-block; }


.iconsHeader { }



/*
* menu
*/
.menuWrapper { width: 100%; clear: both; display: none; padding-bottom: 25px; }


ul.mainMenu { display: none; font-size: 16px; line-height: 1; }
ul.mainMenu > li  { position: relative; }
ul.mainMenu > li > ul { position: absolute; top: 100%; left: 20px; z-index: 9999; background: var(--wp--preset--color--white); box-shadow: 0 5px 10px rgba(27, 67, 85, 0.3); border-radius: 10px; overflow: hidden; opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity 0.2s ease, transform 0.3s ease; }
ul.mainMenu > li:hover > ul { opacity: 1; transform: translateY(0); pointer-events: auto; }
ul.mainMenu a { display: block; padding: 12px 20px; position: relative; font-size: 15px; }
ul.mainMenu > li:last-child > a { padding-right: 0; }
ul.mainMenu a:hover { color: var(--wp--preset--color--turquoise); }
ul.mainMenu > li > ul a { position: relative; padding: 15px 40px 15px 20px; }
ul.mainMenu > li > ul a:after { opacity: 0; transform: translateX(10px) translateY(-50%); transition: opacity 0.2s ease, transform 0.2s ease; }
ul.mainMenu > li > ul a:hover:after { opacity: 1; transform: translateX(0px) translateY(-50%); }

ul.mainMenu > li > ul a:hover { background: var(--wp--preset--color--light-blue); }

.mainMenu > .menu-item-has-children > a:after { transform: rotate(90deg); right: 8px; top: 17px; }

ul.mainMenu li.page_item > a,
ul.mainMenu li.current_page_parent  > a{ color: var(--wp--preset--color--turquoise); }

/*
* Mobile Navigation
*/

.menuOpen {}
a.menuOpen  { cursor: pointer; transition-timing-function: linear; transition-duration: .15s; transition-property: opacity,filter; }
.menuOpen  strong { display: inline-block; position: relative; width: 40px; height: 36px; }
.menuOpen  i, .menuOpen  i:before, .menuOpen  i:after { display: block; background-color: var(--wp--preset--color--turquoise); height: 5px; width: 40px; position: absolute; z-index: 99; left: 0;  border-radius: 0;   }
.menuOpen  i { transition: none; top: 50%; background-color: transparent; }
.menuOpen  i:before { content:''; top: -5px; transition: transform 0.3s ease, top 0.3s ease; }
.menuOpen  i:after { content:''; bottom: -5px; transition: transform 0.3s ease, bottom 0.3s ease; }

.menuOpen.opened i { }
.menuOpen.opened i:before { top: 0; transform: rotate(45deg);  }
.menuOpen.opened i:after { bottom: 0; transform: rotate(-45deg); }

.mainNavigationWrapper {
    position: fixed; z-index: 100; background-color: #fff; width: 100%; left: 100%; top: 0%; bottom: 0;
    opacity: 0; transition: opacity 0.3s ease; pointer-events: none; 
}

.menuOpened .mainNavigationWrapper { /*opacity: 1;*/ pointer-events: auto;  }
.menuOpened body { overflow: hidden; height: 100%; }

.mainNavigation { 
    background: rgb(226,226,226); background: linear-gradient(180deg, rgba(226,226,226,1) 0%, rgba(241,241,241,1) 100%); 
    height: 100%; padding: 5px 0 35px;
}
.menuOpened .mainNavigation {  overflow: scroll; }


.mainNavigation .logo { margin: 0 auto 25px; display: flex; }
.navigationFooter { font-size: 13px;  margin-top: 75px; }

.mobileMenu a {  }

/*
* mobile menu
*/

.menuOpened body { overflow: hidden; height: 50vh; }

.mobileMenuWrapper { 
    display: none; background: var(--wp--preset--color--marine);  color:var(--wp--preset--color--white); 
    position: fixed; top: 85px; bottom: 0; top: -100%; width: 100%; z-index: 999; opacity: 0; transition: opacity 0.3s ease, top 0.3s ease; pointer-events: none; padding: 25px 0;
}


.menuOpened .mobileMenuWrapper { top: 85px; opacity: 1; pointer-events: auto; }
.menuOpened .admin-bar .mobileMenuWrapper { top: calc(85px + 46px); }

.mobileMenu {  height: 100%; padding: 80px 25px 25px; }
.menuOpened .mobileMenu {  overflow: scroll; }

.mobileMenuTop { min-height: calc(100vh - 203px); }

.socialMobile { margin-top: 25px; text-align: center; }
.socialMobile .socialLinks ul {justify-content: center; }

.mobileMenuList > li { border-bottom: 1px solid var(--wp--preset--color--turquoise); }
.mobileMenuList li a { font-size: 18px; line-height: 1.2; display: block; padding: 15px 35px 15px 0; position: relative; color: var(--wp--preset--color--white); text-decoration: none; }
.mobileMenuList > li > a { font-weight: 600; }
.mobileMenuList > li em { font-style: normal; }
.mobileMenuList ul ul a { font-size: 16px;  }
.mobileMenuList ul { border-top: 1px solid var(--wp--preset--color--turquoise); border-left: 1px solid var(--wp--preset--color--turquoise); padding-left: 25px; padding-top: 10px; padding-bottom: 10px; display: none; }
.mobileMenuList li.mobileLiOpened > ul { display: block; }
.mobileMenuList li.mobileLiOpened > a .menuArrow { color: var(--wp--preset--color--light); }
.mobileMenuList li.mobileLiOpened > a .menuArrow:before { content: '–'; }

.mobileMenuList li.current-menu-item > a { opacity: 0.7; }
.mobileMenuList li a .menuArrow { position: absolute; right: 0; top: 0px; padding: 10px; color: var(--wp--preset--color--turquoise); }
.mobileMenuList li a .menuArrow:before { content: '+'; font-weight: 600; }

.mobileMenuList li li { border-bottom: 1px solid var(--wp--preset--color--turquoise); }
.mobileMenuList li li:last-child { border-bottom: 0; }

.mobileMenuList li.current-menu-item > a { color: var(--wp--preset--color--light); }
/*
* Footer
*/


.site-footer:before { 
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    width: 100%; height: 7px; 
    background: var(--wp--preset--color--vert); background: linear-gradient(90deg, var(--wp--preset--color--vert) 0%, var(--wp--preset--color--turquoise) 100%); 
}
.site-footer { font-size: 14px; line-height: 1.1; padding: 15px 0; background: var(--wp--preset--color--marine); color: #fff; position: relative; padding: 50px 0; }

.site-footer .main { display: flex; flex-direction: column; gap: 35px; }

.site-footer a { color: var(--wp--preset--color--white); text-decoration: underline; }
.site-footer a:hover { text-decoration: none; }

.site-footer .footerCoordonnees:before {
    background: var(--wp--preset--color--turquoise); margin-bottom: 20px; margin-top: 0; 
}
.site-footer .footerCoordonnees h6 { color: var(--wp--preset--color--turquoise); margin-bottom: 10px; }
.footerCoordonnees address { line-height: 1.2; }

.footer-menu {  display: flex; gap: 10px; flex-direction: column; }
.footer-menu li { position: relative; padding-left: 13px; }

.coordonneesLinks ul {  display: flex; gap: 5px; flex-direction: column; }
.coordonneesLinks ul li { display: flex; gap: 8px; align-items: center; }

.footerLogo a { width: 120px; display: block; margin: 0 auto; }

.back2top { position: fixed; z-index: 100; right: 10px; bottom: 10px; display: none;  color: var(--wp--preset--color--black); width: 46px; line-height: 42px; text-align: center; border-radius: 100%; font-size: 18px; opacity: 1; }
.back2top svg path{ fill: var(--wp--preset--color--turquoise); transition fill 0.2s ease; }
.back2top:hover {  }
.back2top:hover  svg path{ fill: var(--wp--preset--color--vert); }
.back2top.displayed { display: block; opacity: 1;  }

/*
* Headings
*/
h1, h2, h3, h4, h5, h6 { hyphens: manual; line-height: 1.03;  }

h1 span, h2 span, h3 span { display: block; color: #ccc; }

h1 {font-size: clamp( 32px, 4vw, 64px); font-weight: bold; }
h2 { font-size: clamp( 28px, 4vw, 48px); font-weight: 400; }
h3 { font-size: 1.3em;   }
h4 { font-size: 1.1em; font-weight: 500; }
h5 { font-size: 1.1em; font-weight: 500; }
h6 { font-size: 14px;  }

h2 a.btn { font-size: 11px; padding: 5px 10px; position: relative; top: -5px; }

/*
* Textes elements
*/
.txt { font-size: 16px; line-height: 1.4; }
.txt h1 { margin-bottom: var(--margin-top-elements); }

.txt h2 { margin-top: var(--margin-top-elements); margin-bottom: 60px; }
.txt h3, .txt h4, .txt h5, .txt h6 { margin-top: var(--margin-top-elements); margin-bottom: var(--margin-bottom-elements); }   
.txt h3 { margin-top: 45px; }

.txt .wp-block-buttons { gap: 25px; }
.txt p, .txt ul, .wp-block-buttons { margin-top: var(--margin-top-elements); margin-bottom: var(--margin-bottom-elements); }
.txt * > p, .txt h2, .txt h4, .txt h5 { margin-top: 0; }
.txt * > * + p, .txt * > * + h2, .txt * > * + h4, .txt * > * + h5  { margin-top: var(--margin-top-elements); }

.txt * + h2 { margin-top: 60px; }

.txt ul {  list-style: disc; padding-left: 22px; }
.txt ol {  list-style: decimal; padding-left: 20px; }
.txt li {  padding-left: 2px; margin-top: 2px; margin-bottom: 2px; }
.txt ol li {  padding-left: 0px; margin-top: 10px; margin-bottom: 10px; }

.txt sup { font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;top: -0.5em; }

/*** images ***/
figure { transition: opacity 300ms; }
.lazyload,
.lazyloading { opacity: 0; min-height: 100px; transition: opacity 300ms; }
.lazyloaded { opacity: 1; transition: opacity 300ms; }


.noMarginTop, .txt .noMarginTop { margin-top: 0; }

.afterHeader { position: relative; z-index: 2; }
.footerCTAWrapper.wp-block-group.has-background { padding: 25px 25px 0; }
.footerCTAWrapperWrapper { background: linear-gradient(120deg, var(--wp--preset--color--vert) 0%, var(--wp--preset--color--turquoise) 100%); padding: 1px; border-radius: 10px; margin-top: 100px; margin-bottom: 30px; }
.footerCTAWrapperWrapper > .footerCTAWrapper.wp-block-group.alignwide.has-background { border-radius: 9px; }
.colPhoneWrapper .wp-block-image, .txt .colPhoneWrapper .wp-block-image  { overflow: hidden; margin-bottom: 0; margin-top: -70px; }
.colPhoneWrapper img { transform: translateY(50px); }

.mapWrapper { max-width: 80%; }

.colsTenergieNumbers .wp-block-image { max-width: 30%; }
.colsTenergieNumbers > .wp-block-column { padding: 25px; }
.colsTenergieNumbers > .wp-block-column > * { margin-bottom: 0; margin-top: 0; }
.wp-block-columns.colsTenergieNumbers:first-child > .wp-block-column:first-child { border: 1px solid var(--wp--preset--color--turquoise); }
.filet.alignwide { position: relative; }
.txt .filet.alignwide:before { margin-bottom: 25px; margin-top: 7px; }

.has-large-font-size { line-height: 1.2; }

.colsHomeNumbers { margin-bottom: 80px; }
.colsHomeNumbers > .wp-block-column { position: relative; border: 1px solid var(--wp--preset--color--turquoise); border-radius: 5px; padding: 25px; transition: transform 0.2s ease, box-shadow 0.3s ease; }
.colsHomeNumbers > .wp-block-column:hover { transform: scale(1.05); box-shadow: 0 0 20px rgba(27,67,85,.3); /*color: var(--wp--preset--color--marine)!important;*/ }
.colsHomeNumbers > .wp-block-column:after { content: ''; width: 40px; height: 7px; background: var(--wp--preset--color--marine); border-radius: 5px; position: absolute; bottom: -3.5px; left: 50%; transform: translateX(-50%); transition: width .5s ease; }
.colsHomeNumbers > .wp-block-column:hover:after { width: 50%; }
.colsHomeNumbers > .wp-block-column:nth-child(3n+2):after { background: var(--wp--preset--color--vert); }
.colsHomeNumbers > .wp-block-column:nth-child(3n+3):after { background: var(--wp--preset--color--turquoise); }
.colsHomeNumbers > .wp-block-column .wp-block-image { width: 70px; }
.txt .colsHomeNumbers > .wp-block-column p { margin: 0; }

/*
* Simple page
*/
.reverseMarginTop { margin-top: var(--site-content-padding-vertical-minus); }

.txt .wp-block-cover { border-radius: 5px; }
.wp-block-group.alignwide.has-background { border-radius: 5px; padding-top: 25px; padding-bottom: 25px; }
.txt .wp-block-cover img.wp-block-cover__image-background { height: 100%!important; }
.simplePage { padding-top: 50px; padding-bottom: 50px; }
.simplePage .site-content { background: var(--wp--preset--color--white); margin-left: auto; margin-right: auto; padding: 20px 20px; max-width: 780px; width: calc(100% - 40px); }
.simplePage .txt > * { margin-left: 0; margin-right: 0; width: 100%; max-width: none; }

.backHomeHeader { position: fixed; right: 4px; top: 3px; z-index: 100; }
.backHomeFooterWrapper { display: flex; justify-content: space-between; align-items: center; }
.txt .backHomeFooter  { width: 70px; height: 70px; background: var(--wp--preset--color--black); color: var(--wp--preset--color--white); border-radius: 100%; display: flex; justify-content: center; align-items: center; border: 0; }
.txt .backHomeFooter:hover { background: var(--wp--preset--color--yellow); color: background: var(--wp--preset--color--black); }


.wp-block-details { margin-bottom: 0!important; transition: background 0.3s ease, padding 0.2s ease; }
.wp-block-details + .wp-block-details { margin-top: 0!important; }
.wp-block-details summary { position: relative; font-size: 1.3em; font-weight: 600; padding: var(--margin-bottom-elements) 0; }
.wp-block-details summary:marker, .wp-block-details summary::marker { display: none; opacity: 0; position: absolute; z-index: 0; }
.wp-block-details { border-top: 1px solid var(--wp--preset--color--turquoise); padding: 0; padding-right: 40px; }

.wp-block-details:hover { background: rgba(27, 67, 85, 0.1); padding-left: 20px; padding-right: 20px; }
.wp-block-details[open] { background: rgba(27, 67, 85, 0.1); padding-left: 20px; padding-right: 20px; }
.wp-block-details > *:last-child { padding-bottom: var(--margin-bottom-elements); }

.wp-block-details summary { padding: var(--margin-bottom-elements) 0; }
.wp-block-details summary { display: flex; justify-content: space-between; }
.wp-block-details summary:after {  content: '+';  font-weight: 600; margin-left: 5px; font-size: clamp(20px, 3vw, 100px); line-height: 0; position: absolute; right: -1vw; top: 50%; z-index: 3; margin-top: -6px; transition: right 0.2s ease; }
.wp-block-details[open] summary:after  { content: '–'; right: 0.5vw;}
.wp-block-details:hover summary:after  { right: 0;}



/*
* Post in List
*/
.blogHeader { margin-bottom: 50px; }
.postInList {  margin-bottom: 0; position: relative; padding: 50px 0; }
.postInList:after {
    content: ''; height: 1px; background: var(--wp--preset--color--turquoise);
    left: 0; right: 0; bottom: 0; position: absolute; z-index: 1;
} 
.postInList:before { margin: 0 0 20px; }
.postInList:last-child:after { display: none; }

.homeNewsWrapper .postInList:before { display: none; }
.homeNewsWrapper .listOfPosts { margin-bottom: 0; }

.txt .smallerImage { max-width: 80%; }

.bicols.wp-block-columns { gap: 20px; }
.bicols.wp-block-columns + .bicols.wp-block-columns { margin-top: 50px; }

.postInList .postThumbnailWrapperWrapper { position: relative; }
.postInList .postThumbnailWrapper { background: var(--color-light); border-radius: 3px; width: 100%; aspect-ratio: 2 / 1.05; transition: background-color 0.3s ease; overflow: hidden;  }
.postInList .postThumbnailLink img { display: block; object-fit: cover; width: 100%; height: 100%!important; transition: transform 1.3s ease, opacity 0.3s ease; }
.postInList  .postThumbnailLink { display: flex; gap: 15px; flex-direction: column; text-decoration: none; color: var(--wp--preset--color--turquoise); }
.postInList .postThumbnailLink:hover { color: var(--wp--preset--color--marine); }
.postInList .postThumbnailLink:hover img {  transform: scale(1.1);  }

.postInList .postThumbnailWrapperWrapper .postCategories { position: absolute; top: 20px; left: -10px; z-index: 10; }
.postInList .postCategories span { margin-right: 10px;  }
.txt .postTitle { font-size: 18px; font-size: clamp(18px, 3vw, 24px); color: var(--wp--preset--color--marine); font-weight: 600; line-height: 1.2; margin: 0;  }

.btnsProjet.wp-block-buttons { margin-bottom: 0; gap: 0; border-top: 1px solid #00A19A; font-size: 20px; display: block; }
.txt .btnsProjet.wp-block-buttons > .wp-block-button   { position: relative;  display: block; border-bottom: 1px solid #00A19A; }
.txt .btnsProjet.wp-block-buttons > .wp-block-button:after   { content: none; width: 1px; height: 100%; background: #00A19A; position: absolute; z-index: 1; right: 0; top: 0; bottom: 0; }
.txt .btnsProjet.wp-block-buttons > .wp-block-button:last-child:after   { content: none; }
.txt .btnsProjet.wp-block-buttons > .wp-block-button a.wp-block-button__link  { width: 100%; display: flex; justify-content: center; align-items: center; text-align: center; font-weight: 400;  background: transparent!important; color: var(--wp--preset--color--marine)!important; border: 0!important; padding: 15px 25px!important; border-radius: 0; font-size: 20px;  }
.txt .btnsProjet.wp-block-buttons > .wp-block-button a.wp-block-button__link:before {
    content: ''; display: inline-block; width: 35px; height: 35px; margin-right: 13px; position: relative; top: -4px;
    background: transparent url(assets/img/picto-localisation.svg) no-repeat 50% 50%; background-size: 100% auto;
}
.txt .btnsProjet.wp-block-buttons > .wp-block-button.btnCalendrier a.wp-block-button__link:before { background-image: url(assets/img/picto-calendrier.svg); }
.txt .btnsProjet.wp-block-buttons > .wp-block-button.btnEtudes a.wp-block-button__link:before { background-image: url(assets/img/picto-etudes.svg); }
.txt .btnsProjet.wp-block-buttons > .wp-block-button a.wp-block-button__link:after { position: relative; display: inline-block; margin-left: 10px; top: 6px; right: auto; }
.txt .btnsProjet.wp-block-buttons > .wp-block-button a.wp-block-button__link:hover:after { background: var(--wp--preset--color--turquoise); }
.txt .btnsProjet.wp-block-buttons > .wp-block-button a.wp-block-button__link:hover { background: var(--wp--preset--color--light-blue)!important; }


.listOfPosts {  margin-bottom: 100px;  }
.postInList .postExcerpt { font-size: 16px; margin-top: 10px; line-height: 1.3; max-width: 500px; }



.pageInList { margin-bottom: 60px; }
.pageInList .pageThumbnailLink { 
    display: flex; flex-direction: column-reverse; align-items: center; border: 0; padding: 15px; position: relative; 
    background: rgb(242,246,251); background: linear-gradient(180deg, rgba(242,246,251,1) 0%, rgba(255,255,255,1) 100%);
}
.pageInList .pageThumbnailLink:hover { border: 0; }
.pageInList .pageThumbnailLink:before { 
    content: ''; display: block; position: absolute; z-index: 0; top: 0; left: 0; bottom: 0; right: 0; 
    background: rgba(166,197,228,0.1); background: linear-gradient(0deg, rgba(242,246,251,1) 0%, rgba(255,255,255,0) 20%);
    opacity: 0; transition: opacity 0.5s ease;
}
.pageInList .pageThumbnailLink:hover:before { opacity: 1; }
.txt .pageInListTitle { font-size: 24px; font-weight: 600;  margin-top: 0; margin-bottom: 15px; }
.pageInListHeader { color: var(--wp--preset--color--black); position: relative; z-index: 2; padding: 30px 0; }

.postInList .fakeBtn, .pageInList .fakeBtn, .txt h2 sub a { display: inline-block; color: var(--wp--preset--color--blue); border-bottom-color: var(--wp--preset--color--blue); font-size: 14px; transition: color 0.3s ease; }
.txt h2 sub a:after { content: '\f061'; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.postInList .fakeBtn i, .pageInList .fakeBtn i, .txt h2 sub a:after { margin-left: 5px; font-size: 10px; transition: transform 0.3s ease; }
.postInList a:hover .fakeBtn i, .pageInList a:hover .fakeBtn i, .txt h2 sub a:hover:after { -webkit-animation: horizontalBalance 0.5s alternate infinite ease; }
.pageInList a:hover .fakeBtn, .txt h2 sub a:hover { color: var(--color-cyan); border-bottom-color: var(--color-cyan); }
@-webkit-keyframes horizontalBalance {
                from { -webkit-transform: translateX(0);  }
                to { -webkit-transform: translateX(5px);  }
}
@-webkit-keyframes horizontalBalanceInvert {
                from { -webkit-transform: translateX(0);  }
                to { -webkit-transform: translateX(-4px);  }
}

/*
* Navigation
*/
.navigation.pagination { margin-top: 100px; text-align: center; padding-bottom: 80px; }
.navigation.pagination .screen-reader-text { display: none; }

.navigation.pagination .nav-links { display: flex; align-items: center; justify-content: center; gap: 10px;  }
.navigation.pagination .page-numbers { display: flex; align-items: center; justify-content: center;  width: 40px; height: 40px; line-height: 38px; text-align: center;  font-size: 18px; line-height: 1; border: 1px solid var(--wp--preset--color--turquoise); border-radius: 100%; }
.navigation.pagination .page-numbers.current { color: var(--wp--preset--color--turquoise); }
.navigation.pagination a.page-numbers  { color: #fff; background: var(--wp--preset--color--turquoise); text-decoration: none; }
.navigation.pagination a.page-numbers:hover  { background: var(--wp--preset--color--marine); }
.navigation.pagination a.page-numbers.next, .navigation.pagination a.page-numbers.prev { font-size: 14px; border: 0; width: auto; background: #fff; color: var(--wp--preset--color--turquoise); }



/*
* Light box
*/

body.lightboxActivated { position: fixed; left: 0; right: 0; }
.lightbox { background: transparent url(assets/img/loader.gif) no-repeat 50% calc(50vh - 32px); background-size: 64px 64px; }
.lightBoxWrapper { display: block; position: fixed; z-index: 9999; top: 0; left: 100%; right: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; background: rgba(255,218,0,0.9); opacity: 0; transition: opacity 0.5s ease; pointer-events: none; visibility: hidden; -webkit-overflow-scrolling: auto;}
.lightboxActivated .lightBoxWrapper { display: block; visibility: visible; opacity: 1; left: 0; pointer-events: auto; }
.lightBoxWrapper .lightBoxContent { opacity: 0; transition: opacity 0.4s ease, top 0.4s ease; position: relative; top: -30px; }
.lightboxActivated .lightBoxWrapper .lightBoxContent { opacity: 1; top: 0; }

.lightBoxWrapper .lightbox { padding: 50px 20px; display: flex; align-items: center; justify-content: center; overflow: scroll;  min-height: 100%; }
.lightBoxContent { background: #fff; color: var(--wp--preset--color--black); border-radius: 0; padding: 35px 20px; text-align: left; max-width: 900px; width: 100%; position: relative; }
.lightBoxInner > * { transform: translate3d(0,0,0);}
a.closeLightBox { position: absolute; z-index: 10; right: 10px; top: 0px; display: block; color: var(--wp--preset--color--black); cursor: pointer; padding: 2px; font-size: 22px; }
a.closeLightBox:hover { opacity: 1; color: var(--wp--preset--color--blue); } 

.lightBoxContent .formTitle { font-size: 18px; }
.lightBoxContent .texte { font-size: 18px; margin: 15px auto; }

/*
* General Content
*/
.showOnDesktop { display: none; }

.pageContent { padding-bottom: 100px; }


.postHeader, .pageTitle { padding: 20px 20px 20px 0; border-bottom: 0.5px solid var(--color-light);  }



.btnWrapper, .txt .btnWrapper { margin: 15px 0; }

.greySection { background: var(--color-light); padding: 50px 0; margin: 50px 0 0; }


.social-share { text-align: center; }
.social-share h6 { color: var(--wp--preset--color--black); margin: 10px 0; font-weight: bold; text-transform: none; font-size: 16px; }
.social-share ul { margin: 10px 0; }
.social-share li { display: inline-block; font-size: 30px; margin: 0 3px; }
.social-share li a { color: var(--wp--preset--color--black); border: 0;  }
.social-share li a:hover { color: var(--wp--preset--color--blue); }

.commentsSection { padding: 50px 0; }

.screen-reader-text { display: none; }

/*
* Page
*/
.txt img { display: block; width: 100%; height: auto!important; }
.wp-block-image:not(.is-style-rounded) img, .txt :not(.is-style-rounded) img { border-radius: 5px; }
.txt .wp-block-image { margin-bottom: 5px; }
.txt .wp-block-separator {  margin-top: 0; height: 1px!important; opacity: 1; }

.wp-block-embed iframe { border-radius: 5px; }
.wp-block-group.has-background .wp-block-embed iframe {  box-shadow: 0 10px 20px rgba(0,0,0,0.2);}
.bordure img { border: 1px solid var(--wp--preset--color--turquoise); }

.txt .wp-block-image figcaption { text-align: left; color: var(--wp--preset--color--turquoise)!important;}

/*
* Single post
*/

.singlePostHeader > .main { display: flex; flex-direction: column-reverse; gap: 20px; }

.singlePostThumbnail { position: relative; background: var(--color-light) url(assets/img/loader.gif) no-repeat center; background-size: 30px 30px; border-radius: 4px; }
.singlePostThumbnail img { width: 100%; height: 100%; display: block; border-radius: 4px; image-rendering: pixelated; object-fit: cover; aspect-ratio: 9/5; }

.singleTxt { padding-top: 90px; }

.singlePostInfos { padding: 15px 0; }
.singlePostInfos .dateWrapper { display: none; }

a.thematiqueCat, .txt a.thematiqueCat, span.thematiqueCat { font-size: 14px; font-weight: 600; text-transform: uppercase; padding: 5px 10px; background: var(--wp--preset--color--vert); color: var(--wp--preset--color--marine); text-decoration: none; border-radius: 5px;  }

.singlePostTerms { padding-top: 15px; }
.singlePostTerms:after, .footerCoordonnees:before, .postInList:before, .txt h2:after, .filet.alignwide:before  { 
    content: ''; display: block; width: 40px; height: 7px; border-radius: 5px; margin-top: 20px;
    background: var(--wp--preset--color--vert); background: linear-gradient(90deg, var(--wp--preset--color--vert) 0%, var(--wp--preset--color--turquoise) 100%); 
}

.txt h2.sansFilet:after { display: none; }
/*** Embed Content ***/
.postDate { text-transform: none; margin-right: 0; display: inline-block; }

.singleFooter { text-align: center; }
.singleFooter .dateWrapper { color: var(--wp--preset--color--black); font-size: 0.9em; }
.singleFooter .btnWrapper .btn { font-size: 0.9em; text-transform: none; }

.wp-block-embed-wordpress iframe, .wp-block-embed iframe { width: 100%; }
iframe .wp-embed-share { display: none; }
iframe { display: block; }

.scrolloff {
  pointer-events: none;
}





/*
* 404
*/

.errorHeader { text-align: center; margin: 50px 0 30px; }
.errorContent { text-align: center; margin: 0 auto 40px; max-width: 300px; }
.searchFormContainer.searchFormError { text-align: center; margin-top: 0; padding-top: 0;}
.searchFormContainer .description { margin-bottom: 25px; }


/*
* Formulaires
*/

input[type="text"], input[type="email"], input[type="tel"], textarea { width: 100%; border: 1px solid #eeeeee; background: #eeeeee; padding: 10px; border-radius: 5px; font-size: 18px; line-height: 1.2; color: #9a9a9a; box-shadow: none; outline: none; }
input[type="text"]:hover, input[type="email"]:hover, textarea:hover {  }
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { border-color: #333; background: #fff; color: #333; outline: none; }



/*
* Home
*/

/*** Vignettes projets ***/
.projetsCols { padding: 0 30px; margin-bottom: 50px; }
.projetsCols figure a { transform: scale(1) rotate(0); display: block; border: 0; }
.projetsCols figure a:hover { transform: scale(1.1) rotate(-3deg);  }
.projetsCols > .wp-block-column figure { max-width: 380px; margin-left: auto; margin-right: auto; }

/*** introduction ***/
.bilanTextBottom { max-width: 950px; }

.logosGallery.wp-block-gallery { align-items: center; justify-content: center; padding-bottom: 50px; }
.logosGallery.wp-block-gallery figure img { height: 35px; width: auto; }
.logosGallery figure.wp-block-gallery.has-nested-images {  align-items: center;  }
.logosGallery.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { margin-bottom: 0; }
.wp-block-gallery a { border: 0; }
/*
*  
*/

/*
 * 
 */ 


/*
 * Coming Soon
 */ 

.comingSoonContentWrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 0 25px; }
.comingSoonContentWrapper h4 { margin: 15px 0 50px; }
.comingSoonContentWrapper a { text-decoration: underline; }