/*
Theme Name: Schaedele
Theme URI: https://www.schaedele.com
Author: Mars Rouge
Author URI: http://www.marsrouge.com
Version: 1.0
*/

@CHARSET "UTF-8";
* {box-sizing:border-box; padding:0; margin:0; -webkit-backface-visibility:hidden; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; outline:none;}

:root {
	
	--blanc:#ffffff;
	--noir:#000000;	
	--vert:#83bd4c;
	--orange:#e45010;
	--pad200:200px;
	--pad150:150px;
	--pad130:130px;
	--pad110:110px;
	--pad100:100px;
	--pad90:90px;
	--pad80:80px;
	--pad70:70px;
	--pad60:60px;
	--pad50:50px;
	--pad40:40px;
	--pad35:35px;
	--pad30:30px;
	--pad25:25px;
	--pad20:20px;
	--pad15:15px;
	--pad10:10px;
	--pad5:5px;
	--ease:cubic-bezier(.23,1,.32,1);
	--ease2:cubic-bezier(.215,0,.355,1);
	
} 

* {scrollbar-width: none; -ms-overflow-style: none;}
html {background:var(--blanc);}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0; vertical-align: baseline;}
body {background:var(--blanc); color:var(--noir); overflow-x: hidden; webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; counter-reset:item; transition:background .4s ease-out;}
::-webkit-scrollbar {width:0px;}

a {color:inherit; outline:none; webkit-transition:all .35s; -moz-transition:all .35s; transition:all .35s; -o-transition:all .35s; -ms-transition:all .35s; text-decoration:none;}
a:focus, a:active {outline: none;}
a:link, a:visited, a:hover, a:active, a:focus, button {outline:0;}
:focus, :hover {-webkit-appearance: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}

sup {font-size:.6em; vertical-align:super;}
 
button {font-size:inherit;}
button:hover {cursor:pointer;}
 
section {position:relative; clear:both; transform-style:preserve-3d;}

button {border:0;}
li {list-style: none; margin-bottom:0;}
li:last-child {margin-bottom:0;}

p {margin-bottom:var(--pads);}
p:last-child {margin-bottom:0!important;}

.grecaptcha-badge {visibility: hidden!important; pointer-events:none!important; display:none!important;}

img {pointer-events:none;}



/* FONTS */
 
body {font-family: poppins, sans-serif; font-optical-sizing: auto; font-style: normal; font-size:1.15rem; line-height:1.5; font-weight:400;}
h1, h2, h3 , h4 {line-height:1; font-weight: 500;}

.font-slide {font-size:6.2vw; line-height:1; font-weight:700;}
.font-size--a {font-size:5.2vw; line-height:1; font-weight:700;}
.font-size--b {font-size:4.2vw; line-height:1.2;}
.font-size--c, .article h2 {font-size:1.6vw; line-height:1.2;}
.font-size--s {font-size:1rem; line-height:1.2;}
.menu-principal a {font-size:2rem; line-height:1.2;}

.center {text-align:center;}
.left {text-align:left;}
.right {text-align:right;}
.uppercase {text-transform:uppercase;}
strong, .bold, .article h2 {font-weight:700;}

.underline a {position:relative; white-space: nowrap;}
.underline a:before {content:''; position:absolute; bottom:0; left:0; width:100%; min-height:1px; height:1px; transform-origin:right; transform:scaleX(0); 
transition:transform .75s cubic-bezier(0.165, 0.84, 0.44, 1); background-color:var(--noir);}
.underline a:hover::before {transform-origin:left;transform:scaleX(1);}
.font-size--s .underline a:before {bottom:-5px;}



/* GENERAL */

