@charset "UTF-8";
*,
p,
::after,
::before {
  margin: 0;
}

button,
button:focus,
button:active,
button:focus-visible {
  all: unset;
  background: transparent !important;
  outline: none;
  box-shadow: none;
}

body {
  font-family: "Poppins";
}

h1,
h2,
h3,
h4 {
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--secondary-color);
}

p {
  color: #67768e;
}

#ast-scroll-top {
  width: 70px;
  height: 70px;
  background-color: var(--secondary-color);
  border: 1px solid var(--white);
  font-size: 25px;
  border: 1px solid var(--white);
  border-radius: 50%;
  padding-top: 8px;
}

.ast-scroll-to-top-right {
  bottom: 2.5vh;
  right: 15px;
}

html {
  scrollbar-width: thin;
  scrollbar-color: var(--secondary-color) rgba(16, 35, 206, 0.26);
}

/* Poppins font-face declarations */
@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-weight: 400;
  font-style: normal;
  src: url("../assets/fonts/Poppins-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-weight: 400;
  font-style: italic;
  src: url("../assets/fonts/Poppins-Italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-weight: 700;
  font-style: normal;
  src: url("../assets/fonts/Poppins-Bold.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-weight: 700;
  font-style: italic;
  src: url("../assets/fonts/Poppins-BoldItalic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Plus Jakarta Sans";
  font-weight: 100 900;
  font-style: normal;
  src: url("../assets/fonts/PlusJakartaSans-VariableFont_wght.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Plus Jakarta Sans";
  font-weight: 100 900;
  font-style: italic;
  src: url("../assets/fonts/PlusJakartaSans-Italic-VariableFont_wght.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-weight: 100 900;
  font-style: normal;
  src: url("../assets/fonts/OpenSans.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-weight: 100 900;
  font-style: italic;
  src: url("../assets/fonts/OpenSans-italic.woff2") format("woff2");
}
:root {
  --primary-color: #8da6f0;
  --secondary-color: #14183e;
  --tertiary-color: #3450a3;
  --blue-transparent: rgba(0, 27, 148, 0.6);
  --white: #ffffff;
  --background-color: rgba(52, 80, 163, 0.1019607843);
}

.hidden {
  display: none;
}

/* Animation entrée */
@keyframes slideDown {
  0% {
    transform: translateY(-40px);
    height: 0;
    opacity: 0;
    margin-top: 0;
  }
  100% {
    transform: translateY(0);
    height: auto;
    opacity: 1;
    margin-top: 0px;
  }
}
/* Animation sortie */
@keyframes slideUp {
  0% {
    transform: translateY(0);
    height: auto;
    opacity: 1;
    margin-top: 0px;
  }
  70% {
    opacity: 0;
    transform: translateY(-40px);
  }
  100% {
    height: 0;
    margin-top: 0;
  }
}
@keyframes animate {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes animate2 {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@media (min-width: 1024px) {
  .section-fade {
    opacity: 0;
    transition: opacity 0.8s ease-out;
  }
  .section-fade.visible {
    opacity: 1;
  }
  .box_up {
    opacity: 0;
    transition: opacity 1s ease-out, transform 1s ease-out;
    transform: translateY(12px);
  }
  .box_up.up-visible {
    opacity: 1;
    transform: none;
    animation: fadeInUp 2s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .section-fade,
  .section-fade.visible,
  .box_up,
  .box_up.up-visible {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .mobileNav {
    animation: none !important;
    transition: none !important;
  }
  .mobileNav.show,
  .mobileNav.hide {
    animation: none !important;
    transition: none !important;
  }
}
#topBar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  background-color: var(--secondary-color);
  padding: 10px;
  gap: 5px 30px;
}
#topBar .socialMedia,
#topBar .mail,
#topBar .mail a,
#topBar .phoneNumber,
#topBar .phoneNumber a {
  display: flex;
  align-items: center;
  gap: 10px;
}
#topBar .socialMedia i,
#topBar .socialMedia p,
#topBar .mail i,
#topBar .mail p,
#topBar .mail a i,
#topBar .mail a p,
#topBar .phoneNumber i,
#topBar .phoneNumber p,
#topBar .phoneNumber a i,
#topBar .phoneNumber a p {
  color: #ffffff;
}
#topBar .socialMedia i,
#topBar .mail i,
#topBar .mail a i,
#topBar .phoneNumber i,
#topBar .phoneNumber a i {
  font-size: 22px;
}
#topBar .socialMedia p,
#topBar .mail p,
#topBar .mail a p,
#topBar .phoneNumber p,
#topBar .phoneNumber a p {
  display: none;
}
#topBar .phoneNumber a p {
  display: block;
}
#topBar .socialMedia_icone {
  display: flex;
  gap: 15px;
}

.headerNav .nav-container {
  width: 100%;
  position: relative;
  border-bottom: 2px solid rgb(255, 255, 255);
  border-top: 2px solid rgb(255, 255, 255);
}
.headerNav .nav-container img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.headerNav .nav-container_mobile {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(1.25rem, -0.092rem + 6.711vw, 3.125rem);
}
.headerNav .nav-container_mobile .logoSite {
  display: flex;
  align-items: center;
  height: 100%;
}
.headerNav .nav-container_mobile .logoSite .imgLogo {
  height: 25vw;
}
.headerNav .nav-container_mobile .burgerMenu {
  background-color: rgba(0, 0, 0, 0.4) !important;
  padding: clamp(0.188rem, 0.098rem + 0.447vw, 0.313rem);
  border-radius: 5px;
}
.headerNav .nav-container_mobile .burgerMenu img {
  width: clamp(1.875rem, 0.533rem + 6.711vw, 3.75rem);
}
.headerNav .nav-container_desktop {
  display: none;
}
.headerNav .mobileNav {
  display: none;
  overflow: hidden;
  justify-content: center;
  width: 100%;
  opacity: 0;
}
.headerNav .mobileNav .menu-secondaire-container ul {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0;
  background-color: var(--secondary-color);
}
.headerNav .mobileNav .menu-secondaire-container ul li {
  list-style: none;
  border-bottom: 1px solid white;
  width: 100vw;
  text-align: center;
  padding: 0;
}
.headerNav .mobileNav .menu-secondaire-container ul li a {
  display: block;
  padding: 7px 5px;
  width: 100%;
  height: 100%;
  color: var(--white);
  text-decoration: none;
}
.headerNav .mobileNav .menu-secondaire-container ul li a:focus, .headerNav .mobileNav .menu-secondaire-container ul li a:active {
  color: white;
}
.headerNav .mobileNav .menu-secondaire-container ul li.current-menu-item a {
  color: white;
}
.headerNav .show {
  display: flex;
  animation: slideDown 1s ease forwards;
}
.headerNav .hide {
  animation: slideUp 1s ease forwards;
}

@media (min-width: 768px) {
  #topBar .socialMedia i,
  #topBar .mail a i,
  #topBar .phoneNumber i {
    font-size: 24px;
  }
  #topBar .socialMedia p,
  #topBar .mail a p,
  #topBar .phoneNumber p {
    display: block;
    font-family: "Plus Jakarta Sans";
  }
  .headerNav .nav-container {
    height: 250px;
  }
  .headerNav .nav-container img {
    height: 100%;
  }
  .headerNav .nav-container_desktop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
  }
  .headerNav .nav-container_desktop .logoSite {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .headerNav .nav-container_desktop .logoSite .imgLogo {
    height: 200px;
  }
  .headerNav .nav-container_desktop .desktopNav .menu-principal-container #menu-principal {
    display: flex;
    margin: 0;
    gap: clamp(0.938rem, -2.827rem + 7.843vw, 2.188rem);
    list-style: none;
    font-size: clamp(1rem, 0.624rem + 0.784vw, 1.125rem);
    background-color: rgba(0, 0, 0, 0.6);
    padding: 15px clamp(1.25rem, -4.397rem + 11.765vw, 3.125rem);
    border-radius: 25px;
    border: 2px solid rgba(154, 162, 189, 0.377);
    box-shadow: 15px 20px 15px rgba(44, 44, 44, 0.89);
  }
  .headerNav .nav-container_desktop .desktopNav .menu-principal-container #menu-principal li a {
    color: var(--white);
  }
  .headerNav .nav-container_desktop .desktopNav .menu-principal-container #menu-principal li a:hover {
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
  }
  .headerNav .nav-container_desktop .desktopNav .menu-principal-container #menu-principal li.current-menu-item:not(:nth-child(2)) a {
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
  }
  .headerNav .nav-container_mobile {
    display: none;
  }
}
@media (min-width: 1024px) {
  #topBar .socialMedia i,
  #topBar .mail a i,
  #topBar .phoneNumber i {
    font-size: 24px;
  }
  #topBar .socialMedia p,
  #topBar .mail a p,
  #topBar .phoneNumber p {
    display: block;
    font-family: "Plus Jakarta Sans";
  }
  #topBar .socialMedia_icone {
    margin-left: 14px;
    gap: 24px;
  }
}
#footer {
  display: flex;
  justify-content: center;
  text-align: center;
  background-color: #14183e;
}
#footer .mentions {
  padding: 10px;
  gap: 5px;
  color: #ffffff;
}
#footer .mentions a {
  color: var(--primary-color);
}
#footer .mentions a:focus, #footer .mentions a:active {
  color: var(--primary-color);
}

