/* FONTS
========================================================================== */
@font-face{font-display:swap;font-family:'Fira Sans';font-style:normal;font-weight:400;src: url('../fonts/fira-sans-v18-latin-regular.woff2') format('woff2'), url('../fonts/fira-sans-v18-latin-regular.ttf') format('truetype')}
@font-face{font-display:swap;font-family:'Fira Sans';font-style:normal;font-weight:500;src: url('../fonts/fira-sans-v18-latin-500.woff2') format('woff2'), url('../fonts/fira-sans-v18-latin-500.ttf') format('truetype')}
@font-face{font-display:swap;font-family:'Fira Sans';font-style:normal;font-weight:600;src: url('../fonts/fira-sans-v18-latin-600.woff2') format('woff2'), url('../fonts/fira-sans-v18-latin-600.ttf') format('truetype')}
/* ROOT
========================================================================== */
:root {
	--system-ui: system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
/* FONT SIZE */
  --fs12-11: clamp(0.6875rem, 0.6688rem + 0.0936vw, 0.75rem);
	--fs15-13: clamp(0.8125rem, 0.775rem + 0.1873vw, 0.9375rem);
	--fs16-14: clamp(0.875rem, 0.8375rem + 0.1873vw, 1rem);
	--fs18-16: clamp(1rem, 0.9625rem + 0.1873vw, 1.125rem);
	--fs20-17: clamp(1.0625rem, 1.0063rem + 0.2809vw, 1.25rem);
	--fs22-18: clamp(1.125rem, 1.0501rem + 0.3745vw, 1.375rem);
	--fs24-20: clamp(1.25rem, 1.1751rem + 0.3745vw, 1.5rem);
	--fs25-21: clamp(1.3125rem, 1.2376rem + 0.3745vw, 1.5625rem);
	--fs28-22: clamp(1.375rem, 1.2626rem + 0.5618vw, 1.75rem);
	--fs34-24: clamp(1.5rem, 1.3127rem + 0.9363vw, 2.125rem);
	--fs38-28: clamp(1.75rem, 1.5627rem + 0.9363vw, 2.375rem);
	--fs40-30: clamp(1.875rem, 1.6877rem + 0.9363vw, 2.5rem);
	--fs50-34: clamp(2.125rem, 1.8254rem + 1.4981vw, 3.125rem);
/* SPACES */
  --space-8: clamp(0.4375rem, 0.4188rem + 0.0936vw, 0.5rem); 
	--space-12: clamp(0.6875rem, 0.6688rem + 0.0936vw, 0.75rem); 
	--space-16: clamp(0.875rem, 0.8375rem + 0.1873vw, 1rem);
	--space-24: clamp(1.3125rem, 1.2563rem + 0.2809vw, 1.5rem);
	--space-32: clamp(1.75rem, 1.6751rem + 0.3745vw, 2rem); 
	--space-48: clamp(2.625rem, 2.5126rem + 0.5618vw, 3rem);
	--space-64: clamp(3.5rem, 3.3502rem + 0.7491vw, 4rem); 
	--space-96: clamp(5.25rem, 5.0253rem + 1.1236vw, 6rem); 
/* LOGIC GRID */
  --rowA1: calc( ( 100% - ( 7 * var(--space-32) ) ) / 8 );
	--rowA2: calc( (var(--rowA1) * 2) + (var(--space-32) * 1));
	--rowA3: calc( (var(--rowA1) * 3) + (var(--space-32) * 2));
	--rowA4: calc( (var(--rowA1) * 4) + (var(--space-32) * 3));
	--rowA5: calc( (var(--rowA1) * 5) + (var(--space-32) * 4));
	--rowA6: calc( (var(--rowA1) * 6) + (var(--space-32) * 5));
	--rowA7: calc( (var(--rowA1) * 7) + (var(--space-32) * 6));
	--rowA8: 100%;
/* COLORS */
	--colNoir: rgb(26, 26, 26); 
	--colBlanc: rgb(255, 255, 255);
  --colBleuFonce: rgb(23, 121, 182);
  --colOrange: rgb(216, 147, 66);
  --colBleuClair: rgb(227, 241, 249);
  --colGrisdFond: rgb(244, 244, 244);
  --colGrisHr: rgb(210, 210, 210);
  --colGrisBorder: rgb(172, 172, 172);
  --colGrisInput: rgb(249, 249, 249);
  --colinfoReturn: rgb(227, 241, 249);
  --colerrorReturn: rgb(252, 87, 26);
  --colvalidReturn: rgb(93, 211, 166);
/* TOOLS */
	--borderRadius: 4px;
  --miniShadow: rgba(33, 35, 38, 0.15) 0px 0px 6px 0px;
  --menuShadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

/* BASE
========================================================================== */
/* STICKY FOOTER */
html,body{height:100%;font-family:var(--system-ui)}
body > footer{position:sticky;top:100vh}
/* BASE */
body{font-size:var(--fs16-14);line-height:normal;color:var(--colNoir);background-color:var(--colGrisdFond);font-family:'Fira Sans';font-style:normal;font-weight:400}
a{cursor:pointer;color:inherit;text-decoration:none}
a:hover,a:active,a:focus{outline:0;outline:none;cursor:pointer;text-decoration:none}
::selection{background:var(--colNoir);color:var(--colBlanc);text-shadow:none}
a[href^=tel],a[href^=sms]{color:inherit;cursor:default;text-decoration:none}
select:focus, input:focus{outline:none}
img{display:block;text-align:center;font-size:12px;line-height:1}
img[data-sizes="auto"],img.imgResp{width:100%;max-width:100%;height:auto}
img.imgObFit{width:100%;height:100%;object-fit:cover;object-position:center}
strong{font-style:normal;font-weight:600}
h1,h2,h3,h4{text-wrap:balance}
/* CTA */
.cta{display:inline-flex;flex-flow:column nowrap;justify-content:center;align-items:center;margin:0 8px 8px 0}
.cta a{flex:0 0 auto;padding:8px 12px 4px 12px;font-size:15px;font-weight:500;text-transform:uppercase;border-radius:var(--borderRadius);line-height:1;white-space:nowrap;border:2px solid transparent;transition:all 0.3s ease}
.cta.fs16 a{font-size:16px}
/* CALL MARGIN */
.margBot96{margin-bottom:var(--space-96)} 	.margTop96{margin-top:var(--space-96)}
.margBot64{margin-bottom:var(--space-64)} 	.margTop64{margin-top:var(--space-64)}
.margBot48{margin-bottom:var(--space-48)} 	.margTop48{margin-top:var(--space-48)}
.margBot32{margin-bottom:var(--space-32)} 	.margTop32{margin-top:var(--space-32)}
.margBot24{margin-bottom:var(--space-24)} 	.margTop24{margin-top:var(--space-24)}
.margBot16{margin-bottom:var(--space-16)} 	.margTop16{margin-top:var(--space-16)}
.margBot12{margin-bottom:var(--space-12)} 	.margTop12{margin-top:var(--space-12)}
.margBot8{margin-bottom:var(--space-8)} 	.margTop8{margin-top:var(--space-8)}
/* CALL PADDING */
.paddBot96{padding-bottom:var(--space-96)} 	.paddTop96{padding-top:var(--space-96)}
.paddBot64{padding-bottom:var(--space-64)} 	.paddTop64{padding-top:var(--space-64)}
.paddBot48{padding-bottom:var(--space-48)} 	.paddTop48{padding-top:var(--space-48)}
.paddBot32{padding-bottom:var(--space-32)} 	.paddTop32{padding-top:var(--space-32)}
.paddBot24{padding-bottom:var(--space-24)} 	.paddTop24{padding-top:var(--space-24)}
.paddBot16{padding-bottom:var(--space-16)} 	.paddTop16{padding-top:var(--space-16)}
.paddBot12{padding-bottom:var(--space-12)} 	.paddTop12{padding-top:var(--space-12)}
.paddBot8{padding-bottom:var(--space-8)} 	.paddTop8{padding-top:var(--space-8)}

/* HEADER 
========================================================================== */
header{position:fixed;z-index:9999;top:0;width:100%;height:120px;max-width:100%;background:var(--colBlanc);box-shadow:var(--miniShadow)}
  .logo{display:block;width:100%;height:auto;max-width:318px;margin:0 auto}
  .slogan{width:100%;max-height:40px;padding:10px;background:var(--colBleuFonce);text-align:center;text-transform:uppercase;font-size:var(--fs18-16);font-weight:500;color:var(--colBlanc)}

/* BODY 
========================================================================== */
/* BULK */
.bulk{height:152px;width:100%}
/* WRAPPER */
main{width:100%;max-width:904px;min-height:calc(100vh - (152px + 100px));margin:0 auto;background-color:var(--colBlanc);border-left:8px solid var(--colGrisdFond);border-right:8px solid var(--colGrisdFond)}
.mainWrapper{width:100%;display:flex;flex-flow:row nowrap;padding-top:var(--space-16);padding-bottom:var(--space-16)}
.mainWrapper .cadre{flex:1}
.mainWrapper .content{flex:6;padding:var(--space-16)}
/* MODULO */
hr{display:block;width:100%;border:none;height:1px;background-color:var(--colGrisHr);margin:8px auto 16px auto}
.modulo{width:100%;position:relative;padding-bottom:var(--space-16);padding-top:var(--space-8)}
.moduloDouble{display:flex;flex-flow:row wrap;gap:0 16px;width:100%;align-items:flex-end;padding-bottom:var(--space-16);padding-top:var(--space-8)}
/* CONTROLE */
.colDouble01{flex:0 0 130px}
.colDouble02{flex:1 0 auto}
.colDouble03{flex:0 0 110px}
.colDouble04{flex:0 0 110px}
.colDouble05{flex:0 0 200px}
.titrage{font-size:var(--fs18-16);color:var(--colBleuFonce);text-transform:uppercase} 
.paraTitrage{display:block;padding-bottom:var(--space-16)}
legend{display:block;width:100%;padding-bottom:4px}
input[type="text"]{display:block;width:100%;padding:8px 4px;background-color:var(--colGrisInput);border-radius:var(--borderRadius);border:1px solid var(--colGrisBorder)}
input[type="text"].txtToRight{text-align:right}
button{padding:8px 8px;color:var(--colBlanc);font-weight:500;text-transform:uppercase;background-color:var(--colBleuFonce);border-radius:var(--borderRadius);border:1px solid var(--colBleuFonce);transition:all 0.3s ease}
button:hover{color:var(--colBleuFonce); background-color:var(--colBlanc);transition:all 0.3s ease}
select{display:block;width:100%;padding:8px 4px;background-color:var(--colGrisInput);border-radius:var(--borderRadius);border:1px solid var(--colGrisBorder)}
.radioListe{display:flex;flex-flow:row nowrap;gap:16px;align-items:center;padding-top:var(--space-8)}
.radioListe li{flex:0 0 auto}
.radioListe li input[type="radio"]{display:inline-block;vertical-align:middle;padding:0 8px}
.radioListe li label{display:inline-block;vertical-align:middle;padding:0 8px;line-height:1}
.modulo .formReturn{width:100%;margin:4px auto;padding:4px;font-size:12px}
  .errorReturn{background-color:var(--colerrorReturn);color:var(--colBlanc)}
  .infoReturn{background-color:var(--colBleuClair)}
  .validReturn{background-color:var(--colvalidReturn)}
.moduloDouble .formReturn{width:100%;margin:4px auto;padding:4px;font-size:12px}
.moduloDouble .colFull{flex:0 0 100%}
.messageReturn{width:100%;margin:8px auto;padding:8px;font-size:var(--fs15-13)}
.mcarre{display:block;font-size:var(--fs15-13);padding:8px}
/* DETAILS */
.cumulLieu{background-color:var(--colGrisdFond);padding:var(--space-16)}
.modulo.btnLeft{text-align:right}
 button.btnSupp{background-color:var(--colGrisBorder);color:var(--colBlanc);border:1px solid var(--colGrisBorder)}
 button:hover.btnSupp{background-color:var(--colBlanc);color:var(--colGrisBorder)}
 button.btnAdd{background-color:var(--colOrange);color:var(--colBlanc);border:1px solid var(--colOrange)}
 button:hover.btnAdd{background-color:var(--colBlanc);color:var(--colOrange)}
.cumulLieu .modulo:last-child{padding-bottom:0}

/* FOOTER 
========================================================================== */
footer{width:100%;padding:var(--space-32);font-size:var(--fs15-13);text-align:center}


/* MEDIA QUERIES 
========================================================================== */

/* max 768px */
@media screen and (max-width:48em){
.mainWrapper .cadre{display:none}
.mainWrapper .content{flex:0 0 100%;padding:var(--space-16)}
}

/* max 640px */
@media screen and (max-width:40em){}

/* max 540px */
@media screen and (max-width:33.75em){
.moduloDouble{gap:24px;width:100%;padding-bottom:var(--space-16);padding-top:var(--space-16)}
.colDouble01{flex:0 0 100%}
.colDouble02{flex:0 0 100%}
.colDouble03{flex:0 0 100%}
.colDouble04{flex:0 0 100%}
.colDouble05{flex:0 0 100%}
.moduloDouble.sansMarge{gap:0}
.mcarre{padding:4px 8px 8px 2px}
input[type="text"].txtToRight{text-align:left}
}

/* max 480px */
@media screen and (max-width:30em){
.slogan{font-size:15px;padding:5px;line-height:1.1}
}

/* max 375px */
@media screen and (max-width:24em){}