.button {padding:1.5rem 2rem; position:relative; overflow:hidden; border:1px solid var(--noir);}
.noir .button {border:1px solid var(--blanc);}
.button span {color:var(--noir); white-space: nowrap; transition:color .3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.noir .button span {color:var(--blanc);}
.button:before {content:''; position:absolute; bottom:-1px; top:-1px; left:-1px; right:-1px; z-index:-1; transform:scaleY(0); transform-origin:center top;
background-color:var(--noir); transition:transform .5s cubic-bezier(.215,.61,.355,1);}
.button:before {background-color:var(--noir);}
.noir .button:before {background-color:var(--blanc);}
.button:hover::before {transform:scaleY(1); transform-origin:center bottom;}
.button:hover span {color:var(--blanc);}
.noir .button:hover span {color:var(--noir);}
.button svg {fill:var(--noir); width:19px; transition:.3s cubic-bezier(.215,.61,.355,1);}
.noir .button svg {fill:var(--blanc);}
.button:hover svg {fill:var(--blanc);}
.noir .button:hover svg {fill:var(--noir);}

.button span, .item-realisation--meta span {transform: translateY(2px);}



/* GRID + FLEX + WRAPPER */

.absolute {position:absolute;}
.grid {display:grid;}
.flex {display:flex;}
.aligncenter {justify-content:center;}
.justify-end {justify-content: flex-end;}
.itemscenter {align-items:center;}
.alignright {justify-content:flex-end;}
.alignbottom {justify-content: flex-end;}
.itemstbottom {align-items: flex-end;}
.justify {justify-content:space-between;}
.baseline {align-items:baseline;}
.direction {flex-direction:column;}
.center {text-align:center;}

.grid-pad100 {grid-gap:var(--pad100);}
.grid-pad90 {grid-gap:var(--pad90);}
.grid-pad80 {grid-gap:var(--pad80);}
.grid-pad70 {grid-gap:var(--pad70);}
.grid-pad60 {grid-gap:var(--pad60);}
.grid-pad50 {grid-gap:var(--pad50);}
.grid-pad40 {grid-gap:var(--pad40);}
.grid-pad35 {grid-gap:var(--pad35);}
.grid-pad30 {grid-gap:var(--pad30);}
.grid-pad25 {grid-gap:var(--pad25);}
.grid-pad20 {grid-gap:var(--pad20);}
.grid-pad15 {grid-gap:var(--pad15);}
.grid-pad10 {grid-gap:var(--pad10);}
.grid-pad5 {grid-gap:var(--pad5);}
.grid-pads {grid-gap:var(--pads);}

.col-2 {grid-template-columns:1fr 1fr;}
.col-3 {grid-template-columns:1fr 1fr 1fr;}
.col-4 {grid-template-columns:1fr 1fr 1fr 1fr;}
.col-5 {grid-template-columns:1fr 1fr 1fr 1fr 1fr;}

.hidden {overflow:hidden;}
.inline-block {display:inline-block;}
.block {display:block;}

.relative {position:relative;}
.absolute {position:absolute;}

.mar-200 {margin-top:var(--pad200);}
.mar-150 {margin-top:var(--pad150);}
.mar-130 {margin-top:var(--pad130);}
.mar-100 {margin-top:var(--pad100);}
.mar-90 {margin-top:var(--pad90);}
.mar-80 {margin-top:var(--pad80);}
.mar-70 {margin-top:var(--pad70);}
.mar-60 {margin-top:var(--pad60);}
.mar-50 {margin-top:var(--pad50);}
.mar-40 {margin-top:var(--pad40);}
.mar-35 {margin-top:var(--pad35);}
.mar-30 {margin-top:var(--pad30);}
.mar-20 {margin-top:var(--pad20);}
.mar-15 {margin-top:var(--pad15);}
.mar-10 {margin-top:var(--pad10);}
.mar-5 {margin-top:var(--pad10);}

.content-100 {width:100%;}
.content-90 {width:90%;}
.content-85 {width:85%;}
.content-80 {width:80%;}
.content-75 {width:75%;}
.content-70 {width:70%;}
.content-65 {width:65%;}
.content-60 {width:60%;}
.content-55 {width:55%;}
.content-50 {width:50%;}
.content-45 {width:45%;}
.content-40 {width:40%;}
.content-35 {width:35%;}
.content-30 {width:30%;}
.content-25 {width:27%;}
.content-20 {width:20%;}
.content-10 {width:10%;}

.content-height-100 {height:100%;}

.height-80 {height:80vh;}
.height-100 {height:100vh;}

.zindex {z-index:10;}
.nowrap {white-space:nowrap;}



/* OVERLAY */

.st0 {fill:var(--vert);}
.st1 {fill:var(--blanc);}
.st2 {fill:var(--orange);}

.overlay-logo {position:fixed; display:flex; top:var(--pad30); left:var(--pad30); z-index:20; transition:.5s cubic-bezier(.86,0,.07,.995); opacity:0; transform:translateY(-1rem);
pointer-events:auto;}
.overlay-logo .st1 {transition:.4s cubic-bezier(.215,.61,.355,1); transition-delay:.2s;}
.overlay-logo.scroll.open {pointer-events:auto;}
.is-ready .overlay-logo {opacity:1; transform:none;}
.overlay-logo.scroll {transform:translateY(-2rem); opacity:0; pointer-events:none;}
.overlay-logo .logo, .footer .logo {width:235px; position:relative;}

.overlay-menu {position:fixed; top:var(--pad30); right:var(--pad30); z-index:20; grid-gap:1.5rem;}
.overlay-menu span {color:var(--blanc); transition:.4s cubic-bezier(.215,.61,.355,1); transition-delay:.2s; display:block; transform: translateY(-100%);}
.is-ready .overlay-menu span {transform:none;}
.overlay-menu span.open {color:var(--scroll);}
.overlay-menu.scroll span {transform:translateY(-100%); }
.overlay-menu.open {right:calc(var(--pad30) + 17px);}

.menu-close {display:none; pointer-events:none; position:absolute; width:var(--pad100); height:var(--pad100); right:0; top:0;}
.menu-close.open {display:block; pointer-events:auto; z-index:20; cursor:pointer;}
.overlay-menu--icon {position:relative; cursor:pointer; width:var(--pad100); height:var(--pad100); display:flex; justify-content:center;
align-items:center; grid-gap:.4rem; flex-direction:column; transition:transform .5s cubic-bezier(.86,0,.07,.995), opacity .5s cubic-bezier(.86,0,.07,.995); transform:scale(0.2) rotate(-90deg); opacity:0;}
.is-ready .overlay-menu--icon {transform:none; opacity:1;}
.overlay-menu--icon:before {content:''; position:absolute; background:var(--noir); width:100%; height:100%; top:0; left:0; transition:.4s cubic-bezier(.215,.61,.355,1);
border-radius:7rem; z-index:-1;}
.overlay-menu--icon:hover::before {transform:scale(1.15);}
.menu-bar {height:2px; width:2rem; background:var(--blanc); transition:transform .3s cubic-bezier(0.165, 0.84, 0.44, 1);}

.overlay-menu--icon.open {grid-gap:0rem;}
.overlay-menu--icon.open .menu-bar {background:var(--noir);}
.overlay-menu--icon.open .menu-bar:nth-child(1) {transform:translateY(1px) rotate(-45deg);}
.overlay-menu--icon.open .menu-bar:nth-child(2) {transform:rotate(45deg);}
.overlay-menu--icon.open .menu-bar:nth-child(3) {transform:scaleX(0);}
.overlay-menu--icon.open:before {background:transparent; border:1px solid var(--noir);}

main {transition:filter .9s cubic-bezier(.86,0,.07,.995), opacity .9s cubic-bezier(.86,0,.07,.995), transform .9s cubic-bezier(.86,0,.07,.995); transform-origin:center center;
transform:translateZ(0);}
main.open {filter:blur(1.5rem); backdrop-filter:blur(1.5rem); -webkit-backdrop-filter:blur(1.5rem); transform:scale(1.04); pointer-events:none;}
.menu {position:fixed; height:100vh; width:45vw; right:0; top:0; background:var(--blanc); z-index:15; transition:transform .9s cubic-bezier(.86,0,.07,.995); 
transform: translate3d(100%,0,0);}
.menu.open {transform:translateX(0);}
.menu-bg {position:fixed; top:0; left:0; width:100vw; transition:.9s cubic-bezier(.86,0,.07,.995); height:100vh; background:rgba(0,0,0,0); z-index:10; pointer-events:none;}
.menu-bg.open {transition:.9s cubic-bezier(.86,0,.07,.995); background:rgba(0,0,0,.3);}



/* MENU */

html.open {overflow:hidden!important;}

.menu-thumb--wrapper {width:35%;}
.menu-wrapper {width:100%; padding:9.5rem var(--pad30) var(--pad30) var(--pad30); color:var(--noir);}

.menu-principal a {width:100%; padding:2vh 0; position:relative;}
.menu-principal a, .menu-coordonnees div, .menu-follow a {overflow:hidden; transition:.5s cubic-bezier(.215,.61,.355,1); pointer-events:none;}
.menu-coordonnees a:hover, .menu-follow a:hover {opacity:.4;}
.menu-principal a div, .menu-coordonnees span, .menu-follow a div {transform:translateY(calc(-100% - 1.5rem)); transition:transform .6s cubic-bezier(.215,.61,.355,1);}
.menu-principal a:after {content:''; width:0; height:1px; background:var(--noir); position:absolute; bottom:0; left:0; transition:.6s cubic-bezier(.215,.61,.355,1);}
.menu-principal.open a:after {width:100%;}

.menu-principal {display:flex; flex-direction:column; align-items:flex-start;}
.menu-principal a svg {fill:var(--noir); width:22px;}
.menu-principal a:before {content:''; position:absolute; bottom:-1px; top:-1px; left:-1px; right:-1px; z-index:-1; transform:scaleY(0); transform-origin:center top;
background-color:var(--noir); transition:transform .5s cubic-bezier(.215,.61,.355,1);}
.menu-principal a:hover::before {transform:scaleY(1); transform-origin:center bottom;}
.menu-principal a.active:before {transform:scaleY(0); transform-origin:center top;}
.menu-principal a.active svg {display:none;}
.menu-principal.open a.active:before {transform:scaleY(1);}
.menu-principal a:hover, .menu-principal a.active {color:var(--blanc); padding:2vh;}
.menu-principal a:hover svg, .menu-principal a.active svg {fill:var(--blanc);}

.menu-principal.open a, .menu-follow.open a {pointer-events:auto;}
.menu-principal.open a div, .menu-follow.open a div {transform:none;}
.menu-principal.open a:nth-child(2) div, .menu-follow.open a:nth-child(2) div {transition-delay:.05s;}
.menu-principal.open a:nth-child(3) div, .menu-follow.open a:nth-child(3) div {transition-delay:.1s;}
.menu-principal.open a:nth-child(4) div, .menu-follow.open a:nth-child(4) div {transition-delay:.15s;}
.menu-principal.open a:nth-child(5) div, .menu-follow.open a:nth-child(5) div {transition-delay:.2s;}
.menu-principal.open a:nth-child(6) div, .menu-follow.open a:nth-child(6) div {transition-delay:.25s;}

.menu-coordonnees {display:flex; flex-direction:column; grid-gap:1rem; align-items: flex-start;}
.menu-coordonnees.open a {pointer-events:auto;}
.menu-coordonnees.open span {transform:none;}
.menu-coordonnees span {display:flex;}
.menu-coordonnees.open div:nth-child(2) span {transition-delay:.1s;}
.menu-coordonnees.open div:nth-child(3) span {transition-delay:.2s;}

.menu-bureau {opacity:0; pointer-events:none; transition:.5s;}
.menu-bureau.open {opacity:1; pointer-events:auto;}

.menu-coordonnees.underline a:before, .menu-follow.underline a:before {background-color:var(--noir);}



/* CONTENU */

.noir {background:var(--noir); color:var(--blanc);}
.noir .underline a:before {background:var(--blanc);}

.noise {position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; opacity:.07;}

.wrapper-page {padding:14rem var(--pad130) var(--pad130) var(--pad130);}
.wrapper-100 {padding:var(--pad100);}
.wrapper {padding:var(--pad130);}
.wrapper-lr {padding:0 var(--pad130);}
.wrapper-nb {padding:var(--pad130) var(--pad130) 0 var(--pad130);}
.wrapper-nt {padding:0 var(--pad130) var(--pad130) var(--pad130);}

.carousel {width:100vw; height:100vh; position:relative; z-index:-1;}
.carousel-title {position:absolute; text-align:center; left:50%; top:50%; transform:translate(-50%,-50%); align-items: center; z-index:2;}
.carousel-pagination {position:absolute; bottom:var(--pad30)!important; width:auto!important;left:50%!important; transform:translateX(-50%); z-index:2;}
.carousel-overlay {background:rgba(0,0,0,.2); position:absolute; top:0; left:0; width:100%; height:100%;}
.is-ready .carousel .img-bg--wrapper {opacity:1;}

.swiper-slide.swiper-slide-active .img-bg {transform:none; filter: blur(0);}
.swiper-slide.swiper-slide-active .font-slide {opacity:1; transform: none; filter: blur(0);}
.swiper-slide .img-bg {filter: blur(1rem); transition:filter 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);}
.swiper-slide .font-slide {opacity:0; width: 80%; transform:translateY(75px) skewY(5deg); filter:blur(1rem);
transition:opacity .7s cubic-bezier(.215,.61,.355,1), transform .7s cubic-bezier(.215,.61,.355,1), filter .7s cubic-bezier(.215,.61,.355,1);}