#ast-contact-btn {
  position: fixed;
  bottom: 13vh;
  right: 15px;
  z-index: 99999;
}

#ast-contact-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background-color: var(--secondary-color);
  transition: all 0.3s ease;
  border: 1px solid var(--white);
  border-radius: 50%;
  padding: 5px;
  padding-top: 15px;
}

#ast-contact-btn a:hover {
  background-color: var(--primary-color);
  transform: scale(1.1);
}

#ast-contact-btn svg {
  width: 100%;
  height: 100%;
}

@media (min-width: 1023px) {
  #footer {
    width: 100%;
  }
  #footer .mentions {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-evenly;
  }
  #footer .mentions a:hover {
    color: var(--white);
  }
}
.services {
  display: flex;
  width: 100%;
  justify-content: center;
}
.services_container {
  padding: 50px 30px;
}
.services_container_title {
  color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.services_container_cards {
  display: grid;
  gap: 12px;
  padding: 50px clamp(0rem, -3.81rem + 19.048vw, 1.25rem);
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  width: 100%;
  height: auto;
}
.services_container_cards .navImg {
  position: absolute;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.services_container_cards_card {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  overflow: hidden;
}
.services_container_cards_card img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.services_container_cards_card_content {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  text-align: center;
}
.services_container_cards_card_content h3 {
  color: var(--white);
  -webkit-text-stroke: 1px #000;
  font-family: "Open Sans";
  font-weight: 800;
  font-size: clamp(0.75rem, -0.393rem + 5.714vw, 1.125rem);
  padding: clamp(0.25rem, -0.512rem + 3.81vw, 0.5rem);
}
.services_container_content h2 {
  font-size: 1.625rem;
  font-weight: 700;
}
.services_container_content p {
  padding: 20px 0;
}

@media (min-width: 426px) {
  .services_container_cards {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.938rem, -1.795rem + 10.264vw, 3.125rem);
    padding: 50px clamp(1.25rem, -3.435rem + 17.595vw, 5rem);
  }
  .services_container_cards_card_content h3 {
    font-size: clamp(1.125rem, 0.657rem + 1.76vw, 1.5rem);
  }
}
@media (min-width: 768px) {
  .services_container_cards {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 150px 0;
  }
  .services_container_cards img {
    transition: transform 0.6s ease;
  }
  .services_container_cards_card:hover img {
    transform: scale(1.1);
  }
  .services_container_cards_card_content h3 {
    font-size: clamp(1rem, -0.5rem + 3.125vw, 1.5rem);
    padding: 12px;
  }
}
@media (min-width: 1024px) {
  .services {
    padding: 0 100px;
  }
  .services_container {
    max-width: 1700px;
    padding: 50px 30px;
    padding-bottom: 0px;
  }
  .services_container_cards {
    gap: clamp(1.25rem, -6.343rem + 11.852vw, 6.25rem);
    padding: clamp(9.375rem, -0.092rem + 14.793vw, 15.625rem) 0px;
  }
  .services_container_cards_card_content h3 {
    font-size: clamp(1.25rem, 0.493rem + 1.183vw, 1.75rem);
  }
  .services_container_content {
    padding: 50px 0;
  }
  .services_container_content p {
    font-size: 18px;
    padding-bottom: 0px;
  }
}
.imgOnTop {
  display: none;
}

@media (min-width: 1024px) {
  .imgOnTop {
    display: block;
    position: relative;
    height: 80vh;
    overflow: hidden;
  }
  .imgOnTop_backgroundWrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120vh;
    overflow: hidden;
    z-index: -1;
  }
  .imgOnTop_backgroundWrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transform: translateY(-15vh) scaleX(-1);
    will-change: transform;
  }
  .imgOnTop_container {
    position: relative;
    display: flex;
    justify-content: center;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.692), transparent);
  }
  .imgOnTop_container_content {
    max-width: 1300px;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0 clamp(2.5rem, 1.301rem + 5.115vw, 3.75rem);
    padding-top: 0;
    gap: 15px;
    margin-right: 100px;
  }
  .imgOnTop_container_content .topH2 {
    color: var(--white);
    font-size: 4rem;
    text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black;
    order: 1;
    margin-bottom: 10px;
    line-height: 4rem;
  }
  .imgOnTop_container_content .topH1,
  .imgOnTop_container_content .topP {
    color: var(--white);
    font-size: 1.2rem;
  }
  .imgOnTop_container_content .topH1 {
    order: 2;
  }
  .imgOnTop_container .btn-contact {
    order: 3;
    margin-top: 40px;
  }
}
.ourServices {
  width: 100%;
}
.ourServices_container {
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding: 50px 30px;
}
.ourServices_container_content_title {
  color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.ourServices_container_content_text {
  padding: 10px 0;
}
.ourServices_container_content_text h2 {
  font-size: 28px;
  font-weight: 700;
}
.ourServices_container_content_text p {
  margin: 20px 0;
}
.ourServices_container_block1, .ourServices_container_block2 {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.ourServices_container_block1_box, .ourServices_container_block2_box {
  display: flex;
}
.ourServices_container_block1_box img, .ourServices_container_block2_box img {
  width: 50px;
  margin-right: 20px;
}
.ourServices_container_block1_box_content, .ourServices_container_block2_box_content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ourServices_container_block1_box_content h3, .ourServices_container_block2_box_content h3 {
  font-size: 18px;
}
.ourServices_container_block1_box_content p, .ourServices_container_block2_box_content p {
  font-size: 16px;
}
.ourServices_container_img {
  width: 80%;
  margin: 50px auto;
}

@media (min-width: 768px) {
  .ourServices_container {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    gap: 0 30px;
  }
  .ourServices_container_block1 {
    width: calc(50% - 15px);
    order: 1;
  }
  .ourServices_container_block2 {
    width: calc(50% - 15px);
    order: 2;
  }
  .ourServices_container_img {
    order: 3;
  }
}
@media (min-width: 1024px) {
  .ourServices {
    display: flex;
    justify-content: center;
    padding: 0 100px;
  }
  .ourServices_container {
    display: flex;
    align-items: center;
    max-width: 1700px;
  }
  .ourServices_container_content {
    width: 100%;
  }
  .ourServices_container_content_text {
    padding-top: 20px;
  }
  .ourServices_container_block1 {
    width: calc(37% - 30px);
    gap: 50px;
    order: 1;
  }
  .ourServices_container_block2 {
    width: calc(37% - 30px);
    gap: 50px;
    order: 3;
  }
  .ourServices_container_img {
    order: 2;
    width: 26%;
    padding: 20px;
  }
}
.process {
  width: 100%;
  background-color: var(--background-color);
}
.process_container {
  width: 100%;
  padding: 50px 30px;
}
.process_container_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 15px;
}
.process_container_content_title {
  color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.process_container_content_p {
  color: var(--secondary-color);
  font-size: 1.7rem;
  font-weight: 700;
}
.process_container_cards {
  display: flex;
  flex-direction: column;
  margin: 0;
  margin-top: 50px;
  gap: 40px;
}
.process_container_cards_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  background-color: #ffffff;
  gap: 30px;
  border-radius: 20px;
  box-shadow: inset 0 -3em 3em rgba(0, 0, 0, 0.1), 0 0 0 2px rgb(190, 190, 190), 0.3em 0.3em 1em rgba(0, 0, 0, 0.3);
}
.process_container_cards_card h3 {
  color: var(--secondary-color);
}
.process_container_cards_card img {
  width: 100px;
}

@media (min-width: 768px) {
  .process_container_cards {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .process_container_cards_card {
    width: calc(50% - 20px);
  }
}
@media (min-width: 1024px) {
  .process {
    display: flex;
    justify-content: center;
    padding: 0 100px;
  }
}
@media (min-width: 1400px) {
  .process_container {
    max-width: 1700px;
  }
  .process_container_cards_card {
    width: calc(25% - 30px);
    padding: 40px clamp(0.625rem, -2.215rem + 4.438vw, 2.5rem);
  }
}
.contactUs {
  width: 100%;
}
.contactUs_container {
  width: 100%;
  padding: 50px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contactUs_container img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.contactUs_container_container2_title {
  color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.contactUs_container_container2_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contactUs_container_container2_content h3 {
  font-size: 1.7rem;
}
.contactUs_container_container2_content_phoneContainer {
  display: flex;
  align-items: center;
  margin-top: 30px;
  gap: 15px;
}
.contactUs_container_container2_content_phoneContainer a i {
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgb(1, 189, 1);
  width: 50px;
  height: 50px;
  font-size: 38px;
  border-radius: 5px;
}
.contactUs_container_container2_content_phoneContainer_content p {
  color: var(--secondary-color);
}
.contactUs_container_container2_content_phoneContainer_content a {
  color: #000000;
  font-weight: 600;
}

@media (min-width: 1024px) {
  .contactUs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contactUs_container {
    max-width: 1300px;
    padding: 170px 0;
    flex-direction: row;
    gap: 50px;
    margin: 0 50px;
  }
  .contactUs_container_container2 {
    margin: 5px;
  }
  .contactUs_container_container2_content {
    gap: 30px;
  }
  .contactUs_container_container2_content h2 {
    margin-top: 20px;
  }
}
#home-page .threePicture {
  padding: 50px 0;
  background-color: var(--background-color);
}
#home-page .threePicture_container {
  padding: 0px 30px;
}
#home-page .threePicture_container_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 15px;
  padding-bottom: 50px;
}
#home-page .threePicture_container_content_title {
  color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  margin-bottom: 15px;
}
#home-page .threePicture_container_content_p {
  color: var(--secondary-color);
  font-size: 1.7rem;
  font-weight: 700;
}

