/*
** Réalisation : LaFabrikk
** https://www.lafabrikk.fr
*/
:root {
  --LFK001: 0.0625rem;
  --LFK002: 0.125rem;
  --LFK003: 0.1875rem;
  --LFK004: 0.25rem;
  --LFK005: 0.3125rem;
  --LFK006: 0.375rem;
  --LFK007: 0.4375rem;
  --LFK008: 0.5rem;
  --LFK009: 0.5625rem;
  --LFK010: 0.625rem;
  --LFK011: 0.6875rem;
  --LFK012: 0.75rem;
  --LFK013: 0.8125rem;
  --LFK014: 0.875rem;
  --LFK015: 0.9375rem;
  --LFK016: 1rem;
  --LFK017: 1.0625rem;
  --LFK018: 1.125rem;
  --LFK019: 1.1875rem;
  --LFK020: 1.25rem;
  --LFK021: 1.3125rem;
  --LFK022: 1.375rem;
  --LFK023: 1.4375rem;
  --LFK024: 1.5rem;
  --LFK025: 1.5625rem;
  --LFK026: 1.625rem;
  --LFK027: 1.6875rem;
  --LFK028: 1.75rem;
  --LFK029: 1.8125rem;
  --LFK030: 1.875rem;
  --LFK031: 1.9375rem;
  --LFK032: 2rem;
  --LFK033: 2.0625rem;
  --LFK034: 2.125rem;
  --LFK035: 2.1875rem;
  --LFK036: 2.25rem;
  --LFK037: 2.3125rem;
  --LFK038: 2.375rem;
  --LFK039: 2.4375rem;
  --LFK040: 2.5rem;
  --LFK041: 2.5625rem;
  --LFK042: 2.625rem;
  --LFK043: 2.6875rem;
  --LFK044: 2.75rem;
  --LFK045: 2.8125rem;
  --LFK046: 2.875rem;
  --LFK047: 2.9375rem;
  --LFK048: 3rem;
  --LFK049: 3.0625rem;
  --LFK050: 3.125rem;
  --LFK051: 3.1875rem;
  --LFK052: 3.25rem;
  --LFK053: 3.3125rem;
  --LFK054: 3.375rem;
  --LFK055: 3.4375rem;
  --LFK056: 3.5rem;
  --LFK057: 3.5625rem;
  --LFK058: 3.625rem;
  --LFK059: 3.6875rem;
  --LFK060: 3.75rem;
  --LFK061: 3.8125rem;
  --LFK062: 3.875rem;
  --LFK063: 3.9375rem;
  --LFK064: 4rem;
  --LFK065: 4.0625rem;
  --LFK066: 4.125rem;
  --LFK067: 4.1875rem;
  --LFK068: 4.25rem;
  --LFK069: 4.3125rem;
  --LFK070: 4.375rem;
  --LFK071: 4.4375rem;
  --LFK072: 4.5rem;
  --LFK073: 4.5625rem;
  --LFK074: 4.625rem;
  --LFK075: 4.6875rem;
  --LFK076: 4.75rem;
  --LFK077: 4.8125rem;
  --LFK078: 4.875rem;
  --LFK079: 4.9375rem;
  --LFK080: 5rem;
  --LFK081: 5.0625rem;
  --LFK082: 5.125rem;
  --LFK083: 5.1875rem;
  --LFK084: 5.25rem;
  --LFK085: 5.3125rem;
  --LFK086: 5.375rem;
  --LFK087: 5.4375rem;
  --LFK088: 5.5rem;
  --LFK089: 5.5625rem;
  --LFK090: 5.625rem;
  --LFK091: 5.6875rem;
  --LFK092: 5.75rem;
  --LFK093: 5.8125rem;
  --LFK094: 5.875rem;
  --LFK095: 5.9375rem;
  --LFK096: 6rem;
  --LFK097: 6.0625rem;
  --LFK098: 6.125rem;
  --LFK099: 6.1875rem;
  --LFK100: 6.25rem;

  --LFKcolred: #FE6262;
  --LFKcolblue: #2F58D2;

  --LFKwrapper : 1398px;
  --LFKcontainer: calc(calc(100vw - var(--LFKwrapper)) / 2);
}

*,::after,::before {
  box-sizing:border-box;
}
*::-moz-selection {
  background: var(--LFKcolblue);
  color: #fff;
}
*::selection {
  background: var(--LFKcolblue);
  color: #fff;
}

html {
  font-size: 16px;
}
body {
  margin: 0;
  background-color: #fff;
  font-family: "Inter", sans-serif;
  color: #888;
  font-size: 1rem;
}



