/*
** Réalisation : LaFabrikk
** https://www.lafabrikk.fr
*/
:root {
  --LF001: 0.0625rem;
  --LF002: 0.125rem;
  --LF003: 0.1875rem;
  --LF004: 0.25rem;
  --LF005: 0.3125rem;
  --LF006: 0.375rem;
  --LF007: 0.4375rem;
  --LF008: 0.5rem;
  --LF009: 0.5625rem;
  --LF010: 0.625rem;
  --LF011: 0.6875rem;
  --LF012: 0.75rem;
  --LF013: 0.8125rem;
  --LF014: 0.875rem;
  --LF015: 0.9375rem;
  --LF016: 1rem;
  --LF017: 1.0625rem;
  --LF018: 1.125rem;
  --LF019: 1.1875rem;
  --LF020: 1.25rem;
  --LF021: 1.3125rem;
  --LF022: 1.375rem;
  --LF023: 1.4375rem;
  --LF024: 1.5rem;
  --LF025: 1.5625rem;
  --LF026: 1.625rem;
  --LF027: 1.6875rem;
  --LF028: 1.75rem;
  --LF029: 1.8125rem;
  --LF030: 1.875rem;
  --LF031: 1.9375rem;
  --LF032: 2rem;
  --LF033: 2.0625rem;
  --LF034: 2.125rem;
  --LF035: 2.1875rem;
  --LF036: 2.25rem;
  --LF037: 2.3125rem;
  --LF038: 2.375rem;
  --LF039: 2.4375rem;
  --LF040: 2.5rem;
  --LF041: 2.5625rem;
  --LF042: 2.625rem;
  --LF043: 2.6875rem;
  --LF044: 2.75rem;
  --LF045: 2.8125rem;
  --LF046: 2.875rem;
  --LF047: 2.9375rem;
  --LF048: 3rem;
  --LF049: 3.0625rem;
  --LF050: 3.125rem;
  --LF051: 3.1875rem;
  --LF052: 3.25rem;
  --LF053: 3.3125rem;
  --LF054: 3.375rem;
  --LF055: 3.4375rem;
  --LF056: 3.5rem;
  --LF057: 3.5625rem;
  --LF058: 3.625rem;
  --LF059: 3.6875rem;
  --LF060: 3.75rem;
  --LF061: 3.8125rem;
  --LF062: 3.875rem;
  --LF063: 3.9375rem;
  --LF064: 4rem;
  --LF065: 4.0625rem;
  --LF066: 4.125rem;
  --LF067: 4.1875rem;
  --LF068: 4.25rem;
  --LF069: 4.3125rem;
  --LF070: 4.375rem;
  --LF071: 4.4375rem;
  --LF072: 4.5rem;
  --LF073: 4.5625rem;
  --LF074: 4.625rem;
  --LF075: 4.6875rem;
  --LF076: 4.75rem;
  --LF077: 4.8125rem;
  --LF078: 4.875rem;
  --LF079: 4.9375rem;
  --LF080: 5rem;
  --LF081: 5.0625rem;
  --LF082: 5.125rem;
  --LF083: 5.1875rem;
  --LF084: 5.25rem;
  --LF085: 5.3125rem;
  --LF086: 5.375rem;
  --LF087: 5.4375rem;
  --LF088: 5.5rem;
  --LF089: 5.5625rem;
  --LF090: 5.625rem;
  --LF091: 5.6875rem;
  --LF092: 5.75rem;
  --LF093: 5.8125rem;
  --LF094: 5.875rem;
  --LF095: 5.9375rem;
  --LF096: 6rem;
  --LF097: 6.0625rem;
  --LF098: 6.125rem;
  --LF099: 6.1875rem;
  --LF100: 6.25rem;

  --LFcol01: #7A7A7A;
  --LFcol02: #004C3B;
  --LFcol03: #E8631C;
  --LFcol04: #e58e2a;

  --LFwrapper : 1500px;
  --LFcontainer: calc(calc(100vw - var(--LFwrapper)) / 2);
  --LFnarrow : 1140px;
}

*,::after,::before {
  box-sizing:border-box;
}
*::-moz-selection {
  background: var(--LFcol01);
  color: #fff;
}
*::selection {
  background: var(--LFcol01);
  color: #fff;
}

html {
  font-size: 16px;
}



/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float:right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
-webkit-clip-path: inset(50%);
        clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