@media (min-width: 1024px) {
  #home-page .threePicture {
    padding: 50px 100px;
  }
  #home-page .threePicture_container {
    display: flex;
    flex-direction: column;
    max-width: 1700px;
  }
}
.nav-work {
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.nav-work_cards {
  display: flex;
  max-width: 1700px;
  margin: 0 auto;
  gap: clamp(0.625rem, -1.28rem + 9.524vw, 1.25rem);
  padding: 20px;
}
.nav-work_cards_card {
  position: relative;
  aspect-ratio: 1/1.5;
  width: 100%;
  height: 100%;
  border-radius: 5%;
  overflow: hidden;
}
.nav-work_cards_card img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.nav-work_cards_card_content {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  text-align: center;
  padding: 8px 0px;
}
.nav-work_cards_card_content h3 {
  color: var(--white);
  -webkit-text-stroke: clamp(0.025rem, -0.013rem + 0.19vw, 0.037rem) #000;
  font-size: clamp(0.625rem, 0.054rem + 2.857vw, 0.813rem);
  font-family: "Open Sans";
  font-weight: 800;
  padding: clamp(0.25rem, -0.512rem + 3.81vw, 0.5rem);
}

@media (min-width: 426px) {
  .nav-work_cards {
    gap: clamp(1.25rem, -0.312rem + 5.865vw, 2.5rem);
    padding: 20px clamp(1.25rem, -0.312rem + 5.865vw, 2.5rem);
  }
  .nav-work_cards_card {
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 2px solid var(--primary-color);
  }
  .nav-work_cards_card_content h3 {
    font-size: clamp(0.813rem, 0.422rem + 1.466vw, 1.125rem);
  }
}
@media (min-width: 768px) {
  .nav-work_cards {
    padding: 20px clamp(2.5rem, -8.75rem + 23.438vw, 6.25rem);
  }
  .nav-work_cards_card_content {
    padding: clamp(0rem, -3.75rem + 7.813vw, 1.25rem);
  }
  .nav-work_cards_card_content h3 {
    font-size: clamp(1.125rem, 0rem + 2.344vw, 1.5rem);
    -webkit-text-stroke: 1px #000;
  }
}
@media (min-width: 1024px) {
  .nav-work_cards {
    gap: clamp(2.5rem, -12.648rem + 23.669vw, 12.5rem);
    padding: 20px clamp(6.25rem, -7.951rem + 22.189vw, 15.625rem);
  }
  .nav-work_cards_card_content h3 {
    font-size: clamp(1.5rem, 1.121rem + 0.592vw, 1.75rem);
  }
  .nav-work_cards_card img {
    transition: transform 0.6s ease;
  }
  .nav-work_cards_card:hover img {
    transform: scale(1.1);
  }
}
.page-title_title_container {
  padding: 30px;
}
.page-title_title_container h1 {
  font-size: clamp(1.125rem, -0.029rem + 5.769vw, 1.5rem);
  font-family: "Open Sans";
  padding-bottom: 30px;
  font-weight: 700;
}
.page-title_title_container_p {
  font-size: clamp(0.875rem, 0.106rem + 3.846vw, 1.125rem);
}

@media (min-width: 1024px) {
  .page-title_title_container {
    max-width: 1700px;
    margin: 0 auto;
  }
}
@media (min-width: 1700px) {
  .page-title_title_container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 250px;
    padding: 0;
  }
}
.listImgLeft {
  background-color: var(--background-color);
}
.listImgLeft_container {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 30px;
}
.listImgLeft_container img {
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.4) 14px 14px 10px;
}
.listImgLeft_container_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.listImgLeft_container_content_h2 {
  font-size: 22px;
}

