*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  transition: all 0.3s ease;
}

body {
  line-height: 1.5;
  font-size: 15px;
  font-family: "Arial", sans-serif;
  color: #646464;
  overflow-x: hidden;
}
main.contenu p {
  text-align: justify;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
  line-height: normal;
  font-family: "Arial", sans-serif;
  color: #1E3A5F;
  margin: 0 0 30px;
  text-align: left;
}
h1, .h1 {
  font-size: 2.5rem;   /* 40px */ 
}

h2, .h2 {
  font-size: 2rem;     /* 32px */ 
}

h3, .h3 {
  font-size: 1.75rem;  /* 28px */ 
}

h4, .h4 {
  font-size: 1.5rem;   /* 24px */ 
}

h5, .h5 {
  font-size: 1.25rem;  /* 20px */ 
}

h6, .h6 {
  font-size: 1rem;     /* 16px */ 
}

.Mobile h1,
.Mobile .h1 {
  font-size: 30px;
}
.Mobile h2,
.Mobile .h2 {
  font-size: 26px;
}
.Mobile h3,
.Mobile .h3 {
  font-size: 22px;
}

.Contenu h2,
.Contenu h3,
.Contenu h4{
  margin: 0 0 30px;
}
a,
input[type="submit"],
input[type='submit'],
button {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

input,
button,
textarea {
  outline: none;
}

textarea {
  font-family: inherit;
  max-width: 100%;
}

section{
  padding: 100px 0;
}
.Mobile section{
  padding: 50px 0!important;
}

/* Slider */
.slick-slider
{
  position: relative;

  display: block;
  box-sizing: border-box;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list
{
  position: relative;

  display: block;
  overflow: hidden;

  margin: 0;
  padding: 0;
}
.slick-list:focus
{
  outline: none;
}
.slick-list.dragging
{
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track
{
  position: relative;
  top: 0;
  left: 0;

  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
  display: table;

  content: '';
}
.slick-track:after
{
  clear: both;
}
.slick-loading .slick-track
{
  visibility: hidden;
}

.slick-slide
{
  display: none;
  float: left;

  height: 100%;
  min-height: 1px;
}
[dir='rtl'] .slick-slide
{
  float: right;
}
.slick-slide img
{
  display: block;
}
.slick-slide.slick-loading img
{
  display: none;
}
.slick-slide.dragging img
{
  pointer-events: none;
}
.slick-initialized .slick-slide
{
  display: block;
}
.slick-loading .slick-slide
{
  visibility: hidden;
}
.slick-vertical .slick-slide
{
  display: block;

  height: auto;

  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}

.icon{
  position: relative;
  padding: 12px;
}
.icon:before {
  content: "";    
  background-repeat: no-repeat!important;
  background-size: contain!important;
  background-position: center!important;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.icon-phone:before {
  background: url(../images/img/icon-fixe-mob.webp);
}
.icon-mobile:before {
  background: url(../images/img/icon-portable-mob.webp);
}
.icon-envelope:before,
.icon-mail:before {
  background: url(../images/img/icon-mail.webp);
}
.icon-location:before {
  background: url(../images/img/icon-locali.webp);
}
.icon-map:before,
.icon-map-marker:before, .adr:before {
  background: url(../images/img/icon-adresse.webp);
}
.icon-clock-o:before, .hor:before {
  background: url(../images/img/icon-hor.webp);
}
.icon-devis:before {
  background: url(../images/img/icon-devis.webp);
}
.icon-fleche:before {
  background: url(../images/img/arrow-up-right-long.webp);
}
.icon-check-bouclier:before {
  background: url(../images/img/icon-check-bouclier.webp);
}
.container-fluid {
  width: 100%;
  margin: auto;
  padding: 0 50px;
}
.Mobile .container-fluid {
  padding: 0 20px;
}
.container{
  padding: 0 20px;
  width: 100%;
  margin: auto;
  max-width: 1320px;
  display: block;
}
.Tablet .container {
  max-width: 720px ;
}
.Mobile .container {
  max-width: 100% ;
}



.bg-black{
  background: #000;
}
.bg-grey{
  background: #e3e8ed;
}
.bg-color{
  background: #002951;
}
.bg-black h1,
.bg-black h2,
.bg-black h3,
.bg-black h4,
.bg-black h5, 
.bg-black p,
.bg-black li,
.bg-color h1,
.bg-color h2,
.bg-color h3,
.bg-color h4,
.bg-color h5, 
.bg-color p,
.bg-color li{
  color: #fff;
}


.align-items_center{
  align-items: center;
}
.grid-col-2{
  display: grid;
  grid-template-columns: repeat(2, 1fr);  
}
.grid-col-3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.grid-col-4{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
} 
.grid-col-5{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
} 
.gap-20{
  gap:20px;
}
.gap-30{
  gap:30px;
}
.gap-40{
  gap:40px;
}
.gap-50{
  gap:50px;
}
.gap-100{
  gap:100px;
}
.Tablet .grid-col-2  {
  grid-template-columns: 100%;
  gap: 50px;
}
.Mobile .grid-col-2{
  grid-template-columns: 100%;
  gap: 30px;
}

header#header {
  position: relative;
  z-index: 999;
}
.Tablet header#header,
.Mobile header#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 999;
}
header.navbar {
    position: relative;
    z-index: 999;
}
.Desktop header.navbar {
    position: absolute;
    width: 100%;
    z-index: 999;
}
.logomenu {
    display: flex;
    background: #1E3A5Fb3;
    border-bottom: solid 1px #88b0cb;
}
.Tablet .logomenu, .Mobile .logomenu {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    background: #fff;
}
.topLogo { 
    width: 250px;
    height: auto;
    padding: 5px 40px;
}
.Tablet .topLogo,
.Mobile .topLogo {
    background: transparent;
    width: fit-content;
    padding: 5px;
}
a.logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top_info {
    width: calc(100% - 250px);
    height: auto;
    display: flex;
    align-items: center;
}
.Mobile .top_info {
    width: 100%;
    position: fixed;
    top: 140px;
    left: 0;
    display: none;
    height: 400px;
    overflow: scroll;
}
.Tablet .top_info {
    width: 100%;
    position: fixed;
    top: 143px;
    left: 0;
    display: none;
}
.top_contact {
  display: flex;
  background: #e3e8ed;
  width: 100%;
  justify-content: space-between;
  padding: 10px 20px;
}
.top_contact a {
  color: #202020;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
}

.top_contact_mobile {
    background: #1E3A5F;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    padding: 5px 0;
}
.top_contact_mobile a {
    background: #a8d0e6;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    border-radius: 900px;
    color: #000;
}
.top_navigation {
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 40px;
}
.Tablet .top_navigation,
.Mobile .top_navigation{
  padding:0 ;
}
ul.nav-list {
  display: flex;
  /*align-items: flex-start;*/
}
.Tablet ul.nav-list,
.Mobile ul.nav-list {
    display: flex ;
    flex-direction: column;
}
li.nav-item {
  list-style: none;
  /* padding: 5px; */
  text-align: center;
  width: 100%;
}
.nav-mobile {
  cursor: pointer;
  background: #1E3A5F url(../images/nav.svg) no-repeat 85% center;
  background-size: auto;
  background-size: 18px;
  height: 50px;
  width: 85px;
  padding-left: 9px;
  line-height: 50px;
  color: white;
  position: relative;
  z-index: 999;
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
  color: #fff;
  text-align: initial;
}


ul.nav-submenu {
  display: block;
  flex-direction: column;
  width: 400px;
  position: absolute;
  text-align: left;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease-out;
}
.Tablet ul.nav-submenu, .Mobile ul.nav-submenu {
    display: block;
    width: 100%;
    position: relative;
    transform: none;
}
li.nav-item:hover ul.nav-submenu { 
  transform: scaleY(1);
} 
li.nav-item.active > a {
    color: #edf2fa;
}
li.nav-item{
  position: relative;
}
li.nav-item:before {
    content: '';
    height: 4px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #a8d0e6;
    transform-origin: right center;
    transform: scale(0, 1);
    transition: transform .3s cubic-bezier(.37, .31, .2, .85);
}
li.nav-item:hover:before,
li.nav-item.active:before {
  transform-origin:left center; 
  transform:scale(1,1)
}






.Tablet li.nav-item.active > a,
.Mobile li.nav-item.active > a {
  color: #000;
}
.Tablet li.nav-item, .Mobile li.nav-item {
    background: #e3e8ed;
    width: 100%;
}

.Tablet .nav-item.active, .Mobile .nav-item.active {
    background: #a8d0e6;
}
li.nav-item a {
    padding: 20px 5px;
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
}
.Tablet li.nav-item a, .Mobile li.nav-item a {
    padding: 12px;
    width: 100%;
    font-size: 12px;
    color: #000;
}
li.nav-submenu-item {
  list-style: none;
}
li.nav-submenu-item a {
  width: 100%;
  padding: 10px!important;
  display: block;
  color: #000;
  background: #fff;
  border-top: solid 1px #e3e8ed;
}
.Mobile li.nav-submenu-item a,
.Tablet li.nav-submenu-item a {
  text-align: center;
}
li.nav-submenu-item.active a {
    background: #a8d0e6;
}
.Tablet nav#menu,
.Mobile nav#menu {
    width: 100%;
}
.Desktop span.nav-click{
  display: none;
}
span.nav-click {
  width: 30px;
  height: 30px;
  background: #ffffffe8;
  position: absolute;
  z-index: 900;
  top: 5px;
  right: 10px;
  border-radius: 5px;
  cursor: pointer;
  display: none;
} +
span.nav-click i {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.Mobile span.nav-click i::before, .Tablet span.nav-click i::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../images/drop.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  filter: invert(1);
}

a.logo img {
    width: 200px;
    height: 126px;
    object-fit: contain;
    display: block;
    background: #fff;
    border-radius: 10px;
}
.Tablet a.logo img,
.Mobile a.logo img {
    width: 120px;
    height: 75px;
    object-fit: contain;
    display: block;
}

.btn-style-1 {
  padding: 15px 25px;
  background: #1E3A5F;
  color: #fff;
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: 600;
  overflow: hidden;
  width: max-content;
  border-radius: 3px;
}
.btn-style-1:hover { 
  color: #a8d0e6; 
}
.btn-style-1::after {
  content: '';
  position: absolute;
  top: 0;
  left: -200%;
  width: 200%;
  height: 100%; 
  transform: skewX(-20deg); 
  background-image: linear-gradient(to right,transparent,rgba(255,255,255,.4),transparent);
  z-index: 1;
}
.btn-style-1:hover:after { 
  animation:btn_shine 1.2s ease; 
  animation-delay:.1s
}
@keyframes btn_shine {
  100% {
    left:200%
  }
} 
div#Map {
  width: 100%;
  height: 350px;
  z-index: 0;
  background: #e3e8ed;
}
.Mobile div#Map{
  height: 250px;
} 
#mail,
#mail2{
  display: none;
}
form#rappel_immediat {
    display: flex;
    margin: 30px 0 0;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