background-color: #eee;
clip: auto !important;
-webkit-clip-path: none;
        clip-path: none;
color: #444;
display: block;
font-size: 1em;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000;
/* Above WP toolbar. */
}




/* --- STRUCTURE --- */
.wrapper {
  width: 100%;
  max-width: var(--LFwrapper);
  margin: 0 auto;
}
.narrow {
  max-width: var(--LFnarrow);
}
.narrower {
  max-width: var(--LFnarrower);
}
.wrapper-fluid {

}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex > * {
  flex: 0 0 auto;
}

.m-default {
  margin-top: var(--LF050);
  margin-bottom: var(--LF050);
}
.m-half {
  margin-top: var(--LF025);
  margin-bottom: var(--LF025);
}
.m-big {
  margin-top: var(--LF100);
  margin-bottom: var(--LF100);
}
.p-default {
  padding-top: var(--LF050);
  padding-bottom: var(--LF050);
}
.p-half {
  padding-top: var(--LF025);
  padding-bottom: var(--LF025);
}
.p-big {
  padding-top: var(--LF100);
  padding-bottom: var(--LF100);
}




/* --- TYPO --- */
.t-open {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
}
.t-montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
}

.t-center {
  text-align: center;
}
.s-uppercase {
  text-transform: uppercase;
}




/* --- GENERAL --- */
body {
  margin: 0;
  background-color: #fff;
  font-family: "Open Sans", sans-serif;
  color: var(--LFcol01);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  margin: 0;
  font-weight: 600;
  color: var(--LFcol02);
}
h1 {
  font-size: var(--LF042);
}
h2 {
  font-size: var(--LF035);
  margin-bottom: var(--LF020);
}
h3 {
  font-size: var(--LF025);
}
h4 {
  font-size: var(--LF017);
}

a {
  color: var(--LFcol01);
  font-weight: 500;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
}
a:hover {
  color: var(--LFcol02);
  text-decoration: none;
}

p {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  margin-top: 0;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

button,
input,
select,
textarea {
  font-family: "Montserrat", sans-serif;
  border: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
button:focus,
input:focus,
select:focus,
textarea:focus {
  box-shadow: none;
  outline: 0 none;
}

.btn,
.wp-element-button {
  position: relative;
  display: inline-block;
  padding: var(--LF015) var(--LF025);
  border: var(--LF001) solid;
  border-radius: var(--LF010);
  font-weight: 700;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
  transition: all 0.2s;
}
.btn:hover,
.wp-element-button:hover {
  transform: scale(1.025);
}
.btn-picto {
  display: flex;
  gap: var(--LF015);
}
.btn-picto svg {
  width: var(--LF016);
  height: auto;
}

.btn.btn-primary {
  background-color: #fff;
  border-color: var(--LFcol03);
  color: var(--LFcol03);
}
.btn-picto.btn-primary svg {
  fill: var(--LFcol03);
}
.btn.btn-secondary {
  background-color: var(--LFcol03);
  border-color: var(--LFcol03);
  color: #fff;
}
.btn-picto.btn-secondary svg {
  fill: #fff;
}
.btn.btn-tertiary {
  background-color: #fff;
  border-color: var(--LFcol02);
  color: var(--LFcol02);
}
.btn-picto.btn-tertiary svg {
  fill: var(--LFcol02);
}





/* --- HEADER --- */
#header-seo {
  
}
header {
  
}
body:not(.home) header {
  border-bottom: var(--LF002) solid var(--LFcol02);
  box-shadow: 0px 0px var(--LF010) 0px rgba(0, 0, 0, 0.5);
}
header .inner {
  align-items: center;
  justify-content: space-between;
  padding: var(--LF010) 0;
}
.header-logo {
  max-width: 14.75rem;
}
#toggleNav {
  display: none;
  width: var(--LF050);
  padding-top: var(--LF014);
  padding-bottom: var(--LF014);
  background-color: var(--LFcol03);
  border: var(--LF002) solid var(--LFcol03);
}
#toggleNav svg {
  stroke: #fff;
}
#toggleNav .close {
  display: none;
}
#toggleNav.active .open {
  display: none;
}
#toggleNav.active .close {
  display: block;
}
.header-menu {
  width: 100%;
}