@media (min-width: 768px) {
  .listImgLeft_container {
    flex-direction: row;
  }
  .listImgLeft_container img {
    width: 50%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .listImgLeft_container_content {
    justify-content: center;
    align-items: center;
    margin: auto;
  }
  .listImgLeft_container_content_list {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .listImgLeft_container_content_list li {
    font-size: clamp(0.875rem, 0.106rem + 3.846vw, 1.125rem);
  }
}
@media (min-width: 1024px) {
  .listImgLeft_container {
    max-width: 1700px;
    max-height: 600px;
    margin: 0 auto;
    padding: 50px 30px;
  }
  .listImgLeft_container_content {
    align-items: flex-start;
  }
  .listImgLeft_container_content_h2 {
    font-size: 20px;
  }
}
@media (min-width: 1700px) {
  .listImgLeft_container {
    padding: 50px 0px;
  }
}
.listImgRight {
  background-color: var(--background-color);
}
.listImgRight_container {
  padding: 30px;
}
.listImgRight_container_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.listImgRight_container_content_h2 {
  font-size: 22px;
}
.listImgRight_container_content_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.listImgRight_container_content_list li {
  font-size: clamp(0.875rem, 0.106rem + 3.846vw, 1.125rem);
}
.listImgRight_container img {
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.4) 14px 14px 10px;
}

@media (min-width: 768px) {
  .listImgRight_container {
    display: flex;
    gap: 50px;
    padding: 100px 30px;
  }
  .listImgRight_container_content {
    display: flex;
    justify-content: center;
  }
  .listImgRight_container_content_list {
    gap: 20px;
  }
  .listImgRight_container img {
    width: 50%;
    max-height: 470px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1024px) {
  .listImgRight_container {
    margin: 0 auto;
    max-width: 1700px;
    justify-content: space-between;
  }
}
@media (min-width: 1700px) {
  .listImgRight_container {
    padding: 100px 0px;
  }
}
.threePicture {
  width: 100%;
}
.threePicture_container {
  padding: 30px;
}
.threePicture_container_p {
  padding-bottom: 20px;
  font-size: clamp(0.875rem, 0.106rem + 3.846vw, 1.125rem);
}
.threePicture_container_picture {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.threePicture_container_picture img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  border: 3px solid rgb(206, 206, 206);
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.4) 7px 10px 20px, rgba(0, 0, 0, 0.4) -7px 10px 20px;
}

@media (min-width: 768px) {
  .threePicture_container {
    max-width: 1700px;
    margin: 0 auto;
  }
  .threePicture_container_picture {
    flex-direction: row;
  }
  .threePicture_container_picture img {
    box-shadow: rgba(0, 0, 0, 0.4) 14px 14px 10px;
  }
}
@media (min-width: 1024px) {
  .threePicture_container {
    padding: 100px 30px;
    padding-top: 50px;
  }
  .threePicture_container_p {
    padding-bottom: 50px;
  }
  .threePicture_container_picture {
    gap: clamp(1.25rem, -0.643rem + 2.959vw, 2.5rem);
  }
}
@media (min-width: 1700px) {
  .threePicture_container {
    padding: 100px 0;
    padding-top: 50px;
  }
}
.threePictureText_container {
  margin-bottom: 30px;
}
.threePictureText_container_container-title {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px;
}
.threePictureText_container_block-container {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.threePictureText_container_block-container_block {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: var(--background-color);
  padding: 30px;
  margin: 0 30px;
}
.threePictureText_container_block-container_block img {
  aspect-ratio: 2/1.5;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.4) 14px 14px 10px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .threePictureText_container_container-title_title {
    font-size: clamp(1.125rem, -0.029rem + 5.769vw, 1.5rem);
    font-family: "Open Sans";
    font-weight: 700;
    max-width: 60vw;
  }
  .threePictureText_container_block-container {
    padding: 30px;
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
  }
  .threePictureText_container_block-container_block {
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.4) 14px 14px 20px;
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .threePictureText_container {
    margin: 0 auto;
    padding: 50px 0;
  }
  .threePictureText_container_block-container {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.875rem, -11.971rem + 21.635vw, 7.5rem);
  }
}
@media (min-width: 1700px) {
  .threePictureText_container {
    max-width: 1700px;
  }
  .threePictureText_container_container-title {
    padding: 30px 0;
  }
  .threePictureText_container_block-container {
    padding: 30px 0;
  }
}
.button-contact {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 50px;
}