form#rappel_immediat input.input-form {
  width: 70%;
  height: 48px;
  padding: 12px;
  border: none;
  outline: none;
  border-radius: 5px;
}
form#rappel_immediat input.btn-style-1 {
    width: 30%;
    height: 48px;
    padding: 12px;
    border: none;
    outline: none;
    background: #a8d0e6;
    /* border-radius: 0; */
    color: #000;
    border-radius: 5px;
}
form#rappel_immediat input.btn-style-1:hover{
  background: #287ff9;
} 


/*HEADER*/
.top_header {
    background: #1E3A5F;
}
.top_header_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
}
.top_header_flex > div {
    display: flex;
    align-items: center;
    gap: 20px;
}

.info_top {
    color: #fff;
    font-weight: 600;
}
.info_top > span,
.info_top > a { 
    display: flex;
    gap: 10px;
    align-items: center;
}
 
.logomenu_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
} 
.topLogo.skew_30_invert {
    background: #fff;
}
.homeslider {
    position: relative;
    height: 1000px;
    overflow: hidden; 
}
.Tablet .homeslider,
.Tablet .ImgFull,
.Mobile .homeslider,
.Mobile .ImgFull {
    height: 600px;
}

.ImgFull {
    width: 100%;
    height: 1000px;
    background-size: cover;
    background-color: #1E3A5Fb3;
    background-blend-mode: multiply;
}
.Desktop.ville .title-slider::first-line, .title-slider {
    font-size: 50px;
    color: #fff;
    font-weight: 900;
    font-style: normal;
    text-transform: uppercase;
    margin: 30px 0;
}
.Desktop.ville .title-slider {
    line-height: normal;
    font-size: 42px;
    color: #ffffff;
    font-weight: 500; 
    font-style: italic;
    text-transform: none;
}
.Mobile .title-slider {
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
    text-align: center;
}
.Tablet .title-slider {
  text-align: center;
  font-size: 32px;
}
.caption {
    position: absolute;
    bottom: 0;
    width: 100%; 
}
.Tablet .caption, .Mobile .caption {
    bottom: inherit;
    top: 60%;
    transform: translateY(-50%);
}

