/*
Theme Name: Numéro Web
Theme URI: https://www.numeroweb.com
Author: Numéro Web
Author URI: https://www.numeroweb.com
Version: 1.0
*/

* {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:#060505;	
	--vert:#136af6;
	--bleu:#041e48;
	--bleu2:#20434e;
	--gris:#f6f8fa;
	--gris2:#d8dfe2;
	--gris3:#e2e6e8;
	--padxs:.7rem;
	--pad:200px;
	--pad150:150px;
	--pad100:100px;
	--pad80:80px;
	--pad70:70px;
	--pad60:60px;
	--pad50:50px;
	--pad40:40px;
	--pad30:30px;
	
} 

* {scrollbar-width: none; -ms-overflow-style: none;}
html {background:var(--gris);}
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(--gris); color:var(--bleu); 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-n {font-family:"neue-haas-unica", sans-serif; font-optical-sizing:auto; font-style:normal; font-size:1.25rem; line-height:1.4; font-weight:400;}
h1, h2, h3 , h4 {line-height:1; font-weight:400;}

.font-size--a {font-size:4vw; line-height:1; font-weight:500;}
.font-size--b {font-size:2.9vw; line-height:1; font-weight:400;}
.font-size--c, .article h2 {font-size:1.8rem; line-height:1.3; font-weight:400;}
.font-size--d, .article h3 {font-size:1.65rem; line-height:1.4; font-weight:400;}
.font-size--e {font-size:1.1rem; line-height:1; font-weight:400;}

italic {font-style: italic;}
strong, .bold {font-weight: 500;}
.center {text-align:center;}
.left {text-align:left;}
.right {text-align:right;}
.uppercase {text-transform:uppercase;}

.font-size--a i {white-space:nowrap; position:relative; font-style:normal;}
.font-size--a i:before {content:''; position: absolute; left:0; bottom:.3rem; width:100%; min-height:6px; height:6px; z-index:-1;
transform-origin:left; transform:scaleX(0); transition:transform .75s cubic-bezier(0.165, 0.84, 0.44, 1); background-color:var(--vert);}
.is-ready .font-size--a i:before {transform:scaleX(1);}
.is-ready .font-size--a i:first-child::before {transition-delay:.5s;}
.is-ready .font-size--a i:last-child::before {transition-delay:2s;}

.underline a {position:relative; white-space: nowrap;}
.underline a:before {content:''; position:absolute; bottom:-5px; 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(--bleu);}
.underline a:hover::before {transform-origin:left;transform:scaleX(1);}
.bleu .underline a:before {background-color:var(--vert);}

.blanc {background:var(--blanc);}
.bleu {background:var(--bleu); color:var(--blanc);}
.bleu a:hover {color:var(--vert);}
.vert {background:var(--vert);}
.tvert {color:var(--vert);}



/* GENERAL */

.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;}

.button {width:fit-content; height:var(--pad60); color:var(--blanc); padding:0 1.5rem; position:relative; border-radius:7rem; overflow:hidden; grid-gap:1.1rem; background:var(--vert);
transition:.4s cubic-bezier(.215,.61,.355,1);}
.carousel .button, .item-contact .button, .job .button {height:var(--pad40);}
button.button {height:var(--pad50);}
.header .button {height:var(--pad50);}
.button span {white-space: nowrap; transition:color .3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.button: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(--bleu); transition:transform .6s cubic-bezier(.215,.61,.355,1); z-index:1;}
.bleu .button:before {background:var(--blanc);}
.button:hover::before {transform:scaleY(1); transform-origin:center bottom;}
.button:after {content:''; position:absolute; top:0; left:0; height:100%; width:100%; border-radius:7rem; background:var(--vert); z-index:-1;}
.button:hover span {color:var(--blanc);}
.bleu .button:hover span {color:var(--bleu);}