.img-bg--wrapper {opacity:0; transform:scale(1.3); width:100%; height:100%; position:absolute; top:0; left:0;
transition:opacity 1.2s cubic-bezier(.415,.61,.155,1), transform 1.2s cubic-bezier(.415,.61,.155,1); z-index:-1;}
.is-ready .img-bg--wrapper {opacity:.8; transform:none;}
.img-bg {width:100%; height:100%; position:absolute; top:0; left:0; z-index:-1; background-size:cover; background-position:center center;}

.img-fullwidth {position:relative; width:100%; overflow:hidden; aspect-ratio: 6 / 3.2; z-index:1;}
.img-vertical {position:relative; width:100%; overflow:hidden; aspect-ratio: 4 / 4.5; z-index:1;}
.bloc-fullwidth .button {position:absolute; right:var(--pad100); bottom:var(--pad100); z-index:2;}
.img img, .img-fullwidth img {width:100%; height:auto;}
.bloc-fullwidth--cnt {text-align:center; align-items: center; position:absolute; z-index:2;}
.bloc-fullwidth--cnt .button {position:relative!important; right:auto!important; bottom:auto!important;}

.homepage .content-35 {position:absolute; bottom:var(--pad30); left:var(--pad30);}

.liste-link {position:relative; border:1px solid var(--noir); padding:var(--pad60);}
.liste-link svg {fill:var(--noir); width:68px; transition:.3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.liste-link .font-size--b {color:var(--noir); white-space: nowrap; transition:color .3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.liste-link:before {content:''; position:absolute; bottom:-1px; top:-1px; left:-1px; right:-1px; z-index:-1; transform:scaleY(0); transform-origin:center top;
background-color:var(--noir); transition:transform .5s cubic-bezier(.215,.61,.355,1);}
.liste-link:hover .font-size--b {color:var(--blanc);}
.liste-link:hover svg {fill:var(--blanc);}
.liste-link:hover::before {transform:scaleY(1); transform-origin:center bottom;}

.item-realisation {position:relative; width:100%; overflow:hidden; aspect-ratio: 6 / 4; background:var(--noir); padding:var(--pad30); display:flex; flex-direction: column;
align-items: flex-start; justify-content: flex-end; grid-gap: var(--pad15);}
.item-realisation .img-bg {z-index:1; transition:opacity .7s cubic-bezier(.415,.61,.155,1), transform .7s cubic-bezier(.415,.61,.155,1);}
.item-realisation:hover .img-bg {transform:scale(1.05); opacity:.8;}
.item-realisation--meta {padding:1rem 1.5rem; position:relative; z-index:2; background:var(--blanc); display:flex;}

.hover-reveal {position: absolute; width:25vw; aspect-ratio: 4.5 / 6; top: 0; left: 0; pointer-events: none; opacity: 0; z-index:1;}
.hover-reveal__inner, .hover-reveal__img {width: 100%; height: 100%; position: relative;}
.hover-reveal__deco {width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-color: var(--rouge);}
.hover-reveal__img {background-size: cover; background-position: 50% 50%;}

.iframe {padding: 56.25% 0 0 0; position: relative;}
.iframe-pointer {width: 100%; height: 90%; position: absolute; pointer-events: auto; top: 0; left: 0; z-index: 1;}

.article h2 {margin:var(--pad80) 0 var(--pad40) 0;}
.article h3 {margin:var(--pad40) 0; font-weight:700;}
.article h2:first-child {margin:var(--pad40) 0 var(--pad40) 0;}
.article ul {padding-left:var(--pad60); border-left:1px solid var(--noir); margin:var(--pad40) 0; display:flex; flex-direction:column; grid-gap:var(--pad30);}
.article li {position:relative;}
.article p {margin:0 0 var(--pad40) 0;}
.article.underline a:before {transform-origin:left; transform:scaleX(1); bottom:2px;}
.article.underline a:hover::before {transform-origin:right; transform:scaleX(0);}

.legende svg {height:12px; transform:rotate(-90deg);}

.item-equipe img {width:100%; height:auto;}

.breadcrumb {position:relative;}

.border {border:1px solid var(--noir);}

.credit-impot img {width:230px; height:auto;}



/* SPLITTING */

.splitting .word, .splitting .char {display:inline-block;}
.splitting .char {position:relative;}
.splitting .char::before, .splitting .char::after {content:attr(data-char); position: absolute; top: 0; left: 0; visibility: hidden; transition: inherit; user-select: none;}
.splitting {--word-center: calc((var(--word-total) - 1) / 2); --char-center: calc((var(--char-total) - 1) / 2); --line-center: calc((var(--line-total) - 1) / 2);}
.splitting .word {--word-percent: calc(var(--word-index) / var(--word-total)); --line-percent: calc(var(--line-index) / var(--line-total));}
.splitting .char {--char-percent: calc(var(--char-index) / var(--char-total)); --char-offset: calc(var(--char-index) - var(--char-center)); 
--distance: calc((var(--char-offset) * var(--char-offset)) / var(--char-center)); --distance-sine: calc(var(--char-offset) / var(--char-center));
--distance-percent: calc((var(--distance) / var(--char-center)));}
.char-wrap {display: inline-block; position: relative; overflow: hidden;}

.font-title.splitting {
  color: saturate(lighten(#182952,55%),60%);
  .word {transition: transform .6s var(--ease2), opacity .6s var(--ease2); transition-delay: calc( 40ms * var(--word-index) );}
  &[data-scroll="out"] .word {opacity: 0.1; transform: translateY(2rem);}
}

main {opacity:0;}
.is-ready main {opacity:1;}

.is-ready .wrapper-page .font-size--a .char, .is-ready .first .font-size--a .char {opacity: 1; transform: none;  filter:blur(0); transition-delay: calc(.3s + ( 0.05s * ( var(--char-index)) ));}
.wrapper-page .font-size--a .char, .first .font-size--a .char {display: inline-block; opacity: 0; transform:translate(150%, 0%) rotateX(-90deg); filter:blur(50px);
transition:opacity .8s cubic-bezier(.15,.61,.5,1), transform .8s cubic-bezier(.15,.61,.5,1), filter .8s cubic-bezier(.15,.61,.5,1);}

.is-ready .wrapper-page .fx-subtitle .char, .is-ready .first .fx-subtitle .char {opacity: 1; transform: none;  filter:blur(0); transition-delay: calc(.5s + ( 0.05s * ( var(--char-index)) ));}
.wrapper-page .fx-subtitle .char, .first .fx-subtitle .char {display: inline-block; opacity: 0; transform:translateX(4rem); filter:blur(50px);
transition:opacity .6s cubic-bezier(.15,.61,.5,1), transform .6s cubic-bezier(.15,.61,.5,1), filter .6s cubic-bezier(.15,.61,.5,1);}

.second {transform:translateY(6rem); transition:filter .9s var(--ease2), opacity .9s var(--ease2), transform .9s var(--ease2); opacity:0;
filter:blur(1.5rem); backdrop-filter:blur(1.5rem); -webkit-backdrop-filter:blur(1.5rem);}
.is-ready .second {transform:none; opacity:1; filter:none; transition-delay:.2s; backdrop-filter: none; -webkit-backdrop-filter:none;}

#second {transform:translateY(6rem); transition:filter .9s var(--ease2), opacity .9s var(--ease2), transform .9s var(--ease2); opacity:0;
filter:blur(1.5rem); backdrop-filter:blur(1.5rem); -webkit-backdrop-filter:blur(1.5rem);}
.is-ready #second {transform:none; opacity:1; filter:none; transition-delay:.3s; backdrop-filter: none; -webkit-backdrop-filter:none;}



/* COOKIE */

.cookie-banner {position: fixed; bottom: 20px; right: 20px; width: 520px; background-color: var(--blanc); border: 1px solid var(--noir); padding:var(--pad20);
display: none; z-index: 9999;}
.cookie-content {font-size:.9rem; line-height:1.3; display: flex; flex-direction: column; align-items:center;}
.cookie-buttons {margin-top:var(--pad20); display:flex; grid-gap:var(--pad20);}
.cookie-buttons button {padding: 8px 16px; overflow:hidden; position:relative; font-size:.9rem; background-color:transparent; color:var(--noir); border:1px solid var(--noir); cursor: pointer; transition:.3s;}
.cookie-buttons button:hover {color:var(--blanc)!important;}
.cookie-buttons button:before {content: ''; position: absolute; top:0; bottom:0; right:0; left:0; height:100%; width:100%; z-index: -1; background-color: var(--noir)!important; transform-origin: center top; transform: translateZ(0) scaleY(0); transition: transform .3s cubic-bezier(.215,.61,.355,1);}
.cookie-buttons button:hover::before {transform:translateZ(0) scaleY(1); transform-origin:center bottom;}



/* CONTACT */

.form-item--message {margin-bottom:0!important;}

.label {margin-bottom:var(--padm);}
input, textarea {font-family: poppins, sans-serif; font-weight:400; color:var(--noir); font-size:inherit;}
.formulaire label {display: flex;}
.formulaire input, .formulaire textarea, .mailerlite-form input, .select-selected  {width:100%; border:1px solid var(--noir); padding:2rem; background:transparent; transition:.4s;}
.formulaire input, .select-selected {;}
.formulaire textarea {;}
.formulaire input:hover, .formulaire textarea:hover, .formulaire input:focus, .formulaire textarea:focus, .select-selected:hover, 
.mailerlite-form input:hover, .mailerlite-form input:focus {background:var(--blanc);}
.formulaire textarea {resize: none; height:100%;}
.formulaire button[type="submit"] {position:relative;}
.formulaire .radio-elements {border:1px solid var(--noir); padding:2rem; grid-gap:var(--pad30);}
.formulaire .radio-elements label {display:block;}

button[type="submit"] {position:relative; font-family:inherit; background: none;}

.wpcf7-checkbox {display:inline-block;}
.wpcf7-form input[type="radio"], .wpcf7-form input[type="checkbox"] {display: none;}
.wpcf7-list-item-label {cursor:pointer; padding-left: 2rem; position:relative;}

.wpcf7-radio {display:flex; column-gap: 3rem; row-gap:1rem; margin-bottom:0; flex-wrap: wrap;}
.wpcf7-form input[type="radio"] + .wpcf7-list-item-label::before, .wpcf7-form input[type="checkbox"] + .wpcf7-list-item-label::before {position: absolute; top:6px; left:0; background: none;
background:transparent; border:1px solid var(--noir); border-radius:50%; display:inline-block; vertical-align:middle; height:15px; width:15px; content:''; transition:.2s;}
.wpcf7-form input[type="radio"]:checked + .wpcf7-list-item-label::before, .wpcf7-form input[type="checkbox"]:checked + .wpcf7-list-item-label::before {background:var(--noir);}
.formulaire .acceptance {margin-bottom:calc(var(--pads) + 2rem);}

::-webkit-input-placeholder {opacity:.5; -webkit-transition: opacity .5s; transition: opacity .5s;}
:-moz-placeholder {opacity:.5 -moz-transition: opacity .5s; transition: opacity .5s;}
::-moz-placeholder {opacity:.5; -moz-transition: opacity .5s; transition: opacity .5s;}
:-ms-input-placeholder {opacity:.5; -ms-transition: opacity .5s; transition: opacity .5s;}
::placeholder {opacity:.5; transition: opacity .5s;}

*:focus::-webkit-input-placeholder {opacity:.5;}
*:focus:-moz-placeholder {opacity:.5;}
*:focus::-moz-placeholder {opacity:.5;}
*:focus:-ms-input-placeholder {opacity:.5;}
*:focus::placeholder {opacity:.5;}

:invalid {box-shadow: none;}
:-moz-submit-invalid {box-shadow: none;}
:-moz-ui-invalid {box-shadow:none;}

.wpcf7-not-valid {border:1px solid var(--orange)!important;}
.wpcf7-acceptance.wpcf7-not-valid {border:0!important;}
.screen-reader-response, .wpcf7-response-output {display:none;}
.wpcf7-not-valid-tip, .mailerlite-form-error {color: var(--orange); font-size: .8rem; width: 100%; position: absolute; display: block; margin-top:.5rem;}
.mc4wp-alert.mc4wp-success {font-size: .8rem; margin-top:1.5rem; text-align: center;}

.cmplz-cookiebanner .cmplz-message img {width:70px; height:70px; margin-left: 1.5rem;}
.spindown {-webkit-animation:spindown 8s linear infinite; -moz-animation:spindown 8s linear infinite; animation:spindown 8s linear infinite;}
@-moz-keyframes spindown {100% {-moz-transform: rotate(360deg);}}
@-webkit-keyframes spindown {100% {-webkit-transform: rotate(360deg);}}
@keyframes spindown {100% {-webkit-transform: rotate(360deg); transform:rotate(360deg);}}



/* FOOTER */

.footer, .border-top {border-top:1px solid var(--noir);}

.follow a {position:relative; display:flex; align-items: center; justify-content: center; border-radius:50%; overflow:hidden; border:1px solid var(--noir);
width:var(--pad80); height:var(--pad80);}
.follow svg {width:auto; height:var(--pad20); fill:var(--noir); transition:.3s cubic-bezier(.215,.61,.355,1); z-index:1;}
.follow a:hover svg {fill:var(--blanc);}
.follow a:before {content:''; position:absolute; bottom:0; top:0; left:0; right:0; z-index:-1; transform:scaleY(0); transform-origin:center top;
background-color:var(--noir); transition:transform .5s cubic-bezier(.215,.61,.355,1);}
.follow a:hover::before {transform:scaleY(1); transform-origin:center bottom;}



/* RESPONSIVE DESIGN */

@media screen and (max-width:1590px) {
	
	.overlay-logo .logo, .footer .logo {width: 190px;}
	.overlay-menu--icon {width: var(--pad80); height: var(--pad80); grid-gap: .3rem;}
	.menu-close {width: var(--pad80); height: var(--pad80);}
	.menu-bar {width: 1.5rem;}
	.menu {width: 50vw;}
	
	.mar-100 {margin-top: var(--pad50);}
	.grid-pad100, .grid-pad80 {grid-gap: var(--pad50);}
	
	.wrapper {padding: var(--pad100);}
	.wrapper-nb {padding: var(--pad100) var(--pad100) 0 var(--pad100);}
	.wrapper-nt {padding: 0 var(--pad100) var(--pad100) var(--pad100);}
	.wrapper-lr {padding: 0 var(--pad100);}
	.wrapper-page {padding:11rem var(--pad100) var(--pad100) var(--pad100);}
	.wrapper-100 {padding: var(--pad50);}
	
	body {font-size: 1rem;}
	.font-size--s {font-size: .85rem;}
	.menu-principal a {font-size: 1.5rem;}
	
	.credit-impot .content-70 {width:100%;}
	
	.bloc-fullwidth .button {right: var(--pad50); bottom: var(--pad50);}
	.liste-link {padding: var(--pad50);}
	.liste-link svg {width: 40px;}
	
	.follow a {width: var(--pad60); height: var(--pad60);}
	.follow svg {height: 17px;}
	
}

@media screen and (max-width:1200px) {
	
	.font-size--c, .article h2 {font-size:2.4vw; line-height:1.3;}
	
	.menu {width:100vw;}
	.menu-close {width:3rem; height:3rem;}
	.overlay-menu--icon {width: 3rem; height: 3rem; grid-gap:5px;}
	.menu-bar {height: 1px; width:1.2rem;}
	.menu-principal a svg {width: 15px;}
	.overlay-logo.open {transform:none; opacity:1;}
	.overlay-logo.open .st1 {fill: var(--noir);}
	
	.mar-100, .mar-top {margin-top: var(--pad50);}
	.grid-pad100, .grid-pad80 {grid-gap: var(--pad50);}
	
	.wrapper {padding:var(--pad90) var(--pad60);}
	.wrapper-nb {padding: var(--pad90) var(--pad60) 0 var(--pad60);}
	.wrapper-nt {padding: 0 var(--pad60) var(--pad90) var(--pad60);}
	.wrapper-lr {padding: 0 var(--pad60);}
	.wrapper-page {padding:11rem var(--pad60) var(--pad90) var(--pad60);}
	.wrapper-100 {padding: var(--pad50);}
	
	.col-2 {grid-template-columns:1fr;}
	.col-3 {grid-template-columns:1fr 1fr;}
	.content-40, .content-55, .content-75 {width:100%;}
	
	.homepage .content-35 {width:60%;}
	.carousel-pagination {left: auto !important; transform:none; right: var(--pad30);}
	
	.liste-link {padding: var(--pad40);}
	.liste-link svg {width: 1.5rem;}
	
	.realisation-details {flex-direction:column;}
	.img-fullwidth {aspect-ratio: 6 / 4;}
	
	.img-vertical {aspect-ratio: 4 / 3;}
	
	.formulaire .justify-end {justify-content:center; width: 100%;}
	
	.footer {flex-direction:column;}
	.footer-flex {align-items:center; text-align:center;}
	
}

@media screen and (max-width:850px) {
	
	body {font-size:.9rem;}
	.font-size--s {font-size:.75rem;}
	.menu-principal a {font-size:1.35rem;}
	
	.overlay-logo {top: 1.9rem; left: 1.5rem;}
	.overlay-logo .logo, .footer .logo {width: 150px;}
	.overlay-menu {top: 1.5rem; right: 1.5rem;}
	.overlay-menu--icon {width: 2.5rem; height: 2.5rem; grid-gap:3px;}
	.menu-close {width:2.5rem; height:2.5rem;}
	.menu-bar {width: .9rem;}
	.menu-coordonnees {width:60%;}
	
	.button {padding: 1rem 1.5rem;}
	.button svg {display:none;}
	
	.homepage .content-35 {bottom:1.5rem; left:1.5rem;}
	
	.mar-100, .mar-top, .mar-40 {margin-top:2rem;}
	.grid-pad100, .grid-pad80, .grid-pad50, .grid-pad40 {grid-gap:2rem;}
	
	.menu-wrapper {padding:7.5rem 2rem 2rem 2rem;}
	
	.wrapper {padding:3.5rem 2rem;}
	.wrapper-nb {padding:3.5rem 2rem 0 2rem;}
	.wrapper-nt {padding:0 2rem 3.5rem 2rem;}
	.wrapper-lr {padding:0 2rem;}
	.wrapper-page {padding:8.5rem 2rem 3.5rem 2rem;}
	.wrapper-100 {padding:2rem;}
	
	.height-100 {height:75vh;}
	.homepage.height-100 {height:100vh;}
	
	.content-70, .content-80 {width:100%;}
	
	.font-slide {font-size:3rem;}
	.font-size--a {font-size: 2rem;}
	.font-size--c, .article h2, .font-size--b {font-size: 1.2rem;}
	
	.table-link {grid-gap:0;}
	.liste-link {padding:1.5rem 0; border:0; border-bottom: 1px solid var(--noir);}
	.liste-link svg {width: 15px;}
	.liste-link:before {content:none;}
	.liste-link:hover .font-size--b {color:var(--noir);}
	.liste-link:hover svg {fill:var(--noir);}
	
	.item-realisation {padding:1rem;}
	.item-realisation .item-realisation--meta:nth-child(2) {display:none;}
	
	.bloc-fullwidth--realisation .font-size--b {display:none;}
	.img-fullwidth, .item-realisation {aspect-ratio: 6 / 5;}
	
	.article ul {padding-left: 2rem; grid-gap:1.5rem;}
	.article h2 {margin: 3.5rem 0 2rem 0;}
	.article h2:first-child {margin:0 0 2rem 0;}
	
	.bloc-fullwidth .button {right: auto; bottom: 2rem; left: 2rem;}
	.bloc-fullwidth--cnt .button {left:auto!important;}
	
	.credit-impot .center {text-align:left;}
	
	.legende svg {height:9px;}
	
	.follow a {width:2.5rem; height: 2.5rem;}
	.follow svg {height: 12px;}
	
	.wpcf7-radio {row-gap: 1.5rem;}
	.wpcf7-form input[type="radio"] + .wpcf7-list-item-label::before, .wpcf7-form input[type="checkbox"] + .wpcf7-list-item-label::before {top: 2px;}
	.formulaire .radio-elements {padding: 1.5rem;}
	.formulaire input, .formulaire textarea, .mailerlite-form input, .select-selected {padding:1.5rem;}
	
	.cookie-banner {bottom: 0; right: 0; width: 100%; border: 0; border-top: 1px solid var(--noir) !important;}
	
}

@media screen and (max-width:490px) {

	.col-3 {grid-template-columns:1fr;}
	.bloc-fullwidth .button {left: 50%; transform: translateX(-50%);}
	.item-realisation {align-items: center; text-align:center;}
	
}