.tel_top {
    width: max-content;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.tel_top a {
    font-size: 18px;
    font-weight: 600;
    color: #1E3A5F;
}
.tel_top span {
    background: #1E3A5F; 
    line-height: 1;
    font-size: 0;
    width: 50px;
    height: 50px;
    display: flex;
    border-radius: 50%;
    border: solid 3px #fff;
    align-items: center;
    justify-content: center;
}
.btn {
    background: #1E3A5F;
    color: #fff;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding: 5px 5px 5px 25px;
    width: fit-content;
    border-radius: 900px;
    gap: 20px;
    line-height: 1;
    border: solid 3px #fff;
}
.btn span {
    width: 50px;
    height: 50px; 
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn:hover {
    background: #fff!important;
    color: #1E3A5F!important;  
    border: solid 3px #1E3A5F;
}
.btn:hover span { 
    background: #1E3A5F;  
}
.btn:hover .icon:before {
    filter: brightness(0) invert(1);
}

.btn_slider {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.Tablet .btn_slider ,
.Mobile .btn_slider {
  justify-content: center;
}
.contact_top {
    flex: 0 0 auto;
}
.caption_content {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
}
.form-input {
    display: block;
    margin: 10px 0;
    padding: 12px;
    border-radius: 5px;
    border: none;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    color: #000;
}
.btn.btn-submit {
    padding: 12px;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    color: #000;
    width: 100%;
    background: #a8d0e6;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.Devisgratuit {
    background: #1E3A5Fb3;
    padding: 50px 40px;
    border-radius: 10px;
    border-bottom: solid 3px #a8d0e6;
}

.Devisgratuit .form-input {
    background: transparent!important;
    border: solid 1px #a8d0e6;
    color: #fff!important;
}
.Devisgratuit .form-input::placeholder{
  color: #fff!important;
}
.Devisgratuit textarea.form-input { 
    height: 120px;  
}

.experience {
    display: block;
    background: #fff;
    padding: 30px;
    border-radius: 10px 10px 0 0;
    margin: 30px 0 0;
}
.caption_right {
    width: 100%;
    max-width: 470px;
}
.experience_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}
.contact_ellipse a {
    width: 60px;
    height: 60px;
    display: flex;
    background: #1E3A5F;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
}
.experience_note {
    font-size: 20px;
    color: #1E3A5F;
}
.line {
    margin: 30px 0;
    width: 60%;
    height: 1px;
    background: #1E3A5F;
}
.experience_img {
    display: flex;
    align-items: center;
    width: 241px;
    padding-right: 30px;
}
.experience_img img {
    width: 80px;
    height: 80px;
    background: #eee;
    border-radius: 50%;
    border: solid 3px #fff;
    margin-right: -30px;
}
.Devisgratuit .h3 {
    color: #fff;
    text-align: left;
    margin: 10px;
}
.subtitle {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    color: #fff;
    font-size: 14px;
}
.subtitle picture img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.caption_left .subtitle picture img {
    filter: brightness(0) invert(1);
}
.Tablet .caption_left ,
.Mobile .caption_left {
  width: 100%;
}

.block-rs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
} 
.block-rs a img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    transition: all .3s ease;
}
.block-rs a:hover img { 
    filter: drop-shadow(1px 1px 3px black);
}