.btn-contact {
  width: 180px;
  height: 50px;
  background: linear-gradient(to top, #14183e, #12376e, #3450a3);
  color: #fff;
  border-radius: 100px;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}
.btn-contact span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: top 0.5s;
}
.btn-contact_text-one {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.btn-contact_text-two {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 150%;
  left: 0;
  transform: translateY(-50%);
}
.btn-contact:hover .btn-contact_text-one {
  top: -100%;
}
.btn-contact:hover .btn-contact_text-two {
  top: 50%;
  color: #fff;
}

.steps-cards {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: auto;
}

.card {
  width: 190px;
  height: 254px;
  background: lightgrey;
  border: 3px inset white;
  background: #e8e8e8;
  box-shadow: inset 20px 20px 60px #c5c5c5, inset -20px -20px 60px #ffffff;
  transition: all 0.5s ease-in-out;
  border-radius: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bolder;
  color: #8a8989;
  font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial, sans-serif;
}

.card:hover {
  transform: translateY(-5px);
  transition: all 0.5s ease-in-out;
}

.slider {
  display: flex;
  position: relative;
  width: 100%;
  height: 120px;
  border-top: 20px solid rgba(52, 80, 163, 0.1019607843);
  border-bottom: 20px solid rgba(52, 80, 163, 0.1019607843);
  overflow: hidden;
}
.slider_container {
  display: flex;
  align-items: center;
  width: 100%;
}
.slider_container_defile, .slider_container_defile2 {
  display: flex;
  align-items: center;
  min-width: 2560px;
  position: absolute;
  top: 10;
  gap: 75px;
  margin: 0;
  list-style: none;
}
.slider_container_defile img, .slider_container_defile2 img {
  width: auto;
  height: 70px;
}
.slider_container_defile {
  animation: animate 28s linear infinite;
}
.slider_container_defile2 {
  animation: animate2 28s linear infinite;
}

/* ========== Base (mobile) ========== */
.ast-blog-layout-4-grid .ast-row {
  /* Pleine largeur sur mobile, on contraint seulement dès 768px */
  max-width: 100%;
}

.ast-separate-container #primary {
  margin: 0;
}