/* =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(--LFKwrapper);
  margin: 0 auto;
}
.wrapper-fluid {

}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex > * {
  flex: 0 0 auto;
}




/* --- GENERAL --- */

.t-inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.t-manrope {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Manrope", sans-serif;
  margin: 0;
  font-weight: 500;
  color: #000;
}
h1 span {
  color: var(--LFKcolred);
}
h2 span, h3 span, h4 span, h5 span, h6 span {
  text-decoration: underline;
}
h1 {
  font-size: var(--LFK050);
  line-height: normal;
}
h2 {
  font-size: var(--LFK050);
  line-height: normal;
}
h3 {
  font-size: var(--LFK020);
  line-height: normal;
}

a {
  color: var(--LFKcolblue);
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
}
a:hover {
  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(--LFK016) var(--LFK030);
  border-radius: 10rem;
  font-size: var(--LFK010);
  line-height: var(--LFK013);
  font-weight: 800;
  color: var(--LFKcolblue);
  text-transform: uppercase;
  transition: all 0.2s;
}
.btn:hover,
.wp-element-button:hover {
  opacity: 0.8;
}

.btn-picto {
  display: flex;
  align-items: center;
  gap: var(--LFK003);
}

.btn-primary {
  background-color: var(--LFKcolblue);
  color: #fff;
}
.btn-primary:hover {
  opacity: 0.8;
}

.surtitre {
  margin-bottom: var(--LFK017);
  font-size: var(--LFK011);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: var(--LFK002);
  text-transform: uppercase;
}




/* --- HEADER --- */
#header-seo {
  
}
header .inner {
  align-items: center;
  justify-content: space-between;
  margin-top: var(--LFK030);
}
.header-logo {
  max-width: 14.81rem;
}
.header-menu {

}
#toggleNav {
  display: none;
}




/* --- FOOTER --- */
footer {
  
}




/* --- TEXTE SEO --- */
#texte_seo {
  
}





/* --- MAIN NAV --- */
#menu-mainmenu {
  gap: var(--LFK053);
  margin-bottom: 0;
  padding-inline-start: 0;
}
#menu-mainmenu li {
  list-style: none;
}
#menu-mainmenu li a {
  position: relative;
  font-size: var(--LFK011);
  font-weight: 600;
  line-height: normal;
  letter-spacing: 1.76px;
  text-transform: uppercase;
  color: #000;
}
#menu-mainmenu li a:after {
    content: '';
    position: absolute;
    bottom: -0.25rem;
    left: 0;
    width: 0%;
    height: 0.125rem;
    background-color: var(--LFKcolred);
    transition: all 0.2s;
}
#menu-mainmenu li a:hover {
  color: var(--LFKcolred);
}
#menu-mainmenu li a:hover:after {
    width: 100%;
}




/* --- PAGE D'ACCUEIL --- */
#accueil-intro {
  margin-top: 9.125rem;
}
#accueil-intro h1 {
  width: 74.74%;
}
#accueil-slider {
  position: relative;
  margin-top: 7.9375rem;
}
.slide {
  position: sticky;
  top: var(--LFK039);
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10rem;
  margin-bottom: 7.3125rem;
  border-radius: var(--LFK025);
  padding: var(--LFK030);
  background-size: cover;
  background-position: center center;
  aspect-ratio: 2;
}
.slide:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--LFK025);
  background-color: rgba(0, 0, 0, 0.2);
}
.slide-titre {
  position: relative;
  width: 63.67%;
  font-size: var(--LFK050);
  font-weight: 500;
  line-height: normal;
  color: #fff;
}
.slide-contenu {
  position: relative;
  width: 63.67%;
  font-size: var(--LFK023);
  font-weight: 500;
  color: #fff;
}
.slide-contenu span {
  color: var(--LFKcolred);
}
.slide-bg-1,
.slide-bg-2 {
  position: absolute;
}
.slide:nth-child(2) .slide-bg-1,
.slide:nth-child(3) .slide-bg-1 {
  position: absolute;
  top: 100%;
  left: var(--LFK018);
  width: calc(100% - var(--LFK036));
  height: var(--LFK039);
  background-color: var(--LFKcolred);
  border-bottom-left-radius: var(--LFK025);
  border-bottom-right-radius: var(--LFK025);
}
.slide:nth-child(3) .slide-bg-2 {
  position: absolute;
  top: calc(100% + var(--LFK039));
  left: var(--LFK051);
  width: calc(100% - 6.375rem);
  height: var(--LFK039);
  background-color: var(--LFKcolblue);
  border-bottom-left-radius: var(--LFK025);
  border-bottom-right-radius: var(--LFK025);
}