footer {
    background: #1E3A5F;
    padding: 100px 0 50px;
    color: #fff;
}
.footer_grid {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 20px;
    justify-content: center;
}
.Mobile .footer_grid ,
.Tablet .footer_grid {
    grid-template-columns: 100%;
}
.footer_col {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}
.footer_col > div {
    background: #2C4A72;
    padding: 30px;
    width: 100%;
    border-radius: 10px;
    height: 100%;
}
.lien_footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    justify-content: center;
} 
.Mobile .lien_footer {
    grid-template-columns: 100%;
}
.footer_title {
    color: #fff;
    font-weight: 600;
    font-size: 20px;
    margin: 0 0 30px;
}
li {
    list-style: none;
}
.link_footer li { 
    margin: 0 0 15px;
    display: block;
}
.link_footer li a {
    color: #fff;
    font-size: 12px; 
}

.contact_footer_item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px ;
}
.contact_footer_item .icon {
    width: 50px;
    height: 50px;
    display: block;
    background: #fff;
    border-radius: 50%;
}
.contact_footer_item span {
    font-size: 18px;
}
.copyright {
    background: #A8D0E6;
    padding: 20px;
    border-radius: 5px;
    margin: 50px 0 0;
    color: #000;
}

section.block4 figure {
    height: 100%;
}
figure img{
  display: block;
  object-fit: cover;
  background: #eee;
}
.Mobile figure img{
  height: 250px;
}
picture img{
  display: block;
  object-fit: contain;
}