#main #comments {
  display: none;
}

/* Marge confortable des articles sur mobile */
#main article {
  margin: 25px;
}

/* ========== ≥ 768px (tablettes & desktop) ========== */
@media (min-width: 768px) {
  .ast-blog-layout-4-grid .ast-row {
    max-width: 1440px;
    padding-top: 40px;
  }
  .ast-separate-container.ast-desktop .ast-blog-layout-4-grid .ast-row {
    margin: auto;
    justify-content: center;
  }
  /* Zone contenu */
  #main .entry-header {
    text-align: center;
    max-width: var(--wp--custom--ast-content-width-size);
    margin-left: auto;
    margin-right: auto;
  }
  #main .entry-content {
    margin-bottom: 50px;
  }
  #main .navigation {
    margin: auto;
    padding: 50px;
    max-width: 1200px;
  }
  /* Mise en page style blog plein écran */
  .blogStyle #main {
    margin: 0;
    min-height: calc(100vh - 116px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: justify;
  }
  .blogStyle #main .entry-meta {
    text-align: justify;
  }
  .ast-plain-container.ast-no-sidebar #primary {
    margin: 0;
    padding: 50px;
  }
}
#contact-page .process_container_cards_card {
  text-align: center;
}
#contact-page .imgOnTopMobile {
  position: relative;
}
#contact-page .imgOnTopMobile img {
  transform: scaleX(-1);
}
#contact-page .imgOnTopMobile_title {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  align-content: center;
  text-align: center;
  color: var(--white);
  font-size: clamp(1.25rem, 0.738rem + 2.56vw, 2.375rem);
}
#contact-page .page-title_title_container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#contact-page .formContact {
  padding: 30px;
}
#contact-page .formContact_form {
  width: 100%;
}
#contact-page .formContact_form label,
#contact-page .formContact_form p {
  color: var(--secondary-color);
}
#contact-page .formContact_form .formName {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#contact-page .formContact_form .wpcf7 .wpcf7-form-control-wrap input,
#contact-page .formContact_form .wpcf7 .wpcf7-form-control-wrap textarea {
  margin-top: 5px;
  border: none;
  border-radius: 0;
  border-bottom: 2px solid var(--tertiary-color);
  box-shadow: unset;
}
#contact-page .formContact_form .wpcf7 input[type=submit] {
  display: block;
  margin: 0 auto;
  width: 180px;
  height: 50px;
  background: linear-gradient(to top, #14183e, #12376e, #3450a3);
  border-radius: 100px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}
