/*
** 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: #2C4793;
  --LFcol02: #499CD0;

  --LFwrapper : 1630px;
  --LFcontainer: calc(calc(100vw - var(--LFwrapper)) / 2);
}

*,::after,::before {
  box-sizing:border-box;
}
*::-moz-selection {
  background: var(--LFcol01);
  color: #fff;
}
*::selection {
  background: var(--LFcol01);
  color: #fff;
}

html {
  font-size: 16px;
}
body {
  margin: 0;
  background-color: #fff;
  font-family: "Poppins", sans-serif;
  color: var(--LFcol01);
}



/* =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;
}
.wrapper-fluid {

}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex > * {
  flex: 0 0 auto;
}




/* --- GENERAL --- */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: 400;
  color: var(--LFcol01);
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  font-weight: 700;
}
h1 {
  margin-bottom: var(--LF070);
  font-size: 8.125rem;
  line-height: 8.75rem;
}
h2 {
  font-size: var(--LF100);
  line-height: var(--LF100);
}
h3 {
  margin-bottom: var(--LF006);
  font-size: var(--LF020);
  line-height: var(--LF028);
  font-weight: 600;
}

a {
  color: var(--LFcol01);
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

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-top: var(--LF016);
  padding-bottom: var(--LF016);
  padding-left: var(--LF027);
  padding-right: var(--LF027);
  border-radius: var(--LF095);
  border: none;
  font-size: var(--LF022);
  line-height: var(--LF033);
  font-weight: 500;
  text-transform: uppercase;
  background-color: var(--LFcol01);
  color: #fff;
  transition: all 0.2s;
}
.btn:hover,
.wp-element-button:hover {
  opacity: 0.8;
  text-decoration: none;
}

.btn.btn-primary,
.wp-element-button {
  background-color: var(--LFcol01);
  color: #fff;
}
.btn.btn-light {
  background-color: #fff;
  color: var(--LFcol01);
}

.m-top {
  margin-top: var(--LF090);
}




/* --- BREADCRUMBS --- */
#breadcrumbs {
  font-size: var(--LF030);
  line-height: var(--LF042);
  text-transform: uppercase;
  color: var(--LFcol01);
}




/* --- HEADER --- */
#header-seo {
  
}
header#header {
  position: relative;
  z-index: 10;
  margin-top: var(--LF040);
  margin-bottom: var(--LF075);
}
header#header > .inner {
  position: relative;
  align-items: center;
  padding: var(--LF022) 0;
}
header#header > .inner:before {
  content: '';
  position: absolute;
  top: 0;
  left: -2.1875rem;
  width: calc(100% + 4.375rem);
  height: 100%;
  border-radius: var(--LF095);
  background-color: #F4F5FA;
}
.header-logo {
  position: relative;
}
.header-logo a,
.header-logo a img {
  display: block;
}
.header-menu {
  flex: 1;
  position: relative;
  margin-left: var(--LF059);
}
.header-boutons {
  position: relative;
  margin-left: auto;
  margin-right: 0;
}
.header-boutons .btn {
  margin-left: var(--LF015);
}




/* --- FOOTER --- */
#footer {
  padding-top: var(--LF075);
  padding-bottom: var(--LF060);
  background-color: var(--LFcol01);
}
#footer .inner {
  align-items: flex-start;
  justify-content: space-between;
}
.footer-logo {
  width: 19.375rem;
}
.footer-logo p {
  margin-top: var(--LF013);
  font-size: var(--LF013);
  line-height: var(--LF026);
  color: #fff;
}
.footer-navs {
  width: 57.79%;
  font-size: var(--LF020);
  line-height: var(--LF035);
}
.footer-nav {
  width: 33.333%;
}
.footer-nav a {
  color: #fff;
  text-transform: uppercase;
}
.footer-nav .footer-social {
  fill: #fff;
  width: var(--LF023);
}
.footer-bottom {
  width: 100%;
  margin-top: var(--LF055);
  font-size: var(--LF020);
  line-height: var(--LF030);
  font-weight: 700;
  color: #fff;
}
.footer-bottom a {
  color: #fff;
}
.footer-bottom-adresse {
  align-items: center;
  gap: var(--LF020);
  margin-right: var(--LF100);
}
.footer-bottom-telephone {
  align-items: center;
  gap: var(--LF020);
}
.footer-bottom-mentions {
  margin-left: auto;
  margin-right: 0;
}