/* --- FOOTER --- */
footer {
  background-color: var(--LFcol02);
  color: #fff;
}
footer .inner {
  justify-content: center;
}
.footer-col {
  width: 33.3333%;
  text-align: center;
}
.footer-col h4 {
  padding: var(--LF025) 0;
  color: #fff;
}
.footer-col a {
  color: #fff;
}
.footer-col a:hover {
  text-decoration: underline;
}
.footer-copyright {
  font-size: var(--LF011);
  text-align: center;
}
.footer-copyright a {
  color: #fff;
  text-decoration: underline;
}




/* --- TEXTE SEO --- */
#texte_seo {
  
}





/* --- MAIN NAV --- */
.menu-mainmenu-container {
  width: 100%;
}
#menu-mainmenu {
  gap: var(--LF040);
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  font-size: var(--LF014);
}
#menu-mainmenu li a {
  position: relative;
  transition: all 0.2s;
}
#menu-mainmenu li:not(.btn-nav) a:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  height: var(--LF003);
  background-color: var(--LFcol02);
  transition: all 0.2s;
}
#menu-mainmenu li a:hover:after {
  width: 100%;
}
#menu-mainmenu li.current-menu-item a {
  color: var(--LFcol02);
}
#menu-mainmenu li.current-menu-item a:after {
  width: 100%;
}




/* --- PAGE --- */
#page-header {
  position: relative;
  height: 31.25rem;
  padding-top: var(--LF050);
  background-repeat: no-repeat;
  background-size: 40rem;
  background-position: center center;
  background-attachment: fixed;
  color: var(--LFcol02);
}
#page-header:before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #7A7A7A;
  opacity: 0.1;
}
#page-header:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 5rem;
  background-color: #fff;
  clip-path: polygon(0% 0%, 50% 50%, 100% 0, 100% 100%, 0 100%);
}
#page-header .inner {
  position: relative;
}
#page-header h1 {
  margin-top: var(--LF020);
  margin-bottom: var(--LF020);
}

.page-content ul.ul-check {
  padding-inline-start: 0;
  list-style: none;
}
.page-content ul.ul-check li {
  margin-top: var(--LF036);
  padding-left: var(--LF040);
  background-image: url(../img/square-check-regular.png);
  background-size: var(--LF020) var(--LF020);
  background-position: center left;
  background-repeat: no-repeat;
  font-weight: 600;
  color: var(--LFcol02);
}
.page-content ul.ul-check li:first-child {
  margin-top: 0;
}

.page-content .wp-block-image img {
  box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px 1px
}




/* --- BLOCKS --- */
.bloc_liste_image_centre {
  gap: var(--LF020);
}
.bloc_liste_image_centre-left {
  width: 27.71%;
}
.bloc_liste_image_centre-center {
  position: relative;
  width: calc(44.58% - var(--LF040));
  box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px 1px;
}
.bloc_liste_image_centre-center img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.bloc_liste_image_centre-right {
  width: 27.71%;
}
.bloc_liste_image_centre-bloc {
  gap: var(--LF020);
  margin-top: var(--LF030);
}
.bloc_liste_image_centre-bloc:first-child {
  margin-top: 0;
}
.bloc_liste_image_centre-bloc-nb {
  width: var(--LF045);
}
.bloc_liste_image_centre-bloc-nb div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--LF045);
  height: var(--LF045);
  background-color: var(--LFcol02);
  border-radius: var(--LF100);
  font-size: var(--LF014);
  font-weight: 700;
  color: var(--LFcol02)
}
.bloc_liste_image_centre-bloc-nb div:before {
  content: '';
  position: absolute;
  top: calc(50% - var(--LF009));
  left: calc(50% - var(--LF009));
  width: var(--LF024);
  height: var(--LF024);
  background-color: #fff;
  border: var(--LF002) solid var(--LFcol02);
}
.bloc_liste_image_centre-bloc-nb div:after {
  content: '';
  position: absolute;
  top: calc(50% - var(--LF012));
  left: calc(50% - var(--LF012));
  width: var(--LF024);
  height: var(--LF024);
  background-color: #fff;
  border: var(--LF002) solid var(--LFcol02);
}
.bloc_liste_image_centre-bloc-nb div span {
  z-index: 5;
  position: relative;
  display: block;
}
.bloc_liste_image_centre-bloc-contenu {
  width: calc(100% - var(--LF065));
}
.bloc_liste_image_centre-bloc-titre {
  margin-bottom: var(--LF020);
  font-weight: 700;
  color: var(--LFcol02);
}