#contact-page .formContact_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 30px 0;
}
#contact-page .formContact_content .socialMediaContact {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
#contact-page .formContact_content .socialMediaContact i {
  font-size: 38px;
  color: var(--tertiary-color);
}

@media (min-width: 768px) {
  #contact-page .process_container_cards {
    justify-content: space-evenly;
  }
  #contact-page .process_container_cards_card {
    width: calc(45% - 30px);
  }
  #contact-page .formContact_form .formName {
    flex-direction: row;
    justify-content: space-between;
  }
  #contact-page .formContact_form .formName p {
    width: 45%;
  }
}
@media (min-width: 1024px) {
  #contact-page .imgOnTopMobile,
  #contact-page .page-title_title {
    display: none;
  }
  #contact-page .imgOnTop_backgroundWrapper img {
    -o-object-position: left;
       object-position: left;
  }
  #contact-page .formContact {
    display: flex;
    gap: clamp(3.125rem, -1.609rem + 7.396vw, 6.25rem);
    padding: 50px;
    max-width: 1700px;
    margin: 0 auto;
  }
  #contact-page .formContact_form {
    width: 50%;
  }
  #contact-page .formContact_content {
    width: 50%;
    justify-content: center;
  }
}
.recruitment_container_form {
  width: 100%;
  max-width: 500px;
  margin: auto;
  padding: 30px;
}
.recruitment_container_form label,
.recruitment_container_form p {
  color: var(--secondary-color);
}
.recruitment_container_form .formName {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.recruitment_container_form .wpcf7 .wpcf7-form-control-wrap input,
.recruitment_container_form .wpcf7 .wpcf7-form-control-wrap textarea {
  margin-top: 5px;
  border: none;
  border-radius: 0;
  border-bottom: 2px solid var(--tertiary-color);
  box-shadow: unset;
}
.recruitment_container_form .wpcf7 input[type=submit] {
  display: block;
  margin: 0 auto;
  width: 180px;
  height: 50px;
  background: linear-gradient(to top, #14183e, #12376e, #3450a3);
  border-radius: 100px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .recruitment img {
    width: 100%;
    max-height: 800px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 100% 55%;
       object-position: 100% 55%;
  }
  .recruitment_container {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    max-width: 1440px;
  }
  .recruitment_container .page-title_title {
    width: 50%;
    display: flex;
    justify-content: center;
    padding-left: 50px;
  }
  .recruitment_container .page-title_title_container {
    height: auto;
    max-width: unset;
    justify-content: flex-start;
    margin-top: 50px;
  }
  .recruitment_container_form {
    width: 50%;
    margin-top: 50px;
    display: flex;
    justify-content: center;
  }
}