.button svg, button svg, .submenu a svg {width:.8rem; fill:var(--blanc); transform-style:preserve-3d; transform:rotate(45deg); transition:.3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.header .button svg {width:1.2rem;}
.btn-tel {background:var(--gris2); color:var(--bleu);}
.btn-tel svg {fill:var(--bleu); transform:none;}
.btn-contact svg {fill:var(--blanc); transform:none;}
.button:hover svg, button:hover svg, .submenu a:hover svg {fill:var(--blanc); transform:none;}
.bleu .button:hover svg, .bleu button:hover svg {fill:var(--bleu); transform:none;}

.nav {width:fit-content; height:var(--pad50); width:var(--pad50); position:relative; display:flex; align-items:center; justify-content: center; border-radius:7rem; overflow:hidden;
background:var(--vert); transition:.4s cubic-bezier(.215,.61,.355,1);}
.nav svg {width:.8rem; fill:var(--blanc); transform-style:preserve-3d; transform:rotate(45deg); transition:.3s cubic-bezier(.215,.61,.355,1); z-index:2;}
.nav: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(--bleu); transition:transform .6s cubic-bezier(.215,.61,.355,1); z-index:1;}
.bleu .nav:before {background:var(--blanc);}
.nav:hover::before, .item-liste:hover .nav:before {transform:scaleY(1); transform-origin:center bottom;}
.nav:hover svg, .item-liste:hover .nav svg {fill:var(--blanc); transform:none;}
.bleu .nav:hover svg {fill:var(--bleu);}


.vert {color:var(--blanc);}
.vert .blanc.radius {color:var(--bleu);}


/* 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-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-pad30 {grid-gap:var(--pad30);}

.column-gap {column-gap:var(--pad);}
.row-gap {row-gap:var(--pad);}
.col-2 {grid-template-columns:1fr 1fr;}
.col-3 {grid-template-columns:1fr 1fr 1fr;}
.col-4 {grid-template-columns:1fr 1fr 1fr 1fr;}

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

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

.wrapper {padding:var(--pad150) var(--pad);}
.wrapper-top {padding-top:var(--pad150);}
.wrapper-l {padding-left:var(--pad);}
.wrapper-tlr {padding:var(--pad150) var(--pad) 0 var(--pad);}
.wrapper-lr {padding:0 var(--pad);}
.wrapper-blr {padding:0 var(--pad) var(--pad150) var(--pad);}

.mar-150 {margin-top:var(--pad150);}
.mar-100 {margin-top:var(--pad100);}
.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-30 {margin-top:var(--pad30);}

.content-100 {width:100%;}
.content-90 {width:90%;}
.content-85 {width:85%;}
.content-80 {width:80%;}
.content-70 {width:70%;}
.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-8 {width:8%;}

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

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

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



/* OVERLAY */

.st1{fill:var(--bleu);}
.st2{fill:var(--vert);}

.header {position:fixed; align-items: center; top:0; height:13rem; padding:0 var(--pad); width:100%; z-index:20; transition:.6s cubic-bezier(.215,.61,.355,1); opacity:0;
transform:translateY(-2rem) skewY(-1deg);}
.is-ready .header {opacity:1; transform:none;}
.header.scroll {top:0; height:5.5rem; box-shadow: 0 0 3rem rgba(1,41,53,.1);}
.header:before {content:''; background:var(--blanc); position:absolute; bottom:0; top:0; left:0; right:0; z-index:-1; opacity:0; 
transition:.5s cubic-bezier(.215,.61,.355,1);}
.header.scroll:before {opacity:1;}

.submenu-link {display:flex; grid-gap:.6rem;}
.submenu-link svg {width:.6rem; fill:var(--bleu); transform:rotate(180deg); transition:.3s;}
.submenu-container.active .submenu-link svg {transform:none;}
.submenu {position:absolute; font-size:90%; z-index:20; padding:1.5rem; background:var(--blanc); width:17vw; display:flex; flex-direction:column; transform:translateY(1rem); margin-top:1rem; 
opacity:0; pointer-events:none; transition:opacity .3s cubic-bezier(.215,.61,.355,1), transform .3s cubic-bezier(.215,.61,.355,1);}
.submenu.active {transform:none; opacity:1; pointer-events:auto;}
.submenu a {border-bottom:1px solid var(--gris2); padding:.3rem 0; display:flex; justify-content:space-between; grid-gap:.8rem; align-items:center;}
.submenu a svg {fill:var(--gris2);}
.submenu a:hover svg {fill:var(--bleu);}
.submenu a:first-child {padding:0 0 .2rem 0;}
.submenu a:before {bottom:-1px;}