.block1_grid {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 50px;
}
.Tablet .block1_grid ,
.Mobile .block1_grid {
    grid-template-columns: 100%;
}
.Tablet .block1_img1,
.Mobile .block1_img1 {
  width: 60%;
}
 .block1_img1 img {
    width: 315px;
    height: 450px;
    border-radius: 10px;
}
.Tablet .block1_img1 img,
.Mobile .block1_img1 img {
    width: 100%;
    height: 350px;
    border-radius: 10px;
}
 .block1_img2 img {
    width: 240px;
    height: 330px;
    border-radius: 10px;
    border: solid 5px #fff;
}
.Tablet  .block1_img2 img ,
.Mobile  .block1_img2 img {
    width: 100%;
    height: 250px; 
}
.block1_img {
    position: relative;
    height: 450px;
}
.Mobile .block1_img,
.Tablet .block1_img { 
    height: fit-content;
}
.block1_img2 {
    display: block;
    width: fit-content;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: max-content;
}
.Mobile .block1_img2,
.Tablet .block1_img2 {
    display: flex;
    width: 50%; 
    justify-content: end;
}
.block1_img picture img {
    width: 50px;
    height: 50px;
}
.block1_img > div {
    background: #a8d0e6;
    width: fit-content;
    padding: 12px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%);
    color: #000;
    font-size: 18px;
    gap: 15px;
}
.stat span {
    font-size: 24px;
    display: block;
    margin: 0;
    font-weight: 600;
}
ul.engagement {
    column-count: 2;
    margin: 30px 0;
}
.Mobile ul.engagement {
    column-count: 1; 
}
ul.engagement li {
    padding-left: 25px;
    margin: 0 0 15px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    position: relative;
}
ul.engagement li:before {
    content: "";
    position: absolute;
    background: #a8d0e6 url(../images/img/icon-vrai.png);
    width: 20px;
    height: 20px;
    display: block;
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    left: 0;
}
.btn_content {
    margin: 30px 0 0;
}


.marquee {
    width: 100%;
    overflow: hidden;
    background: #a8d0e6;
    padding: 20px 0;
}
.marquee-content {
  display: flex;
  gap: 40px;
  width: max-content;
  animation: scrollMarquee 50s linear infinite;
}

.marquee-content div {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    font-size: 30px;
    color: #1e3a5f;
}

.marquee-content img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    /* filter: brightness(0); */
}
/* Animation */
@keyframes scrollMarquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.block_cat_txt {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.Mobile .block_cat_txt { 
    flex-wrap: wrap;
    gap: 30px;
}
.block_cat_txt1 {
    font-size: 52px;
    color: #1e3a5f;
    line-height: normal;
} 

.Mobile .block_cat_txt1 {
    font-size: 32px; 
} 
.block_cat_txt2 {
    display: flex; 
    justify-content: center;
    flex-direction: column;
    align-items: flex-end;
}
.Desktop .block_cat_txt2 p {
    font-size: 18px;
    width: 100%;
    max-width: 400px;
    text-align: right;
}
.categorie_list {
    display: flex;
    overflow: hidden;
    margin: 50px 0 0;
}
.categorie_img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    background: #eee;
    border-radius: 10px;
}
.Desktop .categorie_item {
    width: 33.33%; 
    padding: 0 10px;
    flex: 0 0 33.33%;
   
} 

.categorie_item > div {
   position: relative;
}