/* --- TEXTE SEO --- */
#texte_seo {
  
}





/* --- MAIN NAV --- */
#toggleNav .close {
  display: none;
}
#toggleNav.active .open {
  display: none;
}
#toggleNav.active .close {
  display: block;
}
.menu-mainnav-container {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  padding: var(--LF045) var(--LF052);
  background-color: var(--LFcol01);
}
.menu-mainnav-container ul {
  margin-bottom: 0;
  padding-inline-start: 0;
  list-style: none;
}
.menu-mainnav-container ul li {
  margin-top: var(--LF015);
}
.menu-mainnav-container ul li:first-child {
  margin-top: 0;
}
.menu-mainnav-container a {
  color: #fff;
  text-transform: uppercase;
}




/* --- ANIMATIONS --- */
/* Texte défilant */
.messagedefilant {
  display: block;
  padding: var(--LF011) 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: var(--LF070);
  background-color: var(--LFcol01);
  font-size: var(--LF030);
  color: #fff;
  text-transform: uppercase;
}
 
.messagedefilant div {
  position: absolute;
  min-width: 100%; /* au minimum la largeur du conteneur */
}
 
.messagedefilant div span, 
.messagedefilant div:after {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  white-space: nowrap;
  top:0;
}
 
.messagedefilant div span {
  animation: defilement 30s infinite linear;
}
 
.messagedefilant div:after {
  position: absolute;
  top:0; left:0;
  content:attr(data-text);
  animation: defilement2 30s infinite linear;
}
 
@keyframes defilement {
  0% { margin-left: 0; }
  100% { margin-left: -100%; }
}
 
@keyframes defilement2 {
  0% { margin-left: 100%; }
  100% { margin-left: 0%; }
}

.bounce {
  -webkit-animation: bounce 1s infinite;
  animation: bounce 1s infinite;
}
@-webkit-keyframes bounce {
    0% {margin-top: -3px}
    50% {margin-top: 3px}
    100% {margin-top: -3px}
}
@keyframes bounce {
    0% {margin-top: -3px}
    50% {margin-top: 3px}
    100% {margin-top: -3px}
}




/* --- BLOCS --- */
.bloc_chapeau {
  justify-content: space-between;
  margin-bottom: 9.5625rem;
  font-size: var(--LF018);
  line-height: var(--LF023);
  color: var(--LFcol01);
}
.bloc_chapeau_left {
  width: 41.34%;
}
.bloc_chapeau_left h2 {
  margin-bottom: var(--LF060);
  padding-bottom: var(--LF060);
  border-bottom: var(--LF002) solid var(--LFcol01);
}
.bloc_chapeau_middle {
  width: 19.75%;
  padding-top: var(--LF100);
}
.bloc_chapeau_right {
  width: 24.41%;
}

.bloc_chapeau.type2 .bloc_chapeau_middle {
  width: 58.66%;
  display: flex;
}
.bloc_chapeau.type2 .bloc_chapeau_middle svg {
  margin-left: auto;
  margin-right: auto;
}
.bloc_chapeau.type2 .bloc_chapeau_right {
  width: 41.34%;
}

.bloc_interlude {
  position: relative;
  margin-top: 9.5625rem;
  height: 62.5rem;
}
.bloc_interlude img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.bloc_interlude:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--LFcol01);
  opacity: 0.43;
}

