@charset "UTF-8";
.has-elosi-blue-color {
  color: #0833BC !important;
}

.has-elosi-yellow-color {
  color: #FFA100 !important;
}

.has-elosi-white-color {
  color: #DADADA !important;
}

.has-elosi-absolute-white-color {
  color: #FFFFFF !important;
}

.has-elosi-blue-background-color {
  background-color: #0833BC !important;
}

.has-elosi-yellow-background-color {
  background-color: #FFA100 !important;
}

.has-elosi-white-background-color {
  background-color: #DADADA !important;
}

.has-elosi-absolute-white-background-color {
  background-color: #FFFFFF !important;
}

@font-face {
  font-family: "Space Grotesk";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url("fonts/space_grotesk/SpaceGrotesk-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Raleway";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url("fonts/raleway/Raleway-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/raleway/Raleway-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/raleway/Raleway-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/raleway/Raleway-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/raleway/Raleway-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Raleway";
  src: url("./fonts/raleway/Raleway-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  position: relative;
  font-weight: normal;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: none;
}

html, body {
  height: 100%;
}

body {
  min-height: 100dvh;
  height: auto;
  color: #DADADA;
  background: url("../pictures/background_pattern.png"), #1C1C1C;
  line-height: 1.6;
  font-family: Raleway, sans-serif;
  font-size: 14px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  /*  margin-block-end: 14rem;*/
}
main#homepage {
  margin-block-end: 0rem;
}

.eco-switch-image.bg {
  background: linear-gradient(180deg, #0833BC 0%, #1C1C1C 100%);
}
.eco-switch-image.bg-carriere {
  background-color: white;
}

html, body {
  padding: 0;
  margin: 0;
  width: 100%;
  background-image: url("../images/background_pattern.png");
  background-color: #1C1C1C;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Space Grotesk", sans-serif;
}

h1 {
  color: #0833BC;
  font-weight: bold;
  transition: all 0.3s ease;
  font-size: 2.5rem;
  line-height: 1.3;
}
h1.fond_noir {
  color: #FFA100;
}

strong {
  font-weight: 700;
}

p {
  font-family: "Raleway", sans-serif;
}

h2 {
  color: #FFA100;
  font-size: 1.3rem;
}

a {
  color: #0833BC;
  font-weight: bold;
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
  color: #FFA100;
}

button {
  font-family: Raleway, sans-serif;
}

ul {
  list-style: none;
}
ul li {
  position: relative;
}
ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5em;
  height: 0.5em;
  background-color: #FFA100;
  border-radius: 50%;
  margin-left: -20px;
}

.container {
  max-width: 70%;
  margin: 0 auto;
  padding: 0 2rem;
}

.title {
  font-size: 4rem;
}

.subtitle {
  font-size: 1.5rem;
}

.highlight {
  font-weight: bold;
}

.btn-primary {
  position: relative;
  background-color: #0833BC;
  color: white;
  border: 2px solid #FFA100;
  padding: 0.8rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-family: "Space Grotesk", sans-serif;
  cursor: pointer;
  transition: padding 0.3s ease-in-out;
  overflow: hidden;
}
.btn-primary::before {
  content: "";
  width: 0;
  height: 100%;
  background-color: #FFA100;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}
.btn-primary::after {
  content: "";
  position: absolute;
  right: 12px;
  width: 34px;
  height: 30px;
  background-size: contain;
  z-index: 1;
}
.btn-primary span {
  position: relative;
  z-index: 1;
}
.btn-primary:hover, .btn-primary:focus {
  padding-left: 2.5rem;
}
.btn-primary:hover::before, .btn-primary:focus::before {
  width: 12px;
}

@media (max-width: 768px) {
  h1 {
    color: #0833BC;
    font-weight: bold;
    transition: all 0.3s ease;
    font-size: 1.7rem;
    margin: 0.5rem;
  }
  h1.fond_noir {
    color: #FFA100;
  }
  .container {
    max-width: 924px;
    margin: 0 auto;
    padding: 1rem;
  }
  main {
    margin-block-end: auto;
  }
}
.eco-mode {
  transition: all 0.3s ease;
}

.eco-mode h1 {
  color: transparent;
  -webkit-text-stroke: 1px white;
  text-stroke: 1px white;
  font-weight: bold;
}
.eco-mode h1.black {
  color: transparent;
  -webkit-text-stroke: 1px black;
}

.page_details_offre_emploi .btn-retour-single {
  width: 47% !important;
}
.page_details_offre_emploi .btn-retour-single .btn-retour-single-join {
  width: 100% !important;
}
.page_details_offre_emploi .btn-retour-single .btn-retour-single-join .btn-icon-single {
  width: 40px !important;
}
.page_details_offre_emploi .btn-retour-single .btn-retour-single-join .btn-text-single {
  width: 40% !important;
}

.required-notice {
  color: black;
}

/* ========== COMPOSANTS GÉNÉRAUX ========== */
.tag-list {
  display: flex;
  gap: 8px;
}
.tag-list .tag {
  font-weight: bold;
  color: #1C1C1C;
  background-color: #DADADA;
  padding: 4px 8px;
}

.standard-picture {
  width: 100%;
  max-height: 120px;
  overflow: hidden;
}
.standard-picture img {
  height: 120px;
  object-fit: cover;
  width: 100%;
}

/* ========== MENU DESKTOP ========== */
.elosi-sidebar {
  position: fixed;
  top: 30%;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
@media (max-width: 1024px) {
  .elosi-sidebar {
    display: none;
  }
}
.elosi-sidebar .elosi-menu {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  list-style: none;
  padding: 0;
}
.elosi-sidebar .elosi-menu.carriere a {
  width: 170px;
}
.elosi-sidebar .elosi-menu li {
  position: relative;
}
.elosi-sidebar .elosi-menu li::before {
  display: none !important;
}
.elosi-sidebar .elosi-menu li a,
.elosi-sidebar .elosi-menu li .menu-toggle {
  background-color: #0833BC;
  color: white;
  font-weight: bold;
  padding: 0.5rem 0.8rem;
  display: inline-block;
  text-align: left;
  border: none;
  cursor: pointer;
  width: 160px;
}
.elosi-sidebar .elosi-menu li:not(.current-menu-item):not(.current_page_item) > a:hover, .elosi-sidebar .elosi-menu li:not(.current-menu-item):not(.current_page_item) > .menu-toggle:hover {
  border-left: 5px solid #FFA100;
  padding-left: calc(1rem - 5px);
}
.elosi-sidebar .elosi-menu li.current_page_item a, .elosi-sidebar .elosi-menu li.current-menu-item .parent, .elosi-sidebar .elosi-menu li.current-menu-item .child-actif {
  background-color: black;
  position: relative;
  padding-left: 1rem;
}
.elosi-sidebar .elosi-menu li.current_page_item a::before, .elosi-sidebar .elosi-menu li.current-menu-item .parent::before, .elosi-sidebar .elosi-menu li.current-menu-item .child-actif::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 0;
  width: 12px;
  height: 100%;
  background-color: #0833BC;
}
.elosi-sidebar .elosi-menu li.has-submenu .submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 170px;
  list-style: none;
  z-index: 9999;
  padding: 0;
}
.elosi-sidebar .elosi-menu li.has-submenu .submenu li a {
  display: block;
  padding: 0.5rem 1rem;
  color: #0833BC;
  font-weight: bold;
  text-decoration: none;
  background-color: #DADADA;
  border: 2px solid #0833BC;
  width: 100%;
}
.elosi-sidebar .elosi-menu li.has-submenu .submenu li a:hover {
  background-color: #FFA100;
}
.elosi-sidebar .elosi-menu li.has-submenu.open .submenu {
  display: block;
}
.elosi-sidebar .elosi-home-icon {
  width: 60px;
  color: #D9D9D9;
  align-items: center;
  justify-content: center;
}
.elosi-sidebar .elosi-home-icon a {
  display: flex !important;
  align-items: center !important;
  width: 51px !important;
}
.elosi-sidebar .elosi-home-icon img {
  width: 25px;
  height: 25px;
}

/* ========== BOUTON BURGER (Mobile & Tablette) ========== */
.burger-button {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 10001;
  background: none;
  border: none;
  cursor: pointer;
  display: none;
}
.burger-button svg rect {
  fill: white;
}
@media (max-width: 1024px) {
  .burger-button {
    display: block;
  }
}

@media (max-width: 1430px) {
  .elosi-sidebar-mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 250px;
    height: 100vh;
    background-color: #0833BC;
    z-index: 9000;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    padding: 2rem 1rem;
  }
  .elosi-sidebar-mobile.open {
    transform: translateX(0);
  }
  .elosi-sidebar-mobile ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 4rem;
  }
  .elosi-sidebar-mobile ul li {
    position: relative;
  }
  .elosi-sidebar-mobile ul li:before {
    display: none;
  }
  .elosi-sidebar-mobile ul li a,
  .elosi-sidebar-mobile ul li .menu-toggle,
  .elosi-sidebar-mobile ul li span {
    color: white;
    padding: 0.5rem 1rem;
    text-decoration: none;
    display: block;
    background-color: transparent;
    width: 100%;
    border: none;
    text-align: left;
    font-size: 0.9rem;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .elosi-sidebar-mobile ul li a:hover,
  .elosi-sidebar-mobile ul li .menu-toggle:hover,
  .elosi-sidebar-mobile ul li span:hover {
    background-color: #FFA100;
    color: #0833BC;
    border-left: 5px solid #FFA100;
    padding-left: calc(1rem - 5px);
  }
  .elosi-sidebar-mobile ul li.current_page_item a {
    background-color: black;
    position: relative;
    padding-left: 1rem;
  }
  .elosi-sidebar-mobile ul li.current_page_item a::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 0;
    width: 10px;
    height: 100%;
    background-color: #D9D9D9;
  }
  .elosi-sidebar-mobile ul li.current-menu-item .child-actif {
    background-color: black;
    position: relative;
    padding-left: 1rem;
  }
  .elosi-sidebar-mobile ul li.current-menu-item .child-actif::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 0;
    width: 10px;
    height: 100%;
    background-color: #D9D9D9;
  }
  .elosi-sidebar-mobile ul li.has-submenu .submenu {
    display: block;
    margin-top: 0.3rem;
    list-style: none;
    border-left: 2px solid #FFA100;
  }
  .elosi-sidebar-mobile ul li.has-submenu .submenu li {
    margin-top: 0.2rem;
  }
  .elosi-sidebar-mobile ul li.has-submenu .submenu li a {
    color: white;
    font-size: 0.85rem;
    padding: 0.4rem 1rem;
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  .elosi-sidebar-mobile ul li.has-submenu .submenu li a:hover {
    background-color: #FFA100;
    color: #0833BC;
  }
  .elosi-sidebar-mobile .elosi-home-icon {
    width: auto;
    align-items: center;
  }
  .elosi-sidebar-mobile .elosi-home-icon img {
    width: 30px;
    height: 30px;
  }
}
@media (max-width: 1430px) {
  .menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    z-index: 8000;
  }
  .menu-overlay.active {
    display: block;
  }
  .elosi-sidebar-mobile.open + .menu-overlay {
    display: block;
  }
}
@media (min-width: 1025px) {
  .elosi-sidebar-mobile {
    display: none !important;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 0.8rem;
  }
  .standard-picture {
    max-height: 100px;
  }
  .standard-picture img {
    height: 100px;
  }
}
@media (max-width: 992px) {
  body {
    font-size: 0.9rem;
  }
  .standard-picture {
    max-height: 200px;
  }
  .standard-picture img {
    height: 200px;
  }
}
@media (max-width: 1200px) {
  body {
    font-size: 1rem;
  }
  .standard-picture {
    max-height: 200px;
  }
  .standard-picture img {
    height: 200px;
  }
}
@media (min-width: 1201px) and (max-width: 1600px) {
  body {
    font-size: 0.9rem;
    min-height: 100vh;
  }
  .standard-picture {
    max-height: 308px;
  }
  .standard-picture img {
    height: 308px;
  }
}
@media (min-width: 1601px) {
  body {
    font-size: 1.1rem;
    min-height: 100vh;
  }
  .standard-picture {
    max-height: 308px;
  }
  .standard-picture img {
    height: 308px;
  }
}
body.no-scroll {
  overflow: hidden;
  height: 100dvh;
}