.categorie_icon {
    width: 80px;
    height: 80px;
    background: #fff;
    border-radius: 0 0 0 10px;
    position: absolute!important;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.categorie_txt {
    position: absolute !important;
    bottom: 0;
    margin: auto;
    width: 80%;
    display: block;
    background: #fff;
    left: 50%;
    transform: translateX(-50%);
    padding: 15px;
    border-radius: 10px 10px 0 0;
}
.categorie_icon picture {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    background: #a8d0e6;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}


.categorie_txt a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    font-size: 18px;
    font-weight: 600;
    color: #1e3a5f;
}
.categorie_txt span {
    background: #a8d0e6;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex: 0 0 60px;
} 


.categorie_item:hover .categorie_txt span,
.categorie_item.active  .categorie_txt span,
.categorie_item:hover .categorie_icon picture,
.categorie_item.active .categorie_icon picture{
  background: #1e3a5f;
}


.categorie_item:hover .categorie_icon picture img,
.categorie_item.active .categorie_icon picture img,
.categorie_item:hover  .icon-fleche:before,
.categorie_item.active .icon-fleche:before {
  filter: brightness(0) invert(1);
}

section.block2 {
    position: relative;
}
section.block2:before {
    content: "";
    background: #1E3A5F;
    width: 100%;
    height: 300px;
    position: absolute;
    z-index: 0;
    top: 0;
}
.block2_item {
    background: #f8f9fa;
    position: relative;
    padding: 30px;
    border-radius: 10px;
}

.block2_item picture {
    width: 70px;
    height: 70px;
    display: flex;
    background: #a8d0e6;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px;
}
.block2_deco span {
    font-size: 60px;
    font-weight: 600;
    -webkit-text-stroke: 2px #1e3a5f;
    color: transparent;
}

.block2_deco {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 20px;
    gap: 40px;
}
.block2_line {
    width: 100%;
    height: 30px;
    display: block;
    background: transparent;
    position: relative;
}
.block2_line:before,
.block2_line:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #a8d0e6;
    position: absolute;
}

.block2_line:before{
  top: 0;
  left: 20px;
}
.block2_line:after{
  bottom: 0;
  left: 0;
}





.block3_content {
    background-color: #61758f;
    background-blend-mode: multiply;
    background-size: cover;
    padding: 50px;
    color: #fff;
    border-radius: 10px;
}
.Mobile .block3_content {
    padding: 20px;
}
.block3_content h2,
.block3_content h3{ 
    color: #fff; 
}

section.block3 {
    padding: 0 0 100px;
}

section.block4 {
    background: #f8f9fa;
}
.block4_content {
    display: flex;
    justify-content: center;
}
.Mobile .block4_content ,
.Tablet .block4_content{
    flex-wrap: wrap;
    gap: 30px;
}
.block4_content > div {
    flex: 0 0 50%;
    width: 50%;
    position: relative;
}
.Tablet .block4_content > div,
.Mobile .block4_content > div {
    flex: 0 0 100%;
    width: 100%; 
}
.engagement2 {
    margin: 30px 0 0;
    width: calc(100% + 100px);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    left: -100px;
    position: relative;
    gap: 20px;
}
.Mobile .engagement2  {
    grid-template-columns: 100%;
    left: auto;
    width: 100%;
}
.Tablet .engagement2 { 
  left: auto;
  width: 100%;
}
.engagement2_card {
    border: solid 1px #ddd;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
}
.engagement2_card:nth-child(2),
.engagement2_card:nth-child(4) {
  background: transparent;
}

.engagement2_card > picture {
    width: 70px;
    height: 70px;
    background: #a8d0e6;
    display: flex;
    border-radius: 50%;
    margin: 0 auto 30px;
    justify-content: center;
    align-items: center;
}
.engagement2_card span {
    font-size: 18px;
    color: #1e3a5f;
    font-weight: 600;
    width: 100%;
    text-align: center;
    display: block;
}

.block4_left figure img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px; 
}
.Tablet .block4_left figure img,
.Mobile .block4_left figure img{
  height: 370px;
}
.block4_right {
    padding-bottom: 30px;
    padding-left: 30px;
}
.Mobile .block4_right {
    padding: 0;
}
.questions {
    background: rgb(30 58 95 / 50%);
    border-radius: 10px;
    width: 400px;
    padding: 30px;
    position: absolute;
    bottom: 40px;
    left: 40px;
    color: #fff;
}
.Mobile .questions {
    width: 250px;
}
.questions p strong {
    display: block;
    font-size: 24px;
}
main .subtitle {
    color: #000;
    border: solid 1px #333;
    padding: 5px;
    line-height: 1;
    width: fit-content;
    border-radius: 5px;
    margin: 0 0 20px;
}

.tel_slide {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
}
.tel_slide span {
    background: #a8d0e6;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tel_slide div strong {
    font-size: 20px;
    color: #fff;
}
.tel_slide div p {
    color: #fff;
    font-size: 18px;
    margin: 10px 0 0;
}
.second-line {
    max-width: fit-content;
    color: #a8d0e6;
    position: relative;
    overflow: hidden;
    padding-right: 10px;
    animation: shrinkGrow 5s infinite; 
    display: block;
    white-space: nowrap;
}
/* Animation */
@keyframes shrinkGrow {
  0% {
    width: 100%;
  }
  50% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.second-line:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  background: #a8d0e6;
  top: 0;
  right: 0;
}
.block5_content {
    display: flex;
    justify-content: center;
    gap: 50px;
}
.Tablet .block5_content,
.Mobile .block5_content {
    flex-wrap: wrap;
}
.block5_card {
    width: 100%;
}
.block5_card h2 {
    background: #f8f9fa;
    padding: 30px 30px 100px;
    border-radius: 10px;
    margin: 0;
}
.block5_card > div {
    margin: -80px 20px 0;
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    border: solid 1px #eee;
}
.block5_card:nth-child(2) h2 {
    background: #a8d0e6;
}