.header-cta {grid-gap:20px;}
.overlay-logo, .footer-logo {width:140px;}
.scroll .overlay-logo {width:100px;}

.defilement-avis-clients {font-size:.8rem; letter-spacing:.02rem; text-transform:uppercase; display:flex; pointer-events:none; overflow:hidden; height:var(--pad40); width:100%;
position:absolute; top:0; left:0; user-select:none; transition:.6s cubic-bezier(.215,.61,.355,1); transform:translateY(-4rem) skewY(-1deg);}
.is-ready .defilement-avis-clients {transform:none;}
.defilement-avis-clients--line {transition:.3s; animation-direction:reverse; animation-delay:-3s; flex-shrink:0; display:flex; align-items:center; min-width:100%;
animation:marqueetop 35s linear infinite;}
.defilement-avis-clients--item img {height:12px; width:auto; margin:0 .5rem;}
.defilement-avis-clients--item {display:flex; align-items:center; justify-content:center; height:var(--pad40); width:auto; position:relative; padding:0 var(--pad30);}
@keyframes marqueetop {from {transform: translateX(0);} to {transform: translateX(-100%);}}

.header a.active:before {transform: scaleX(1);}

.mobile {display:none;}



/* CONTENU */

.first {padding-top:13rem; padding-bottom:var(--pad40); z-index:1;}
.first .wrapper-lr {height:100%;}
.carousel {padding-left:var(--pad); padding-right:var(--pad30);}
.navigation .nav-right svg {transform:none;}
.navigation .nav-left svg {transform:rotate(180deg);}
.navigation .swiper-button-disabled {pointer-events:none; opacity:.4;}

.second {opacity:0; transform:translateY(4rem) skewY(-3deg); transition: .7s cubic-bezier(.215,.61,.355,1);}
.is-ready .second {opacity:1; transform:none; transition-delay:.4s;}

.is-ready .homepage .char, .is-ready .first .char {opacity: 1; transform: none; transition-delay: calc(.1s + ( 0.035s * ( var(--char-index)) ));}
.homepage .char, .first .char {display: inline-block; opacity: 0; transform:translate(-.5rem, -1rem) scale(.8) rotate(-10deg);
transition:opacity .8s cubic-bezier(.15,.61,.5,1), transform .5s cubic-bezier(.15,.61,.5,1);}

.homepage .carousel, .homepage .navigation {opacity:0; transform:translateY(4rem) skewY(-3deg); transition: .7s cubic-bezier(.215,.61,.355,1);}
.is-ready .homepage .carousel, .is-ready .homepage .navigation {opacity:1; transform:none;}

.marquee-clients {display:flex; pointer-events:none; overflow:hidden; height:calc(var(--pad) * 1.5); width:100%; border-top:1px solid var(--gris3); 
border-bottom:1px solid var(--gris3); position:relative; user-select:none;}
.wrapper-marquee--line {transition:.3s; animation-direction:reverse; animation-delay:-3s; flex-shrink:0; display:flex; align-items:center; min-width:100%;
animation:marquee 25s linear infinite;}
.wrapper-marquee--item {display:flex; align-items:center; justify-content:center; height:calc(var(--pad) * 1.5); width:auto; position:relative;
padding:0 var(--pad100); border-left:1px solid var(--gris3);}
.wrapper-marquee--item img {width:auto; height:25%;}
@keyframes marquee {from {transform: translateX(0);} to {transform: translateX(-100%);}}

.shadow {box-shadow:0 0 3rem rgba(1,41,53,.1);}
.radius {border-radius:1rem;}

.item-thumb {overflow:hidden; border-radius:1rem; position:relative; height:15rem;}
.item-thumb--img {position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center;}
.item {padding:var(--pad40); background:var(--blanc); height:100%;}
.item-link ul {border-left:1px solid var(--gris3); padding-left:var(--pad30); display:flex; flex-direction:column; grid-gap:.8rem;}