.bloc_estimation {
  position: relative;
  background-size: cover;
  background-position: center center;
}
.bloc_estimation:before {
  z-index: 5;
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 5rem;
  background-color: #fff;
  clip-path: polygon(0% 0%, 100% 0, 50% 50%, 0 0);
}
.bloc_estimation:after {
  z-index: 5;
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 5rem;
  background-color: #fff;
  clip-path: polygon(0% 100%, 50% 50%, 100% 100%);
}
.bloc_estimation-fond {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--LFcol02);
  opacity: 0.75;
}
.bloc_estimation .inner {
  position: relative;
  color: #fff;
}
.bloc_estimation h2 {
  position: relative;
  margin-bottom: var(--LF030);
  padding-bottom: var(--LF030);
  color: #fff;
}
.bloc_estimation h2:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: calc(50% - 10rem);
  width: 20rem;
  height: var(--LF001);
  background-color: var(--LFcol04);
}
.bloc_estimation-ctas {
  gap: var(--LF020);
  justify-content: center;
  margin-top: var(--LF030);
}

.bloc_pictotexte {
  gap: var(--LF030);
}
.pictotexte {
  width: calc(33.333% - var(--LF020));
  padding: var(--LF020);
  background-color: #fff;
  border-radius: var(--LF010);
  box-shadow: 0px 0px var(--LF005) 0px rgba(0, 0, 0, 0.5);
}
.pictotexte-picto {
  align-items: center;
  justify-content: center;
}
.pictotexte-picto svg {
  width: auto;
  height: var(--LF055);
  fill: var(--LFcol02);
}
.pictotexte-titre {
  margin-top: var(--LF020);
}
.pictotexte-texte {
  margin-top: var(--LF020);
}

.bloc_imagepictotexte {
  align-items: center;
  justify-content: space-between;
}
.bloc_imagepictotexte.imgtxt .imagepictotexte-img {
  order: 1;
}
.bloc_imagepictotexte.imgtxt .imagepictotexte-txt {
  order: 2;
}
.bloc_imagepictotexte.txtimg .imagepictotexte-img {
  order: 2;
}
.bloc_imagepictotexte.txtimg .imagepictotexte-txt {
  order: 1;
}
.imagepictotexte-img {
  width: 49.12%;
  padding: var(--LF010);
}
.imagepictotexte-img img {
  box-shadow: -5px 5px 0px 0px #E8631C;
}
.bloc_imagepictotexte.txtimg .imagepictotexte-img img {
  box-shadow: 5px 5px 0px 0px #E8631C;
}
.imagepictotexte-txt {
  width: 49.12%;
}
.imagepictotexte-bloc {
  align-items: center;
  justify-content: space-between;
  margin-top: var(--LF020);
  padding: var(--LF020);
  background-color: #fff;
  border-radius: var(--LF010);
  box-shadow: 0px 0px var(--LF005) 0px rgba(0, 0, 0, 0.5);
}
.imagepictotexte-bloc:first-child {
  margin-top: 0;
}
.imagepictotexte-bloc-picto {
  width: var(--LF050);
  align-items: center;
  justify-content: center;
}
.imagepictotexte-bloc-picto svg {
  width: var(--LF050);
  height: auto;
  fill: var(--LFcol02);
}
.imagepictotexte-bloc-contenu {
  width: calc(100% - var(--LF055));
}
.imagepictotexte-bloc-titre {
  margin-left: var(--LF040);
}
.imagepictotexte-bloc-texte {
  margin-top: var(--LF020);
}

.bloc_faq .faq {
  margin-top: var(--LF020);
  padding: var(--LF010);
  border: var(--LF001) solid #d5d8dc;
}
.bloc_faq .faq:first-child {
  margin-top: 0;
}
.faq-question {
  gap: var(--LF010);
  align-items: center;
  font-size: var(--LF020);
  color: #000;
  cursor: pointer;
}
.faq-question svg {
  width: var(--LF020);
  fill: var(--LFcol03);
  transition: all 0.2s;
}
.bloc_faq .faq.active .faq-question svg {
  transform: rotateX(180deg);
}
.faq-question span {
  width: calc(100% - var(--LF030));
}
.faq-reponse {
  display: none;
  margin-top: var(--LF010);
  padding-top: var(--LF010);
  border-top: var(--LF001) solid #d5d8dc;
}