.bloc_engagements {
  padding-top: 7.8125rem;
  padding-bottom: 7.8125rem;
  background-color: var(--LFcol01);
}
.bloc_engagements h2 {
  color: #fff;
}
.engagements {
  justify-content: space-between;
  margin-top: var(--LF040);
}
.engagement {
  width: calc(25% - var(--LF012));
  padding: var(--LF052) var(--LF010) var(--LF100);
  border-radius: 100rem;
  background-color: #fff;
  color: var(--LFcol01);
  text-align: center;
}
.engagement-picto {
  height: 10.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.engagement-titre {
  margin-top: var(--LF022);
  font-size: var(--LF030);
  line-height: var(--LF037);
  font-weight: 600;
}

.tiroir {
  margin-top: var(--LF024);
}
.tiroir:first-child {
  margin-top: 0;
}
.tiroir .tiroir-titre {
  align-items: center;
  justify-content: space-between;
  padding-bottom: var(--LF022);
  border-bottom: var(--LF002) solid var(--LFcol01);
  font-size: var(--LF040);
  line-height: var(--LF050);
  font-weight: 500;
  color: var(--LFcol01);
  cursor: pointer;
  transition: all 0.2s;
}
.tiroir .tiroir-titre span {
  width: 75%;
}
.tiroir .tiroir-titre svg {
  width: var(--LF042);
  stroke: var(--LFcol01);
  transition: all 0.2s;
}
.tiroir .tiroir-contenu {
  display: none;
  margin-top: var(--LF014);
  font-size: var(--LF018);
  line-height: var(--LF023);
  color: var(--LFcol01);
}
.tiroir.active .tiroir-titre {
  border-color: var(--LFcol02);
  color: var(--LFcol02);
}
.tiroir.active .tiroir-titre svg {
  stroke: var(--LFcol02);
}
#bloc-tiroirs-block_aeba28f3c5d28a261d45bfdeee84121d {
  margin-top: 7.875rem;
}
.img-service {
  width: 91.87%;
}

.bloc_prestations {
  padding-top: 7.8125rem;
  padding-bottom: 7.8125rem;
  background-color: var(--LFcol01);
}
.bloc_prestations h2 {
  color: #fff;
}
.prestations {
  justify-content: space-between;
  margin-top: var(--LF040);
}
.prestation {
  width: calc(33.3333% - var(--LF012));
  margin-top: var(--LF060);
  color: #fff;
  text-align: center;
}
.prestation:nth-child(1),
.prestation:nth-child(2),
.prestation:nth-child(3) {
  margin-top: 0;
}
.prestation-picto {
  width: 16.25rem;
  height: 13.1875rem;
  border-radius: 100rem;
  border: var(--LF002) solid var(--LFcol02);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}
.prestation-titre {
  margin-top: var(--LF022);
  font-size: var(--LF040);
  line-height: var(--LF040);
  font-weight: 600;
}
.prestation-titre p {
  margin-top: var(--LF007);
  font-size: var(--LF025);
  line-height: var(--LF038);
  font-weight: 400;
}

.bloc_historique {
  padding-top: 7.8125rem;
  padding-bottom: 7.8125rem;
  background-color: var(--LFcol01);
  color: #fff;
}
.bloc_historique h2 {
  color: #fff;
}
.historique {

}
.bloc-historique {
  align-items: center;
  gap: var(--LF070);
  margin-top: 8.75rem;
  padding-left: 8.6875rem;
  padding-right: 8.6875rem;
}
.bloc-historique:first-child {
  margin-top: 0;
}
.historique-picto {
  order: 1;
  width: calc(50% - var(--LF035));
  text-align: right;
}
.historique-texte {
  order: 2;
  width: calc(50% - var(--LF035));
  font-size: var(--LF018);
  line-height: var(--LF025);
}
.historique-texte h3 {
  margin-bottom: var(--LF010);
  font-size: var(--LF040);
  line-height: var(--LF050);
  color: #fff;
}
.bloc-historique:nth-child(even) .historique-picto {
  order: 2;
  text-align: left;
}
.bloc-historique:nth-child(even) .historique-texte {
  order: 1;
  text-align: right;
}

.bloc_colonnes {
  margin-top: 10rem;
}
.colonnes {
  justify-content: center;
  gap: 9rem;
  padding: 0 var(--LF072);
}
.colonne {
  width: calc(33.3333% - 6rem);
  text-align: center;
}
.colonne-image {
  height: 12.4375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.colonne-texte {
  margin-top: var(--LF044);
  font-size: var(--LF018);
  line-height: var(--LF025);
  color: var(--LFcol01);
}