.item-liste {position:relative; padding:var(--pad30); border:1px solid var(--gris3); grid-gap:var(--pad40); background:var(--blanc); overflow:hidden;}
.item-liste .font-size--d, .item-liste .nav {z-index:2;}
.item-liste:before {content:''; position:absolute; bottom:0; top:0; left:0; right:0; z-index:1; transform:scaleX(0); transform-origin:right; opacity:0;
background-color:var(--gris2); transition:transform .6s cubic-bezier(.215,.61,.355,1), opacity .6s cubic-bezier(.215,.61,.355,1);}
.item-liste:hover::before {transform:scaleX(1); transform-origin:left; opacity:1;}
.item-liste .nav:before {transform:scaleX(0); transform-origin:right;}
.item-liste:hover .nav:before {transform:scaleX(1); transform-origin:left;}

.item-logo {display:flex; align-items:center; justify-content:center; height:calc(var(--pad) + var(--pad50));}
.item-logo img {height:35%;}

.border-top, .border-bottom {position:relative;}
.border-top:before {content:''; position:absolute; transform-origin:right; top:0; left:0; width:100%; height:1px; transform:scaleX(1);
transition:transform .75s cubic-bezier(0.165, 0.84, 0.44, 1); background-color:var(--gris3);}
.border-bottom:before {content:''; position:absolute; transform-origin:right; bottom:0; left:0; width:100%; height:1px; transform:scaleX(1);
transition:transform .75s cubic-bezier(0.165, 0.84, 0.44, 1); background-color:var(--gris3);}
.bleu .border-top:before {background-color:var(--bleu2);}
.bleu .border-bottom:before {background-color:var(--bleu2);}

.first-content .content-30, .first-content .content-50, .first-content.content-40, .first-content .button {opacity:0; transform:translateY(4rem) skewY(3deg); transition:.7s cubic-bezier(.215,.61,.355,1);}
.is-ready .first-content .content-30, .is-ready .first-content .content-50, .is-ready .first-content.content-40, .is-ready .first-content .button {opacity:1; transform:none;} 
.is-ready .first-content .content-30, .is-ready .first-content .content-50, .is-ready .first-content.content-40 {transition-delay:.2s;}
.is-ready .first-content .button {transition-delay:.25s;}

.first.page-content {padding-bottom:0;}
.first .thumb {position:absolute; right:-5rem; z-index:1; width:42%;}
.first .thumb img {width:100%; height:auto; opacity:0; transform:scale(1.2) rotate(15deg); transition:.7s cubic-bezier(.215,.61,.355,1);}
.is-ready .first .thumb img {transform:none; opacity:1; transition-delay:.1s;}

.item-presta {padding:var(--pad40);}
.item-circle {position:relative; width:25px; height:25px; background:var(--vert); border-radius:50%;}

.realisations {padding:var(--pad80) 0; overflow:hidden;}
.realisations--marquee {font-size:.8rem; letter-spacing:.02rem; text-transform:uppercase; display:flex; pointer-events:none; height:30vw; width:100%; 
position:relative; top:0; left:0; user-select:none;}
.realisations--line {transition:.3s; animation-direction:reverse; animation-delay:-3s; flex-shrink:0; display:flex; align-items:center; min-width:100%;
animation:marqueerea 30s linear infinite;}
.realisations--item img {height:100%; width:auto;}
.realisations--item {display:flex; align-items:center; justify-content:center; height:30vw; width:auto; position:relative; padding:0 var(--pad30);}
@keyframes marqueerea {from {transform: translateX(0);} to {transform: translateX(-100%);}}

.thumb-top {margin-top:calc(var(--pad80) + var(--pad40)); position:relative; height:40vw; overflow:hidden; transform-origin:center;}
.thumb-img {position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; backround-position:center center; opacity:0; 
transform:scale(1.2); transition:.8s cubic-bezier(.215,.61,.355,1);}
.is-ready .thumb-img {transform:none; opacity:1; transition-delay:.3s;}

.item-equipe {padding:var(--pad40);}
.item-equipe--txt {grid-gap:.5rem;}
.item-equipe img {width:100%; height:auto;}

.item-contact {background:var(--blanc); padding:var(--pad50); opacity:0; transform: translateY(4rem) skewY(3deg); transition:.7s cubic-bezier(.215,.61,.355,1);}
.is-ready .item-contact {opacity:1; transform:none; transition-delay:.2s;}
.is-ready .item-contact:nth-child(2) {transition-delay:.3s;}
.item-contact .contact-svg {fill:var(--vert); width:3rem;}
.item-contact .button svg {width:1.1rem; transform:none;}

