/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* RESET */

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

html { position:relative; display:block; }

body { position:relative; display:block; width:100%; margin:0; padding:0; font-family:Lato, sans-serif; font-size:1.4641288433382rem; font-weight:400; line-height:1.4; background-color:rgba(255,255,255,1); color:#222831; text-align:left; overflow-x:clip; overflow-y:scroll; }
body.noscrollbar { overflow-y:hidden; }
#en2mots { display:block; width:100vw;  overflow-y:visible; overflow-x:clip; }

header, main, section, article, aside, footer { position:relative; display:block; width:100%; margin:0; padding:0; overflow-y:visible; overflow-x:clip; }

h1, h2, h3, h4, h5, h6 { position:relative; margin:0; padding:0; font-family:Calistoga, serif; font-size:1em; font-weight:400; color:inherit; }
main h1, main h2, main h3, main h4, main h5, main h6 { color:#222831; }

div { position:relative; margin:0; padding:0; }

a, a:link, a:active, a:visited, a:focus { font-size:inherit; color:inherit; text-decoration:inherit; outline-color:transparent; }
body.desktop a:hover { color:inherit; text-decoration:underline; outline-color:transparent; }
body.desktop .fromrte a { text-decoration:none; color:#222831; }
body.desktop .fromrte a:hover { text-decoration:none; color:#05C3FC; }

img { margin:0; padding:0; border:0; }
main img { max-width:100vw; }
svg { position:relative; display:inline-block; vertical-align:top; height:100%; width:100%; margin:0; padding:0; }

p { font-size:inherit; word-wrap:break-word; text-align:left; margin:0; padding:1em 0 0 0; }
p:first-of-type, h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p { padding-top:0; }
span { position:relative; display:inline; font-size:inherit; margin:0; padding:0; }

b, strong, i, span { word-wrap:break-word; }

ul { position:relative; margin:0; padding:0; }
li { position:relative; font-size:inherit; word-wrap:break-word; text-align:left; margin:0; padding:0; }
.fromrte ul { margin-left:1em; }

.wrap { display:block; position:absolute; overflow:hidden; left:0; top:0; width:100%; height:100%; }
.cover { position:absolute; top:50%; left:50%; width:auto; height:auto; transform:translate(-50%, -50%); display:block; margin:0; padding:0; background-color:transparent; }
.cover.top { top:0; transform:translate(-50%,0); }
.cover.bottom { top:100%; transform:translate(-50%,-100%); }
.cover.left { left:0; transform:translate(0,-50%); }
.cover.topleft { left:0; top:0; transform:translate(0,0); }
.cover.bottomleft { left:0; top:100%; transform:translate(0,-100%); }
.cover.right { left:100%; transform:translate(-100%,-50%); }
.cover.topright { left:100%; top:0; transform:translate(-100%,0); }
.cover.bottomright { left:100%; top:100%; transform:translate(-100%,-100%); }
.cover > img, .cover > video, .cover > div, .cover > span { position:absolute; display:inline-block; width:100%; height:100%; left:0; top:0; }

.clear { clear:both; }
.blochref { cursor:pointer; }

pre, code { position:relative; font-size:13px; text-align:left; color:#c7254e; background-color: #f9f2f4; border-radius:0.5em; padding:0.8em; display:block; margin:0 0 1em 0; border:0; }

.ajaxloader { z-index:999999; position:fixed; left:0; top:0; width:100vw; height:100vh; background-color:rgba(0,0,0,0.4); }
.ajaxloader svg { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:8%; height:auto; color:rgba(0,0,0,1); }

.litebox-overlay .litebox-container { margin-left:auto; margin-right:auto; }
.litebox-overlay .litebox-inline-html { max-width:960px; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/*    Mise en forme spécifique des formulaires   */
/*----------------------------------------------------------------------------------------------------------------------------------------------*/

input, textarea, select { position:relative; display:inline-block; vertical-align:top; width:100%; font-size:inherit; display:inline-block; background-color:rgba(221,221,221,1); border-color:rgba(221,221,221,1); color:rgba(22,22,22,1); line-height:1.4; height:1.4em; vertical-align:middle; margin:0; padding:0.1em 0.3em 0 0.3em; width:100%; border:0; border-radius:0; -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; -webkit-appearance:none; -moz-appearance:none; -o-appearance:none; appearance:none; }
textarea { height:6em; }
select { background-image:url(https://www.smbconfort.com/_chartes_/smb/ressources/images/contribution/dropdown.svg) !important; background-size:1.5em; background-position: right center !important; background-repeat: no-repeat !important; padding-right:30px !important; }
select::-ms-expand { display: none; }
select option { color:rgba(22,22,22,1); }
select.placeholder { color:rgba(54,54,54,0.55) !important; }

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  { font-size:0.75em !important; }


/* Mise en forme des boutons radio et des checkboxes */
input[type="radio"] + span:before, input[type="checkbox"] + span:before, input[type="radio"] + span:after, input[type="checkbox"] + span:after {
	content:'' !important; position:absolute !important;
	left:0 !important; top:0 !important; /* on décale la case de 10% de sa taille pour bien la centrer en hauteur */
	width:1em !important; height:1em !important; /* on définit la taille de référence de la case à la même taille que la font du span */
	transform-origin: 50% 50% !important; /* pour être certain du point d'origine du scale pour la case et la coche */
	transition:all .2s !important; /* on prévoit une animation */
}
input[type="radio"], input[type="checkbox"] { position:absolute !important; left:0 !important; top:1em !important; opacity:0 !important; transform: scale(0) !important; height:1em !important; width:1em !important; } /* On masque le champ input (opacité 0) */
input[type="radio"] + span, input[type="checkbox"] + span { position:relative !important; cursor:pointer !important; padding-top:0 !important; padding-bottom:0 !important; padding-left:1.6em !important; } /* on prépare le label (balise span située à côté du champ input) */
input[type="radio"] + span:before, input[type="checkbox"] + span:before { border:1px solid rgba(221,221,221,1) !important; background-color:transparent !important; } /* Aspect général de la case */
input[type="radio"] + span:after, input[type="checkbox"] + span:after { border:1px solid transparent !important; background-color:rgba(221,221,221,1) !important; } /* Aspect général de la coche */
input[type="checkbox"] + span:before, input[type="checkbox"] + span:after { border-radius: 5% !important; } /* angles arrondis */
input[type="radio"] + span:before, input[type="radio"] + span:after { border-radius: 50% !important; } /* cases circulaires */
input[type="radio"]:not(:checked) + span:after, input[type="checkbox"]:not(:checked) + span:after { opacity: 0 !important; transform: scale(0) !important; } /* Aspect si "pas cochée" */
input[type="radio"]:checked + span:after, input[type="checkbox"]:checked + span:after { opacity: 1 !important; transform: scale(0.5) !important; } /* Aspect si "cochée" */

label { position:relative; display:inline-block; vertical-align:top; font-weight:400; }

button, a.button { position:relative; display:inline-block; vertical-align:top; font-family:Lato, sans-serif; font-size:inherit; font-weight:400; text-align:center; background-color:rgba(22,22,22,1); border:1px solid rgba(22,22,22,1); color:rgba(255,255,255,1); margin:0; padding:0.5em 1em; width:auto; outline:0; }
body.desktop button:hover, body.desktop a.button:hover { color:rgba(22,22,22,1); background-color:rgba(255,255,255,1); border-color:rgba(22,22,22,1); text-decoration:none; outline:0; }


/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* ANIMATION SCROLL */

.scrollanim.init { opacity:0; transition:opacity 300ms ease 0ms, transform 300ms ease 0ms; }
.scrollanim { opacity:1; transition:opacity 500ms ease 0ms, transform 300ms ease 0ms; }

.scrollanim.frombottom.init { opacity:0; transform:translateY(50%); }
.scrollanim.frombottom { opacity:1; transform:translateY(0); }
.scrollanim.fromtop.init { opacity:0; transform:translateY(-50%); }
.scrollanim.fromtop { opacity:1; transform:translateY(0); }
.scrollanim.fromleft.init { opacity:0; transform:translateX(-50%); }
.scrollanim.fromleft { opacity:1; transform:translateX(0); }
.scrollanim.fromright.init { opacity:0; transform:translateX(50%);  }
.scrollanim.fromright { opacity:1; transform:translateX(0); }

.scrollanim.typescript span.word { opacity:0; }


/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* BURGER */

button#showhidemenu { z-index:1200; position:absolute; display:inline-block; top:2em; right:0; width:3em; height:3em; margin:0; padding:0; background-color:transparent; border:0; }
button#showhidemenu > svg { position:absolute; left:0; top:0; width:100%; height:100%; transition:color 300ms linear 0ms; }

button#showhidemenu > svg line { transition:transform 300ms linear 0ms; stroke-width:3; stroke-linecap:round; transform-origin: 40% 50%; }
button#showhidemenu > svg line:nth-of-type(1) { transform: translate(0,0) scaleX(1) rotate(0deg); }
button#showhidemenu > svg line:nth-of-type(2) { transform: translate(-18.75%,0) scaleX(0.625); }
button#showhidemenu > svg line:nth-of-type(3) { transform: translate(12.5%,0) scaleX(1.25) rotate(0deg); }
body.desktop button#showhidemenu:hover > svg line:nth-of-type(1) { transform: translate(0,0) scaleX(1) rotate(0deg); }
body.desktop button#showhidemenu:hover > svg line:nth-of-type(2) { transform: translate(0,0) scaleX(1); }
body.desktop button#showhidemenu:hover > svg line:nth-of-type(3) { transform: translate(0,0) scaleX(1) rotate(0deg); }
body.showmenu button#showhidemenu > svg line:nth-of-type(1), body.desktop.showmenu button#showhidemenu:hover > svg line:nth-of-type(1) { transform: translate(0,14%) scaleX(1) rotate(45deg); }
body.showmenu button#showhidemenu > svg line:nth-of-type(2), body.desktop.showmenu button#showhidemenu:hover > svg line:nth-of-type(2) { transform: translate(-40%,0) scaleX(0); }
body.showmenu button#showhidemenu > svg line:nth-of-type(3), body.desktop.showmenu button#showhidemenu:hover > svg line:nth-of-type(3) { transform: translate(0,-14%) scaleX(1) rotate(-45deg); }

h1, h2, h3, h4, h5, h6 { line-height:1.15; }
.fromrte { font-size:0.8em; line-height:1.5625; letter-spacing:0.02em; font-weight:400; }

button > span { font-size:0.75em; letter-spacing:calc(0.1125em / 0.75); }
body.desktop button:hover { cursor:pointer; }
		
.identification { display:inline-block; width:auto; text-align:center; vertical-align:top; line-height:1; border-radius:1.5em; background-color:rgba(255,255,255,1); padding:0 1.4535em 0 1.4965em; height:2.5em; }
.identification > span { font-size:0.95em; color:#222831; transform:translateY(-50%); top:50%; display:inline-block; width:auto; vertical-align:top; font-family:Calistoga, serif; line-height:1; text-transform:uppercase; }
.identification > span a, .identification > span a:link, .identification > span a:active, .identification > span a:visited, .identification > span a:focus { color:#FCDA05; font-family:Lato, sans-serif; font-weight:900; }
body.desktop .identification > span a:hover { text-decoration:none; color:#FCDA05; }

.blocciel, .blocbleu, .bloccreme, .blocjaune, .blocgris, .blocnoir, .blocblanc { display:inline-block; vertical-align:top; width:100%; padding:1.5em 1.95em 2em 1.95em; overflow:visible; }
.blocciel:before, .blocbleu:before, .bloccreme:before, .blocjaune:before, .blocgris:before, .blocnoir:before, .blocblanc:before { content:''; position:absolute; left:0; top:0; bottom:0; right:0; border-radius:1.35em; }
.blocciel { color:#222831; }
.blocbleu { color:#222831; }
.bloccreme { color:#222831; }
.blocjaune { color:#222831; }
.blocgris { color:rgba(255,255,255,1); }
.blocnoir { color:rgba(255,255,255,1); }
.blocciel:before { background-color:#CEF4FF; }
.blocbleu:before { background-color:#05C3FC; }
.bloccreme:before { background-color:#FFFBE0; }
.blocjaune:before { background-color:#FCDA05; }
.blocgris:before { background-color:#393E46; }
.blocnoir:before { background-color:#222831; }
.blocblanc:before { background-color:rgba(255,255,255,1); }

.blocphoto { padding:0; display:inline-block; width:15.75em; height:19.55em; }
.blocphoto img { position:absolute; left:0; top:0; width:100%; height:100%; border-radius:1.35em; }

.blocmap { padding:0; display:inline-block; width:100%; height:28.55em; }
.blocmap > div { position:absolute; left:0; top:0; width:100%; height:100%; border-radius:1.35em; border:2px solid #222831; }

.sfili { z-index:2; color:rgba(255,255,255,1); position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:100%; }
.sfili > svg { color:rgba(255,255,255,1); position:absolute; left:0; width:30em; transform:translate(-30%,-30%); top:0; height:auto; }

section.pageprojet .sfili { z-index:1; }
section.pageprojet .sfili > svg { color:#CEF4FF; opacity:0.28; left:100%; transform:translate(-60%,30%); }

section.pagecontact .sfili > svg { left:100%; transform:translate(-80%,-30%); }
section.page404 .sfili { z-index:initial; }
section.page404 .sfili > svg { left:100%; transform:translate(-80%,-30%); }

section.mentionslegales .sfili { z-index:initial; }
section.mentionslegales .sfili > svg { left:100%; transform:translate(-80%,-30%); }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* HEADER */

header { position:absolute; z-index:1000; left:0; top:0; width:100%; height:auto; background-color:transparent; color:#222831; overflow:visible; transition:background-color 0ms ease 0ms; text-align:center; }

.logo { display:inline-block; vertical-align:top; margin:0; padding:0; width:auto; }
header .logo { z-index:4; position:absolute; left:2.2em; top:1.23em; }
header .logo svg { height:2.5405em; width:auto; }
header .logo .smb path:nth-of-type(3) { fill:#05C3FC; }

.certification { display:inline-block; vertical-align:top; margin:0; padding:0; height:auto; }
header .certification { z-index:4; position:absolute; width:4.65em; top:0; }
body.scroll header .certification { display:none; }

button#showhidemenu { display:none; }

header nav { z-index:2; position:relative; margin:0 auto; width:auto; }
header nav > ul { display:inline-block; width:auto; vertical-align:top; margin-top:2.25em; margin-bottom:2em; }
header nav > ul > li { display:inline-block; width:auto; vertical-align:top; line-height:1; margin-right:1.55em; }
header nav > ul > li > a, header nav > ul > li > a:link, header nav > ul > li > a:active, header nav > ul > li > a:visited, header nav > ul > li > a:focus { font-family:Calistoga, serif; font-size:0.7em; line-height:1; text-transform:uppercase; }
body.desktop header nav > ul > li > a:hover { text-decoration:none; color:#05C3FC; }


/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* MAIN */
main { overflow:visible; margin:0 auto; padding:0; display:block; position:relative; width:100%; transition:margin 500ms linear 0ms; }
main section { overflow:visible; margin:0 auto; padding:0; display:block; position:relative; width:100%; }

main section.defaut { z-index:1; padding-top:8em; text-align:center; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* ACCUEIL */

section.homeintro { text-align:center; min-height:100vh; }
section.homeintro:before { content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; bottom:0; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/placeholders/bg-home.jpg') center center no-repeat; background-size:cover; }
section.homeintro > div > svg:first-of-type { width:18.25em; height:auto; margin:7em auto 0.9685em auto; }
section.homeintro > div > svg:last-of-type { margin-top:2em; margin-bottom:4em; width:1.8235em; height:auto; color:#FCDA05; }
section.homeintro h1 { font-size:2.6em; line-height:1.15em; display:inline-block; padding:0; }
section.homeintro h1 > svg { position:absolute; width:calc(3.3035em / 2.6); height:auto; top:0; color:#05C3FC; }
section.homeintro h1 > svg:first-of-type { left:0; transform:scaleX(-1) translateY(-50%); }
section.homeintro h1 > svg:last-of-type { right:0; transform:translateY(-50%); }
section.homeintro h1 > span { display:inline-block; width:auto; background-color:#393E46; color:rgba(255,255,255,1); transform:matrix(1, -0.05, 0.05, 1, 0, 0); padding:0.2em 0.5em; border-radius:calc(0.7em / 2.6); }
section.homeintro > div > div { max-width:30em; text-align:center; font-weight:400; padding:0; margin:calc(1.362em / 0.8) auto calc(1.7945em / 0.8) auto; }
section.homeintro button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:auto; line-height:1; border-radius:1.5em; border:1px solid; margin:0 auto; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.homeintro button, section.homeintro button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.homeintro button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }

section.homedefilant { display:block; margin:0 auto; padding:0; overflow:hidden; position:relative; left:50%; top:0; transform:translateX(-50%); width:100vw; height:2.6em; background-color:#393E46; color:rgba(255,255,255,1); }
section.homedefilant div { position: absolute; }
section.homedefilant div span, .homedefilant div:before, .homedefilant div:after { position:relative; display:inline-block; vertical-align:middle; font-size: 1.3em; line-height:1; padding:0.5em 0.2em; letter-spacing:0.325em; text-transform:uppercase; font-family:Calistoga, serif; white-space: nowrap; animation: defilement 25s infinite linear; }
section.homedefilant div:before, .homedefilant div:after { position: absolute; top:0; left:0; content:attr(data-text); }
section.homedefilant div:before { transform:translateX(100%); }
section.homedefilant div:after { transform:translateX(200%); }

@keyframes defilement {
	0% { margin-left: 0; }
	100% { margin-left: -100%; }
}

section.homeambition { margin:5.35em 0 6.95em 0; }
section.homeambition b, section.homeambition strong { font-weight:400; color:#FCDA05; }
section.homeambition > div:nth-of-type(1) { z-index:5; }
section.homeambition > div:nth-of-type(2) { z-index:4; }
section.homeambition > div:nth-of-type(3) { z-index:3; }
section.homeambition > div:nth-of-type(4) { z-index:2; }
section.homeambition > div:nth-of-type(5) { z-index:1; }
section.homeambition > div > svg { position:absolute; left:50%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }

span.filigrane { display:block; position:absolute; left:0; top:0; right:0; bottom:0; border-radius:1.35em; overflow:hidden; }
span.filigrane > svg { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:80em; height:auto; color:#33383F; }
.bloccreme span.filigrane > svg { color:#FFF8CB; }

section.homeambition span.logo { display:block; position:absolute; left:2.3em; bottom:2.43em; width:4em; height:2.8em; overflow:visible; }
section.homeambition span.logo > svg { position:absolute; left:0; bottom:0; width:auto; height:100%; }
section.homeambition span.logo > svg .confort path { fill:#FCDA05; }

section.homeambition span.stickers { display:block; position:absolute; right:50%; bottom:0; width:9.7575em; height:9.4145em; }
section.homeambition span.stickers img { position:absolute; height:100%; width:auto; }
section.homeambition span.stickers img:nth-of-type(1) { left:1em; top:1em; }
section.homeambition span.stickers img:nth-of-type(2) { left:-1em; top:4em; }

section.homeambition > div:nth-of-type(1) > svg { top:calc(100% - 1px); transform:translateX(-50%); }
section.homeambition > div:nth-of-type(1) h2 { font-size:3.8em; color:rgba(255,255,255,1); }
section.homeambition > div:nth-of-type(1) > div { padding-right:1em; margin-top:1.3em; }

section.homeambition > div:nth-of-type(3) > div ul { padding:0; margin:0; }
section.homeambition > div:nth-of-type(3) > div li { font-size:1.85em; font-family:Calistoga, serif; color:#05C3FC; display:block; text-align:center; list-style-type:none; }
section.homeambition > div:nth-of-type(3) > div:after { content:''; margin:0 auto; padding:0; color:#222831; position:relative; display:block; width:4.9305em; height:1.655em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag.svg') 0 0 no-repeat; background-size:100%; }

section.homeambition > div:nth-of-type(4) { padding-right:2.8em; }
section.homeambition > div:nth-of-type(4) h2 { font-size:2em; color:rgba(255,255,255,1); }
section.homeambition > div:nth-of-type(4) > div { margin-top:0.8em; margin-bottom:1.558em;  }
section.homeambition > div:nth-of-type(4) button { font-family:Calistoga, serif; text-transform:uppercase; padding-left:2.5em; background-color:transparent; color:#FCDA05; border:0; }
section.homeambition > div:nth-of-type(4) button > svg { position:absolute; left:0; top:0; transform-origin:center; transform:rotate(-90deg) translate(-40%,30%); height:1.8135em; width:auto; }
body.desktop section.homeambition > div:nth-of-type(4) button:hover { color:#05C3FC; }

section.homeambition > div:nth-of-type(5) { padding-left:1.25em; padding-right:1.2185em; }
section.homeambition > div:nth-of-type(5) h2 { font-size:2.4em; line-height:1; color:#222831; text-align:center; text-transform:uppercase; }
section.homeambition > div:nth-of-type(5) button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:100%; line-height:1; border-radius:1.5em; border:1px solid; margin:1.4005em 0 0 0; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.homeambition > div:nth-of-type(5) button, section.homeambition > div:nth-of-type(5) button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.homeambition > div:nth-of-type(5) button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }


section.homeprestations { text-align:center; overflow:visible; padding-top:9.8295em; }
section.homeprestations:before { z-index:2; content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:33.15em; background:linear-gradient(transparent, #CDF4FF 50%, transparent); }
section.homeprestations div.clim { z-index:1; position:absolute; top:-5em; width:28.8em; left:50%; transform:translateX(-50%); }
section.homeprestations div.clim img { position:relative; width:100%; height:auto; }
section.homeprestations > svg:first-of-type { z-index:3; position:absolute; top:0; left:50%; transform:translateX(-50%); width:1.8235em; height:auto; color:#05C3FC; }
section.homeprestations > svg:last-of-type { z-index:4; position:absolute; left:50%; transform-origin:right top; transform:rotate(90deg) translate(50%, -8%); top:7em; height:5em; width:auto; color:rgba(255,255,255,1); }
section.homeprestations h2 { z-index:10; font-size:3.8em; }
section.homeprestations > div { z-index:10; }
section.homeprestations .fromrte { display:block; margin:0 auto; text-align:center; margin-top:calc(1em / 0.8); margin-bottom:calc(1.3em / 0.8); max-width:37.7em; }
section.homeprestations span.baseline { z-index:10; font-size:1.8em; line-height:1.14; font-family:Calistoga, serif; display:inline-block; width:auto; background-color:#393E46; color:rgba(255,255,255,1); transform:matrix(1, -0.05, 0.05, 1, 0, 0); padding:0.2em 0.5em; border-radius:calc(0.7em / 2.6); }
section.homeprestations span.baseline b, section.homeprestations span.baseline strong { font-weight:400; color:#FCDA05; }
section.homeprestations span.baseline u { position:relative; display:inline-block; text-decoration:none; }
section.homeprestations span.baseline u:after { content:''; margin:0 auto; padding:0; color:#FCDA05; position:absolute; display:block; width:calc(5.509em /1.8); height:calc(1.849em / 1.8); left:50%; top:100%; transform:translateX(-50%); background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag-jaune.svg') 0 0 no-repeat; background-size:100%; }

ul.pacclim { font-size:0; }
ul.pacclim > li { list-style-type:none; width:100%; margin:6.5735em auto 5.194em auto; padding-bottom:4.79em; }
ul.pacclim > li:nth-of-type(1) { z-index:2; }
ul.pacclim > li:nth-of-type(2) { z-index:1; }
ul.pacclim > li > .stickers { position:absolute; left:0; top:0; width:100%; height:100%; }
ul.pacclim > li > .stickers > img { position:absolute; width:9.7575em; height:9.4145em; }
ul.pacclim > li:nth-of-type(1) > .stickers > img { left:0; top:100%; transform:translateY(-55%); }
ul.pacclim > li:nth-of-type(2) > .stickers > img { right:0; top:0; transform:translateY(-30%); }
ul.pacclim > li > .stickers > svg { position:absolute; }
ul.pacclim > li:nth-of-type(1) > .stickers > svg { width:7.6065em; height:3.5em; top:0; right:0; transform:translate(-2em, -50%); }
ul.pacclim > li:nth-of-type(2) > .stickers > svg { width:6.299em; height:4.699em; top:0; right:0; transform:translate(2em, 30%); }
ul.pacclim > li h2, ul.pacclim > li h3 { font-size:2em; }
ul.pacclim > li .fromrte { padding:calc(0.76em / 0.8) 0 1em 0; }
ul.pacclim > li .fromrte li { list-style-type:disc; }
ul.pacclim > li > svg:nth-of-type(1) { position:absolute; top:5px; transform:translateY(-100%); height:calc(6.5735em + 10px); width:auto; }
ul.pacclim { z-index:9; }
ul.pacclim button { font-family:Calistoga, serif; text-transform:uppercase; padding-left:2.5em; padding-right:0; background-color:transparent; color:rgba(255,255,255,1); border:0; }
ul.pacclim > li:nth-of-type(2) button { color:#05C3FC; }
ul.pacclim button > svg { position:absolute; left:0; top:0; transform-origin:center; transform:rotate(-90deg) translate(-40%,30%); height:1.8135em; width:auto; }
body.desktop ul.pacclim button:hover { background-color:transparent; color:#222831; }

section.homeprestations ul.pacclim > li:nth-of-type(1) > svg:nth-of-type(1) { right:0; color:#FCDA05; }
section.homeprestations ul.pacclim > li:nth-of-type(2) > svg:nth-of-type(1) { left:0; color:#CEF4FF; transform:scaleX(-1) translateY(-100%); }
section.homeprestations ul.pacclim > li > svg:nth-of-type(2) { position:absolute; left:50%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }
section.pageprestations ul.pacclim > li > svg:nth-of-type(1) { position:absolute; left:50%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }


section.homechoisir { text-align:center; padding-bottom:5.97em; overflow:visible; }
section.homechoisir:before { content:''; position:absolute; left:50%; width:100vw; transform:translate(-50%,25%); top:0; bottom:0; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.homechoisir > svg:first-of-type { width:18.25em; height:auto; margin:0 auto 2.1375em auto; }
section.homechoisir > div { text-align:left; }
section.homechoisir h2 { font-size:2em; position:relative; display:inline-block; vertical-align:top; width:calc(50% - 5px); padding-left:calc(50% - 5px - (17em / 2)); padding-bottom:calc(1.3em / 2); text-align:left; }
section.homechoisir > div > div { position:relative; display:inline-block; vertical-align:top; width:50%; padding-left:3.3em; }
section.homechoisir > div > div > svg { position:absolute; left:0; top:0; transform-origin:center; transform:rotate(-90deg) translateY(50%); height:1.8135em; width:auto; fill:#05C3FC; }
section.homechoisir button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:auto; line-height:1; border-radius:1.5em; border:1px solid; margin:1.4005em 0 0 0; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.homechoisir button, section.homechoisir button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.homechoisir button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }

aside#showavis { position:absolute; z-index:500; top:5em; right:0; width:3.2em; height:auto; }
aside#showavis > button { width:100%; font-size:1em; height:auto; padding:0; border:0; color:#FCDA05; background-color:transparent; cursor:pointer; }
aside#showavis > button > span { font-family:Calistoga, serif; position:absolute; color:rgba(255,255,255,1); font-size:0.7em; }
aside#showavis > button > span:first-of-type { top:0.8em; left:0.85em; text-transform:uppercase; font-weight:700; }
aside#showavis > button > span:last-of-type { top:1.9em; left:0.45em; font-weight:400; letter-spacing:0.1em; }
section.homeavis { text-align:center; padding:2em 0 5em 0; overflow:visible; }
section.homeavis h2 { z-index:10; font-size:2.2em; text-align:center; }


section.pageprestations { padding-top:8em; }
section.pageprestations:before { z-index:2; content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:33.15em; background:linear-gradient(transparent, #CDF4FF 50%, transparent); }
section.pageprestations > div:not(.sfili) { font-size:0; }
section.pageprestations > div > div { z-index:5; display:inline-block; vertical-align:top; width:50%; padding-right:2em; }
section.pageprestations h1 { font-size:3.8em; line-height:0.79; }
section.pageprestations > div > div .fromrte { margin:calc(1.5em / 0.8) 0 calc(1.2em / 0.8); }
section.pageprestations > div > div > svg { width:16.5em; }
section.pageprestations > div > ul.pacclim { z-index:5; display:inline-block; vertical-align:top; width:50%; }
section.pageprestations > div > ul.pacclim > li { display:block; margin:0 0 1.4em 0.7em; width:calc(100% - 0.7em); }
section.pageprestations > div > ul.pacclim > li:first-of-type { margin-top:0.3em; }
section.pageprestations > div > ul.pacclim > li .fromrte { padding:calc(0.9em / 0.8) 0 0 0; margin-bottom:0; }

section.pagecompetences { margin-top:7.0295em; margin-bottom:1.4em; padding-top:2.25em; }
section.pagecompetences:before { z-index:2; }
section.pagecompetences:after { z-index:1; content:''; position:absolute; left:75%; top:-5em; transform-origin:center center; transform:translate(-50%, -50%) rotate(90deg); height:0.671em; width:8em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/vagues.svg') left top repeat-x; background-size:auto 100%; }
section.pagecompetences span.filigrane { z-index:2; }
section.pagecompetences div.clim { mix-blend-mode: multiply; z-index:3; position:absolute; top:-6em; width:28.8em; left:75%; transform:translateX(-50%); }
section.pagecompetences div.clim img { position:relative; width:100%; height:auto; }
section.pagecompetences > svg { left:75%; }
section.pagecompetences > svg:nth-of-type(1) { z-index:3; position:absolute; top:0; transform:translate(-50%,-30%); width:1.8235em; height:auto; color:#05C3FC; }
section.pagecompetences > svg:nth-of-type(2) { z-index:4; position:absolute; top:6em; transform-origin:right top; transform:rotate(90deg) translate(50%, -8%); height:5em; width:auto; color:rgba(255,255,255,1); }
section.pagecompetences h2 { z-index:10; color:rgba(255,255,255,1); font-size:3em; }
section.pagecompetences .fromrte { z-index:10; font-size:1em; line-height:1.68; margin-top:calc(2.75em / 1); }
section.pagecompetences .fromrte ul { margin:0; }
section.pagecompetences .fromrte li { list-style-type:none; }
section.pagecompetences .fromrte li:before { content:'•'; display:inline-block; padding-right:0.5em; color:#FCDA05; }
section.pagecompetences > svg:last-of-type { position:absolute; left:25%; top:calc(100% - 1px); transform-origin:center; transform:translate(-50%, 0%); height:calc(1.4em + 2px); width:auto; }

section.pageprojet > ol { font-size:0; position:relative; z-index:2; list-style:none; counter-reset:my-counter; padding:0; margin:0; }
section.pageprojet > ol > li { display:inline-block; counter-increment: my-counter; width:100%; margin:0 0 1.4em 0; padding-top:2.3em; padding-bottom:2.3em; }
section.pageprojet h3 { color:inherit; font-family:Calistoga, serif; font-size:1.5em; font-weight:400; line-height:1.16; margin-bottom:calc(1.25em / 1.5); }
section.pageprojet h3:before { content: "0" counter(my-counter); color:#05C3FC; }
section.pageprojet .blocbleu h3:before { color:#CEF4FF; }
section.pageprojet .blocjaune h3:before { color:rgba(255,255,255,1); }

section.pagequestion { z-index:3; padding:2.3em 1.95em 3em 1.95em; }
section.pagequestion > svg:nth-of-type(1) { position:absolute; left:75%; top:0; width:6.8em; height:auto; transform:translateY(-35%); }
section.pagequestion > svg:nth-of-type(2) { position:absolute; left:87%; top:0; width:3em; height:auto; color:#05C3FC; transform:rotate(25deg) translateY(-20%); }
section.pagequestion > svg:nth-of-type(2) path:nth-of-type(4) { fill:#FCDA05; }
section.pagequestion > svg:last-of-type { position:absolute; left:66%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }
section.pagequestion h2 { color:#FCDA05; font-size:3em; }
section.pagequestion .fromrte { font-size:1.1em; line-height:1.68; margin-top:calc(1.65em / 1.1); }
section.pagequestion ol { padding:0; }
section.pagequestion ol > li { display:inline-block; counter-increment: my-counter; width:100%; margin:1em 0 0 0; padding-left:5.95em; }
section.pagequestion ol > li:before { content: "#" counter(my-counter); font-family:Calistoga, serif; font-weight:400; color:#05C3FC; position:absolute; left:0; top:0; font-size:3em; }
section.pagequestion ol > li:nth-of-type(2):before { color:#CEF4FF; }


section.pagechoisir { margin-top:5.3825em; padding-top:1.5em; padding-bottom:3.65em; text-align:center; }
section.pagechoisir:before { content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:69.792em; background:linear-gradient(transparent, #CDF4FF 50%, transparent); }
section.pagechoisir h2 { font-size:2.6em; line-height:1.15em; display:inline-block; margin:0 auto; padding:0; text-align:center; }
section.pagechoisir h2 > span { display:inline-block; width:auto; background-color:#393E46; color:rgba(255,255,255,1); transform:matrix(1, -0.05, 0.05, 1, 0, 0); padding:0.2em 0.5em; border-radius:calc(0.7em / 2.6); }
section.pagechoisir h2 > span u { position:relative; display:inline-block; text-decoration:none; }
section.pagechoisir h2 > span u:after { content:''; margin:0 auto; padding:0; color:#FCDA05; position:absolute; display:block; width:calc(5.509em /1.8); height:calc(1.849em / 1.8); left:50%; top:100%; transform:translateX(-50%); background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag-jaune.svg') 0 0 no-repeat; background-size:100%; }
section.pagechoisir > svg:nth-of-type(1) { display:block; width:1.8235em; height:auto; margin:2.38em auto 1.4975em auto; color:#FCDA05; }
section.pagechoisir .fromrte { max-width:30.35em; font-size:1.1em; line-height:1.68; margin:0 auto; }
section.pagechoisir > svg:nth-of-type(2) { display:block; width:17.2075em; height:auto; margin:4.45em auto 0 auto; }

section.pagedevis { padding:6em 0; margin:0 auto; text-align:center; }
section.pagedevis:before { content:''; position:absolute; left:50%; top:50%; transform-origin:center center; transform:translate(-50%, -50%) rotate(90deg); height:0.671em; width:24.5em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/vagues.svg') left top repeat-x; background-size:auto 100%; }
section.pagedevis > div { padding-left:1.25em; padding-right:1.2185em; width:15.75em; }
section.pagedevis > div h2 { font-size:2.4em; line-height:1; color:#222831; text-align:center; text-transform:uppercase; }
section.pagedevis > div button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:100%; line-height:1; border-radius:1.5em; border:1px solid; margin:1.4005em 0 0 0; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.pagedevis > div button, section.pagedevis > div button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.pagedevis > div button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }


section.pagepros { text-align:center; padding-top:2em; padding-bottom:5.97em; overflow:visible; }
section.pagepros:before { content:''; position:absolute; left:50%; width:100vw; transform:translate(-50%,25%); top:0; bottom:0; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.pagepros h2 { font-size:3.8em; line-height:1.12; text-align:center; }
section.pagepros > div { margin-top:4.8em; text-align:left; }
section.pagepros > div > svg { width:100%; height:auto; }
section.pagepros h3 { font-size:2em; position:relative; display:inline-block; vertical-align:top; padding-bottom:calc(1.3em / 2); text-align:left; }
section.pagepros > div > div { position:relative; display:inline-block; vertical-align:top; }
section.pagepros > div > div > svg { position:absolute; left:0; top:0; transform-origin:center; transform:rotate(-90deg) translateY(50%); height:1.8135em; width:auto; fill:#05C3FC; }
section.pagepros button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:100%; line-height:1; border-radius:1.5em; border:1px solid; margin:1.4005em 0 0 0; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.pagepros button, section.pagepros button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.pagepros button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }

section.pagerealisations { text-align:center; margin-top:3em; padding-bottom:4.4em; overflow:visible; }
section.pagerealisations h2 { font-size:3.8em; line-height:1; display:inline-block; padding:0 1em; margin:0 auto 1em auto; width:auto; }
section.pagerealisations h2 > svg { position:absolute; width:calc(3.3035em / 3.8); height:auto; top:0; color:#05C3FC; }
section.pagerealisations h2 > svg { left:0; transform:scale(-1,-1) translateY(50%) rotate(25deg); }
section.pagerealisations h2 > svg path:nth-of-type(4) { fill:#FCDA05; }
section.pagerealisations ul { font-size:0; }
section.pagerealisations li.blocphoto { width:100%; height:12.95em; margin:0.7em 0; }
section.pagerealisations li.blocphoto > div { position:absolute; left:0; top:0; bottom:0; right:0; opacity:0; background-color:rgba(34,40,49,0.66); border-radius:1.35em; }
section.pagerealisations li.blocphoto > div > span { font-family:Calistoga, serif; font-size:0.75em; line-height:1.2; letter-spacing:0.15em; font-weight:400; text-align:center; color:rgba(255,255,255,1); text-transform:uppercase; padding:0; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:90%; max-height:90%; overflow:hidden; }
body.desktop section.pagerealisations li.blocphoto:hover > div, section.pagerealisations li.blocphoto.hover > div { opacity:1; }



section.pagepresentation { z-index:1; padding-top:8em; text-align:center; }
section.pagepresentation:before { z-index:2; content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:79.8em; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.pagepresentation h1 { display:inline-block; width:auto; margin:0 auto; z-index:11; font-size:2.6em; line-height:1.15; }
section.pagepresentation h1 > span { display:inline-block; width:auto; background-color:#393E46; color:rgba(255,255,255,1); transform:matrix(1, -0.05, 0.05, 1, 0, 0); padding:0.2em 0.5em; border-radius:calc(0.7em / 2.6); }
section.pagepresentation h1 > span u { position:relative; display:inline-block; text-decoration:none; }
section.pagepresentation h1 > span u:after { content:''; margin:0 auto; padding:0; color:#FCDA05; position:absolute; display:block; width:calc(5.509em /1.8); height:calc(1.849em / 1.8); left:50%; top:100%; transform:translateX(-50%); background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag-jaune.svg') 0 0 no-repeat; background-size:100%; }
section.pagepresentation h1 > img { position:absolute; right:0; width:3em; height:auto; }
section.pagepresentation > div:not(.sfili) { font-size:0; z-index:10; display:block; text-align:left; }
section.pagepresentation > div > div { margin-top:5em; margin-bottom:1.4em; z-index:2; display:inline-block; vertical-align:top; }
section.pagepresentation span.stickers { display:block; position:absolute; width:9.7575em; height:9.4145em; }
section.pagepresentation span.stickers img { position:absolute; height:100%; width:auto; }
section.pagepresentation span.stickers img:nth-of-type(1) { left:1em; top:1em; }
section.pagepresentation span.stickers img:nth-of-type(2) { left:-3em; top:3em; }
section.pagepresentation > div > div > div:first-of-type { z-index:1; padding-top:2.3em; }
section.pagepresentation > div > div > div:last-of-type { z-index:2; margin-top:1.4em; padding-top:2.9em; padding-bottom:2.9em; }
section.pagepresentation > div > div > svg:nth-of-type(1), section.pagepresentation > div > ol > svg:nth-of-type(1) { position:absolute; top:5px; transform:translateY(-100%); height:calc(5em + 10px); width:auto; }
section.pagepresentation > div > div > svg:nth-of-type(1) { right:0; color:#FCDA05; }
section.pagepresentation > div > ol { margin-top:5em; margin-bottom:1.4em; z-index:1; position:relative; display:inline-block; vertical-align:top; padding-top:2.3em; }
section.pagepresentation > div > ol > svg:nth-of-type(1) { left:0; color:#CEF4FF; transform:scaleX(-1) translateY(-100%); }
section.pagepresentation > div > ol > svg:nth-of-type(2) { position:absolute; left:-0.7em; top:25%; transform:translate(-50%, -50%) rotate(-90deg); height:calc(1.4em + 2px); width:auto; }
section.pagepresentation > div > ol > svg:nth-of-type(3) { position:absolute; left:67%; top:calc(100% - 1px); transform-origin:center; transform:translate(-50%, 0%); height:calc(1.4em + 2px); width:auto; }
section.pagepresentation > div > ol { list-style:none; counter-reset:my-counter; }
section.pagepresentation > div > ol > li { display:inline-block; counter-increment: my-counter; width:100%; margin:0 0 2.65em 0; }
section.pagepresentation > div > ol > li:last-of-type { margin-bottom:0; }
section.pagepresentation > div > ol h3 { color:inherit; font-family:Calistoga, serif; font-size:1.55em; font-weight:400; line-height:1.16; margin-bottom:calc(0.45em / 1.55); }
section.pagepresentation > div > ol h3:before { content: "0" counter(my-counter); color:#05C3FC; }

section.pagespecialites { z-index:2; }
section.pagespecialites > div:nth-of-type(1) { z-index:6; padding-top:1.9em; }
section.pagespecialites > div:nth-of-type(2) { z-index:5; }
section.pagespecialites > div:nth-of-type(3) { z-index:1; padding-left:1.25em; padding-right:1.2185em; }
section.pagespecialites > div:nth-of-type(4) { z-index:2; padding-top:2.25em; }
section.pagespecialites > div:nth-of-type(5) { z-index:3; padding-top:1.925em; }
section.pagespecialites > div:nth-of-type(6) { z-index:4; padding-top:1.925em; }
section.pagespecialites > div > svg { position:absolute; left:50%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }
section.pagespecialites .fromrte ul { margin:0; }
section.pagespecialites .fromrte li { list-style-type:none; line-height:1.68; }
section.pagespecialites .fromrte li:before { content:'•'; display:inline-block; padding-right:0.5em; color:#FCDA05; }
section.pagespecialites > div:nth-of-type(5) h2, section.pagespecialites > div:nth-of-type(5) h2 { font-size:1.85em; line-height:1.2; calc(0.75em / 1.85) }
section.pagespecialites > div:not(:last-of-type) > svg { top:calc(100% - 1px); transform:translateX(-50%); }
section.pagespecialites > div:nth-of-type(1) > svg { left:70%; }
section.pagespecialites > div:nth-of-type(4) > svg { left:25%; }
section.pagespecialites > div:nth-of-type(1) .fromrte, section.pagespecialites > div:nth-of-type(4) .fromrte { font-size:1.1em; line-height:1.68; }

section.pagespecialites > div:nth-of-type(1) h2 { z-index:10; color:rgba(255,255,255,1); font-size:3em; line-height:1.23; margin-bottom:calc(2.75em / 3); }

section.pagespecialites > div:nth-of-type(4) h2 { z-index:10; color:#FCDA05; font-size:3em; line-height:0.75; margin-bottom:calc(1.65em / 3); }

section.pagespecialites > div:nth-of-type(5) h2 { z-index:10; color:rgba(255,255,255,1); font-size:2em; line-height:1.125; margin-bottom:calc(0.75em / 2); }

section.pagespecialites > div:nth-of-type(6) h2 { z-index:10; color:#222831; font-size:2em; line-height:1.125; margin-bottom:calc(0.75em / 2); }

section.pagespecialites > div:nth-of-type(3) h2 { font-size:2.4em; line-height:1; color:#222831; text-align:center; text-transform:uppercase; }
section.pagespecialites > div:nth-of-type(3) button { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:100%; line-height:1; border-radius:1.5em; border:1px solid; margin:1.4005em 0 0 0; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
section.pagespecialites > div:nth-of-type(3) button, section.pagespecialites > div:nth-of-type(3) button:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop section.pagespecialites > div:nth-of-type(3) button:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }

section.pagespecialites span.stickers { display:block; position:absolute; }
section.pagespecialites span.stickers svg { position:absolute; height:100%; width:100%; }

section.pagespecialites > div:not(:nth-of-type(2)) span.stickers { top:0; transform:translateY(-50%); }
section.pagespecialites > div:nth-of-type(2) span.stickers { width:14.7525em; height:11.7955em; left:1.4645em; bottom:0; transform:translateY(15%); }
section.pagespecialites > div:nth-of-type(2) span.stickers svg:nth-of-type(2) { right:1em; height:5.735em; width:5.663em; transform:rotate(-135deg); }


section.pagevideo { z-index:20; padding:6em 0 5.1em 0; text-align:center; }
section.pagevideo h2 { font-size:2.6em; line-height:1.15; text-align:center; }
section.pagevideo .fromrte { margin-top:calc(1em / 0.8); margin-bottom:calc(2.5em / 0.8); }
section.pagevideo .fromrte p { text-align:center; }

section.pagevideo div.video { position:relative; margin:0 auto; width:26.6em; height:calc(26.6em * (9/16)); display:inline-block; border-radius:1.35em; overflow:hidden; }
section.pagevideo iframe { position:absolute; left:0; top:0; width:100%; height:100%; border:0; }


section.pagecontact { z-index:1; padding-top:8em; padding-bottom:3.2em; text-align:left; }
section.pagecontact:before { content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:46.361em; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.pagecontact > div:not(.sfili) { font-size:0; z-index:10; display:block; text-align:left; }
section.pagecontact > div > div { margin-bottom:1.4em; z-index:2; display:inline-block; vertical-align:top; width:100%; }
section.pagecontact > div > div:nth-of-type(2) > div { margin-bottom:1.4em; z-index:2; display:inline-block; vertical-align:top; width:100%; }
section.pagecontact > div > div:nth-of-type(2) > div:last-of-type { z-index:1; margin-bottom:0; }
section.pagecontact h1 { font-size:3em; line-height:1.23em; display:inline-block; padding:0; margin:0 auto; }
section.pagecontact .fromrte { margin-top:calc(1em / 0.8); }
section.pagecontact form { margin-top:2.1em; }

section.pagecontact h2 { font-size:2em; line-height:1.125em; display:block; padding:0; margin:calc(1em / 2) auto; }
section.pagecontact h2:first-of-type { margin-top:0; }
section.pagecontact .identification { width:100%; }
section.pagecontact .intervention img { height:8.978em; right:0; top:-0.5em; }

input, textarea { border-radius:calc(1.5em / 0.75); font-size:0.75em; border:1px solid #222831; background-color:rgba(255,255,255,1); padding:calc(1em / 0.75) calc(1.5em / 0.75); line-height:1.2; height:auto; color:#222831; font-weight:400; }

.contactform ::placeholder { color: #919399; opacity: 1; font-style:italic; }
.contactform :-ms-input-placeholder { color: #919399; font-style:italic; }
.contactform ::-ms-input-placeholder { color: #919399; font-style:italic; }
.contactform fieldset { display:block; position:relative; font-size:0; border:0; outline:0; width:100%; margin:0; padding:0; max-width:100%; }
.contactform label { width:100%; margin:0 0 1em 0; }
.contactform input { outline:0; }
.contactform textarea { height:10.7em; outline:0; }
.contactform .help { width:auto; position:absolute; bottom:0; left:0; display:inline-block; font-size:0.75em; font-style:italic; line-height:1.25; }
.contactform input[type="checkbox"] { position:absolute !important; padding-top:1em !important; padding-bottom: 0 !important; left: 0 !important; top:0 !important; transform: scale(1) !important; }
.contactform input[type="checkbox"] + span:before, .contactform input[type="checkbox"] + span:after { top:0.1em !important; }
.contactform input[type="checkbox"] + span:before { border-color:#222831 !important; }
.contactform input[type="checkbox"] + span:after { background-color:#222831 !important; }
.contactform .consentementrgpd span { color:#222831; outline:0; font-size:0.75em; }
.contactform .asterisque { display:block; padding:0.5em; border:0; width:auto; color:#222831; outline:0; font-size:0.75em; font-style:italic; }
.contactform button { padding:0.55em 1em 0.45em 1em; border-radius:1.5em; font-family:Calistoga, serif; background-color:#FCDA05; color:#222831; border-color:#222831; display:block; width:100%; text-align:center; }
body.desktop .contactform button:hover { background-color:#05C3FC; color:rgba(255,255,255,1); border-color:rgba(255,255,255,1); }
.contactform button span { font-size:0.75em; letter-spacing:0.15em; text-transform:uppercase; display:inline-block; vertical-align:middle; }
.contactform button svg { transform:rotate(-90deg); display:inline-block; vertical-align:middle; margin-left:0.4345em; width:auto; height:1.5em; }



.jconfirm .jconfirm-holder { max-width:80%; margin:0 auto; }
.jconfirm .jconfirm-box div.jconfirm-title-c { font-family:Lato, sans-serif; }
.jconfirm .jconfirm-box .jconfirm-buttons button { font-family:Lato, sans-serif; border-radius:0; }
.btn-primary { background-color:#05C3FC; border-color:#05C3FC; }
body.desktop .btn-primary:hover { border-color:#05C3FC; background-color:rgba(255,255,255,1); color:#05C3FC; }

.succes {  }
.erreur {  }
.erreur ul { list-style-type:none; }


section.page404 { z-index:1; padding-top:8em; padding-bottom:3.2em; text-align:center; }
section.page404:before { content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:46.361em; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.page404 h1 { font-size:2.6em; line-height:1.35em; display:inline-block; padding:0; margin:0 auto; max-width:calc(30em / 2.6); }
section.page404 h1 > span { font-size:3.46em; display:inline-block; width:auto; background-color:#393E46; color:#FCDA05; transform:matrix(1, -0.05, 0.05, 1, 0, 0); padding:0.3em 0.3em; border-radius:calc(0.7em / (2.6 * 3.46)); }
section.page404 .fromrte { margin-top:calc(1.85em / 0.8); }
section.page404 .fromrte p { text-align:center; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* MENTIONS LEGALES */

section.mentionslegales { padding-top:5.65em; }
section.mentionslegales:before { content:''; position:absolute; left:50%; width:100vw; transform:translateX(-50%); top:0; height:46.361em; background:linear-gradient(transparent, #EBEBEB 50%, transparent); }
section.mentionslegales h1 { font-size:3.8em; padding:0; }
section.mentionslegales h2 { font-size:1.9em; padding:1em 0 0.5em 0; text-transform:uppercase; }
section.mentionslegales h2:first-of-type { padding-top:0.5em; }
section.mentionslegales p { text-align:left; }
section.mentionslegales li { text-align:left; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* AUTHENTIFICATION */

section.section-auth { padding-top:5.65em; width:30%; margin:0 auto; text-align:center; }
.authentification { width:30%; margin:0 auto; }

.interne .section-auth h1 { text-align:center; }
.interne .section-auth h1 > span { font-size:2.2em; }
.section-auth form { padding-top:2em;  }
.section-auth .reponse { padding-top:2em; }
.section-auth input { display:block; width:100%; margin:0.5em auto 0 auto; }
.section-auth .btn { font-size:1em; border-radius:0; border-color:rgba(0,0,0,1); padding:1.5em 2.5em; margin-top:1em; }
body.desktop .section-auth .btn:hover { border-color:rgba(0,0,0,1); background-color:rgba(255,255,255,1); color:rgba(0,0,0,1); }


/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* FOOTER */
footer { z-index:900; position:relative; background-color:transparent; color:#222831; text-align:left; margin-top:2em; overflow:visible; }
body.desktop footer a:hover { text-decoration:none; }
footer nav, footer > div  { width:100%; position:relative; margin:0 auto; padding:0; text-align:center; }

footer .aides { text-align:center; margin-top:5.3565em; }
footer .aides > svg { position:absolute; top:-5.365em; left:50%; transform:translateX(-50%); width:1.8235em; height:auto; color:#FCDA05; }
footer .aides h2 { font-family:Calistoga, serif; font-size:2em; font-weight:400; line-height:1.125; display:block; text-align:center; }
footer .aides ul { display:block; text-align:center; }
footer .aides ul:before { content:''; position:absolute; left:50%; top:50%; transform-origin:center center; transform:translate(-50%,-50%); width:100%; height:0.671em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/vagues.svg') left top repeat-x; background-size:auto 100%; }
footer .aides ul > li { display:inline-block; width:auto; vertical-align:middle; margin:0; padding:0; }
footer .aides a { font-family:Calistoga, serif; text-transform:uppercase; position:relative; display:block; width:auto; line-height:1; border-radius:1.5em; border:1px solid; padding:0.8765em 1.625em 0.9765em 1.625em; height:auto; text-align:center; }
footer .aides a > span { font-size:0.75em; letter-spacing:calc(0.1125em / 0.75); }
footer .aides a, footer .aides a:link, footer .aides a:active, footer .aides a:visited, footer .aides a:focus { background-color:rgba(255,255,255,1); border-color:#222831; color:#222831; }
body.desktop footer .aides a:hover { text-decoration:none; background-color:#05C3FC; border-color:#05C3FC; color:rgba(255,255,255,1); }

footer .process { margin-bottom:-2.2em; z-index:3; background-color:transparent; }
footer .process > ol { font-size:0; list-style:none; counter-reset:my-counter; padding:0; margin:0; }
footer .process > ol > li { height:13em; display:inline-block; counter-increment: my-counter; width:100%; margin:0; }
footer .process > ol > li:first-of-type, footer .process > ol > li:last-of-type { margin:0; }
footer .process > ol > li svg { position:absolute; left:50%; top:1px; transform-origin:center; transform:translate(-50%, -100%); height:calc(1.4em + 2px); width:auto; }
footer .process h3:before { content: "0" counter(my-counter); color:#05C3FC; }
footer .process .blocbleu h3:before { color:#CEF4FF; }
footer .process h3 { color:inherit; font-family:Calistoga, serif; font-size:1.55em; font-weight:400; line-height:1.16; margin-bottom:calc(1.25em / 1.55); }
footer .process .fromrte { font-size:0.7em; line-height:1.7; position:absolute; bottom:calc(2em / 0.7); left:calc(1.95em / 0.7); right:calc(1.95em / 0.7); height:auto; }

footer nav { margin-bottom:-2.6em; z-index:2; background:transparent linear-gradient(180deg, rgba(255,255,255,1) 0%, #FCDA05 100%) 0% 0% no-repeat padding-box; padding:4.3em 0 2.25em 0; line-height:1; border-radius:0 0 1.35em 1.35em; text-align:center; }
footer .logo svg { height:3.0095em; width:auto; }
footer .logo .smb path:nth-of-type(3) { fill:#05C3FC; }
footer nav > ul { font-size:0; display:inline-block; width:auto; vertical-align:top; }
footer nav > ul > li { display:inline-block; width:100%; vertical-align:top; line-height:1; text-align:center; }
footer nav > ul > li > a, footer nav > ul > li > a:link, footer nav > ul > li > a:active, footer nav > ul > li > a:visited, footer nav > ul > li > a:focus { font-family:Calistoga, serif; font-size:0.75em; line-height:1; text-transform:uppercase; }
body.desktop footer nav > ul > li > a:hover { text-decoration:none; color:#05C3FC; }

.intervention { height:0; z-index:4; background-color:transparent; }
.intervention img { position:absolute; width:auto; }
header .intervention img { height:6.7675em; left:6.0555em; top:0.4em; }
footer .intervention img { height:6.7675em; left:6.0555em; top:0.4em; }

.coords { color:rgba(255,255,255,1); }
footer .coords { z-index:1; background-color:#393E46; padding:5.253em 0 2.6635em 0; line-height:1; border-radius:0 0 1.35em 1.35em; }

footer .identification  { vertical-align:middle; margin-right:0.015em; }
footer .identification > span { font-size:1.05em; }
.adresse { display:inline-block; vertical-align:middle; font-size:0.8em; margin:0 0.8155em; }
ul.certifications { display:inline-block; vertical-align:middle; font-size:0; }
ul.certifications li { display:inline-block; vertical-align:middle; list-style-type:none; padding:0; margin:0 0 0 0.8155em; }
ul.certifications li:first-of-type { margin:0; }
ul.certifications li img { width:4em; display:block; height:auto; }

footer ul.sociaux { display:inline-block; vertical-align:middle; font-size:0; }
footer ul.sociaux li { display:inline-block; vertical-align:middle; list-style-type:none; padding:0; margin:0 0 0 0.8155em; }
footer ul.sociaux li:first-of-type { margin:0 0 0 1.5em; }
footer ul.sociaux li svg { width:2em; display:block; height:auto; }


footer .copyright { margin:2.9305em auto 0.4695em auto; line-height:1; }
footer .copyright a, footer .credits a { color:#222831; }
body.desktop footer .copyright a:hover, body.desktop footer .credits a:hover { color:#05C3FC; }
footer .copyright > a { position:relative; display:block; text-transform:uppercase; font-family:Calistoga, serif; font-size:0.75em; letter-spacing:calc(0.1125em / 0.75); }

footer .credits { margin:0 auto 2.3875em auto; }
footer .credits > span { position:relative; display:inline-block; vertical-align:top; font-size:0.6em; }
footer .credits > span:not(:last-of-type) { padding-right:0.85em; margin-right:0.85em; }
footer .credits > span:not(:last-of-type):after { content:'•'; font-size:1.4em; position:absolute; color:#FCDA05; top:50%; right:0; transform:translate(calc(50% + 2px),-50%); }
footer .credits:after { content:''; margin:0 auto; padding:0; color:#222831; position:relative; display:block; width:4.9305em; height:1.655em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag.svg') 0 0 no-repeat; background-size:100%; }


.cc_container { background-color:#222831 !important; font-family:Lato, sans-serif !important; font-weight:400 !important; }
.cc_container .cc_btn, .cc_container .cc_btn:visited { display:inline-block; width:auto !important; white-space: nowrap !important; font-family:Calistoga, serif !important; font-weight:400 !important; background-color:#05C3FC !important; color:rgba(255,255,255,1) !important; }
.cc_container .cc_btn:hover, .cc_container .cc_btn:active { color:#222831 !important; }
.cc_container a.cc_more_info, .cc_container a.cc_more_info:link, .cc_container a.cc_more_info:visited, .cc_container a.cc_more_info:active { color:#FCDA05 !important; }
/* ------------------------------------------------------------------------------------------------------------- */
/* RESPONSIVE */

html { font-size:10px; font-size:1vw; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* Reinit font-size après un font-size:0; */
body,
ul.certifications li,
ul.sociaux li,
header nav > ul > li,
ul.pacclim > li,
section.pageprestations > div > div,
section.pageprojet > ol > li,
section.pagerealisations > ul > li,
section.pagepresentation > div > div,
section.pagepresentation > div > ol,
section.pagecontact > div > div,
.contactform label,
footer .process > ol > li,
footer nav > ul > li
 { font-size:1rem; }
/*----------------------------------------------------------------------------------------------------------------------------------------------*/

#en2mots { opacity:0; background-color:rgba(255,255,255,1); width:100%; max-width:2560px; margin:0 auto; position:relative; }

main section { width:100%; margin:0 auto; padding:0; }

body.noscrollbar { height:0; overflow-y:hidden; }
body.windows.noscrollbar, body.windows.noscrollbar header, body.windows.noscrollbar header nav > div { max-width:calc(100% - 17px); }



/* AFFICHAGE PANORAMIC */

/* Attention, le style panoramic n'est pas ajouté sur body mais sur html
html.panoramic { left:calc( ( 100% - 2.5 * 100vh ) / 2); width:calc(2.5 * 100vh); font-size:2vh; text-align:center; }
*/


/* AFFICHAGE FONT MAXI */
@media (min-width:1366px) { 

	html { font-size:13.66px; }

}

/* AFFICHAGE MAXI */
@media (min-width:2560px) { 

}
/* AFFICHAGE NORMAL */
@media (orientation:portrait) and (min-width:951px), (orientation:landscape) and (min-width:501px) {

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* Reinit font-size après un font-size:0; */
body,
ul.certifications li,
ul.sociaux li,
header nav > ul > li,
ul.pacclim > li,
section.pageprestations > div > div,
section.pageprojet > ol > li,
section.pagerealisations > ul > li,
section.pagepresentation > div > div,
section.pagepresentation > div > ol,
section.pagecontact > div > div,
.contactform label,
footer .process > ol > li,
footer nav > ul > li
 { font-size:1.4641288433382rem; }
/*----------------------------------------------------------------------------------------------------------------------------------------------*/

main { width:50em; }
footer nav, footer > div  { width:50em; }
header { position:fixed; }
header:before { z-index:1; content:''; position:absolute; left:0; top:0; right:0; height:100%; background-color:rgba(255,255,255,0.9); opacity:0; }

body.scroll header:before { opacity:1; }
body.scroll header .logo { top:0.43em; }

body.scroll header nav > ul { margin-top:1.25em; margin-bottom:1em; }
header nav > ul > li.current > a, header nav > ul > li.current > a:link, header nav > ul > li.current > a:active, header nav > ul > li.current > a:visited, header nav > ul > li.current > a:focus { color:#05C3FC; }
header nav > ul > li.current:before { content:''; color:#222831; position:absolute; left:50%; top:calc(100% + 0.1em); transform:translateX(-50%); width:2.5365em; height:0.8515em; background:transparent url('https://www.smbconfort.com/_chartes_/smb/ressources/images/decoration/zigzag.svg') 0 0 no-repeat; background-size:100%; }

header nav div.intervention, header nav div.adresse, header nav ul.certifications { display:none; }
header nav div.coords { display:inline-block; vertical-align:top; width:auto; }

.identification > span:first-of-type:after { content:'•'; font-size:1em; position:relative; margin:0.3em; }
header .identification { box-shadow: 0 0 0.7em #03C3FD21; margin-top:1.65em; }
body.scroll header .identification { margin-top:0.65em; }
header .identification > span { color:#05C3FC; font-size:0.7em; }

header .certification { width:4.65em; right:1.814em; }

section.homeintro > div { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:100%; height:auto; }
section.homeintro h1 { font-size:2.6em; padding:0 calc((3.3035em + 0.5em) / 2.6); } 
section.homeintro h1 > svg { width:calc(3.3035em / 2.6); top:calc((1.3em * 1.15) / 2.6); }
section.homeintro h1 > svg:first-of-type path:nth-of-type(2) { fill:#FCDA05; }
section.homeintro h1 > svg:last-of-type path:nth-of-type(4) { fill:#FCDA05; }
section.homeintro .fromrte p { text-align:center; }

section.homeambition { margin:5.35em 0 6.95em 0; height:33.3em; }
section.homeambition > div { position:absolute; }
section.homeambition > div:nth-of-type(1) { top:0; left:0; width:32.85em; height:14.2em; }
section.homeambition > div:nth-of-type(2) { top:0; right:0; width:15.75em; height:19.55em; }
section.homeambition > div:nth-of-type(3) { bottom:0; left:0; width:15.75em; height:17.7em; }
section.homeambition > div:nth-of-type(4) { bottom:0; left:50%; transform:translateX(-50%); width:15.75em; height:17.7em; }
section.homeambition > div:nth-of-type(5) { bottom:0; right:0; width:15.75em; height:12.35em; }
section.homeambition > div:nth-of-type(1) > svg { left:calc(75% + 0.45em); }
section.homeambition > div:nth-of-type(5) > svg { left:-0.7em; top:50%; transform:translate(-50%, -50%) rotate(-90deg); }

section.homeambition > div:nth-of-type(1) > div { padding-left:calc((17.1em - 1.95em) / 0.8); }

ul.pacclim button { position:absolute; right:1.874em; bottom:1.2695em; }
section.homeprestations ul.pacclim > li { width:calc(50% - 0.7em); }
section.homeprestations ul.pacclim > li:nth-of-type(2) { margin-left:1.4em; }
section.homeprestations ul.pacclim > li > svg:nth-of-type(2) { position:absolute; left:-0.7em; top:50%; transform:translate(-50%, -50%) rotate(-90deg); transform-origin:center; height:calc(1.4em + 2px); width:auto; }

section.homechoisir > div > div { padding-top:0.3em; }
section.homechoisir > div > div > svg { top:0.3em; }
section.homechoisir > div > div > div { width:calc(13em / 0.8); }

section.pagecompetences .fromrte { column-count: 3; }

section.pageprojet > ol > li { height:16.15em; width:calc(50% - 0.7em); }
section.pageprojet > ol > li:nth-of-type(2n+1) { margin-right:1.4em; }
section.pageprojet > ol > li:nth-of-type(1), section.pageprojet > ol > li:nth-of-type(2) { height:19.55em; }
section.pageprojet .fromrte { position:absolute; bottom:calc(2em / 0.8); left:calc(1.95em / 0.8); right:calc(1.95em / 0.8); height:auto; }

section.pagepros > div > svg { position:absolute; right:calc(50% + 5px + 2em); bottom:4.55em; width:13.6em; }
section.pagepros > div > div { width:50%; padding-top:0.3em; padding-left:3.3em; }
section.pagepros h3 { width:calc(50% - 5px); padding-left:calc(50% - 5px - (15.9em / 2)); }
section.pagepros > div > div > div { width:calc(13.8em / 0.8); }
section.pagepros > div > div > svg { top:0.3em; }
section.pagepros button { width:13.8em; }

section.pagerealisations li.blocphoto { width:calc((100% - (2 * 1.4em)) / 3); height:12.95em; margin:0.7em; }
section.pagerealisations li.blocphoto:nth-of-type(3n+1) { margin-left:0; }
section.pagerealisations li.blocphoto:nth-of-type(3n+3) { margin-right:0; }


section.pagepresentation h1 > img { top:0; transform:translate(60%, -20%); }
section.pagepresentation > div > div { width:calc(50% - 0.7em); }
section.pagepresentation > div > ol { width:calc(50% - 0.7em); margin-left:1.4em; }
section.pagepresentation span.stickers { left:0; top:0; transform:translateY(-65%); width:9.7575em; height:9.4145em; }


section.pagespecialites { margin:0; height:50.6em; }
section.pagespecialites > div { position:absolute; }
section.pagespecialites > div:nth-of-type(1) { top:0; left:0; width:32.85em; height:14.2em; }
section.pagespecialites > div:nth-of-type(2) { top:0; right:0; width:15.75em; height:14.2em; }
section.pagespecialites > div:nth-of-type(3) { top:50%; left:0; transform:translateY(calc(-50% - 0.85em)); width:15.75em; height:17.7em; padding-top:4.0765em; }
section.pagespecialites > div:nth-of-type(4) { top:50%; right:0; transform:translateY(calc(-50% - 0.85em)); width:32.85em; height:17.7em; }
section.pagespecialites > div:nth-of-type(5) { bottom:0; left:0; width:24.3em; height:15.9em; }
section.pagespecialites > div:nth-of-type(6) { bottom:0; right:0; width:24.3em; height:15.9em; }
section.pagespecialites > div:nth-of-type(1) > svg { top:calc(100% - 1px); left:calc(75% + 0.45em); transform:translateX(-50%); }
section.pagespecialites > div:nth-of-type(3) > svg { left:calc(100% + 0.7em - 1px); top:50%; transform:translate(-50%,-50%) rotate(-90deg); }
section.pagespecialites > div:nth-of-type(4) > svg { top:calc(100% - 1px); left:calc(85% + 0.45em); transform:translateX(-50%); }
section.pagespecialites > div:nth-of-type(6) > svg { left:-0.7em; top:50%; transform:translate(-50%, -50%) rotate(-90deg); }
section.pagespecialites > div:nth-of-type(1) .fromrte { column-count: 2; font-size:1em; }
section.pagespecialites > div:nth-of-type(2) span.stickers { width:13.509em; height:10.801em; left:1.4645em; bottom:0; transform:translateY(15%); }
section.pagespecialites > div:nth-of-type(5) span.stickers { width:9.598em; height:4.4165em; right:0; transform:translate(10%,-50%); }
section.pagespecialites > div:nth-of-type(6) span.stickers { width:6.299em; height:4.699em; left:50%; transform:translate(15%,-50%); }

section.pagecontact > div > div:nth-of-type(1) { width:calc(50% - 0.7em); min-height:44.8em; }
section.pagecontact > div > div:nth-of-type(2) { width:calc(50% - 0.7em); margin-left:1.4em; }


footer .aides { text-align:left; height:4.85em; margin-bottom:2.5255em; }
footer .aides h2 { position:absolute; left:0; top:50%; transform:translateY(-50%); width:calc(11.2em / 2); height:auto; text-align:left; }
footer .aides ul { position:absolute; right:0; top:50%; transform:translateY(-50%); width:calc(100% - 11.5em); text-align:right; }
footer .aides ul > li { margin:0 0 0 1.85em; }
footer .aides a { height:3em; }

footer .logo { position:absolute; left:1.9em; bottom:1.3905em; }
footer nav { text-align:right; }
footer nav > ul > li { width:auto; margin-right:1.35em; }
footer nav > ul > li:last-of-type { margin-right:1.95em; }

footer .process > ol > li { height:13em; display:inline-block; vertical-align:bottom; width:calc((100% - (2 * 1.4em)) / 3); margin:0 1.4em; }
footer .process > ol > li svg { left:-0.7em; top:50%; transform:translate(-50%, -50%) rotate(-90deg); }

footer .copyright > a { display:inline-block; vertical-align:top; }
footer .copyright > a:not(:last-of-type) { padding-right:1.725em; margin-right:1.725em; }
footer .copyright > a:not(:last-of-type):after { content:''; position:absolute; background-color:#05C3FC; width:1px; height:1.2em; top:50%; right:0; transform:translate(calc(50% + 2px),-50%); }
}
/* AFFICHAGE TABLETTE et PETIT ECRAN */
@media (orientation:portrait) and (min-width:951px) and (max-width:1600px), (orientation:landscape) and (min-width:501px) and (max-width:1200px), {

	html { font-size:10px; font-size:1vw; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* Reinit font-size après un font-size:0; */
body,
ul.certifications li,
ul.sociaux li,
header nav > ul > li,
ul.pacclim > li,
section.pageprestations > div > div,
section.pageprojet > ol > li,
section.pagerealisations > ul > li,
section.pagepresentation > div > div,
section.pagepresentation > div > ol,
section.pagecontact > div > div,
.contactform label,
footer .process > ol > li,
footer nav > ul > li
 { font-size:1.4641288433382rem; }
/*----------------------------------------------------------------------------------------------------------------------------------------------*/
}
/* AFFICHAGE MOBILE */
@media (orientation:portrait) and (max-width:950px), (orientation:landscape) and (max-width:500px) {

	html { font-size:10px; font-size:1vw; }

/*----------------------------------------------------------------------------------------------------------------------------------------------*/
/* Reinit font-size après un font-size:0; */
body,
ul.certifications li,
ul.sociaux li,
header nav > ul > li,
ul.pacclim > li,
section.pageprestations > div > div,
section.pageprojet > ol > li,
section.pagerealisations > ul > li,
section.pagepresentation > div > div,
section.pagepresentation > div > ol,
section.pagecontact > div > div,
.contactform label,
footer .process > ol > li,
footer nav > ul > li
 { font-size:5.1282051282051rem; }
/*----------------------------------------------------------------------------------------------------------------------------------------------*/

	main { width:17.2em; }
	footer nav, footer > div  { width:17.2em; }

	div.nosmartphone br { display: none; content: ' '; clear:none; }


.blocphoto { display:block; width:100%; height:12.85em; }

.sfili { display:none; }

body.scroll:not(.showmenu) header .logo, body.scrollmenu header .logo { display:none; }
 
header .logo { z-index:10; position:fixed; left:50%; transform:translateX(-50%); top:1.15em; }
header .certification { z-index:10; position:fixed; width:3.5em; left:0.5em; opacity:1; }
body.showmenu header .certification { opacity:1; }

button#showhidemenu { z-index:1200; position:fixed; display:block; top:1.8065em; right:1.15em; width:1.5em; height:1.5em; color:#FCDA05; }
body.showmenu button#showhidemenu { color:#222831; }
button#showhidemenu > svg line { stroke-width:6; }
button#showhidemenu > svg line:nth-of-type(1) { transform: translate(0,0) scaleX(1) rotate(0deg); }
button#showhidemenu > svg line:nth-of-type(2) { transform: translate(0,0) scaleX(1) rotate(0deg); }
button#showhidemenu > svg line:nth-of-type(3) { transform: translate(0,0) scaleX(1) rotate(0deg); }
body.scroll:not(.showmenu) button#showhidemenu:before { content:''; background-color:rgba(255,255,255,0.9); border-radius:50%; height:2em; width:2em; position:absolute; left:50%; top:50%; transform:translate(-55%,-50%); } 

header:before { z-index:3; position:fixed; height:5em; }
body.showmenu.scroll:not(.scrollmenu) header:before { opacity:0; }
body.showmenu.scrollmenu header:before { opacity:1; }
header nav { min-height:5em; }
header nav > ul { display:none; }
header nav > div.intervention { display:none; }
header nav > div.coords { display:none; }
header nav > button#showhidemenu { display:block; }

body.showmenu header { position:fixed; left:0; right:0; top:0; bottom:0; background-color:#393E46; overflow-x:hidden; overflow-y:auto; }
body.showmenu header .certification { display:none; }
body.showmenu header nav { padding-top:5em; position:relative; min-height:calc(100% - 15.25em); background:transparent linear-gradient(180deg, rgba(255,255,255,1) 0%, #FCDA05 100%) 0% 0% no-repeat padding-box; border-radius:0 0 1.35em 1.35em; }
body.showmenu header nav > ul:not(.sociaux) { display:block; height:calc(100% - 5em); }
body.showmenu header nav > div.intervention { display:inline-block; position:absolute; top:calc(100% + 1.1em); left:50%; transform:translateX(-50%); }
body.showmenu header nav > div.coords { display:block; position:absolute; top:calc(100% - 1.35em); height:calc(15.25em + 1.35em); left:0; width:100%; }

header nav > ul { font-size:0; width:auto; vertical-align:top; }
header nav > ul > li { display:inline-block; width:100%; vertical-align:top; line-height:1; margin-top:1.55em; padding-left:5.05em; text-align:left; }
header nav > ul > li:first-of-type { margin-top:2.1em; }
header nav > ul > li:last-of-type { margin-bottom:4.024em; }
header nav > ul > li > a, header nav > ul > li > a:link, header nav > ul > li > a:active, header nav > ul > li > a:visited, header nav > ul > li > a:focus { font-family:Calistoga, serif; font-size:0.95em; line-height:1; text-transform:uppercase; }


section.homeintro > div > svg:first-of-type { width:13.6em; margin-bottom:2.1035em; }
section.homeintro h1 { font-size:1.9em; } 
section.homeintro h1 > svg:first-of-type { width:calc(1.8em / 1.9); top:calc((1.3em * 1.15) / 1.9); transform:translate(80%,-80%) matrix(-0.95, -0.33, 0.33, -0.95, 0, 0); }
section.homeintro h1 > svg:last-of-type { display:none; }
section.homeintro h1 > svg:first-of-type path:nth-of-type(3) { fill:#FCDA05; }
section.homeintro button > span { font-size:0.6em; letter-spacing:calc(0.1125em / 0.6); }

section.homedefilant { height:1.9em; }
section.homedefilant div span, .homedefilant div:before, .homedefilant div:after { font-size:0.95em; }

section.homeambition { margin:3.4em 0 5.55em 0; }
section.homeambition > div { display:block; position:relative; width:100%; margin-bottom:1.4em; }
section.homeambition > div:nth-of-type(1) h2 { font-size:2.75em; }
section.homeambition > div:nth-of-type(1) > div { margin-bottom:7.55em;}
section.homeambition span.stickers { right:0; }
section.homeambition > div:nth-of-type(1) > svg { left:25%; }
section.homeambition > div:nth-of-type(5) > svg { left:75%; }

section.homeprestations div.clim { width:100vw; top:-2em; }
section.homeprestations h2 { font-size:2.75em; line-height:1.07; }
section.homeprestations p { text-align:center; }
ul.pacclim > li { width:100%; }
ul.pacclim > li:nth-of-type(1) { padding-top:1.8em; padding-bottom:2.949em; margin-bottom:4em; }
ul.pacclim > li:nth-of-type(1) > .stickers > img { transform:translateY(-43%); }
ul.pacclim > li:nth-of-type(2) { margin-top:0; padding-top:2.35em; padding-bottom:1.8485em; }
ul.pacclim > li:nth-of-type(2) > .stickers > img { transform:translateY(-56%); }
ul.pacclim > li:nth-of-type(2) > .stickers > svg {  transform:translate(1em,-27%); }
section.homeprestations > ul.pacclim > li > svg { display:none; }

aside#showavis { top:4em; right:0.15em; }
body.showmenu aside#showavis { display:none; }
aside#showavis > button { color:#05C3FC; }

section.homechoisir > svg:first-of-type { width:13.6em; margin-bottom:2.1035em; }
section.homechoisir h2 { width:100%; display:block; }
section.homechoisir > div > div { width:100%; display:block; padding-left:0; }
section.homechoisir > div > div > svg { display:none; }
section.homechoisir button { width:100%; }

section.pageprestations { padding-top:9em; }
section.pageprestations:before { height:55.169em; }
section.pageprestations > div { text-align:center; }
section.pageprestations > div > div { padding-right:0; width:13.6em; text-align:left; margin:0 auto; }
section.pageprestations h1 { font-size:1.9em; line-height:1; }
section.pageprestations > div > div > svg { display:none; }
section.pageprestations > div > ul.pacclim { width:100%; }
section.pageprestations > div > ul.pacclim > li { margin-left:0; width:100%; }
section.pageprestations > div > ul.pacclim > li:nth-of-type(2) { padding-top:4.35em; }
section.pageprestations > div > ul.pacclim > li:nth-of-type(1) > .stickers > img { transform:translate(-25%, -43%); }
section.pageprestations > div > ul.pacclim > li:nth-of-type(2) > .stickers > img { transform:translate(25%, -27%); }
section.pageprestations > div > ul.pacclim > li:nth-of-type(2) > .stickers > svg { transform:translate(1.2em, 157%); }

section.pagecompetences { padding-top:7.25em; }
section.pagecompetences:after { left:50%; }
section.pagecompetences > svg { left:50%; }
section.pagecompetences div.clim { width:100%; height:10em; left:50%; transform:translateX(-50%); top:0; overflow:hidden; text-align:center; }
section.pagecompetences div.clim img { position:absolute; left:50%; transform:translateX(-50%); top:-5em; width:150%; max-width:initial; }
section.pagecompetences h2 { font-size:2.25em; }
section.pagecompetences .fromrte { font-size:0.95em; margin-top:calc(2.75em / 0.95); }

section.pagequestion { margin-top:4.5em; padding-top:2.6em; }
section.pagequestion > svg:nth-of-type(1) { left:40%; width:3.4em; transform:translateY(-45%); }
section.pagequestion > svg:nth-of-type(2) { left:56%; width:1.5em; transform:rotate(25deg) translateY(-30%); }
section.pagequestion > svg:last-of-type { display:none; }
section.pagequestion h2 { font-size:1.8em; }
section.pagequestion ol > li { padding-left:0; padding-top:5em; }

section.pagechoisir { margin-top:3.3825em; padding-top:3.5em; }
section.pagechoisir h2 { font-size:1.9em; }

section.pagepros { padding-top:3.5em; }
section.pagepros h2 { font-size:1.9em; }
section.pagepros > div { margin-top:2em; }
section.pagepros h3 { display:none; }
section.pagepros > div > div { margin-top:2em; }
section.pagepros > div > div > svg { display:none; }

section.pagerealisations h2 { font-size:1.9em; padding:0; }
section.pagerealisations h2 > svg { display:none; }

section.pagepresentation { padding-top:8.5em; padding-bottom:20em; }
section.pagepresentation:before { top:60.75em; height:62.05em; }
section.pagepresentation h1 { font-size:1.9em; line-height:1.1; }
section.pagepresentation h1 > img { right:0; bottom:0; transform:translate(30%, 45%); width:4em; }
section.pagepresentation > div > div > svg { display:none; }
section.pagepresentation > div > ol > svg { display:none; }
section.pagepresentation > div { position:initial; }
section.pagepresentation > div > div { position:initial; }
section.pagepresentation > div > div > div:first-of-type { z-index:4; }
section.pagepresentation > div > ol { z-index:3; margin-top:0; }
section.pagepresentation > div > div > div:last-of-type { z-index:4; position:absolute; left:0; bottom:0; width:100%; }
section.pagepresentation span.stickers { left:50%; top:0; transform:translate(-50%,-90%); width:9.7575em; height:9.4145em; }
section.pagepresentation > div > ol > svg:nth-of-type(2) { display:inline-block; transform:translate(-50%,-100%); left:50%; top:0; }

section.pagespecialites > div { margin-top:1.4em; }
section.pagespecialites > div:nth-of-type(2) { height:15.5em; }
section.pagespecialites > div:nth-of-type(1) h2 { font-size:2.65em; line-height:1.15; margin-bottom:calc(1.85em / 2.65); }
section.pagespecialites > div:nth-of-type(4) h2 { font-size:2.25em; line-height:1.15; margin-bottom:calc(1.65em / 2.25); }
section.pagespecialites > div:nth-of-type(5) span.stickers { width:9.598em; height:4.4165em; right:0; transform:translate(10%,-40%); }
section.pagespecialites > div:nth-of-type(6) span.stickers { width:6.299em; height:4.699em; right:0; transform:translate(5%,-40%); }



section.pagevideo h2 { font-size:2.1em; line-height:1.12; }
section.pagevideo div.video { width:17.2em; height:calc(17.2em * (9/16)); }

section.pagecontact { padding-top:8.5em; }
section.pagecontact .intervention img { right:-2em; }

section.page404 h1 > span { font-size:2em; border-radius:calc(0.7em / (2.6 * 2)); }


main .mentionslegales h1 { font-size:1.9em; }
main .mentionslegales h2 { font-size:1.2em; }

section.section-auth { width:100%; }

footer .aides ul:before { width:12.5em; transform:translate(-50%, -50%) rotate(90deg); }
footer .aides ul > li { margin:1.5525em 0 0 0; }
footer .aides ul > li:first-of-type { margin-top:2.0585em; }
footer .aides ul > li:last-of-type { margin-bottom:2.0585em; }
footer .aides a:first-of-type { border-radius:1.9em; }


footer .process > ol > li { height:13em; margin:1.4em 0; }
footer .process > ol > li:first-of-type, footer .process > ol > li:last-of-type { margin:0; }

footer nav > ul > li { margin-top:0.95em; padding-left:4.9em; text-align:left; }
footer nav > ul > li:first-of-type { margin-top:2.126em; }
footer nav > ul > li:last-of-type { margin-bottom:1.024em; }

header .intervention img { left:50%; transform:translateX(-50%); }
footer .intervention img { left:50%; transform:translateX(-50%); }

.coords { text-align:center; }
.identification { width:13.6em; height:4.5835em; border-radius:2.3em; }
.identification > span { font-size:1.05em; transform:translateY(-0.75em); }
.adresse { margin:1.45em 0; }
header .adresse { margin:5.3em 0 1.15em 0; }
ul.certifications { display:block; margin:0 auto; }
ul.certifications li img { width:4.202em; }
footer ul.sociaux { display:block; margin:0 auto; }
footer ul.sociaux li { margin:1.5em 0 0 0.8155em; }
footer ul.sociaux li:first-of-type { margin:1.5em 0 0 0; }

footer .copyright > a:not(:last-of-type) { margin-bottom:0.6em; }
}

/* AFFICHAGE MINI */
@media (max-width:300px) { 
	body { overflow-x:scroll; }
	html { font-size:9px; }
	#en2mots { width:300px; }
	header { width:300px; position:relative; }
	main { width:300px; margin-top:0 !important; }
	footer { width:300px; }
}