#references {
  position: relative;
  display: flex;
  overflow: hidden;
  margin-top: var(--LFK053);
}
#references:before {
  z-index: 2;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 8.375rem;
  height: 100%;
  background: #FFF;
  background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
#references:after {
  z-index: 2;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 8.375rem;
  height: 100%;
  background: #FFF;
  background: linear-gradient(270deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.group {
  flex: 0 0 100%;
  display: flex;
  gap: 9.25%;
  padding-right: 9.25%;
  will-change: transform; /* We should be nice to the browser - let it know what we're going to animate. */
  animation: scrolling 30s linear infinite;
}
#references:hover .group {
  /*animation-play-state: paused;*/
}
.reference {
  position: relative;
  flex: 0 0 auto;
  width: 10.5%;
  aspect-ratio: 1.46;
  opacity: 0.2;
}
.reference img {
  /*position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: var(--KPM012);*/
}

@keyframes scrolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

#bloc-3 {
  margin-top: 9.125rem;
}
.bloc-3-texte {
  width: 57.79%;
  font-size: var(--LFK028);
  font-weight: 500;
  line-height: normal;
  color: #000;
}
.bloc-3-texte strong {
  font-weight: 500;
  text-decoration: underline;
}

.expertises-top {
  position: relative;
  padding-top: 14.0625rem;
}
.expertises-top:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 10%, rgba(255, 255, 255, 0) 100%);
}
.expertises-titre,
.expertises-titre h2 {
  position: relative;
  color: #fff;
}

.expertises-liste {
  padding-top: var(--LFK100);
  padding-bottom: 10rem;
  background-color: #000;
}
.expertises-liste .wrapper {
  gap: var(--LFK020);
}
.expertise {
  width: calc(25% - var(--LFK015));
  padding-top: var(--LFK068);
  padding-bottom: var(--LFK036);
  padding-left: var(--LFK025);
  padding-right: var(--LFK025);
  background-color: #141414;
  border-radius: var(--LFK025);
}
.expertise-picto {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2.43;
}
.expertise-titre {
  margin-top: var(--LFK039);
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
  color: #fff;
}

#chiffres {
  justify-content: space-between;
  margin-top: 10rem;
}
.chiffre {

}
.chiffre-chiffre {
  font-size: var(--LFK084);
  font-weight: 500;
  line-height: 6.625rem;
  color: var(--LFKcolred);
}
.chiffre-texte {
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
}

#vision {
  margin-top: 11rem;
}
.visions-liste {
  justify-content: space-between;
  margin-top: var(--LFK030);
}
.vision {
  justify-content: space-between;
  margin-top: var(--LFK030);
  width: calc(50% - 5rem);
}

.vision-texte {
  width: 83.73%;
}
.vision-texte-titre {
  padding-right: 7.375rem;
  font-size: var(--LFK028);
  font-weight: 500;
  line-height: normal;
  color: #000;
}
.vision-texte-texte {
  margin-top: var(--LFK020);
}

#outils {
  margin-top: 13.875rem;
}
#outils .surtitre,
#outils h2 {
  text-align: center;
}
.outils-liste {
  margin-top: var(--LFK061);
  align-items: flex-start;
  justify-content: center;
}
.outil {
  width: 18.59%;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  margin: 0 -1rem;
  border-radius: var(--LFK025);
}
.outil:nth-child(1) {
  z-index: 2;
  transform: rotateZ(-3deg);
  margin-top: var(--LFK033);
}
.outil:nth-child(2) {
  z-index: 3;
  margin-top: var(--LFK008);
}
.outil:nth-child(3) {
  z-index: 2;
  transform: rotateZ(3deg);
  margin-top: var(--LFK032);
}
.outil:nth-child(4) {
  z-index: 3;
}

#avis {
  margin-top: 13.875rem;
}
#avis .surtitre,
#avis h2 {
  text-align: center;
}
.avis-liste {
  gap: var(--LFK020);
  margin-top: 8.3125rem;
}
.avis {
  overflow: hidden;
  width: calc(25% - var(--LFK015));
  aspect-ratio: 1;
  border-radius: var(--LFK025);
  padding: var(--LFK050) var(--LFK025);
}
.avis-image {
  position: relative;
}
.avis-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.avis-vide {
  border: var(--LFK001) solid #C3C3C3;
  background-color: rgba(235, 235, 235, 0.40);
}
.avis-titre {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
  text-decoration: underline;
  text-align: center;
  color: #000;
}
.avis-titre.titre-fond-oui {
  border: var(--LFK001) solid #C3C3C3;
  background-color: rgba(235, 235, 235, 0.40);
}