.article h2 {color:var(--vert); margin:var(--pad40) 0 2rem 0;}
.article h3 {color:var(--gris2); margin:var(--pad40) 0 2rem 0;}
.article p {margin:2rem 0; line-height: 1.5;}
.article ul {padding-left:2rem; margin:2rem 0; display:flex; flex-direction:column; grid-gap:1rem;}
.article li {position:relative;}
.article li:before {content:''; width:10px; height:10px; background:var(--vert); border-radius:7rem; position:absolute; left:-2rem; top:11px;}
.article a:before {bottom:-1px; transform: scaleX(1); transform-origin:left;}
.article a:hover:before {bottom:-1px; transform:scaleX(0); transform-origin:right;}



/* 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;}



/* CONTACT */

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

.label {margin-bottom:var(--padm);}

button[type="submit"] {position:relative; font-family:inherit;}
input, textarea {font-family:"neue-haas-unica", sans-serif; font-weight:400; color:var(--bleu); font-size:inherit; padding:1rem 1.5rem; transition:.3s;}
input {border-radius:7rem;}
textarea {border-radius:1rem; resize: none; height:var(--pad);}

.footer-formulaire input, .footer-formulaire textarea {width:100%; border:1px solid var(--gris2); background:transparent;}
.footer-formulaire input:hover, .footer-formulaire textarea:hover, .footer-formulaire input:focus, .footer-formulaire textarea:focus, .mailerlite-form input:hover,
.mailerlite-form input:focus {background:var(--gris2);}

.formulaire .label {margin-bottom:1rem;}
.formulaire input, .formulaire textarea {width:100%; border:0; background:var(--gris2);}
.formulaire input:hover, .formulaire textarea:hover, .formulaire input:focus, .formulaire textarea:focus {background:var(--vert); color:var(--blanc);}

.mailerlite-form-inputs {grid-gap:1.5rem;}
.mailerlite-form input {border:0; height: var(--pad50);}

.mailerlite-form-error {color:var(--gris2)!important;}

.wpcf7-form input[type="radio"], .wpcf7-form input[type="checkbox"] {display: none;}
.wpcf7-list-item-label {cursor:pointer; left:3rem; width:calc(100% - 3rem); position:relative; display: flex;}

.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:3px; left:-3rem;
background: none; background:var(--gris2); border:0; border-radius:50%; display:inline-block; vertical-align:middle; height:25px; width:25px; 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(--vert);}

::-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(--bleu)!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(--vert); 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;}



/* FOOTER */

.footer-numero-web {display:flex; flex-direction:column; position:relative; align-items:flex-end;}
.footer-numero-web .vert {padding:var(--pad50);}
.footer-numero-web img {position:absolute; bottom:0; width:32%; pointer-events:none;}
.footer-numero-web .blanc.radius {height:var(--pad80); display:flex; align-items:center; grid-gap:var(--pad40); padding:0 var(--pad40);}
.footer-numero-web .blanc.radius svg {width:var(--pad40);}

svg.footer-contact {width:calc(var(--pad100) + var(--pad30));}
.footer-contact .blanc.radius {padding:var(--pad50);}

.footer-logos div {height:var(--pad100); filter:grayscale(100%); transition:.4s cubic-bezier(.215,.61,.355,1);}
.footer-logos div:hover {filter:grayscale(0);}
.footer-logos img {height:100%; width:auto;}

.footer-logo .st1 {fill:var(--blanc);}
.footer-down .nav svg {transform: rotate(-45deg);}
.footer-down .nav:hover svg {transform: rotate(-90deg);}

.footer-copyright {height:calc(var(--pad100) + var(--pad30));}
.follow svg {width:1.5rem; height:auto; fill:var(--blanc); transition:.3s cubic-bezier(.215,.61,.355,1);}
.follow a:hover svg {fill:var(--vert);}



/* RESPONSIVE DESIGN */