#homepage {
  width: 100vw;
  --logo-width: 620px;
  height: 100dvh;
  background: linear-gradient(280deg, #0833BC 0%, #1C1C1C 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#homepage .logo_home {
  width: var(--logo-width);
  overflow: hidden;
  animation: main-logo-display-wordpress 1.2s ease-in-out;
}
#homepage .logo_home img {
  width: var(--logo-width);
}
#homepage #links {
  margin-top: 2rem;
  text-align: center;
  width: 51%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
#homepage #links #homepage-navigation {
  display: flex;
  gap: 2rem;
  padding: 1rem;
}
#homepage #links #homepage-navigation .btn-primary {
  background-color: #DADADA !important;
  color: #1c1c1c;
  width: 100%;
  text-align: left;
  border: 2px solid #1C1C1C;
  box-sizing: border-box;
  justify-content: left;
  padding: 1rem;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
}
#homepage #links #homepage-navigation .btn-primary .highlight {
  color: #0833BC;
}
#homepage #links #socials {
  display: flex;
  justify-content: center;
  gap: 1rem;
  height: 35px;
}
#homepage #links #socials a {
  height: 100%;
}
#homepage #links #socials .linkedin {
  width: auto;
  height: 100%;
}
#homepage #links #socials .contact {
  width: auto;
  height: 100%;
}
#homepage #links #socials .social-icon {
  width: 42px;
  height: 42px;
  margin: 0 8px;
  fill: white;
}

@keyframes main-logo-display-wordpress {
  0% {
    width: 0;
  }
  10% {
    border-right: 28px solid white;
  }
  80% {
    border-right: 28px solid white;
  }
  90% {
    border-right-width: 0;
  }
  96% {
    width: calc(var(--logo-width) + 16px);
  }
  100% {
    width: var(--logo-width);
  }
}
@media (max-width: 820px) {
  body.no-scroll {
    overflow: hidden;
    height: 100dvh;
  }
  #homepage {
    width: 100vw;
    height: 100dvh;
    background: linear-gradient(280deg, #0833BC 0%, #1C1C1C 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #homepage .logo_home {
    --logo-width: 310px;
    overflow: hidden;
    animation: main-logo-display-wordpress 1.2s ease-in-out;
  }
  #homepage .logo_home img {
    width: 308px;
  }
  #homepage #links {
    margin-top: 2rem;
    text-align: center;
    width: 75%;
  }
  #homepage #links #homepage-navigation {
    display: flex;
    gap: 2rem;
    padding: 1rem;
    flex-direction: column;
  }
  #homepage #links #homepage-navigation .btn-primary {
    background-color: #DADADA;
    color: #1c1c1c;
    width: 100%;
    text-align: left;
    border: 2px solid #1C1C1C;
    box-sizing: border-box;
    justify-content: left;
    padding: 1rem;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
  }
  #homepage #links #homepage-navigation .btn-primary .highlight {
    color: #0833BC;
    margin-right: 0.3rem;
  }
  #homepage #links #socials {
    display: flex;
    align-items: center;
  }
  #homepage #links #socials .social-icon {
    width: 30px;
    height: 30px;
    display: inline-block;
    fill: white;
  }
  @keyframes main-logo-display-wordpress {
    0% {
      width: 0;
    }
    10% {
      border-right: 28px solid white;
    }
    80% {
      border-right: 28px solid white;
    }
    90% {
      border-right-width: 0;
    }
    96% {
      width: 297px;
    }
    100% {
      width: 307px;
    }
  }
}
.site-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.site-wrapper main {
  flex: 1;
}

footer {
  width: 100%;
  display: flex;
  justify-content: end;
}

