.elementor-1257 .elementor-element.elementor-element-00367b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1257 .elementor-element.elementor-element-vlhero1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1257 .elementor-element.elementor-element-vltxt01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1257 .elementor-element.elementor-element-vlsec01{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1257 .elementor-element.elementor-element-vlstx01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1257 .elementor-element.elementor-element-a11ecb2 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}.elementor-1257 .elementor-element.elementor-element-6135f3c7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:60px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;}.elementor-1257 .elementor-element.elementor-element-1676c944 .elementor-heading-title{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(min-width:768px){.elementor-1257 .elementor-element.elementor-element-6135f3c7{--content-width:1250px;}}@media(max-width:1024px){.elementor-1257 .elementor-element.elementor-element-a11ecb2 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:2;}}@media(max-width:767px){.elementor-1257 .elementor-element.elementor-element-a11ecb2 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-1257 .elementor-element.elementor-element-6135f3c7{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS *//* ===== section ville : photo + titre + contenu (vlsec01) ===== */
.elementor-1257 .elementor-element.elementor-element-vlsec01{
  --anis:#A5C932;--soft:#f6f7f1;--g:max(24px,calc((100% - 1280px) / 2));
  width:100%;max-width:none;
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:0;
  padding:86px var(--g) 90px;
  background-color:var(--soft)!important}
.elementor-element-vlsec01 *{box-sizing:border-box}
.elementor-1257 .elementor-element.elementor-element-vlsimg1{
  width:46%;flex:0 0 46%;max-width:46%;align-self:stretch;margin:0;padding:0;min-height:420px}
.elementor-1257 .elementor-element.elementor-element-vlsimg1 .elementor-widget-container,
.elementor-1257 .elementor-element.elementor-element-vlsimg1 figure,
.elementor-1257 .elementor-element.elementor-element-vlsimg1 .elementor-image{height:100%;margin:0;line-height:0}
.elementor-element-vlsimg1 img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.elementor-1257 .elementor-element.elementor-element-vlstx01{
  width:54%;flex:1 1 54%;max-width:54%;
  display:flex;flex-direction:column;justify-content:center;gap:20px;
  padding:0 0 0 clamp(36px,4.6vw,64px)}
.elementor-1257 .elementor-element.elementor-element-vlstx01::before{
  content:"";display:block;position:static;inset:auto;transition:none;
  width:44px;height:2px;background:var(--anis);flex:0 0 auto}
.elementor-1257 .elementor-element.elementor-element-vlstit1{margin:0;width:100%}
.vlSecH2 .elementor-heading-title{margin:0;
  font:700 clamp(28px,3.8vw,40.5px)/.98 'Saira Condensed',sans-serif;
  letter-spacing:-.005em;text-transform:uppercase;color:#141414;text-wrap:balance}
.elementor-1257 .elementor-element.elementor-element-vlscon1{width:100%;margin:0}
.vlSecBody p{margin:0;font:400 15.5px/1.72 'Nunito Sans',sans-serif;color:#4d5147;text-wrap:pretty}
.vlSecBody p+p{margin-top:15px}
.vlSecBody a{color:#5f7a1a;font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(95,122,26,.34);transition:color .18s ease,border-color .18s ease}
.vlSecBody a:hover{color:#141414;border-bottom-color:var(--anis)}
.vlSecBody .city-presentation+.city-redirect{
  margin-top:26px;padding:20px 22px 21px;background:#fff;border-left:3px solid var(--anis)}
.vlSecBody .city-redirect p{font-size:14.5px;line-height:1.68;color:#5b5f54}
@media (max-width:999px){
  .elementor-1257 .elementor-element.elementor-element-vlsec01{
    flex-direction:column;flex-wrap:wrap;gap:30px;padding:56px 0 60px}
  .elementor-1257 .elementor-element.elementor-element-vlsimg1{
    width:100%;flex:0 0 auto;max-width:100%;min-height:0;height:auto;
    padding:0 var(--g)}
  .elementor-element-vlsimg1 img{height:auto;aspect-ratio:16/9;object-fit:cover}
  .elementor-1257 .elementor-element.elementor-element-vlstx01{
    width:100%;flex:0 0 auto;max-width:100%;gap:18px;padding:0 var(--g)}
}
@media (max-width:619px){
  .elementor-element-vlsimg1 img{aspect-ratio:4/3}
  .elementor-1257 .elementor-element.elementor-element-vlsec01{gap:24px;padding:40px 0 46px}
  .elementor-1257 .elementor-element.elementor-element-vlstx01{gap:16px;padding:0 var(--g)}
  .vlSecBody p{font-size:15px}
  .vlSecBody .city-presentation+.city-redirect{margin-top:22px;padding:17px 18px 18px}
}

/* ===== FLUENT FORM "Demande de devis - STAPV" dans la carte sombre #contact ===== */
#stapvFormSource1257{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sh__formslot{--anis:#A5C932;--dark:#0d0d0d;width:100%}
.sh__formslot *{box-sizing:border-box}
.sh__formslot .fluentform,.sh__formslot .fluentform_wrapper,
.sh__formslot .ff-step-container,.sh__formslot .ff-step-body,.sh__formslot .fluentform-step{width:100%}
.sh__formslot form{display:block}
.sh__formslot form>fieldset{display:block!important;border:0;margin:0;padding:0}
.sh__formslot .fluentform-step.active{display:grid!important;grid-template-columns:1fr 1fr;
  gap:16px 12px;align-items:start}
.sh__formslot .fluentform-step.active>.ff-t-container,
.sh__formslot .fluentform-step.active>.ff-step-t-container,
.sh__formslot .fluentform-step.active>.step-nav,
.sh__formslot .fluentform-step.active>.ff-el-group:has(textarea),
.sh__formslot .fluentform-step.active>.ff-el-group:has(.ff-el-form-check),
.sh__formslot .ff_submit_btn_wrapper,.sh__formslot .ff-message-success,
.sh__formslot .ff-errors-in-stack{grid-column:1 / -1}
.sh__formslot .ff-t-container{display:flex;gap:12px;margin:0}
.sh__formslot .ff-t-cell{flex:1 1 0;min-width:0;padding:0}
.sh__formslot .ff-el-group{margin:0!important;display:flex;flex-direction:column;gap:6px}
.sh__formslot .ff-el-input--label{margin:0}
.sh__formslot .ff-el-input--label label{margin:0;font:600 10.5px/1.35 'Nunito Sans',sans-serif;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.sh__formslot .ff-el-is-required.asterisk-right label:after{color:var(--anis)!important}
.sh__formslot .ff-el-form-control{background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:0!important;color:#fff!important;
  box-shadow:none!important;font:400 13.5px/1.4 'Nunito Sans',sans-serif!important;
  padding:13px 14px!important;height:auto!important;width:100%}
.sh__formslot .ff-el-form-control::placeholder{color:rgba(255,255,255,.62)}
.sh__formslot .ff-el-form-control:focus{border-color:var(--anis)!important;outline:none}
.sh__formslot textarea.ff-el-form-control{min-height:112px;line-height:1.6;resize:vertical}
.sh__formslot select.ff-el-form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' fill-opacity='.62' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;
  background-position:right 13px center!important;padding-right:36px!important}
.sh__formslot select.ff-el-form-control option{background:#fff;color:var(--dark)}
.sh__formslot .ff-el-input--content:has(.ff-el-form-check){display:flex;flex-wrap:wrap;gap:8px}
.sh__formslot .ff-el-form-check{margin:0;display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:10px 13px;
  cursor:pointer;transition:border-color .16s ease,background .16s ease}
.sh__formslot .ff-el-form-check:hover{border-color:var(--anis)}
.sh__formslot .ff-el-form-check-label,.sh__formslot .ff-el-form-check label{margin:0;
  font:400 13px/1.3 'Nunito Sans',sans-serif;letter-spacing:0;text-transform:none;color:#fff;cursor:pointer}
.sh__formslot .ff-el-form-check input{width:auto!important;margin:0!important;accent-color:var(--anis)}
.sh__formslot .ff_file_upload_holder,.sh__formslot .ff-btn-upload{background:rgba(255,255,255,.06);
  border:1px dashed rgba(255,255,255,.28);border-radius:0;color:#fff}
.sh__formslot .ff-float-right{float:none!important}
.sh__formslot .step-nav{display:flex;align-items:center;gap:10px;margin:0}
.sh__formslot .fluentform-step.active>.step-nav{justify-content:flex-end;margin-top:4px}
.sh__formslot .ff-step-t-container.ff-inner_submit_container{display:flex;align-items:center;
  justify-content:space-between;gap:14px;margin-top:4px}
.sh__formslot .ff-step-t-container .ff-t-cell{flex:0 0 auto}
.sh__formslot .ff-el-group.ff_submit_btn_wrapper{margin:0}
.sh__formslot .ff-btn{border-radius:0!important;box-shadow:none;cursor:pointer;width:auto;
  font:700 13px/1 'Saira Condensed',sans-serif!important;letter-spacing:.1em!important;
  text-transform:uppercase;padding:16px 26px!important;border:1px solid transparent!important;
  transition:background .18s ease,border-color .18s ease,transform .2s cubic-bezier(.22,.7,.28,1),box-shadow .2s ease}
.sh__formslot .ff-btn-next,.sh__formslot .ff-btn-submit{background:var(--anis)!important;color:var(--dark)!important}
.sh__formslot .ff-btn-next:hover,.sh__formslot .ff-btn-submit:hover{background:#b9de3f!important;
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.35)}
.sh__formslot .ff-btn-prev{background:transparent!important;color:#fff!important;
  border-color:rgba(255,255,255,.28)!important}
.sh__formslot .ff-btn-prev:hover{background:rgba(255,255,255,.08)!important;
  border-color:#fff!important;transform:translateY(-2px)}
/* Fluent Forms met display:block sur ses boutons et fait grandir la cellule :
   on les remet a leur largeur naturelle, alignes a droite */
.sh__formslot .ff-btn{display:inline-block!important;width:auto!important}
.sh__formslot .ff_submit_btn_wrapper{display:flex;justify-content:flex-end}
.sh__formslot .ff-step-t-container .ff-t-cell{flex:0 1 auto!important}
.sh__formslot .ff-step-t-container .ff-t-cell:last-child{margin-left:auto}
.sh__formslot .error,.sh__formslot .text-danger,.sh__formslot .ff-el-is-error-message{
  font:400 12.5px/1.5 'Nunito Sans',sans-serif;color:#ffa79c}
.sh__formslot .ff-el-is-error .ff-el-form-control{border-color:#ffa79c!important}
.sh__formslot .ff-message-success{background:rgba(165,201,50,.14);border-left:3px solid var(--anis);
  padding:15px 17px;font:400 14px/1.7 'Nunito Sans',sans-serif;color:#fff}
.sh__formslot .ff-custom_html,.sh__formslot .ff-custom_html p{font:400 13px/1.65 'Nunito Sans',sans-serif;
  color:rgba(255,255,255,.6);margin:0}
@media (max-width:619px){
  .sh__formslot .fluentform-step.active{grid-template-columns:1fr;gap:14px}
  .sh__formslot .ff-t-container{flex-direction:column;gap:12px}
  .sh__formslot .ff-step-t-container.ff-inner_submit_container{flex-direction:column-reverse;align-items:stretch}
  .sh__formslot .ff-step-t-container .ff-t-cell{flex:1 1 auto}
  .sh__formslot .fluentform-step.active>.step-nav{justify-content:stretch}
  .sh__formslot .ff-btn{display:block!important;width:100%!important;padding:15px 20px!important}
  .sh__formslot .ff_submit_btn_wrapper{justify-content:stretch}
}/* End custom CSS */