@media screen and (max-width:1700px) {
	
	:root {
	
		--padxs:.7rem;
		--pad:150px;
		--pad150:150px;
		--pad100:100px;
		--pad80:80px;
		--pad70:70px;
		--pad60:60px;
		--pad50:50px;
		--pad40:40px;
		--pad30:30px;
		
	} 
	
	.overlay-logo, .footer-logo {width:125px;}
	
	body, .font-n {font-size: 1.2rem;}
	.font-size--a {font-size: 3.5vw;}
	.font-size--c {font-size: 1.6rem; line-height: 1.3;}
	
	.homepage .content-80 {width:60%;}
	.marquee-clients, .wrapper-marquee--item {height: calc(var(--pad) * 2);}
	
	.contact-col {flex-direction:initial;}
	.contact-col .col-1 {align-items: flex-start; text-align:left;}
	.contact-col .col-1 .content-80 {text-align:left;}
	.contact-col .col-1 .first-content {text-align:left; width:80%;}
	
	.footer-numero-web img {width:36%;}
	
}

@media screen and (max-width:1490px) {
	
	:root {
	
		--padxs:.7rem;
		--pad:120px;
		--pad150:120px;
		--pad20:20px;
		
	} 
	
	body, .font-n {font-size: 1.1rem;}
	.font-size--a i:before {bottom:.15rem; min-height:4px; height:4px;}
	.font-size--d, .article h3 {font-size: 1.5rem;}
	.font-size--e {font-size: .9rem;}
	
	.article li:before {top:9px;}
	
	.overlay-logo, .footer-logo {width:110px;}
	.scroll .overlay-logo {width: 90px;}
	.submenu {width: 20rem;}
	.header.scroll {height: 4.5rem;}
	
	.header .button {height: var(--pad40);}
	.header .button svg {width: .9rem;}
	.nav {height: var(--pad40); width: var(--pad40);}
	
	.item-liste {padding: var(--pad20);}
	
	.content-60 {width:70%;}	
  
}

@media screen and (max-width:1290px) {
	
	.header {height: 9rem;}
	.defilement-avis-clients {font-size: .7rem; height:var(--pad30);}
	
	.btn-contact, .btn-tel {padding:0; width:var(--pad40); justify-content: center;}
	.btn-contact span, .btn-tel span {display:none;}
	.button svg, button svg, .submenu a svg, .nav svg {width:.7rem;}
	
	.content-30 {width: 50%;}
	.col-3, .col-4 {grid-template-columns: 1fr 1fr;}
	
	.item-logo {height: calc(var(--pad) * 1.5);}
	
	.thumb-top {height:40rem;}
	
	.equipe {grid-template-columns:1fr 1fr 1fr;}
	
	.contact {height:auto;}
	.item-contact {text-align:center;}
	.item-contact .contact-svg {width: 2rem;}
	.contact-col {flex-direction: column;}
	.contact-col .col-1 {align-items:center;}
	.contact-col .col-1 .content-80, .contact-col .col-1 .first-content {text-align:center; }
	
	.footer-numero-web {align-items: flex-start;}
	.footer-numero-web .col-2, .footer-contact .col-2 {grid-template-columns:1fr;}
	.footer-numero-web .col-2 div:nth-child(1) {order:2;}
	.footer-numero-web .col-2 div:nth-child(2) {order:1;}
	.footer-numero-web--pic {display:none;}
	.footer-formulaire .col-2 {grid-template-columns:1fr 1fr;}
	
	svg.footer-contact {width: calc(var(--pad70) + var(--pad30));}
	.footer-logos div {height: var(--pad70);}
	
}