section.block6 {
    background-color: #4a4949;
    background-blend-mode: multiply;
    background-size: cover;
    background-attachment: fixed;
}
.block6_left,
.block6_left h2,
.block6_left h3 {
    color: #fff;
}
.block6_txt2 {
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    margin: 30px 0 0;
}
.block6_txt2 picture {
    background: #a8d0e6;
    width: 75px;
    height: 75px;
    display: flex;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    margin-top: -80px;
    margin-bottom: 30px;
}
section.block6 .grid-col-2 {
    align-items: center;
}
.block7_img img {
    width: 100%;
    height: 500px;
    border-radius: 10px;
    border-bottom: solid 3px #a8d0e6;
}
.Desktop .caption_left {
    padding: 100px 0 0;
}

/*------------------------------------- 
ICONE 
-------------------------------------*/


.icon{
    position: relative;
    padding: 12px;
}
.icon:before {
    content: "";    
    background-repeat: no-repeat!important;
    background-size: contain!important;
    background-position: center!important;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.icon-phone:before {
    background: url(../images/img/icon-fixe-mob.png);
}
.icon-mobile:before {
    background: url(../images/img/icon-portable-mob.png);
}
.icon-envelope:before,
.icon-mail:before {
  background: url(../images/img/icon-mail.png);
}
.icon-location:before {
  background: url(../images/img/icon-locali.png);
}
.icon-map:before,
.icon-map-marker:before, .adr:before {
  background: url(../images/img/icon-adresse.png);
}
.icon-clock-o:before, .hor:before {
  background: url(../images/img/icon-hor.png);
}
.icon-fleche:before {
  background: url(../images/img/icon-fleche-right.png);
}
.adr, .hor {
    font-size: 14px;
    line-height: 24px;
    padding-left: 40px;
    position: relative;
    margin-left: 60px; 
    margin-top: 5px;
}
.adr:before, .hor:before {
    content: ""; 
    position: absolute;
    left: 0; 
    top: 50%;
    transform: translateY(-50%); 
    width: 20px;
    height: 20px;
    background-size: contain;
} 
.contact_ellipse img {
    filter: invert(1);
    height: 40px;
    width: 40px;
    object-fit: contain;
}
.block2_item picture img,
.block6_txt2 picture img {
    width: 60px;
    height: 60px;
}

.engagement2 picture img {
    width: 60px;
    height: 60px;
}
.logo_footer .logo {
    margin: 0 0 30px;
    text-align: left;
    justify-content: left;
}
.categorie_icon picture img {
    width: 45px;
    height: 45px;
}
.info_top .icon:before {
    filter: invert(1);
}

header#navscrool.sticky {
    position: fixed;
    top: 0;
}
header#navscrool.sticky .logomenu {
    background: #2c4a72;
}
.Tablet header#navscrool.sticky .logomenu,
.Mobile header#navscrool.sticky .logomenu{
  background: #fff;
}
.Tablet header#navscrool,
.Mobile header#navscrool {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
}

.Tel_mob {
    padding: 5px;
    display: flex;
    background: #a8d0e6;
    justify-content: center;
    gap: 20px;
}
.Tel_mob a {
    background: #1e3a5f;
    padding: 10px;
    color: #fff;
    font-weight: 600;
    border-radius: 900px;
    display: flex;
    align-items: center;
    gap: 5px; 
}
.Tel_mob .icon:before{
  filter: brightness(0) invert(1);
}
.border_invert{
  position: relative;
}

.border_invert:before,
.border_invert:after{ 
  content: "";
  background-image: url(../images/img/border_invert.webp);
  background-size: contain;
  width: 10px;
  height: 10px; 
  position: absolute;
  bottom: 0;
}
.border_invert:before{
  left: -10px;
}
.border_invert:after {
    right: -10px;
    transform: rotate(90deg);
}
.categorie_icon.border_invert:before {
    bottom: auto;
    top: 0;
    rotate: -90deg;
}
.categorie_icon.border_invert:after { 
    bottom: -10px;
    right: 0;
    rotate: 180deg;
} 
.Devis_mobile {
    padding: 50px 0;
}
.Devis_mobile .grid-col-2.gap-20 {
    gap: 0;
}
.Devis_mobile .Devisgratuit {
    padding: 20px;
}
 