.avis-citation {
  flex-direction: column;
  color: #fff;
}
.citation-quote {
  flex: 1;
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
}
.citation-auteur {
  font-size: var(--LFK017);
  font-weight: 500;
  line-height: normal;
}
.citation-poste {
  font-size: var(--LFK011);
  font-weight: 600;
  line-height: normal;
  letter-spacing: var(--LFK002);
  text-transform: uppercase;
  opacity: 0.5;
}

#bloc_9 {
  align-items: center;
  justify-content: center;
  gap: 14.44%;
  margin-top: 13.875rem;
}
.bloc_9-reassurances {
  width: 25.03%;
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
  color: #000;
}
.bloc_9-reassurances ul {
  padding-inline-start: 0;
}
.bloc_9-reassurances li {
  list-style: none;
  margin-top: var(--LFK021);
  padding-left: var(--LFK044);
  background-image: url(../img/puce.png);
  background-repeat: no-repeat;
  background-position: center left;
}
.bloc_9-reassurances li:first-child {
  margin-top: 0;
}
.bloc_9-texte {
  width: 40.91%;
}
.bloc_9-texte h2 {
  margin-bottom: var(--LFK012);
}

#contact {
  margin-top: 11.625rem;
}
.contact-top {
  position: relative;
  padding-top: 14.0625rem;
}
.contact-top:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FE6262;
  background: linear-gradient(0deg,rgba(254, 98, 98, 1) 0%, rgba(254, 98, 98, 1) 10%, rgba(255, 255, 255, 0) 100%);
}
.contact-top h2 {
  max-width: 43.75rem;
  margin: auto;
  position: relative;
  color: #fff;
  text-align: center;
}
.contact-formulaire {
  padding-top: var(--LFK063);
  background: #FE6262;
}
form.wpcf7-form {
  max-width: 28.3125rem;
  margin: auto;
}
form.wpcf7-form > div {
  margin-top: var(--LFK028);
}
form.wpcf7-form > div:nth-child(2) {
  margin-top: 0;
}
form.wpcf7-form p {
  margin: 0;
}
form.wpcf7-form label {
  font-size: var(--LFK011);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: var(--LFK002);
  text-transform: uppercase;
  color: #000;
}
form.wpcf7-form input[type=text],
form.wpcf7-form input[type=email],
form.wpcf7-form textarea {
  width: 100%;
  padding: var(--LFK005);
  background-color: transparent;
  border-bottom: var(--LFK001) solid #fff;
}
.rgpd .wpcf7-list-item {
  margin-left: 0;
}
.rgpd label > span {
  display: flex;
  align-items: center;
}
.rgpd input[type=checkbox]{
  display: none;
}
.rgpd input[type=checkbox] + span {
  cursor: pointer;
  margin-bottom: 1.5rem;
  color: rgba(255, 255 ,255, 0.5);
  font-family: 'Manrope';
  font-size: var(--LFK012);
  font-weight: 500;
  line-height: normal;
  text-transform: none;
}
.rgpd input[type=checkbox] + span:before {
  flex: 0 0 auto;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 50%;
  margin-top: -3px;
  margin-right: 1rem;
  display: block;
  vertical-align: middle;
  content: '';
  width: 30px;
  height: 30px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.rgpd input[type=checkbox]:checked + span:before {
  border-color: #000;
  background: #000 url(../img/check.png) no-repeat center center;
}

form.wpcf7-form input[type=submit] {
  width: 100%;
  padding: var(--LFK038);
  border-radius: 10rem;
  background-color: var(--LFKcolblue);
  font-family: 'Manrope';
  font-size: var(--LFK023);
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: #fff;
}
.wpcf7 form.sent .wpcf7-response-output {
  margin: 0;
  color: #fff;
  text-align: center;
}

footer {
  padding-top: var(--LFK090);
  padding-bottom: var(--LFK050);
  background: #FE6262;
}
footer .wrapper {
  align-items: flex-end;
  justify-content: space-between;
}
footer .wrapper .bloc-adresse {
  font-size: var(--LFK023);
  font-weight: 500;
  line-height: normal;
  color: #fff;
}

.footer-right {
  align-items: center;
  justify-content: flex-end;
  gap: var(--LFK068);
}
#menu-pieddepage {
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  display: flex;
  gap: var(--LFK020);
}
#menu-pieddepage a {
  font-family: 'Manrope';
  font-size: var(--LFK012);
  font-weight: 500;
  line-height: normal;
  color: #fff;
  opacity: 0.5;
  transition: all 0.2s;
}
#menu-pieddepage a:hover {
  opacity: 1;
}

#homescreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
}