@media screen and (max-width:1000px) {
	
	:root {
    --pad:3rem;
	--pad100:3rem;
    --pad150:5rem;
	}
	
	.font-size--a {font-size: 2rem;}
	.font-size--a i:before {min-height:3px; height:3px;}
	.font-size--b {font-size: 1.8rem;}
	.font-size--c {font-size: 1.5rem;}
	.font-size--d, .article h3 {font-size: 1.3rem;}
	
	.content-60, .content-65, .content-70, .content-75, .content-80 {width:100%;}
	.content-30, .content-35, .content-40, .content-45, .content-50, .content-55 {width:70%;}
	
	.overlay-logo, .footer-logo {width: 90px;}
	.marquee-clients, .wrapper-marquee--item {height: calc(var(--pad80) * 2);}
	.wrapper-marquee--item {padding:0 var(--pad80);}
	
	.clients .col-2, .footer-down .col-2 {grid-template-columns:1fr;}
	
	.item-logo {height: calc(var(--pad70) * 2.5);}
	
	.expertises {height:auto; text-align: center; align-items: center; grid-gap: var(--pad40);}
	.expertises-suite {padding:calc(var(--pad150) * 2) var(--pad) var(--pad150) var(--pad);}
	.expertises .wrapper-lr {align-items: center;}
	.expertises .first-content {display:flex; flex-direction:column; align-items: center;}
	
	.realisations--marquee, .realisations--item {height: 25rem;}
	
	textarea {height:8rem;}
	
	.first .thumb {position: relative; right: auto; width: 42%; order: 2; width: 60%;}
	.first .wrapper-lr {height: auto; grid-gap: var(--pad40);}
	.thumb-top {height: 30rem;}
	
	.footer-logos {display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: center;}
	.footer-logos div {filter: grayscale(0%); width: calc(33.333333% - var(--pad50)); text-align: center;}
	
	.footer-down {text-align:center; display:flex; flex-direction:column;}
	.footer-down .itemstbottom {align-items:center; grid-gap: var(--pad40);}
	.footer-copyright {flex-direction:column; align-items:center; grid-gap: var(--pad40); height: auto; padding:var(--pad150) var(--pad);}
	.footer-down .col-2, .footer-down .content-70 {display: flex; flex-direction:column; align-items:center; text-align:center;}
	
}

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

	:root {
	--pad:2rem;
	--pad100:2rem;
	--pad150:5rem;
	--pad50:2rem;
	--pad40:2rem;
	--pad30:2rem;
	}
	
	.header {width:auto;}
	.header .flex.grid-pad50 {display:none;}
	.header.scroll {box-shadow:0 0 0rem rgba(1,41,53,.1);}
	.header:before {content:none;}
	.defilement-avis-clients--item {padding: 0 1rem;}
	
	.mar-100 {margin-top:4rem;}
	.mar-90, .mar-80, .mar-70, .mar-80 {margin-top:3rem;}
	
	.font-size--b {font-size: 1.7rem; line-height: 1.3;}
	.font-size--c { font-size: 1.35rem;}
	.font-size--d, .article h3 {font-size:1.2rem;}
	
	.content-30, .content-35, .content-40, .content-45, .content-50, .content-55 {width:100%;}

	button.button, .carousel .button, .item-contact .button, .job .button, .mailerlite-form input {height: 3rem;}
	input, textarea {padding:.5rem 1rem;}

	.height-100 {height:100%;}
	.col-2, .col-3, .col-4, .footer-formulaire .col-2 {grid-template-columns:1fr;}
	
	.first {padding-top: 10rem;}
	.first .thumb {width:90%;}
	.item-thumb {height: 12rem;}
	.thumb-top {height: 15rem;}
	
	.homepage .content-80 {width: 100%;}
	.homepage .wrapper-lr {display: flex; flex-direction: column;}
	
	.realisations--marquee, .realisations--item {height: 15rem;}
	
	.contact-formulaire {align-items: flex-start;}
	
	.footer-numero-web .blanc.radius {flex-direction:column; height: auto; padding: var(--pad40);}
	
	svg.footer-contact {width:3.5rem;}
	
	.article h2 {font-size:1.3rem; margin: var(--pad40) 0 1.5rem 0;}
	.article h3 {margin: var(--pad40) 0 1.5rem 0;}
	.article p {margin:1.5rem 0;}
	
	.mailerlite-form-inputs {grid-gap: 1.5rem; flex-direction: column; align-items: center;}
	.footer-logos div {width: 100%;}
	.footer-menu, .footer-legal {flex-direction: column; grid-gap: 1rem;}
	.footer-menu a:before, .footer-legal a:before {content:none;}
	.follow svg {width: 1.1rem;}
	
	/* Mobile */

	.overlay-logo .st1 {transition:.3s;}
	.overlay-logo.menu .st1 {fill:var(--blanc);}

	.action {background: none; border: 0; color:var(--blanc); cursor: pointer; padding: 0;}
	.action--menu {pointer-events: auto; position:relative; z-index: 20;}
	.menu--open .action--menu {pointer-events: none;}

	.mobile {width:100%; height:100%; position:fixed; bottom:0; left:0; z-index:10; display:block; grid-template-columns: 100%; pointer-events: none;}
	.menu--open {pointer-events: auto;}
	.menu__item {width: 100%; position: relative; overflow: hidden; display: flex; height: 100%;}
	.menu__item-inner {overflow: hidden; transform: translate3d(100%,0,0); height:100%; width: 100%; position: relative; display: flex; padding:var(--pad);
	flex-direction: column; justify-content:center; grid-gap:var(--pad150);}
	.menu__item-inner a {color:var(--blanc);}
	.menu__item--bg .menu__item-inner {background:var(--bleu);}
	.mainmenu {line-height:1.3; display:flex; flex-direction:column; align-items:flex-start;}
	.mainmenu__link svg {width:.7rem; fill:var(--vert); transform-style: preserve-3d; transform: rotate(45deg); transition: .3s cubic-bezier(.215,.61,.355,1);}
	.mainmenu__link {overflow: visible; position: relative; display:flex; transition: color .5s; width: 100%; opacity: 0; border-bottom: 1px solid rgba(255,255,255,.2);}
	.mainmenu__link a.active, .mainmenu__link a:hover {color:var(--vert);}
	.mainmenu__link a.active svg, .mainmenu__link a:hover svg {transform:none;}
	.mainmenu__item {font-weight:400; display:flex; grid-gap:1rem; align-items: baseline;}
	.menu__item a {display: flex; width: 100%; padding: .7rem 0;}

	.menu--trigger {display:flex; color:var(--blanc); pointer-events:none; position:fixed; height:3rem; top:3rem; z-index:200; width:3rem;
	transition: opacity .6s cubic-bezier(.215,.61,.355,1), transform .8s cubic-bezier(.215,.61,.355,1); border-radius:50%; overflow:hidden; background:var(--vert);}
	.action--close {position: absolute; z-index:300; opacity:0; width:3rem; top:3rem; transition:3s;}
	.menu--icon {transition: all 0.35s; width:3rem; height:3rem; display:block; cursor: pointer; transition:.3s;}
	.menu--trigger:before {content: ''; position:absolute; bottom:0; left:0; width:100%; min-height:100%; height:100%; background-color: var(--bleu);
	transform-origin:top; transform: scaleY(0); transition: transform .5s cubic-bezier(0.165, 0.84, 0.44, 1); z-index:-1;}
	.menu--trigger:hover::before {transform-origin:bottom; transform:scaleY(1);}
	.menu--trigger:hover .menu_part {background:var(--blanc);}

	.mobile.scroll {width:100%; height:calc(100vh - 5rem);}
	.menu--trigger, .action--close {right:var(--pad);}

	.menu_part {width:20px; height:1px; position: absolute; background:var(--blanc); right: 0; margin: auto; left: 0; border-radius: 0px; transition: all 0.35s cubic-bezier(0.8, 0, 0.2, 1.3);
	top:calc(50% - ((5px)) + -2px);}
	.menu_part:nth-of-type(1) {top:calc(50% - 8px);}
	.menu_part:nth-of-type(2) {top: calc(50% - ((4px)) + 2px);}
	.menu_part:nth-of-type(3) {top:calc(50% + 4px);}
	.menu-part-1 {transform: rotate(45deg); top: calc(50% - (1px)) !important;}
	.menu-part-2 {left: -7px !important; opacity: 0;}
	.menu-part-3 {transform: rotate(-45deg); top: calc(50% - (1px)) !important;}
	.menu-rot {transform:rotate(90deg);}

	.mobile .button-follow {width:4rem!important;}

	.mobile .follow a {display:flex; justify-content: center;}

	.menu__item-inner.scroll {height:calc(100vh - 5rem); margin-top:5rem;}
	.action--close.scroll, .menu--trigger.scroll {right:270px;}
	
}

@media screen and (max-width:450px) {
	
	body, .font-n {font-size:1rem; line-height: 1.3;}
	.font-size--b {font-size: 1.6rem; line-height: 1.1;}
	.button {height:3rem;}
	.footer-down .nav {height:3rem; width:3rem;}
	
	.expertises-suite .itemscenter .font-size--b {text-align:center;}
	
}