.Devis_mobile .experience_flex:nth-child(2) {
 flex-wrap: wrap;
}

.horaire {
    background: #fff;
    border-left: solid 5px #a8d0e6;
    padding: 12px;
    width: fit-content;
    margin: 0 0 30px;
    font-size: 18px;
}
.Tablet .horaire,
.Mobile .horaire {
    margin: 0 auto 30px;
}
.Tablet .caption_left .subtitle ,
.Mobile .caption_left .subtitle {
    margin: auto;
    justify-content: center;
}
.vide {
    height: 476px;
}

.bContact_grid {
    border-radius: 10px;
    background: #f8f9fa;
    grid-template-columns: 60% 40%;
    display: grid;
    overflow: hidden;
}
.contact_info {
    padding: 40px;
}
.contact_info address {
    margin: 30px 0 0;
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
section.block_contact .Devisgratuit {
    background: #1e3a5f;
    color: #fff;
    border-radius: 0;
    border: none;
}
.contact_info_item {
    display: flex;
    align-items: center;
    gap: 20px;
}
.contact_info_item picture {
    width: 60px;
    height: 60px;
    background: #a8d0e6;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    flex: 0 0 60px;
}
.contact_info_item picture img {
    width: 30px;
    height: 30px;
}
.contact_info_item div strong {
    color: #000;
    display: block;
}
.Tablet .bContact_grid,
.Mobile .bContact_grid {
    grid-template-columns: 100%;
}
.Mobile .contact_info,
.Mobile .block_contact .Devisgratuit,
.Mobile .contact_info address{
  padding: 20px;
}
.Tablet .contact_devis .grid-col-2,
.Mobile .contact_devis .grid-col-2 {
    gap: 0;
}
.Mobile .contact_info address {
    grid-template-columns: 100%;
}

/*----------------------------------------------------------
MENTIONS
---------------------------------------------------------*/
.mentions h2 {
    padding: 20px 0;
    font-size: 28px;
    font-weight: 600;
    text-transform: uppercase;
}
.mentions ol {
    max-width: 100%;
    width: 80%;
    margin: auto;
    padding: 0 0 30px;
}
body.Mobile.mentions ol {
    width: 100%; 
    padding:0 20px 20px;
}
.mentions h3 {
    font-size: 20px; 
    font-weight: 600;
    margin: 30px 0 15px;
}


/*------------------------------------------------------------------------- 
404 style 
-------------------------------------------------------------------------*/

.blog_pageIntrouvable {
    background: #fff;
    position: fixed;
    height: 100%;
    width: 100%;
    font-size: 18px;
    z-index: 10000 !important;
    text-align: center;
    top: 0;
  left: 0;
}
.blog_pageIntrouvable .d-flex {
    display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
    -ms-flex-align: center!important;
    align-items: center!important;
}
.blog_pageIntrouvable span {
  color: #000;
}

.blog_pageIntrouvable > div {
  height: 100%;
  color: #333
}
.blog_pageIntrouvable .h1 {
    font-size: 200px;
    color: #1E3A5F;
    font-weight: 600;
    text-align: center;
}
.blog_pageIntrouvable p {
    font-size: 36px;
    line-height: 100%;
    margin-top: -21px;
    text-transform: uppercase;
    letter-spacing: 10px;
    color: #000000;
}
.blog_pageIntrouvable a {
    color: #1E3A5F;
}
.blog_pageIntrouvable a:hover {
    text-decoration: underline;
}
#noDesktop { display: none; }
.Mobile .blog_pageIntrouvable {
    font-size: 14px;
  }
  .Mobile .blog_pageIntrouvable a {
      display: block;
  }
  .Mobile .blog_pageIntrouvable p {
      font-size: 17px;
      letter-spacing: 5px;
      margin-top: -10px;
  }
  .Mobile .blog_pageIntrouvable .h1 {
    font-size: 100px;
  }
  /*----------------------------------------------------------------------------------- 
MESSAGES 
-----------------------------------------------------------------------------------*/

div#Messages {
    text-align: center;
    background-color: #000;    
    padding: 10px;
    width: 100%;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
}

div#Messages p {
    margin: 0;
    color: #fff;     
    font-size: 20px;
}
.Tablet div#Messages p,
.Mobile div#Messages p {
    font-size:14px;
}