.footer {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-wrap: wrap;
  padding: 2rem 5%;
  color: #DADADA;
  width: 90%;
}
.footer .elosi-slash {
  width: 120px;
  position: relative;
  right: 140px;
}
.footer .footer-col {
  flex: 1 1 20%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.footer .footer-col.left {
  align-items: flex-start;
  text-align: left;
}
.footer .footer-col.left .footer-info {
  width: 100%;
}
.footer .footer-col.left .footer-info p, .footer .footer-col.left .footer-info a {
  color: #DADADA;
  font-size: 1rem;
}
.footer .footer-col.left .footer-info .social-icon {
  width: 28px;
  height: 28px;
  margin-top: 0.5rem;
}
.footer .footer-col.logo {
  align-items: start;
}
.footer .footer-col.logo .elosi-logo {
  width: 230px;
  margin-bottom: 0.5rem;
}
.footer .footer-col.logo .baseline {
  color: #FFA100;
  font-size: 0.95rem;
  font-weight: bold;
  margin: 0;
}
.footer .footer-col.right {
  align-items: flex-end;
  text-align: right;
}
.footer .footer-col.right a {
  color: #DADADA;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.footer .footer-col.right p {
  font-size: 1rem;
}

@media (max-width: 1320px) {
  .elosi-slash {
    display: none !important;
  }
  .footer-col {
    align-items: flex-end !important;
    text-align: left !important;
    margin-bottom: 1rem;
    margin-left: 3rem;
  }
  .footer-col.left .footer-info {
    width: 70%;
  }
  .footer-col.left .footer-info a {
    font-size: 0.9rem;
  }
}
@media (max-width: 768px) {
  .footer {
    flex-direction: column;
    text-align: center;
    align-items: center;
    max-width: 100%;
    gap: 3rem;
    display: initial;
    width: 100%;
  }
  .footer .footer-col {
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 1rem;
    margin-left: 0;
  }
  .footer .footer-col.left .footer-info a {
    font-size: 0.9rem;
  }
  .footer .footer-col.right {
    align-items: center;
  }
  .footer .elosi-slash {
    display: none;
  }
}
.wp-block-code code {
  padding: 2rem;
  color: #0833BC;
  border: solid 2px #0833BC;
}

.wp-block-table .has-fixed-layout thead tr th {
  background-color: #0833BC;
  color: white;
  border: 2px solid #0833BC;
}
.wp-block-table .has-fixed-layout tbody {
  border: 2px solid #0833BC;
}
.wp-block-table .has-fixed-layout tbody td {
  border: 2px solid #FFA100;
  background-color: #DADADA;
}

.elosi-encart {
  width: 70%;
  height: auto;
}

.section_template_business {
  display: flex;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
}

.img_template_business {
  width: 50%;
  height: 100dvh;
  position: relative;
  overflow: hidden;
  object-fit: cover;
  display: flex;
  justify-content: end;
}
.img_template_business img {
  width: 100%;
  object-fit: cover;
}

.qui_est_elosi .text-template-business {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: end;
}
.qui_est_elosi .main-title {
  width: 100%;
}
.qui_est_elosi .main-title .main-title-logo {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
}
.qui_est_elosi .elosi-encart {
  width: 60%;
  height: auto;
}

.Elosi_solution_business {
  position: relative;
}
.Elosi_solution_business .img_template_business {
  width: 50%;
  height: 100dvh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.Elosi_solution_business .img_template_business img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.Elosi_solution_business .elosi-solution-business-relative {
  display: flex;
  flex-direction: row;
  width: 50%;
  height: 100dvh;
  z-index: 1;
  position: relative;
  justify-content: end;
}
.Elosi_solution_business .nos_offres_solutions_categories ul {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.Elosi_solution_business .nos_offres_solutions_categories ul li {
  display: flex;
  flex: 1;
  width: 100%;
  align-items: center;
  padding: 2rem;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
}
.Elosi_solution_business .nos_offres_solutions_categories ul li.link-blue {
  background-color: #0833BC;
  color: white;
}
.Elosi_solution_business .nos_offres_solutions_categories ul li.link-black {
  background-color: #000;
  color: white;
}
.Elosi_solution_business .nos_offres_solutions_categories ul li::before {
  display: none;
}
.Elosi_solution_business .elosi_encart_solutions {
  width: 50%;
  display: flex;
  align-items: center;
}

.elosi_GE_business {
  width: 100%;
}
.elosi_GE_business .elosi_encart_GE {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: end;
}
.elosi_GE_business .elosi-GE-business_text {
  width: 50%;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100dvh;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block {
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: stretch;
  height: 25%;
  flex-wrap: wrap;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block.blue {
  background-color: #0833BC;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block.black {
  background-color: #000;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_text {
  width: 50%;
  padding-left: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_text .chevron-icon {
  width: 40px;
  height: 40px;
  margin-left: 0.5rem;
  vertical-align: middle;
  filter: brightness(0) invert(1);
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_text h3 {
  font-size: 1.7rem;
  color: #FFA100;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_text p {
  margin: 0.1rem 0;
  font-size: 1rem;
  color: white;
  font-weight: 600;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_img {
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_img .icon-nos-offres {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50px;
  height: auto;
  z-index: 10;
  pointer-events: none;
  background-color: #0833BC;
  padding: 5px;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_img .icon-nos-offres.black {
  background-color: black;
}
.elosi_GE_business .elosi-GE-business_text .elosi_GE_grid .elosi_GE_block .elosi_GE_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.notre_expertise_business .img_as_background {
  background: linear-gradient(180deg, #0833BC 0%, #1C1C1C 100%);
}
.notre_expertise_business .img_template_business img {
  width: auto !important;
  padding: 8rem;
  position: relative;
  left: 5rem;
}

.text-template-business {
  width: 50%;
  align-items: center;
}
.text-template-business .main-title {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.text-template-business .main-title .main-title-logo {
  width: 100%;
}

.elosi_contact_section {
  width: 100vw;
  height: auto;
  display: flex;
}
.elosi_contact_section .elosi-encart__header {
  display: flex;
}
.elosi_contact_section .contact_form_wrapper {
  display: flex;
  width: 100%;
  height: 100dvh;
  justify-content: end;
}
.elosi_contact_section .contact_form_left {
  width: 30%;
  height: 100%;
  background-color: #DADADA;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow-y: auto;
}
.elosi_contact_section .contact_form_left .contact_messages_submit .form-success {
  color: green;
  font-weight: bold;
  margin-top: 1rem;
}
.elosi_contact_section .contact_form_left .contact_messages_submit .form-error {
  color: red;
  font-weight: bold;
  margin-top: 1rem;
}
.elosi_contact_section .contact_form_left form.contact_form {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin-top: 1rem;
  height: 100%;
}
.elosi_contact_section .contact_form_left form.contact_form label {
  font-weight: bold;
  font-size: 0.7rem;
  color: #555;
}
.elosi_contact_section .contact_form_left form.contact_form input,
.elosi_contact_section .contact_form_left form.contact_form textarea {
  padding: 0.75rem 1rem;
  border: 1px solid #ddd;
  font-size: 1rem;
  font-family: sans-serif;
  width: 100%;
  height: 2.5rem !important;
  background-color: #f9f9f9;
}
.elosi_contact_section .contact_form_left form.contact_form textarea {
  min-height: 4rem !important;
  resize: vertical;
}
.elosi_contact_section .contact_form_left form.contact_form textarea #message {
  height: 5rem;
}
.elosi_contact_section .contact_form_left form.contact_form .anti-bot {
  margin-top: 1rem;
}
.elosi_contact_section .contact_form_left form.contact_form .submit_button {
  margin-top: 1rem;
  background-color: #0833BC;
  color: white;
  padding: 0.8rem 1.5rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  width: fit-content;
  border-left: 4px solid transparent;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 10px;
}
.elosi_contact_section .contact_form_left form.contact_form .submit_button:hover {
  border-left: 4px solid #FFA100;
  padding-left: 2rem;
  transform: translateX(2px);
}
.elosi_contact_section .contact_form_left form.contact_form .submit_button:active {
  transform: scale(0.97);
}
.elosi_contact_section .contact_form_left form.contact_form .required_notice {
  font-size: 0.8rem;
  color: black;
}
.elosi_contact_section .contact_form_right {
  width: 50%;
  height: auto;
  position: relative;
  background-color: black;
}
.elosi_contact_section .contact_form_right img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.elosi_contact_section .contact_form_filler {
  width: 30%;
  background-color: #f5f5f5;
}

@media (max-width: 820px) {
  .page-business {
    display: flex;
    flex-direction: column;
    height: auto !important;
  }
  .page-business .qui_est_elosi {
    flex-direction: column;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
  }
  .page-business .qui_est_elosi .img_template_business {
    width: 100%;
    height: auto;
    z-index: 0;
    overflow: hidden;
    order: 2;
  }
  .page-business .qui_est_elosi .img_template_business img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }
  .page-business .qui_est_elosi .text-template-business {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    position: relative;
  }
  .page-business .qui_est_elosi .text-template-business .main-title-logo {
    width: 100%;
    position: relative;
    z-index: 100;
  }
  .page-business .qui_est_elosi .text-template-business .elosi-encart {
    width: 100%;
    margin: 0;
  }
  .page-business .Elosi_solution_business {
    display: flex;
    flex-direction: column;
  }
  .page-business .Elosi_solution_business .img_template_business {
    display: none;
  }
  .page-business .Elosi_solution_business .elosi-solution-business-relative {
    width: 100%;
    order: 2;
  }
  .page-business .Elosi_solution_business .elosi-solution-business-relative .nos_offres_solutions_categories {
    width: 100%;
  }
  .page-business .Elosi_solution_business .elosi-solution-business-relative .nos_offres_solutions_categories ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .page-business .Elosi_solution_business .elosi-solution-business-relative .nos_offres_solutions_categories ul li {
    padding: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .page-business .Elosi_solution_business .elosi-solution-business-relative .nos_offres_solutions_categories ul li::before {
    display: none;
  }
  .page-business .Elosi_solution_business .elosi_encart_solutions {
    width: 100%;
    order: 1;
    z-index: 2;
  }
  .page-business .Elosi_solution_business .elosi_encart_solutions .elosi-encart {
    position: relative;
    bottom: auto;
    margin: 0;
  }
  .page-business .elosi_GE_business {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    justify-content: center;
    align-items: center;
  }
  .page-business .elosi_GE_business .elosi_encart_GE,
  .page-business .elosi_GE_business .elosi-GE-business_text {
    width: 100%;
  }
  .page-business .elosi_GE_business .elosi-encart {
    margin: 0;
  }
  .page-business .elosi_GE_business .elosi_GE_grid {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .page-business .elosi_GE_business .elosi_GE_block {
    flex-direction: column;
    width: 100%;
    height: auto;
    max-height: 200px;
  }
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_text,
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_img {
    width: 100%;
    height: auto;
  }
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_text h3 {
    font-size: 1.1rem !important;
  }
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_text h3 img {
    width: 20px !important;
    height: 20px !important;
  }
  .page-business .elosi_GE_business .elosi_GE_block .elosi_GE_text p {
    font-size: 0.7rem !important;
  }
  .page-business .notre_expertise_business {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
  }
  .page-business .notre_expertise_business .img_template_business {
    width: 100%;
    position: relative;
    order: 2;
  }
  .page-business .notre_expertise_business img {
    width: 80% !important;
    padding: 0;
    height: auto;
    object-fit: contain;
    position: relative;
    order: 3;
    z-index: 0;
    right: 45px;
  }
  .page-business .text-template-business {
    width: 100%;
    order: 1;
    margin-bottom: 0;
  }
  .page-business .text-template-business .main-title-logo {
    width: 100%;
  }
  .page-business .text-template-business img {
    width: 100%;
    object-fit: cover;
    height: auto;
    display: block;
  }
  .page-business .text-template-business .elosi-encart {
    width: 100%;
    margin: 0;
    position: relative;
  }
  .elosi_contact_section {
    height: auto;
  }
  .elosi_contact_section .contact_form_wrapper {
    flex-direction: column;
    width: 100%;
  }
  .elosi_contact_section .contact_form_wrapper .contact_form_left,
  .elosi_contact_section .contact_form_wrapper .contact_form_right {
    width: 100% !important;
    padding: 2rem;
  }
  .elosi_contact_section .contact_form_wrapper .contact_form_right {
    min-height: 300px;
    position: relative;
  }
  .elosi_contact_section .contact_form_wrapper .contact_form_right img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (max-height: 800px), (max-width: 820px) {
  .contact_business_block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 0.75rem;
  }
  /* Colonne 1 = Nom */
  .contact_business_block label[for=nom] {
    grid-column: 1;
    grid-row: 1;
  }
  .contact_business_block #nom {
    grid-column: 1;
    grid-row: 2;
  }
  /* Colonne 2 = Prénom */
  .contact_business_block label[for=prenom] {
    grid-column: 2;
    grid-row: 1;
  }
  .contact_business_block #prenom {
    grid-column: 2;
    grid-row: 2;
  }
  /* confort */
  .contact_business_block label {
    margin: 0;
  }
  .contact_business_block input {
    width: 100%;
  }
}
.page_qui_est_elosi {
  width: 100%;
  display: flex;
  justify-content: center;
}
.page_qui_est_elosi .container {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.page_qui_est_elosi .header-section {
  display: flex;
  margin: 5rem;
}
.page_qui_est_elosi .header-section .header-titles {
  padding-left: 2rem;
  display: flex;
  flex-direction: column;
}
.page_qui_est_elosi .section-standard {
  display: flex;
  flex-wrap: wrap;
}
.page_qui_est_elosi .section-standard.eco-section a {
  text-decoration: underline;
}
.page_qui_est_elosi .section-standard img {
  object-fit: cover;
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.page_qui_est_elosi .section-standard .intro-image,
.page_qui_est_elosi .section-standard .eco-image,
.page_qui_est_elosi .section-standard .values-logo {
  flex: 1 1 100%;
}
.page_qui_est_elosi .group-section {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page_qui_est_elosi .group-section .group-title {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.page_qui_est_elosi .group-section .group-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  max-width: 60%;
  margin-bottom: 5rem;
}
.page_qui_est_elosi .group-section .group-cards .group-card {
  background-color: #0833BC;
  padding: 1.5rem;
  width: 250px;
  min-height: 3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
.page_qui_est_elosi .group-section .group-cards .group-card:hover {
  background-color: #DADADA;
  color: #0833BC;
  transition: all 0.3s ease;
}
.page_qui_est_elosi .group-section .group-cards .group-card a {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-direction: column;
}
.page_qui_est_elosi .group-section .group-cards .group-card h3 {
  color: white;
  font-size: 1rem;
  line-height: 1.4rem;
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  text-align: center;
}
.page_qui_est_elosi .group-section .group-cards .group-card .img_group_qui_est_elosi {
  width: 70%;
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: end;
}
.page_qui_est_elosi .group-section .group-cards .group-card .img_group_qui_est_elosi img {
  object-fit: cover;
  width: 100%;
}
.page_qui_est_elosi .eco-content {
  display: flex;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.mobile {
  display: none;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.desktop {
  display: flex;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.desktop .eco-index {
  display: flex;
  align-items: center;
  background-color: #0833BC;
  color: white;
  padding: 1rem 2rem;
  min-height: 150px;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  left: 32px;
  top: 48px;
  width: 275px;
  text-align: center;
  justify-content: center;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.desktop .eco-index .eco-index-label {
  font-size: 1rem;
  font-weight: bold;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.desktop .eco-index .eco-index-grade {
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  color: white;
}
.page_qui_est_elosi .qui_est_elosi_ecoindex.desktop .block-notre-site-ecoconcu {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 992px) {
  .page_qui_est_elosi .qui_est_elosi_ecoindex.desktop {
    display: none;
  }
  .page_qui_est_elosi .qui_est_elosi_ecoindex.mobile {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .page_qui_est_elosi .qui_est_elosi_ecoindex.mobile .eco-index {
    display: flex;
    align-items: center;
    background-color: #0833BC;
    color: white;
    padding: 1rem 2rem;
    min-height: 150px;
    flex-direction: column;
    gap: 1rem;
    width: 275px;
    text-align: center;
    justify-content: center;
  }
  .page_qui_est_elosi .qui_est_elosi_ecoindex.mobile .eco-index .eco-index-label {
    font-size: 1rem;
    font-weight: bold;
  }
  .page_qui_est_elosi .qui_est_elosi_ecoindex.mobile .eco-index .eco-index-grade {
    font-size: 3rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: white;
    color: #0833BC;
    border-radius: 50%;
  }
  .page_qui_est_elosi .qui_est_elosi_ecoindex.mobile .block-notre-site-ecoconcu {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

@media (max-width: 992px) {
  .page_qui_est_elosi {
    padding: 0 1rem;
    width: 100dvw;
  }
  .page_qui_est_elosi .container {
    width: 100dvh;
  }
  .page_qui_est_elosi .container .section-standard {
    width: 100%;
  }
  .page_qui_est_elosi .header-section {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 3rem 0;
  }
  .page_qui_est_elosi .header-section .header-titles {
    padding-left: 0;
    margin-top: 1rem;
  }
  .page_qui_est_elosi .header-section .header-titles .subtitle,
  .page_qui_est_elosi .header-section .header-titles .title {
    font-size: 1.8rem;
  }
  .page_qui_est_elosi .header-section .elosi-symbol--large {
    width: 80px;
    height: auto;
  }
  .page_qui_est_elosi .section-standard {
    align-items: center;
    padding: 1rem 0;
    width: 100%;
  }
  .page_qui_est_elosi .section-standard .content-info-page {
    width: 100%;
    padding: 1rem;
  }
  .page_qui_est_elosi .section-standard .content-info-page h1 {
    font-size: 2rem;
  }
  .page_qui_est_elosi .section-standard .content-info-page h2 {
    font-size: 1.3rem;
    margin-top: 1.5rem;
  }
  .page_qui_est_elosi .section-standard .content-info-page p,
  .page_qui_est_elosi .section-standard .content-info-page ul {
    font-size: 1rem;
  }
  .page_qui_est_elosi .section-standard img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .page_qui_est_elosi .group-section .group-cards {
    flex-direction: column;
    max-width: 90%;
    align-items: center;
    max-height: 100%;
  }
  .page_qui_est_elosi .group-section .group-cards .group-card {
    height: 210px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .page_qui_est_elosi .group-section .group-cards .group-card a {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .page_qui_est_elosi .group-section .group-cards .group-card .img_group_qui_est_elosi {
    max-height: 80px;
  }
  .page_qui_est_elosi .group-section .group-cards .group-card .img_group_qui_est_elosi img {
    height: auto;
    max-height: 100%;
    object-fit: contain;
  }
  .page_qui_est_elosi .group-section .group-cards .group-card h3 {
    font-size: 1rem;
  }
  .page_qui_est_elosi a {
    display: inline-block;
  }
}
.page-elosi-solutions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
.page-elosi-solutions .elosi-solution-page-logo-header {
  width: 50%;
  padding: 10rem;
}
.page-elosi-solutions .elosi-solution-page-logo-header img {
  width: 100%;
}
.page-elosi-solutions .block-picture {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.page-elosi-solutions .block-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.page-elosi-solutions .elosi-solution-block-page {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
}
.page-elosi-solutions .services-section {
  max-width: 855px;
  margin: 0 auto;
}
.page-elosi-solutions .services-section h1 {
  text-align: center;
  margin-bottom: 3rem;
}
.page-elosi-solutions .services-section .services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
.page-elosi-solutions .services-section .services-grid .service-block {
  background-color: #ececec;
  color: #1c1c1c;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.page-elosi-solutions .services-section .services-grid .service-block .service-title {
  background-color: #0833bc;
  padding: 1rem 1.5rem;
}
.page-elosi-solutions .services-section .services-grid .service-block .service-title h3 {
  color: #fff;
  margin: 0;
  font-size: 1.2rem;
}
.page-elosi-solutions .services-section .services-grid .service-block .service-content {
  padding: 1.5rem;
}
.page-elosi-solutions .services-section .services-grid .service-block .service-content p {
  font-size: 0.95rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.page-elosi-solutions .services-section .services-grid .service-block .service-content ul {
  padding-left: 1rem;
}
.page-elosi-solutions .services-section .services-grid .service-block .service-content ul li {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.page-elosi-solutions .pillars-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 1200px;
  align-items: center;
  gap: 2rem;
}
.page-elosi-solutions .pillars-section .pillar-line {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 30px;
}
.page-elosi-solutions .pillars-section .pillar-line .pillar-block {
  background-color: #0833BC;
  padding: 3rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-elosi-solutions .pillars-section .pillar-line .pillar-block h2 {
  font-weight: 900;
  font-size: 2rem;
  line-height: 1.2;
}
.page-elosi-solutions .expertise-section .expertise-section-title {
  justify-content: center;
  display: flex;
  margin-bottom: 1rem;
}
.page-elosi-solutions .expertise-section .expertise_block {
  display: flex;
  max-width: 855px;
  margin: 0 auto;
  width: 100%;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires {
  display: flex;
  flex-direction: column;
  width: 40%;
  background: linear-gradient(to bottom, rgba(8, 51, 188, 0.4), rgba(8, 51, 188, 0.05));
  padding: 2rem;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: relative;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .nutanix,
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .intershop {
  width: 80%;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .odoo {
  width: 60%;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .point_nos_expertises {
  position: absolute;
  display: flex;
  left: 16rem;
  top: 15rem;
  gap: 0.5rem;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .point_nos_expertises .single_point {
  width: 15px;
  height: 15px;
  background-color: #FFA100;
  border-radius: 15px;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise-text {
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  background-color: #DADADA;
  color: black;
  padding: 2rem;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise-text .button_nos_expertises {
  display: flex;
  justify-content: end;
}
.page-elosi-solutions .expertise-section .expertise_block .expertise-text .button_nos_expertises .btn-primary {
  border: none;
  padding: 1rem;
  padding-left: 1rem;
  padding-left: 2rem;
  width: 45%;
}
.page-elosi-solutions .contact-form-header img {
  width: 5%;
}

@media (max-width: 768px) {
  .page-elosi-solutions {
    padding: 2rem 1rem;
    width: 100dvw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .page-elosi-solutions .elosi-solution-page-logo-header {
    padding: 2rem 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .page-elosi-solutions .elosi-solution-page-logo-header img {
    width: 50%;
  }
  .page-elosi-solutions .elosi-solution-block-page {
    gap: 2rem;
    width: 100%;
  }
  .page-elosi-solutions .section-intro {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .page-elosi-solutions .section-intro .content-info-page h1 {
    font-size: 1.5rem;
  }
  .page-elosi-solutions .section-intro .content-info-page p {
    font-size: 0.9rem;
    line-height: 1.4;
  }
  .page-elosi-solutions .section-intro .block-picture {
    height: auto;
  }
  .page-elosi-solutions .section-intro .block-picture img {
    height: auto;
    width: 100%;
    object-fit: cover;
  }
  .page-elosi-solutions .services-section h1 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .page-elosi-solutions .services-section .services-grid {
    grid-template-columns: 1fr;
  }
  .page-elosi-solutions .services-section .services-grid .service-block .service-title {
    padding: 1rem;
  }
  .page-elosi-solutions .services-section .services-grid .service-block .service-title h3 {
    font-size: 1.1rem;
  }
  .page-elosi-solutions .services-section .services-grid .service-block .service-content {
    padding: 1rem;
    width: 100%;
  }
  .page-elosi-solutions .services-section .services-grid .service-block .service-content p {
    font-size: 0.9rem;
  }
  .page-elosi-solutions .services-section .services-grid .service-block .service-content li {
    font-size: 0.85rem;
  }
  .page-elosi-solutions .pillars-section .pillar-line {
    flex-direction: column;
    gap: 1.5rem;
  }
  .page-elosi-solutions .pillars-section .pillar-line .pillar-block {
    padding: 2rem;
  }
  .page-elosi-solutions .expertise-section .expertise_block {
    flex-direction: column;
  }
  .page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires,
  .page-elosi-solutions .expertise-section .expertise_block .expertise-text {
    width: 100%;
  }
  .page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires .button_nos_expertises .btn-primary,
  .page-elosi-solutions .expertise-section .expertise_block .expertise-text .button_nos_expertises .btn-primary {
    width: 60%;
  }
  .page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires {
    justify-content: space-around;
  }
  .page-elosi-solutions .expertise-section .expertise_block .expertise_logo_partenaires img {
    width: 30% !important;
  }
  .page-elosi-solutions .expertise-section .expertise_block .expertise-text {
    padding: 1.5rem;
    gap: 1rem;
  }
}
.page_nos_expertises {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 5rem;
}
.page_nos_expertises .expertises-grid {
  font-size: 1rem;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-areas: "text1 text1 text1 dev greenIT data" "text1 text1 text1 text2 text2 text2" "conseil UX ecommerce cloud securite b-vide" "j-vide j-vide j-vide n-vide n-vide n-vide ";
  border: #DADADA solid 1.2rem;
}
.page_nos_expertises .expertises-grid .expertises-grid svg {
  width: 50px;
  height: 50px;
}
.page_nos_expertises .expertises-grid .expertise-block {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  text-align: center;
  font-weight: 600;
  flex-direction: column;
  border: #DADADA solid 0.6rem;
}
.page_nos_expertises .expertises-grid .expertise-block.text-block {
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  font-size: 0.95rem;
  display: flex;
}
.page_nos_expertises .expertises-grid .expertise-block.text-block ul {
  margin: 0.5rem 0 0;
  padding-left: 1rem;
  display: contents;
  text-align: initial !important;
}
.page_nos_expertises .expertises-grid .expertise-block.text-block ul li {
  margin-bottom: 0.25rem;
  display: flex;
}
.page_nos_expertises .expertises-grid .expertise-block.icon-block {
  font-size: 0.9rem;
  color: white;
  background-color: #1c1c1c;
}
.page_nos_expertises .expertises-grid .expertise-block.blue-bg {
  background-color: #0833bc;
  display: block;
}
.page_nos_expertises .expertises-grid .expertise-block.orange-bg {
  background-color: #ffa100;
  color: white;
}
.page_nos_expertises .expertises-grid .expertise-block.white-text {
  color: white;
  text-align: initial;
}
.page_nos_expertises .expertises-grid .text-block-text1 {
  grid-area: text1;
  flex-direction: column;
  justify-content: left;
}
.page_nos_expertises .expertises-grid .text-block-text2 {
  grid-area: text2;
}
.page_nos_expertises .expertises-grid .icon-blockDev {
  grid-area: dev;
}
.page_nos_expertises .expertises-grid .icon-blockGreenIT {
  grid-area: greenIT;
}
.page_nos_expertises .expertises-grid .icon-blockData {
  grid-area: data;
}
.page_nos_expertises .expertises-grid .icon-blockConseil {
  grid-area: conseil;
}
.page_nos_expertises .expertises-grid .icon-blockUX {
  grid-area: UX;
}
.page_nos_expertises .expertises-grid .icon-block-E-commerce {
  grid-area: ecommerce;
}
.page_nos_expertises .expertises-grid .icon-blockCloud {
  grid-area: cloud;
}
.page_nos_expertises .expertises-grid .icon-blockSecurité {
  grid-area: securite;
}
.page_nos_expertises .expertises-grid .block-color-jaune {
  background-color: #FFA100;
  grid-area: jaune;
}
.page_nos_expertises .expertises-grid .block-bleu-vide {
  grid-area: b-vide;
  background-color: #0833BC;
}
.page_nos_expertises .expertises-grid .block-jaune-vide {
  grid-area: j-vide;
  background-color: #FFA100;
}
.page_nos_expertises .expertises-grid .block-noir-vide {
  grid-area: n-vide;
  background-color: black;
}
.page_nos_expertises .expertise_deux_offres {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
.page_nos_expertises .expertise_deux_offres h1 {
  font-size: 2.5rem;
}
.page_nos_expertises .expertise_deux_offres .btn-primary {
  border: none;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres {
  display: flex;
  justify-content: center;
  gap: 1rem;
  width: 100%;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 50%;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link .notre_expertise_img_logo {
  width: 70%;
  height: auto;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link .notre_expertise_img_logo img {
  width: 100%;
  object-fit: cover;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link a {
  font-size: 1.1rem;
  background-color: #0833BC;
  height: 50px;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres {
  background-color: #0833BC;
  padding: 2rem;
  height: 400px;
  gap: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text p {
  width: 45%;
}
.page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text ul {
  width: 55%;
}

.expertise_predilection_logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #DADADA;
}
.expertise_predilection_logo img {
  width: 90%;
}
.expertise_predilection_logo h1 {
  font-size: 2.5rem;
  padding: 1.5rem;
  padding-bottom: 0;
}

.section_references {
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section_references .references-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}
.section_references .reference-card {
  background-color: #0833BC;
  width: 244px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
}
.section_references .reference-card .reference-img {
  width: 210px;
  height: 175px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.section_references .reference-card .reference-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  position: relative;
}
.section_references .reference-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-bottom: 1rem;
  display: block;
}
.section_references .reference-card .reference-date {
  font-size: 0.875rem;
  color: #ccc;
  margin-top: 0.5rem;
  display: block;
}
.section_references .reference-card .reference-title {
  color: #FFA100;
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}
.section_references .reference-card .reference-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
  text-overflow: ellipsis;
}
.section_references .reference-card .eco-mode h2 {
  color: white;
  -webkit-text-stroke: 1px white !important;
  -webkit-text-fill-color: transparent !important;
}
.section_references .reference-card .reference-arrow {
  margin-top: auto;
  align-self: flex-end;
}
.section_references .reference-card .reference-arrow img {
  width: 46px;
  height: 46px;
}

@media (max-width: 1024px) {
  .page_nos_expertises {
    gap: 3rem;
  }
  .page_nos_expertises .expertises-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "text1 text1" "dev greenIT" "data text2" "conseil UX" "ecommerce cloud" "securite b-vide" "j-vide n-vide";
  }
  .page_nos_expertises .expertises-grid .expertise-block {
    font-size: 0.85rem;
    padding: 0.8rem;
  }
  .page_nos_expertises .expertises-grid .expertise-block svg {
    width: 40px;
    height: 40px;
  }
  .page_nos_expertises .expertises-grid .text-block-text1,
  .page_nos_expertises .expertises-grid .text-block-text2 {
    text-align: left;
    align-items: flex-start;
  }
  .page_nos_expertises .expertise_deux_offres h1 {
    font-size: 2rem;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres_elosi_link a {
    font-size: 0.9rem;
    width: 100%;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres {
    background-color: #0833BC;
    padding: 1rem;
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    gap: 2rem;
    height: auto;
    align-items: center;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_img_logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_img_logo img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text {
    display: flex;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    justify-content: center !important;
    align-items: flex-start !important;
    height: 70% !important;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text p,
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text ul {
    width: 100%;
    margin: 0;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .notre_expertise_offres .notre_expertise_offres_text li {
    margin-bottom: 0.3rem;
  }
  .page_nos_expertises .expertise_deux_offres .notre_expertise_section_offres .btn-primary {
    max-width: 100%;
    font-size: 1rem;
    padding: 0.75rem 1.2rem;
    white-space: normal;
    text-align: center;
    line-height: 1.4;
  }
  .page_nos_expertises .expertise_predilection_logo img {
    width: 100%;
  }
  .page_nos_expertises .expertise_predilection_logo h1 {
    font-size: 2rem;
    padding: 1.5rem;
  }
  .page_nos_expertises .section_references {
    padding: 2rem 1rem;
  }
  .page_nos_expertises .section_references .reference-card {
    width: 100%;
  }
}
.blog {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.blog .page-blog {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 1200px;
}
@media (min-width: 1024px) and (max-width: 1544px) {
  .blog .page-blog .article-card {
    width: calc(100vw - 320px);
  }
}
.blog .page-blog .blog-menu {
  display: flex;
  align-items: center;
  gap: 7rem;
  margin-bottom: 5rem;
}
.blog .page-blog .blog-menu .blog-content {
  width: 100%;
}
.blog .page-blog .blog-menu .blog-list {
  width: 100%;
}
.blog .page-blog .blog-menu .elosi-list {
  width: 100%;
}
.blog .page-blog .blog-menu .tab-item {
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  color: #0833BC;
  background-color: #DADADA;
  padding: 0.75rem 1.5rem;
  border-radius: 2px;
  transition: background 0.3s ease, color 0.3s ease;
}
.blog .page-blog .blog-menu .tab-item:hover {
  background-color: #0833BC;
  color: #DADADA;
}
.blog .page-blog .blog-menu .tab-item.active {
  background-color: transparent;
  color: #DADADA;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
}
.blog .page-blog .blog-menu .tab-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 5px;
  background-color: #DADADA;
}
.blog .page-blog .blog-menu .tab-item.active::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #FFA100;
  border-radius: 50%;
  margin-left: 0.5rem;
  position: relative;
  top: -1px;
}
@media (min-width: 821px) and (max-width: 1023px) {
  .blog .blog-menu {
    gap: 2rem !important;
    flex-wrap: wrap;
  }
}
.blog .article-card {
  display: flex;
  width: 1200px;
  padding: 1.5rem;
  gap: 1.5rem;
  border-radius: 4px;
  overflow: hidden;
  align-items: stretch;
  margin-bottom: 3rem;
  height: 260px;
}
.blog .article-card.bg-blue {
  background-color: #0833BC;
  color: white;
}
.blog .article-card.bg-blue h1,
.blog .article-card.bg-blue h2,
.blog .article-card.bg-blue h3,
.blog .article-card.bg-blue h4,
.blog .article-card.bg-blue h5,
.blog .article-card.bg-blue h6,
.blog .article-card.bg-blue p,
.blog .article-card.bg-blue a:not(.btn-primary) {
  color: white;
}
.blog .article-card.bg-blue .btn-primary {
  border: 1px solid #FFA100;
}
.blog .article-card.bg-blue .link_blog {
  width: 100%;
  display: flex;
  justify-content: end;
}
.blog .article-card.bg-blue .link_blog .btn-blog {
  position: relative;
  background-color: transparent;
  color: white;
  border: 2px solid #FFA100;
  padding: 0.8rem 1.5rem;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.blog .article-card.bg-blue .link_blog .btn-blog::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  width: 10px;
  height: 100%;
  background-color: #FFA100;
  z-index: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.blog .article-card.bg-blue .link_blog .btn-blog span {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.blog .article-card.bg-blue .link_blog .btn-blog:hover::before {
  transform: scaleX(1);
}
.blog .article-card.bg-white {
  background-color: white;
  color: #1C1C1C;
}
.blog .article-card.bg-white h1,
.blog .article-card.bg-white h2,
.blog .article-card.bg-white h3,
.blog .article-card.bg-white h4,
.blog .article-card.bg-white h5,
.blog .article-card.bg-white h6,
.blog .article-card.bg-white p,
.blog .article-card.bg-white a:not(.btn-primary) {
  color: #0833BC;
}
.blog .article-card.bg-white .btn-primary {
  background-color: #0833BC;
  color: white;
  border: none;
}
.blog .article-card .article-thumbnail {
  width: 309px;
  height: 210px;
  display: flex;
  align-items: center;
}
.blog .article-card .article-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
.blog .article-card .article-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.blog .article-card .article-content h2 {
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}
.blog .article-card .article-content p {
  font-size: 0.95rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog .article-card .article-content .description p {
  font-size: 0.95rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0.2rem;
}
@media (max-width: 760px) {
  .blog .article-card .article-content .description p {
    font-size: 0.95rem;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0.2rem;
  }
}
.blog .article-card .card-blog-btn {
  display: flex;
  justify-content: end;
  height: 50px;
}
.blog .article-card .card-blog-btn .btn-primary {
  width: 30%;
}
.blog .event-card {
  display: flex;
  width: 100%;
  padding: 1.5rem;
  gap: 1.5rem;
  border-radius: 4px;
  overflow: hidden;
  align-items: stretch;
  margin-bottom: 3rem;
  background-color: #DADADA;
  min-height: 250px;
  border: solid 6px #0833BC;
}
.blog .event-card .event-thumbnail {
  width: 100%;
  min-width: 150px;
  display: flex;
  align-items: center;
}
.blog .event-card .event-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
.blog .event-card .event-content {
  width: 80%;
  gap: 1rem;
  display: flex;
  flex-direction: column;
}
.blog .event-card .event-content .event_date {
  background-color: #0833BC;
  width: 75%;
  justify-content: center;
  display: flex;
}
.blog .event-card .event-content .event_date p {
  color: #DADADA;
  font-weight: 700;
}
.blog .event-card .event-content h2 {
  color: #0833BC;
  font-weight: bold;
}
.blog .event-card .event-content p {
  color: black;
}
.blog .event-card .event-content .btn-primary {
  background-color: #FFA100;
}

.div-btn-load-blog {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.div-btn-load-blog .btn-load-blog {
  background-color: transparent;
  padding: 1rem;
  color: #FFA100;
  font-size: 1rem;
  border: none;
}
.div-btn-load-blog .btn-load-blog:hover {
  background-color: white;
  color: #FFA100;
  transition: all 0.3s ease;
}

.btn-retour-single {
  width: 975px;
}
.btn-retour-single .btn-retour-single-join {
  display: flex;
  align-items: center;
  cursor: pointer;
  overflow: hidden;
  height: 40px;
  width: 160px;
}
.btn-retour-single .btn-retour-single-join .btn-icon-single {
  font-size: 1.5rem;
  width: 20%;
  color: white;
  background-color: #0833BC;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  height: 40px;
}
.btn-retour-single .btn-retour-single-join .btn-text-single {
  color: #0833BC;
  background-color: white;
  width: 55%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1rem;
  transition: all 0.3s ease;
  height: 40px;
}
.btn-retour-single .btn-retour-single-join:hover .btn-icon-single {
  background-color: #FFA100;
  color: #0833BC;
  transform: translateX(-2px) scale(1.05);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.btn-retour-single .btn-retour-single-join:hover .btn-text-single {
  background-color: #0833BC;
  color: #DADADA;
  transform: translateX(2px) scale(1.02);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.article-thumbnail {
  width: 309px;
  height: 210px;
}
.article-thumbnail img {
  width: 100%;
}

.block-info-event .info-event-type {
  display: flex;
  gap: 0.6rem;
}
.block-info-event .info-event-type p {
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase;
}
.block-info-event .info-event-date p {
  font-size: 1.2rem;
}
.block-info-event .info-event-lieu p {
  font-size: 1.2rem;
}

@media (max-width: 1197px) {
  .blog-menu {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem !important;
  }
}
@media (max-width: 820px) {
  .page-blog {
    width: 100dvw !important;
  }
  .page-blog .blog-content {
    width: 100%;
  }
  .page-blog .blog-content .article-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    gap: 2rem;
  }
  .page-blog .blog-content .article-card .article-thumbnail {
    width: 100% !important;
  }
  .page-blog .blog-content .article-card .article-content {
    gap: 1rem;
  }
  .page-blog .blog-content .article-card .article-content .card-blog-btn {
    width: 100%;
  }
  .page-blog .blog-content .article-card .article-content .card-blog-btn .btn-primary {
    width: 200px;
    margin-right: 20px;
  }
  .page-blog .event-card {
    flex-direction: column;
  }
}
@media (max-width: 1023px) {
  .blog-content, .elosi-list {
    max-width: 100%;
  }
  .blog-content .article-card, .elosi-list .article-card {
    max-width: 100%;
  }
  .blog-content .article-card .card-blog-btn, .elosi-list .article-card .card-blog-btn {
    width: 100%;
  }
  .blog-content .article-card .card-blog-btn .btn-primary, .elosi-list .article-card .card-blog-btn .btn-primary {
    width: 100% !important;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (min-width: 821px) and (max-width: 1023px) {
  .page-blog {
    max-width: 100%;
  }
  .page-blog .article-card {
    flex-direction: column;
    width: 100%;
    height: 100%;
  }
  .page-blog .article-card .article-thumbnail {
    width: 100%;
    gap: 1rem;
  }
  .page-blog .article-card .article-content .card-blog-btn {
    width: 100%;
  }
  .page-blog .article-card .article-content .card-blog-btn .btn-primary {
    width: 100%;
    margin-right: 0;
  }
  .page-blog .event-card {
    flex-direction: column;
  }
}
@media (min-width: 1024px) and (max-width: 1243px) {
  .article-card .card-blog-btn .btn-primary {
    width: 70% !important;
  }
}
.carriere_home {
  width: 100%;
  height: 100dvh;
  display: flex;
}
.carriere_home .carriere_home_encart {
  width: 50%;
  display: flex;
  justify-content: end;
  align-items: center;
}
.carriere_home .carriere_home_encart .elosi-encart {
  background-color: white;
}
.carriere_home .carriere_home_offre {
  width: 50%;
}
.carriere_home .carriere_home_offre .img_template_carriere_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.carriere_home .carriere_home_offre .offres_overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
  color: white;
  min-width: 50%;
  background: rgba(0, 0, 0, 0.5);
  padding: 2rem;
}
.carriere_home .carriere_home_offre .offres_overlay .btn-primary.btn-jobs {
  border: none;
  justify-content: space-between;
}
.carriere_home .carriere_home_offre .offres_overlay .btn-primary.btn-jobs p {
  font-weight: bold;
  font-family: "Space Grotesk", sans-serif;
}
.carriere_home .carriere_home_offre .offres_overlay .btn-primary.btn-jobs img {
  width: fit-content;
}
.carriere_home .carriere_home_offre .offres_overlay h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.carriere_home .carriere_home_offre .offres_overlay ul,
.carriere_home .carriere_home_offre .offres_overlay ol {
  padding: 0;
  margin: 0;
}
.carriere_home .carriere_home_offre .offres_overlay li {
  list-style: none;
  color: white;
  padding: 1rem;
  margin-bottom: 1rem;
  text-align: left;
  padding-right: 3rem;
}
.carriere_home .carriere_home_offre .offres_overlay a {
  color: white;
}
.carriere_home .carriere_home_offre .offres_overlay li::before {
  display: none !important;
  content: none !important;
}
.carriere_home .img_template_carriere {
  width: 100%;
  height: 100dvh;
  position: relative;
  overflow: hidden;
  object-fit: cover;
  display: flex;
  justify-content: end;
}
.carriere_home img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 820px) {
  .carriere_home {
    flex-direction: column;
    height: auto;
    overflow: visible;
  }
  .carriere_home .carriere_home_encart,
  .carriere_home .carriere_home_offre {
    width: 100%;
    height: auto;
  }
  .carriere_home .carriere_home_encart {
    order: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    z-index: 1;
    position: relative;
    background: white;
    margin-top: 2rem;
  }
  .carriere_home .carriere_home_encart .elosi-encart {
    max-width: 90%;
    background: white;
    text-align: center;
  }
  .carriere_home .carriere_home_offre {
    order: 2;
    position: relative;
    height: auto;
    overflow: visible;
  }
  .carriere_home .carriere_home_offre .img_template_carriere_wrapper {
    position: relative;
    width: 100%;
    height: auto;
  }
  .carriere_home .carriere_home_offre .img_template_carriere {
    position: static;
    height: auto;
  }
  .carriere_home .carriere_home_offre .offres_overlay {
    position: static;
    transform: none;
    z-index: auto;
    margin-top: 1.5rem;
    background: rgba(0, 0, 0, 0.7);
    padding: 1.5rem;
    color: white;
    width: 100%;
    text-align: center;
  }
  .carriere_home .carriere_home_offre img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}
.page_offres_d_emploi .header-section {
  display: flex;
  gap: 10px;
  justify-content: center;
}
.page_offres_d_emploi .offres_emplois_info {
  background-color: #DADADA;
  color: black;
  width: 100%;
  position: relative;
  overflow: hidden;
  object-fit: cover;
  display: flex;
  flex-direction: column;
}
.page_offres_d_emploi .offres_emplois_info .block-picture {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.page_offres_d_emploi .offres_emplois_info .block-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.page_offres_d_emploi .offres_emplois_info .offres_emplois_text {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page_offres_d_emploi .offres_emplois_info a {
  display: flex;
  width: 36%;
  border: none;
}
.page_offres_d_emploi .eco-header-section {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2rem 0;
}
.page_offres_d_emploi .eco-header-section .main-title {
  display: flex;
  align-items: center;
}
.page_offres_d_emploi .eco-header-section .main-title-logo {
  width: 90px;
}
.page_offres_d_emploi .eco-header-section .main-title-logo svg {
  width: 100%;
  height: auto;
}
.page_offres_d_emploi .eco-header-section .main-title-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page_offres_d_emploi .eco-header-section .main-title-text .subtitle {
  font-size: 1.5rem;
  font-family: "Raleway", sans-serif;
  color: white;
}
.page_offres_d_emploi .eco-header-section .main-title-text .title {
  font-size: 4rem;
  font-family: "Space Grotesk", sans-serif;
  font-weight: bold;
  color: white;
}
body.eco-mode .page_offres_d_emploi .eco-header-section .main-title-text .title {
  color: transparent;
  -webkit-text-stroke: 1px white;
}
.page_offres_d_emploi .offres_overlay {
  text-align: center;
  color: white;
  padding: 2rem;
}
.page_offres_d_emploi .offres_overlay .btn-primary.btn-jobs {
  border: none;
  justify-content: space-between;
}
.page_offres_d_emploi .offres_overlay .btn-primary.btn-jobs p {
  font-weight: bold;
  font-family: "Space Grotesk", sans-serif;
}
.page_offres_d_emploi .offres_overlay .btn-primary.btn-jobs img {
  width: fit-content;
}
.page_offres_d_emploi .offres_overlay h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.page_offres_d_emploi .offres_overlay ul,
.page_offres_d_emploi .offres_overlay ol {
  padding: auto;
  margin: auto;
}
.page_offres_d_emploi .offres_overlay li {
  list-style: none;
  color: white;
  padding: 1rem;
  margin-bottom: 1rem;
  text-align: left;
}
.page_offres_d_emploi .offres_overlay a {
  color: white;
}
.page_offres_d_emploi .offres_overlay li::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 820px) {
  .page_offres_d_emploi {
    overflow: hidden;
    width: 100%;
  }
  .page_offres_d_emploi .header-section {
    display: flex;
    gap: 20px;
    justify-content: center;
  }
  .page_offres_d_emploi .offres_emplois_info {
    background-color: #DADADA;
    color: black;
    width: 100%;
    position: relative;
    overflow: hidden;
    object-fit: cover;
    display: flex;
    flex-direction: column;
  }
  .page_offres_d_emploi .offres_emplois_info .block-picture {
    position: relative;
    height: 400px;
    overflow: hidden;
  }
  .page_offres_d_emploi .offres_emplois_info .block-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  .page_offres_d_emploi .offres_emplois_info .offres_emplois_text {
    padding: 1.7rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .page_offres_d_emploi .offres_emplois_info .offres_emplois_text .offres_emplois_button a {
    width: 260px;
  }
  .page_offres_d_emploi .offres_emplois_info a {
    display: flex;
    width: 38%;
    border: none;
  }
  .page_offres_d_emploi .eco-header-section {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 2rem 0;
  }
  .page_offres_d_emploi .eco-header-section .main-title {
    display: flex;
    align-items: center;
  }
  .page_offres_d_emploi .eco-header-section .main-title-logo {
    width: 60px;
  }
  .page_offres_d_emploi .eco-header-section .main-title-logo svg {
    width: 100%;
    height: auto;
  }
  .page_offres_d_emploi .eco-header-section .main-title-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .page_offres_d_emploi .eco-header-section .main-title-text .subtitle {
    font-size: 1rem;
    font-family: "Raleway", sans-serif;
    color: white;
  }
  .page_offres_d_emploi .eco-header-section .main-title-text .title {
    font-size: 3.5rem;
    font-family: "Space Grotesk", sans-serif;
    font-weight: bold;
    color: white;
  }
  body.eco-mode .page_offres_d_emploi .eco-header-section .main-title-text .title {
    color: transparent;
    -webkit-text-stroke: 1px white;
  }
}
.page-service {
  width: 924px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.page-service .service-block {
  width: 75%;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  z-index: 1;
  max-width: 700px;
}
.page-service .service-block.text-left {
  align-self: flex-start;
}
.page-service .service-block.text-right {
  align-self: flex-end;
}
.page-service .service-header {
  background-color: #0833BC;
  padding: 1rem;
  border-radius: 20px 20px 0 0;
}
.page-service .eco-mode .service-header h2 {
  color: white;
  -webkit-text-stroke: 1px white !important;
  -webkit-text-fill-color: transparent !important;
}
.page-service .service-text {
  color: black;
  background-color: #DADADA;
  padding: 2rem;
  border-radius: 0 0 20px 20px;
}
.page-service .connector {
  width: 100%;
  height: 6rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.page-service .connector .dot {
  width: 1.3rem;
  height: 1.3rem;
  background-color: #FFA100;
  border-radius: 50%;
  position: absolute;
}
.page-service .connector.from-left-to-right .dot:nth-child(1) {
  top: -4%;
  left: 52%;
  transform: translateX(-50%);
}
.page-service .connector.from-left-to-right .dot:nth-child(2) {
  top: 24%;
  left: 53.5%;
  transform: translateX(-50%);
}
.page-service .connector.from-left-to-right .dot:nth-child(3) {
  top: 52%;
  left: 55%;
  transform: translateX(-50%);
}
.page-service .connector.from-left-to-right .dot:nth-child(4) {
  top: 102%;
  left: 56.5%;
  transform: translate(-50%, -100%);
}
.page-service .connector.from-right-to-left .dot:nth-child(1) {
  top: -4%;
  left: 35%;
  transform: translateX(-50%);
}
.page-service .connector.from-right-to-left .dot:nth-child(2) {
  top: 25%;
  left: 33.5%;
  transform: translateX(-50%);
}
.page-service .connector.from-right-to-left .dot:nth-child(3) {
  top: 55%;
  left: 32%;
  transform: translateX(-50%);
}
.page-service .connector.from-right-to-left .dot:nth-child(4) {
  top: 106%;
  left: 30.5%;
  transform: translate(-50%, -100%);
}

.service-block-contact {
  width: 100%;
  display: flex;
  align-items: end;
  justify-content: end;
}
.service-block-contact.align-start {
  justify-content: flex-start;
}

@media (max-width: 820px) {
  .service-content {
    width: 100vw;
    padding: 1rem;
  }
  .page-service {
    width: 100%;
  }
  .page-service .fond_bleu {
    font-size: 1rem;
  }
  .page-service .service-block {
    width: 85%;
  }
  .service-block-contact {
    width: 100%;
  }
  .service-block-contact .contact-form-container {
    width: 95%;
  }
  .service-block-contact .contact-form-container .contact-form-header h2 {
    font-size: 1rem;
  }
}
@media (max-height: 820px) {
  .service-content {
    width: 100%;
    padding: 1rem;
  }
  .page-service {
    width: 100%;
  }
  .page-service .connector {
    height: 4rem;
  }
  .page-service .connector.from-left-to-right .dot:nth-child(1) {
    top: -4%;
    left: 52%;
  }
  .page-service .connector.from-left-to-right .dot:nth-child(2) {
    top: 35%;
    left: 53.5%;
  }
  .page-service .connector.from-left-to-right .dot:nth-child(3) {
    top: 75%;
    left: 55%;
  }
  .page-service .connector.from-left-to-right .dot:nth-child(4) {
    display: none;
  }
  .page-service .connector.from-right-to-left .dot:nth-child(1) {
    top: -4%;
    left: 35%;
  }
  .page-service .connector.from-right-to-left .dot:nth-child(2) {
    top: 35%;
    left: 33.5%;
  }
  .page-service .connector.from-right-to-left .dot:nth-child(3) {
    top: 75%;
    left: 32%;
  }
  .page-service .connector.from-right-to-left .dot:nth-child(4) {
    display: none;
  }
}
.page-travailler-chez-elosi .chiffres-title {
  padding-top: 2rem;
}
.page-travailler-chez-elosi .travailler-chez-elosi-block-text {
  display: flex;
  gap: 1rem;
  flex-direction: column;
  padding: 3rem;
  background-color: white;
}
.page-travailler-chez-elosi .travailler-chez-elosi-block-text p {
  color: black;
}
.page-travailler-chez-elosi .block-picture {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.page-travailler-chez-elosi .block-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.page-travailler-chez-elosi .travailler-chez-elosi-chiffres {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 3rem;
  background-color: white;
}
.page-travailler-chez-elosi .travailler-chez-elosi-chiffres div {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-travailler-chez-elosi .travailler-chez-elosi-chiffres img {
  width: 50px;
  height: 50px;
  background-color: #FFA100;
  padding: 10px;
}
.page-travailler-chez-elosi .travailler-chez-elosi-chiffres p {
  color: #0833bc;
}
.page-travailler-chez-elosi .travailler-chez-elosi-dates {
  background-color: white;
  color: black;
  gap: 1rem;
  display: flex;
  flex-direction: column;
  padding: 3rem;
}
.page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li {
  display: flex;
  align-items: baseline;
  margin-bottom: 0.5rem;
}
.page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li .date_text_blue {
  color: #0833BC;
  font-weight: bold;
  width: 3.5rem;
  flex-shrink: 0;
}
.page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li p {
  margin: 0;
}

@media (max-width: 820px) {
  .page-travailler-chez-elosi {
    width: 100%;
    overflow: hidden;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-block-text {
    background-color: #DADADA;
    display: flex;
    gap: 1rem;
    flex-direction: column;
    padding: 2rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-block-text p {
    color: black;
  }
  .page-travailler-chez-elosi .block-picture {
    position: relative;
    height: 400px;
    overflow: hidden;
  }
  .page-travailler-chez-elosi .block-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-chiffres {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-chiffres div {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-chiffres img {
    width: 50px;
    height: 50px;
    background-color: #FFA100;
    padding: 10px;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates {
    background-color: #DADADA;
    color: black;
    gap: 1rem;
    display: flex;
    flex-direction: column;
    padding: 1.6rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list {
    list-style: none;
    padding: 0;
    margin-left: 1rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li {
    display: flex;
    align-items: baseline;
    margin-bottom: 0.5rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li .date_text_blue {
    color: #0833BC;
    font-weight: bold;
    width: 3.5rem;
    flex-shrink: 0;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li li {
    display: flex;
    gap: 1rem;
  }
  .page-travailler-chez-elosi .travailler-chez-elosi-dates .timeline-list li li .date_text_blue {
    color: #0833BC;
  }
}
.page-une-communaute {
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.page-une-communaute .une-communaute-block .une-communaute-block-text {
  background-color: white;
  padding: 3rem;
  color: black;
  gap: 1rem;
  display: flex;
  flex-direction: column;
}
.page-une-communaute .block-picture {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.page-une-communaute .block-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.page-une-communaute .temoignage-title {
  padding-top: 2rem;
}
.page-une-communaute .une-communaute-temoignage {
  justify-content: space-between;
  gap: 24px;
  margin: 24px 0;
  display: flex;
  align-items: center;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-profil {
  display: flex;
  gap: 1rem;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-profil img {
  width: 100px;
  height: 100px;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-profil .temoignage-id {
  font-size: 12px;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-profil .temoignage-id .yellow {
  color: #FFA100;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-profil .temoignage-id .white {
  color: #DADADA;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-citation {
  background-color: white;
  color: black;
  padding: 1rem;
  font-weight: bold;
}
.page-une-communaute .une-communaute-temoignage .temoignage-card .temoignage-citation p {
  font-size: 0.8rem;
}

@media (max-width: 820px) {
  .page-une-communaute {
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
  }
  .page-une-communaute .une-communaute-block {
    width: 100%;
  }
  .page-une-communaute .une-communaute-block .une-communaute-block-text {
    padding: 1rem;
  }
  .page-une-communaute .header-title-page .header-texts .title {
    font-size: 2rem;
  }
  .page-une-communaute .une-communaute-temoignage {
    display: block;
  }
}
.page-single-article {
  color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-single-article .single-post-content .single-post-content-block {
  padding: 2rem;
  background-color: white;
  margin-bottom: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 975px;
}
.page-single-article .single-post-content .single-post-content-block .single-articles-title {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-single-article .single-post-content .single-post-content-block .single-articles-title .single-post-thumbnail {
  width: 100%;
  min-width: 150px;
  display: flex;
  align-items: center;
}
.page-single-article .single-post-content .single-post-content-block .single-articles-title .single-post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
.page-single-article .single-post-content .single-post-content-block .article-thumbnail {
  width: 100%;
  height: auto;
}
.page-single-article .single-post-content .single-post-content-block .content {
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}
.page-single-article .single-post-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.page-single-article .single-post-content .btn-primary {
  background-color: transparent;
  width: 25%;
  padding: 5px;
}
.page-single-article .btn-download .btn-primary {
  background-color: #0833BC;
  padding: 5px;
  margin: auto;
  margin-top: 5rem;
  border: none;
  border-radius: 0.25rem;
}
.page-single-article .form-block {
  width: 65%;
  background-color: #DADADA;
  border-radius: 12px;
}
.page-single-article .form-block .form-header--icon {
  background-color: #0833BC;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 12px 12px 0 0;
}
.page-single-article .form-block .form-header--icon img {
  rotate: 90deg;
  background-color: #FFA100;
  border-radius: 104px;
  padding: 0.6rem 0.5rem;
  width: 50px;
  height: 50px;
}
.page-single-article .form-block .form-header--icon h2 {
  font-size: 1.3rem;
  color: #DADADA;
  padding: 1rem;
}
.page-single-article .form-block .form-messages .form-success {
  color: green;
  font-weight: bold;
  margin-top: 1rem;
}
.page-single-article .form-block .form-messages .form-error {
  color: red;
  font-weight: bold;
  margin-top: 1rem;
}
.page-single-article .form-block .form-fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  background-color: #DADADA;
  border-radius: 0 0 12px 12px;
}
.page-single-article .form-block .form-fields label {
  font-weight: bold;
  font-size: 1rem;
  color: #888;
}
.page-single-article .form-block .form-fields input,
.page-single-article .form-block .form-fields textarea {
  padding: 0.75rem 1rem;
  border: none;
  font-size: 1rem;
  width: 100%;
  font-family: sans-serif;
}
.page-single-article .form-block .form-fields .form-select {
  padding: 0.75rem 1rem;
  border: none;
  font-size: 1rem;
  width: fit-content;
  background-color: #DADADA;
  color: #333;
  border-radius: 4px;
  background-color: white;
}
.page-single-article .form-block .form-fields .form-row {
  display: flex;
  gap: 6rem;
}
@media (max-width: 820px) {
  .page-single-article .form-block .form-fields .form-row {
    flex-direction: column;
    gap: 1rem;
  }
}
.page-single-article .form-block .form-fields .form-row .form-group {
  display: flex;
  flex-direction: column;
  width: 50%;
}
@media (max-width: 820px) {
  .page-single-article .form-block .form-fields .form-row .form-group {
    width: 100%;
  }
}
.page-single-article .form-block .form-fields .form-row .form-group select {
  width: 100%;
}
.page-single-article .form-block .form-fields .form-submit {
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
}
.page-single-article .form-block .form-fields .form-submit .btn-primary {
  background-color: #0833BC;
  font-size: 1rem;
  padding: 1rem;
  border: none;
}
.page-single-article .form-block .form-fields .form-submit .required-notice {
  font-size: 0.8rem;
  color: #666;
  margin-top: 0.5rem;
  text-align: left;
}
.page-single-article .form-block .form-fields .form-submit .form-antibot {
  margin-top: 1rem;
}
.page-single-article .form-block .form-fields .form-submit .form-loading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem auto 0;
  color: #0833BC;
}
.page-single-article .form-block .form-fields .form-submit .form-loading .spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #ccc;
  border-top: 2px solid #0833BC;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  display: inline-block;
  vertical-align: middle;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 768px) {
  .page-single-article {
    width: 100dvw;
  }
  .page-single-article .single-post-content .single-post-content-block {
    width: 100%;
  }
  .page-single-article .form-block {
    width: 100%;
  }
  .page-single-article .form-block .form-header h2 {
    font-size: 1.4rem;
  }
  .page-single-article .form-block .form-submit button {
    width: 50%;
  }
}
@media (min-width: 768px) and (max-width: 1035px) {
  .page-single-article .single-post-content .single-post-content-block {
    box-sizing: border-box;
    width: 100%;
    padding: 2rem;
    max-width: 100vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.elosi_candidature_section .candidature_form_left {
  background: #DADADA;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: start;
}
.elosi_candidature_section .candidature_form_left .candidature_form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo .file {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo .file .custom-file-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1em;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo .file .custom-file-input-wrapper .custom-file-label {
  background-color: #0833BC;
  color: white;
  padding: 0.5em 1em;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo .file .custom-file-input-wrapper .file-name {
  font-style: italic;
  color: #666;
  font-size: 0.9rem;
  max-width: 60%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.elosi_candidature_section .candidature_form_left .candidature_form .file-combo .file .custom-file-input-wrapper input[type=file] {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.elosi_candidature_section .candidature_form_left .candidature_form label {
  font-weight: bold;
  font-size: 1rem;
  color: #888;
}
.elosi_candidature_section .candidature_form_left .candidature_form input,
.elosi_candidature_section .candidature_form_left .candidature_form textarea {
  padding: 0.75rem 1rem;
  border: none;
  font-size: 1rem;
  width: 100%;
}
.elosi_candidature_section .candidature_form_left .candidature_form textarea {
  height: 6rem;
  resize: none;
}
.elosi_candidature_section .candidature_form_left .candidature_form .select_question {
  padding: 0.75rem 1rem;
  border: none;
  font-size: 1rem;
  width: fit-content;
  background-color: white;
  color: #333;
  border-radius: 4px;
}
.elosi_candidature_section .candidature_form_left .candidature_form .submit_button {
  margin-top: 1.5rem;
  position: relative;
  background-color: #0833BC;
  color: white;
  padding: 0.8rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  overflow: hidden;
  width: fit-content;
  min-width: 200px;
  max-width: 100%;
  border: none;
  border-left: 4px solid transparent;
  align-self: flex-end;
  font-size: 1rem;
}
.elosi_candidature_section .candidature_form_left .candidature_form .submit_button:hover {
  border-left: 4px solid #FFA100;
  padding-left: 2.5rem;
  transform: translateX(3px);
}
.elosi_candidature_section .candidature_form_left .candidature_form .submit_button:active {
  transform: scale(0.98);
}
.elosi_candidature_section .candidature_form_left .candidature_form .required_notice {
  font-size: 0.8rem;
  color: black;
  margin-top: 0.5rem;
}
.elosi_candidature_section .candidature_form_left .candidature_form .anti-bot {
  margin-top: 1rem;
}

.job-detail {
  background-color: #DADADA;
  color: black;
}
.job-detail .job-detail-content {
  padding: 1rem;
}
.job-detail .job-detail-content h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.job-detail .job-detail-content p {
  margin-bottom: 0.5rem;
}
.job-detail .job-detail-content .intilule-job-detail-content {
  display: flex;
}
.job-detail .job-detail-content .intilule-job-detail-content > div {
  margin-right: 0.5rem;
}
.job-detail .job-detail-content .intilule-job-detail-content .title-intule {
  font-weight: bold;
}
.job-detail .job-detail-content .description {
  margin-bottom: 2rem;
}
.job-detail .job-detail-content .description b {
  font-weight: bold;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.job-detail .job-detail-content .btn-primary {
  position: relative;
  width: fit-content;
  min-width: 200px;
  max-width: 100%;
  align-self: flex-end;
  cursor: pointer;
}
.job-detail .job-detail-content .btn-container {
  display: flex;
  justify-content: flex-end;
}

.page_404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100dvh;
  padding-top: 5rem;
}
.page_404 .style_nbr_404 {
  font-size: 12rem;
}
@media (max-width: 850px) {
  .page_404 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 2rem;
  }
  .page_404 p {
    font-size: 10rem !important;
  }
  .page_404 h1 {
    font-size: 1.4rem;
  }
}
.eco-toggle-button {
  all: unset;
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  width: 60px;
  height: 34px;
  background: #000;
  border: 2px solid #f2a900;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: start;
  cursor: pointer;
  z-index: 9999;
  padding: 4px;
  box-sizing: border-box;
}
.eco-toggle-button .eco-toggle-icon {
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.eco-toggle-button.eco-on .eco-toggle-icon {
  transform: translateX(26px);
  background-color: #FFA100;
}

.elosi-encart {
  background: #DADADA;
  padding: 2rem;
  margin: 2rem 0;
}
.elosi-encart img {
  color: black;
}
.elosi-encart .elosi-encart__header {
  display: flex;
}
.elosi-encart__title h2 {
  font-size: 4rem;
  color: #1C1C1C;
  font-family: "Raleway", sans-serif;
}
.elosi-encart__title span {
  font-size: 24px;
  color: #1C1C1C;
}
.elosi-encart__description {
  margin-top: 1rem;
  font-size: 1rem;
  color: #333;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.elosi-encart__cta {
  margin-top: 1.5rem;
  width: 100%;
  display: flex;
  justify-content: end;
}
.elosi-encart__cta .btn-primary {
  border: none;
  width: auto;
  padding: 1rem;
  padding-left: 2rem;
}

body.eco-mode .elosi-encart__title h2,
body.eco-mode .elosi-encart__title .elosi-encart__subtitle {
  color: transparent;
  -webkit-text-stroke: 0.5px #1C1C1C;
  -webkit-text-fill-color: transparent;
}

.eco-mode .elosi-encart__subtitle,
.eco-mode h2 {
  color: transparent;
  -webkit-text-stroke: 0.5px #1C1C1C;
  -webkit-text-fill-color: transparent;
}
.eco-mode .elosi-encart__subtitle.fond_bleu,
.eco-mode h2.fond_bleu {
  color: transparent;
  -webkit-text-stroke: 0.5px #DADADA;
  -webkit-text-fill-color: transparent;
}

.eco-mode .fond_bleu h2 {
  color: transparent;
  -webkit-text-stroke: 0.5px #DADADA;
  -webkit-text-fill-color: transparent;
}

@media (max-width: 820px) {
  .elosi-encart {
    width: 100%;
  }
  .contact_form_wrapper {
    height: auto !important;
  }
  .contact_form_wrapper .contact_form_left {
    height: auto !important;
  }
}
@media (max-width: 820px), (max-height: 820px) {
  .elosi-encart {
    background: #DADADA;
    padding: 2rem;
    margin: 1.4rem 0;
  }
  .elosi-encart img {
    color: black;
  }
  .elosi-encart .elosi-encart__header {
    display: flex;
  }
  .elosi-encart__title h2 {
    font-size: 3rem;
    color: #1C1C1C;
    font-family: "Raleway", sans-serif;
  }
  .elosi-encart__title span {
    font-size: 16px;
    color: #1C1C1C;
  }
  .elosi-encart__description {
    margin-top: 1rem;
    font-size: 0.8rem;
    color: #333;
  }
  .elosi-encart__cta {
    margin-top: 1.5rem;
    width: 100%;
    display: flex;
    justify-content: end;
  }
  .elosi-encart__cta .btn-primary {
    border: none;
    width: auto;
  }
  body.eco-mode .elosi-encart .elosi-encart__title h2,
  body.eco-mode .elosi-encart .elosi-encart__title span {
    color: transparent;
    -webkit-text-stroke: 0.5px #1C1C1C;
    -webkit-text-fill-color: transparent;
  }
  .elosi_symbol {
    width: 70px;
  }
}
.content-info-page {
  background-color: #DADADA;
  color: black;
  padding: 2rem;
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.elosi_symbol {
  width: 70px;
}
.elosi_symbol .slash {
  fill: #1C1C1C;
  stroke: #1C1C1C;
  stroke-width: 0;
}
.elosi_symbol .dot {
  fill: #FFA100;
}
@media (min-width: 1201px) and (max-width: 1600px) {
  .elosi_symbol {
    width: 90px;
  }
}

/* ===== MODE ÉCO : bord blanc, sans remplissage */
body.eco-mode .elosi_symbol .slash {
  fill: none;
  stroke-width: 1;
}

.header-title-page .elosi_symbol .slash {
  fill: #DADADA;
  stroke: #DADADA;
  stroke-width: 0;
}

body .eco-mode .header-title-page .elosi_symbol.slash {
  fill: #DADADA;
  stroke: #DADADA;
  stroke-width: 0;
}

.point-service {
  display: flex;
  justify-content: center;
  position: relative;
  margin: 2rem 0;
}
.point-service .dot {
  height: 14px;
  width: 14px;
  background-color: #FFA100;
  border-radius: 50%;
  position: absolute;
}
.point-service.reverse .dot-1 {
  top: 10%;
  right: 10%;
}
.point-service.reverse .dot-2 {
  top: 30%;
  right: 30%;
}
.point-service.reverse .dot-3 {
  top: 50%;
  right: 50%;
}
.point-service.reverse .dot-4 {
  top: 70%;
  right: 70%;
}
.point-service.reverse .dot-5 {
  top: 90%;
  right: 90%;
}
.point-service:not(.reverse) .dot-1 {
  top: 10%;
  left: 10%;
}
.point-service:not(.reverse) .dot-2 {
  top: 30%;
  left: 30%;
}
.point-service:not(.reverse) .dot-3 {
  top: 50%;
  left: 50%;
}
.point-service:not(.reverse) .dot-4 {
  top: 70%;
  left: 70%;
}
.point-service:not(.reverse) .dot-5 {
  top: 90%;
  left: 90%;
}

.header-title-page {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 10rem 0;
  justify-content: center;
}
.header-title-page .header-logo {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-title-page .header-texts .subtitle {
  font-size: 1.8rem;
  color: white;
  margin: 0;
}
.header-title-page .header-texts .title {
  font-size: 4.5rem;
  margin: 0;
  color: white;
}

body.eco-mode .header-title-page .subtitle,
body.eco-mode .header-title-page .title {
  color: transparent;
  -webkit-text-stroke: 1px white;
}

@media (max-width: 820px) {
  .header-title-page {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 7rem 0;
    justify-content: center;
  }
  .header-title-page .header-logo {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-title-page .header-texts .subtitle {
    font-size: 1.4rem;
    color: white;
    margin: 0;
  }
  .header-title-page .header-texts .title {
    font-size: 2.5rem;
    margin: 0;
    color: white;
  }
  body.eco-mode .header-title-page .subtitle,
  body.eco-mode .header-title-page .title {
    color: transparent;
    -webkit-text-stroke: 1px white;
  }
}
.elosi_candidature_section .contact_messages_submit .form-success {
  color: green;
  font-weight: bold;
  margin-top: 1rem;
}
.elosi_candidature_section .contact_messages_submit .form-error {
  color: red;
  font-weight: bold;
  margin-top: 1rem;
}

.contact-form-container {
  background-color: #DADADA;
  width: 65%;
  border-radius: 25px;
}
.contact-form-container .form-messages .form-success {
  color: green;
  font-weight: bold;
  margin-top: 1rem;
  margin-left: 1rem;
}
.contact-form-container .form-messages .form-error {
  color: red;
  font-weight: bold;
  margin-top: 1rem;
  margin-left: 1rem;
}
.contact-form-container .contact-form-header {
  background-color: #0833BC;
  border-radius: 12px 12px 0 0;
  display: flex;
  justify-content: center;
}
.contact-form-container .contact-form-header h1, .contact-form-container .contact-form-header h2 {
  color: #D9D9D9;
  padding: 1rem;
}
.contact-form-container label {
  color: black;
}
.contact-form-container input, .contact-form-container textarea {
  padding: 12px;
  border: none;
  font-family: sans-serif;
}
.contact-form-container .contact-form-fields {
  flex-direction: column;
  display: flex;
  width: 100%;
  gap: 1rem;
  padding: 1rem;
}
.contact-form-container .contact-form-fields .form-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.contact-form-container .contact-form-fields .form-group {
  display: flex;
  flex-direction: column;
  width: 40%;
}
.contact-form-container .contact-form-fields .form-submit {
  display: flex;
  justify-content: flex-end;
}
.contact-form-container .contact-form-fields .form-submit .btn-primary {
  border: none;
  width: 30%;
}
.contact-form-container .contact-form-fields textarea {
  min-height: 5rem;
}
.contact-form-container .recaptcha-wrap {
  width: 302px;
  height: 78px;
  overflow: hidden;
}
.contact-form-container .recaptcha-wrap .g-recaptcha {
  transform-origin: left top;
}
@media (max-width: 820px) {
  .contact-form-container .recaptcha-wrap {
    --captcha-scale: 0.85;
    height: calc(78px * var(--captcha-scale));
  }
  .contact-form-container .recaptcha-wrap .g-recaptcha {
    transform: scale(var(--captcha-scale));
  }
}

@media (max-height: 820px) {
  .contact-form-container {
    width: 70%;
  }
  .contact-form-container .contact-form-header h2 {
    font-size: 1.7rem !important;
  }
  .contact-form-container .contact-form-header img {
    width: 8%;
  }
  .contact-form-container .contact-form h2 {
    font-size: 2rem;
  }
}
@media (max-width: 820px) {
  .contact-form-container {
    width: 100%;
  }
}

/*# sourceMappingURL=main.css.map */
