:root {
  --orange: #bd5529;
  --range-1: #210;
  --greys: #d4d4d4;
  --noir-cv: #0f0f0f;
  --border-radius: 30vw;
}

.accueil {
  z-index: 2;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 44vw;
  display: flex;
  position: relative;
  overflow: hidden;
}

.main-title {
  color: #000;
  text-shadow: 0 2vw #000;
  height: 2vw;
  font-family: Work Sans, sans-serif;
  font-size: 2vw;
  font-weight: 700;
  line-height: 2vw;
}

.title-container {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 2vw;
  display: flex;
  overflow: hidden;
}

.navbar {
  z-index: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 8vw;
  display: flex;
  position: relative;
  inset: 0% 0% auto;
  overflow: hidden;
}

.div-block {
  justify-content: flex-start;
  align-items: center;
  width: 40%;
  height: 100%;
  padding-top: 0;
  padding-left: 3vw;
  display: flex;
}

.div-block-2 {
  justify-content: center;
  align-items: center;
  width: 20%;
  display: flex;
}

.div-block-3 {
  justify-content: flex-end;
  align-items: center;
  width: 40%;
  padding-right: 3vw;
  display: flex;
}

.menu-bouton {
  z-index: 100;
  cursor: pointer;
  background-color: #000;
  border: 2px solid #fff;
  border-radius: 50%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 4vw;
  height: 4vw;
  margin-top: 2vw;
  margin-right: 3vw;
  display: flex;
  position: fixed;
  inset: 0% 0% auto auto;
}

.haut, .bas {
  background-color: #fff;
  width: 60%;
  height: .2vw;
  margin-bottom: 0;
}

.mid {
  background-color: #fff;
  border: 1px #000;
  width: 60%;
  height: .2vw;
  margin-top: .5vw;
  margin-bottom: .5vw;
}

.homelink {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.image {
  width: 4vw;
}

.text-block {
  color: #000;
  text-align: center;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  font-weight: 600;
  line-height: 1.2vw;
  text-decoration: none;
}

.text-block-2 {
  color: #000;
  text-shadow: 0 1.5vw #000;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.5vw;
}

.text-block-2.anim-text {
  text-transform: lowercase;
  font-family: Neuemontreal, Arial, sans-serif;
}

.div-block-4 {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.div-block-4.anim-div {
  cursor: pointer;
  border-radius: 2vw;
  padding-left: .5vw;
  padding-right: 1vw;
}

.lottie-animation {
  width: 100vw;
}

.bande {
  z-index: 99;
  background-color: var(--orange);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 10%;
  height: 100vh;
  display: flex;
  position: fixed;
  inset: 0% 0% 0% auto;
  overflow: hidden;
}

.text-block-3 {
  color: #fff;
  text-align: center;
  word-break: break-all;
  width: 5vw;
  height: 18vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 6vw;
  font-weight: 500;
  line-height: 6vw;
}

.text-block-4 {
  color: #000;
  width: 50vw;
  margin-left: 3vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 5vw;
  font-weight: 500;
  line-height: 5vw;
}

.sous-titre {
  color: #000;
  width: 50vw;
  margin-top: 1vw;
  margin-left: 3vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  font-weight: 400;
  line-height: 1vw;
}

.div-block-5 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50vw;
  display: flex;
}

.div-block-5-copy {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50vw;
  padding-left: 2vw;
  display: flex;
}

.qui-link {
  background-color: #000;
  border-radius: 2vw;
  justify-content: center;
  align-items: center;
  width: 30vw;
  height: 20vw;
  text-decoration: none;
  display: flex;
}

.text-block-5 {
  color: #fff;
  text-align: center;
  text-shadow: 4px 4px 10px #ffffffab;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 3vw;
  line-height: 3vw;
}

.div-block-6 {
  z-index: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.div-block-7 {
  z-index: 2;
  background-color: #000;
  justify-content: flex-start;
  align-items: center;
  width: 0%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.contact-accueiil {
  border: 2px solid #000;
  border-top-left-radius: 2vw;
  border-bottom-right-radius: 2vw;
  justify-content: center;
  align-items: center;
  width: 15vw;
  height: 3vw;
  margin-top: 1vw;
  margin-left: 3vw;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.text-block-6 {
  color: #000;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 1.5vw;
  font-weight: 500;
  line-height: 2vw;
}

.text-block-6-copy {
  color: #fff;
  text-align: center;
  width: 15vw;
  min-width: 15vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 1.5vw;
  font-weight: 500;
  line-height: 2vw;
}

.image-2 {
  width: 30vw;
  margin-bottom: 7vw;
  transform: rotate(-28deg);
}

.image-3 {
  height: 6vw;
  margin-top: 0;
  margin-bottom: 0;
}

.text-block-3-copy {
  color: #fff;
  text-align: center;
  word-break: break-all;
  width: 5vw;
  height: 36vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 6vw;
  font-weight: 500;
  line-height: 6vw;
}

.slider {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.div-block-8 {
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 0;
  display: flex;
  overflow: visible;
}

.div-block-9 {
  background-color: #000;
  border-top-left-radius: 2vw;
  width: 100%;
  height: 100%;
}

.qui {
  z-index: 2;
  background-color: #fff;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: none;
  height: 225vw;
  padding-bottom: 0;
  display: flex;
  position: relative;
  overflow: clip;
}

.text-block-7 {
  z-index: 2;
  color: #fff;
  margin-left: 5vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 3vw;
  line-height: 4vw;
  position: relative;
}

.text-block-8 {
  z-index: 2;
  color: #fff;
  width: 65vw;
  margin-top: 4vw;
  margin-left: 7vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  line-height: 3vw;
  position: relative;
}

.div-block-10 {
  z-index: 1;
  width: 100%;
  margin-top: 5vw;
  position: relative;
}

.lottie-animation-2 {
  z-index: 1;
  width: 100vw;
  margin-top: -5vw;
  position: absolute;
}

.image-4 {
  perspective: none;
  transform-style: preserve-3d;
  border-radius: 20px;
  width: 30vw;
  margin-top: 438px;
  margin-left: 372px;
  transform: perspective(30vw)rotateX(-18deg)rotateY(0)rotateZ(0)perspective(10px);
}

.text-block-9 {
  z-index: 2;
  color: #fff;
  margin-top: 10vw;
  margin-left: 20vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 4vw;
  font-weight: 400;
  line-height: 4vw;
  position: relative;
}

.image-5 {
  width: 15vw;
  margin-top: 0;
  margin-left: 0;
}

.div-block-11 {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 4vw;
  padding-left: 27vw;
  display: flex;
}

.text-block-10 {
  color: #fff;
  font-family: Blinkford, Arial, sans-serif;
  font-size: 5vw;
  font-weight: 600;
  line-height: 5vw;
}

.text-block-11 {
  color: #fff;
  text-align: center;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 3vw;
  font-weight: 400;
  line-height: 3vw;
}

.text-block-12 {
  z-index: 2;
  color: var(--orange);
  width: auto;
  margin-top: 7vw;
  margin-left: 0;
  font-family: Bebas Neue, sans-serif;
  font-size: 4vw;
  font-weight: 400;
  line-height: 4vw;
  position: relative;
}

.text-block-13 {
  color: #000;
  background-color: #fff;
  border-radius: 2vw;
  width: 40vw;
  margin-top: 5vw;
  padding: 1vw 2vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1.5vw;
  line-height: 2vw;
}

.image-6 {
  z-index: 1;
  width: 100%;
  margin-top: -5vw;
  position: relative;
}

.text-block-14 {
  z-index: 1;
  color: #fff;
  text-align: center;
  width: 50vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 3vw;
  position: relative;
}

.image-7 {
  width: 30vw;
  margin-top: 3vw;
}

.text-block-14-copy {
  z-index: 2;
  border: 1px none var(--orange);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: #000;
  text-align: left;
  background-color: #2b2b2b00;
  border-radius: 2vw;
  width: 50vw;
  margin-top: 0;
  margin-bottom: 2vw;
  margin-right: 2vw;
  padding: 2vw 2vw 2vw 0;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 4vw;
  font-weight: 500;
  line-height: 4vw;
  position: relative;
  transform: rotate(0);
}

.div-block-12 {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin-top: 3vw;
  display: flex;
  position: relative;
}

.lottie-animation-3 {
  width: 30vw;
}

.avantages {
  z-index: 5;
  perspective: 2000vw;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin-right: 0;
  padding: 1vw;
  display: flex;
  position: relative;
}

.div-block-14 {
  z-index: 2;
  border: 3px solid var(--orange);
  background-color: var(--range-1);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  cursor: default;
  border-radius: 2vw;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin-right: 0;
  padding: 1vw;
  transition: all .1s;
  display: flex;
  position: relative;
  transform: none;
  box-shadow: .2vw .2vw 2vw #0000008a;
}

.image-8 {
  color: #fff;
  -webkit-text-fill-color: inherit;
  background-color: #fff0;
  background-clip: border-box;
}

.image-9 {
  color: #000;
  width: 3vw;
}

.text-block-15 {
  color: #fff;
  margin-top: 1vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1vw;
}

.text-block-16 {
  color: #fff;
  text-align: center;
  background-color: #fff0;
  border-radius: 2vw;
  width: 10vw;
  margin-top: 1vw;
  padding: .5vw 0;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1vw;
}

.bold-text {
  color: #fff;
  font-weight: 500;
}

.body {
  pointer-events: auto;
  cursor: auto;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: block;
}

.porque {
  background-color: #0f0f0f00;
  border-radius: 2vw 2vw 0 0;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  padding-bottom: 5vw;
  display: flex;
  position: relative;
}

.div-block-15 {
  z-index: 3;
  margin-top: 7vw;
  position: relative;
}

.div-block-16 {
  filter: blur(3vw);
  background-color: #ffffff3d;
  border-radius: 73%;
  position: absolute;
  inset: 0%;
}

.text-span, .text-span-2 {
  color: var(--orange);
}

.projets {
  background-color: #f5f5f5;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  margin-top: 0;
  display: none;
  position: relative;
}

.titres {
  z-index: 2;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.text-block-17 {
  color: #fff;
  justify-content: center;
  align-items: center;
  height: 10vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 10vw;
  line-height: 10vw;
  transition: all .3s;
  display: flex;
  position: relative;
  top: auto;
}

.projets-img {
  z-index: 1;
  perspective: 5000px;
  perspective-origin: 50% 0;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-bottom: 20vw;
  display: flex;
  position: relative;
  transform: none;
}

.images {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  perspective: none;
  object-fit: cover;
  border-radius: 2vw;
  width: 50vw;
  max-width: none;
  margin-top: 20vw;
  transition: all .2s;
  overflow: hidden;
  transform: none;
}

.les-titres {
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  height: 10vw;
  min-height: 6vw;
  display: flex;
  position: sticky;
  top: 40vh;
  bottom: 40vh;
  overflow: hidden;
}

.image-10 {
  border-radius: 2vw;
  width: 40vw;
  margin-top: 20vw;
  box-shadow: 0 7px 20px 7px #00000059;
}

.text-span-3 {
  color: var(--orange);
}

.lottie-animation-4 {
  z-index: 1;
  width: 100%;
  margin-top: -17vw;
  position: absolute;
}

.div-block-4-copy {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.div-block-4-copy.anim-div {
  cursor: pointer;
  margin-top: 2vw;
  margin-left: 2vw;
}

.text-block-2-copy {
  color: #000;
  text-shadow: 0 1.5vw #000;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.5vw;
}

.text-block-2-copy.anim-text {
  color: #fff;
}

.div-block-17 {
  width: 100%;
}

.swiper-wrapper {
  box-sizing: border-box;
  object-fit: fill;
  background-color: #0000;
  flex-flow: row;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
  overflow: visible;
}

.image-11 {
  width: 25vw;
  height: 25vw;
  margin-right: 2vw;
}

.swiper {
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin-top: 2vw;
  display: flex;
  overflow: visible;
}

.swiper.visible {
  z-index: 1;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  width: 45%;
  position: relative;
  overflow: visible;
}

.splide {
  box-sizing: content-box;
  aspect-ratio: auto;
  background-color: #0000;
  border-radius: 2vw;
  margin-top: 2vw;
}

.swiper-slide {
  background-color: #0000;
  border: 1px solid #000;
  border-radius: 2vw;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 40vw;
  min-width: 25vw;
  max-width: none;
  height: 25vw;
  min-height: 25vw;
  max-height: none;
  margin-right: 0;
  display: flex;
}

.swiper-slide._22 {
  background-image: url('../images/bosee.png');
  background-size: cover;
}

.swiper-slide.projet {
  border-style: none;
  justify-content: center;
  align-items: center;
  width: 60vw;
  min-width: auto;
  min-height: auto;
  margin-left: 0;
  margin-right: 0;
  overflow: visible;
}

.swiper-slide.projet.parent-div {
  position: relative;
}

.div-block-18 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.border-wrapper {
  z-index: 1;
  perspective: 500px;
  background-color: #0000;
  border-radius: 2vw;
  width: 13vw;
  min-width: 13vw;
  height: 16vw;
  min-height: 16vw;
  margin-bottom: 0;
  margin-left: 1vw;
  margin-right: 1vw;
  padding: .5vw;
  position: relative;
  overflow: visible;
}

.border-mouv {
  z-index: 1;
  background-color: var(--orange);
  width: 3vw;
  height: 3vw;
  margin-top: -1.5vw;
  margin-left: -1vw;
  position: absolute;
  inset: 0% auto auto 0%;
}

.text-span-4 {
  color: var(--orange);
}

.text-block-18 {
  color: #000;
  text-align: center;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  line-height: 3vw;
  display: flex;
}

.text-span-5, .text-span-6 {
  color: var(--orange);
  font-weight: 500;
}

.text-span-7 {
  color: #0062ff;
  font-weight: 500;
}

.avantages-gauche {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.lottie-animation-5 {
  width: 40vw;
}

.lottie-animation-6 {
  width: 100vw;
  height: auto;
  margin-left: 0;
  position: fixed;
  inset: 0%;
  transform: none;
}

.textproject {
  color: #3d3d3d;
  margin-top: 1vw;
  margin-bottom: 5vw;
  font-family: Bebas Neue, sans-serif;
  font-size: 2vw;
  line-height: 2vw;
}

.image-12 {
  width: 3vw;
}

.div-block-19 {
  z-index: 1;
  background-color: var(--orange);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  display: flex;
  position: relative;
}

.div-block-19.parent-div {
  background-color: #bd552900;
  width: 40vw;
  min-width: auto;
  height: 25vw;
  min-height: auto;
  overflow: visible;
}

.avantages-gauche-copy {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.image-13 {
  width: 20vw;
}

.view {
  position: absolute;
}

.view.child-div {
  z-index: 2;
  background-color: #cecece;
  border: 2px #fff;
  border-radius: 2vw;
  justify-content: center;
  align-items: center;
  width: 10vw;
  min-width: 10vw;
  height: 3vw;
  min-height: 3vw;
  padding: .5vw 1vw;
  transition: transform .1s;
  display: flex;
  position: absolute;
  inset: 0%;
  transform: scale(0);
}

.text-block-19 {
  color: #000;
  text-align: center;
  column-count: auto;
  column-rule-style: dotted;
  -webkit-text-decoration-skip-ink: auto;
  text-decoration-skip-ink: auto;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: .8vw;
  line-height: .8vw;
  text-decoration: line-through;
}

.parent-qui {
  flex-flow: wrap;
  width: 70vw;
  display: flex;
}

.text-block-20 {
  color: #000;
  text-align: left;
  padding-top: 0;
  padding-bottom: 0;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 50px;
  line-height: 2vw;
}

.spa-qui {
  color: #fff;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  line-height: 2vw;
}

.span-qui {
  background-color: var(--orange);
  color: #fff;
  text-transform: uppercase;
  border-radius: 1vw;
  padding: 1vw;
  font-family: Yay Holiday, Arial, sans-serif;
  font-size: 2.5vw;
  font-weight: 500;
  line-height: 2vw;
}

.spa-qui-copy {
  color: #fff;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  line-height: 2vw;
}

.div-block-20 {
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50vw;
  display: flex;
}

.span--qui {
  color: #000;
  margin: .7vw .25vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 2.5vw;
  font-weight: 500;
  line-height: 2.5vw;
  display: block;
}

.text-block-21 {
  background-color: var(--orange);
  color: #fff;
  border-radius: 1vw;
  justify-content: center;
  align-items: center;
  margin-top: .2vw;
  margin-bottom: .2vw;
  padding: .5vw 1vw;
  font-family: Yay Holiday, Arial, sans-serif;
  font-size: 2vw;
  line-height: 2vw;
  display: flex;
  transform: rotate(4deg);
}

.image-14 {
  height: 2.5vw;
  margin-top: .7vw;
  margin-left: .2vw;
  margin-right: .2vw;
}

.text-block-21-copy {
  color: #fff;
  background-color: #0fb7af;
  border-radius: 1vw;
  justify-content: center;
  align-items: center;
  margin-top: .2vw;
  margin-bottom: .2vw;
  padding: .5vw 1vw;
  font-family: Yay Holiday, Arial, sans-serif;
  font-size: 2vw;
  line-height: 2vw;
  display: flex;
  transform: rotate(-1deg);
}

.text-span-8 {
  color: var(--orange);
}

.text-block-22 {
  color: var(--orange);
  margin-top: 2vw;
  margin-bottom: 0;
  margin-left: 2vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 6vw;
  font-weight: 500;
  line-height: 6vw;
}

.textprojet {
  z-index: 1000;
  color: #fff;
  text-align: center;
  white-space: normal;
  width: 30vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 6vw;
  font-weight: 500;
  line-height: 6vw;
  position: relative;
}

.image-15 {
  object-fit: cover;
  border-radius: 2vw;
  width: 100%;
  height: 100%;
  box-shadow: 1vw .5vw 2vw #000000b5;
}

.text-projet-wrapper {
  position: absolute;
}

.div-block-21 {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.div-block-22 {
  z-index: 2;
  background-image: linear-gradient(90deg, #fff, #fff0);
  width: 20vw;
  height: 100%;
  position: absolute;
  inset: 0% auto 0% 0%;
}

.div-block-22-copy {
  z-index: 2;
  background-color: #0f0f0f00;
  background-image: linear-gradient(270deg, #fff, #fff0);
  width: 20vw;
  height: 100%;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.div-block-23 {
  display: flex;
}

.div-block-24 {
  z-index: 5;
  position: relative;
}

.ballon1 {
  z-index: 1;
  filter: blur(11vw);
  background-image: radial-gradient(circle, #6ddfff 31%, #fff);
  border-radius: 50%;
  width: 50vw;
  height: 50vw;
  margin-top: -22vw;
  margin-left: -15vw;
  position: absolute;
  inset: 0% auto auto 0%;
}

.ballon2 {
  z-index: 1;
  filter: blur(11vw);
  background-image: radial-gradient(circle, #6ddfff 31%, #fff);
  border-radius: 50%;
  width: 50vw;
  height: 50vw;
  margin-top: -10vw;
  position: absolute;
  inset: auto 0% 0% auto;
}

.image-16 {
  object-fit: cover;
  background-image: url('../images/viande.jpg');
  background-position: 0 0;
  background-size: auto;
  width: 50vw;
  height: 30vw;
}

.lightbox-link {
  background-image: url('../images/viande.jpg');
  background-position: 0 0;
  background-size: cover;
  width: 50vw;
  height: 30vw;
  position: relative;
}

.custom-close-button {
  background-color: red;
  border-radius: 20px;
  width: 5vw;
  height: 2vw;
  position: absolute;
  inset: 0% 0% auto auto;
}

.oui {
  background-color: #000;
}

.oui.w--current {
  background-color: var(--orange);
}

.text-wrapper-project {
  flex-flow: column;
  width: 100%;
  height: 50vw;
  display: flex;
  position: sticky;
  top: 0;
  bottom: 0;
}

.div-block-25 {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  display: flex;
}

.div-block-26 {
  justify-content: flex-start;
  align-items: center;
  width: 40%;
  display: flex;
}

.div-block-27 {
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 33%;
  height: 6vw;
  display: flex;
  overflow: hidden;
}

.div-block-27.numero {
  width: auto;
  position: relative;
  inset: auto;
}

.div-block-28 {
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 27%;
  display: flex;
}

.project-name {
  color: #000;
  white-space: nowrap;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 6vw;
  line-height: 6vw;
}

.project-name.num {
  color: var(--orange);
}

.aide-a-quoi {
  color: #000;
  border: 1px solid #000;
  border-radius: 2vw;
  margin: .2vw;
  padding: .5vw 1vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
}

.projet-1 {
  z-index: 1;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 220vw;
  margin-top: 15vw;
  display: flex;
  position: absolute;
  inset: 0 0% 0%;
}

.img-projects {
  object-fit: cover;
  border-radius: 0;
  width: 45vw;
  height: 30vw;
}

.img-projects.rotee-1 {
  cursor: default;
  transform: rotate(2deg);
}

.img-projects.rotee-2 {
  cursor: default;
  transform: rotate(-2deg);
}

.img-projects.rotee-3 {
  cursor: default;
  transform: translate(0);
}

.img-projects.rotee-4 {
  cursor: default;
  transform: rotate(3deg);
}

.animated-div {
  margin-right: 4vw;
  position: sticky;
  top: 13.5vw;
}

.animated-div.parent-div {
  cursor: none;
  margin-bottom: 5vw;
  margin-right: 7vw;
  display: flex;
  top: 15vw;
  bottom: auto;
}

.projet-2 {
  z-index: 2;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 169vw;
  margin-top: 56vw;
  display: flex;
  position: absolute;
  inset: 0 0% 0%;
}

.projet-3 {
  z-index: 3;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 126.5vw;
  margin-top: 98.5vw;
  display: flex;
  position: absolute;
  inset: 0 0% 0%;
}

.projet-4 {
  z-index: 4;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 82vw;
  margin-top: 143vw;
  display: flex;
  position: absolute;
  inset: 0 0% 0%;
}

.div-block-30 {
  position: absolute;
}

.text-block-23 {
  color: #000;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1vw;
  text-decoration: line-through;
}

.contact {
  z-index: 3;
  background-color: #000;
  justify-content: flex-start;
  align-items: flex-start;
  width: 90%;
  height: 25vw;
  margin-top: -25vw;
  display: flex;
  position: relative;
  overflow: clip;
}

.div-block-31 {
  display: flex;
  position: absolute;
  inset: auto auto 4vw 2vw;
}

.text-block-24 {
  color: #000;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 6vw;
  line-height: 6vw;
}

.appartition-mask-noir {
  z-index: 5;
  background-color: #000;
  width: 100%;
  height: 45vw;
  position: absolute;
  inset: auto 0% 0%;
}

.mask-noir {
  z-index: 98;
  border-bottom-left-radius: var(--border-radius);
  border-top-left-radius: var(--border-radius);
  background-color: #000;
  justify-content: flex-start;
  align-items: center;
  width: 100vw;
  height: 100vh;
  margin-left: 100vw;
  display: flex;
  position: fixed;
  inset: 0%;
  overflow: hidden;
}

.partie-gauche-mask-noir {
  border-bottom-left-radius: var(--border-radius);
  border-top-left-radius: var(--border-radius);
  background-color: #000;
  border: 10px solid #000;
  width: 30%;
  height: 100%;
}

.partie-droite-mask-noir {
  -webkit-text-fill-color: inherit;
  background-color: #000;
  background-clip: border-box;
  border: 10px solid #000;
  width: 75%;
  height: 100%;
}

.div-block-32 {
  justify-content: center;
  align-items: flex-start;
  width: auto;
  height: 100%;
  padding-left: 0;
  display: flex;
  overflow: hidden;
}

.div-block-32-copy {
  justify-content: center;
  align-items: flex-start;
  width: auto;
  height: 100%;
  margin-left: 3vw;
  padding-top: 3vw;
  display: flex;
}

.div-block-32-copy-copy {
  width: 40%;
  height: auto;
  padding-top: 2vw;
  padding-left: 2vw;
}

.image-17 {
  width: 15vw;
  margin-top: 5vw;
}

.text-block-25 {
  color: #fff;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 7vw;
  font-weight: 400;
  line-height: 7vw;
}

.image-18 {
  width: 15vw;
  margin-top: 4vw;
}

.form {
  background-color: #ededed00;
}

.error-message {
  background-color: #ffdede00;
}

.success-message {
  background-color: #ddd0;
}

.input-contact {
  z-index: 2;
  color: #878787;
  background-color: #fff0;
  border: 0 #000;
  width: 100%;
  height: 2.5vw;
  padding: 0 0 2px;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1vw;
  position: relative;
}

.placeholder-input {
  z-index: 1;
  color: #fff;
  margin-top: .5vw;
  margin-left: 0;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1.3vw;
  line-height: 1.5vw;
  transition: all .2s;
  position: absolute;
  inset: 0% auto auto 0%;
}

.input-wrapper {
  border: 1px solid #000;
  border-bottom: 2px solid #fff;
  width: 12vw;
  height: 2.5vw;
  position: relative;
}

.div-block-33 {
  justify-content: flex-start;
  align-items: center;
  margin-top: 2vw;
  display: flex;
}

.input-wrapper-copy {
  border: 1px solid #000;
  border-bottom: 2px solid #fff;
  width: 12vw;
  height: 2.5vw;
  margin-left: 2vw;
  position: relative;
}

.mail-wrapper {
  border: 1px solid #000;
  border-bottom: 2px solid #fff;
  width: 15vw;
  height: 2.5vw;
  position: relative;
}

.div-block-33-copy {
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  display: flex;
}

.textarea {
  color: #fff;
  background-color: #3c2c2c00;
  border-radius: 2vw;
  width: 25vw;
  height: 8vw;
  min-height: 8vw;
  padding: 1vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1vw;
}

.div-block-34 {
  margin-top: 2vw;
  position: relative;
}

.text-block-26 {
  z-index: 10;
  color: #fff;
  background-color: #000;
  margin-top: -.5vw;
  margin-left: 2vw;
  padding-left: .5vw;
  padding-right: .5vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1vw;
  position: absolute;
  inset: 0% auto auto 0%;
}

.submit-button {
  color: #fff;
  background-color: #000;
  border: 2px solid #fff;
  border-radius: 2vw;
  margin-top: 1vw;
  padding: .5vw 1vw;
  font-family: Neuemontreal, Arial, sans-serif;
  font-size: 1vw;
  line-height: 1.5vw;
}

.button-trad-container {
  position: fixed;
  inset: 0% auto auto 0%;
}

.text-block-4-copy {
  color: #000;
  width: 50vw;
  margin-left: 3vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 5vw;
  font-weight: 500;
  line-height: 5vw;
  display: none;
}

.qui-mob {
  z-index: 2;
  background-color: #fff;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: none;
  height: 225vw;
  padding-bottom: 0;
  display: none;
  position: relative;
  overflow: clip;
}

.menu {
  z-index: 100;
  perspective-origin: 100% 0;
  transform-origin: 100% 0;
  background-color: #000;
  border: 5px solid #fff;
  border-radius: 3vw;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 20vw;
  height: 25vw;
  padding: .5vw;
  display: flex;
  position: fixed;
  inset: 6vw 6vw auto auto;
}

.menu-links {
  color: #fff;
  margin-top: .5vw;
  margin-bottom: .5vw;
  margin-left: 0;
  padding-left: 0;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 2vw;
  line-height: 2vw;
  text-decoration: none;
}

.menu-links.projet-mob {
  display: none;
}

.text-block-27 {
  color: var(--orange);
  margin-top: .5vw;
  font-family: Aldotheapache, Arial, sans-serif;
  font-size: 2vw;
  line-height: 2vw;
}

.div-block-35 {
  justify-content: center;
  align-items: center;
  margin-top: 1vw;
  display: flex;
}

.link-block {
  width: 3vw;
  height: 3vw;
  margin-left: .5vw;
  margin-right: .5vw;
}

.image-19 {
  width: 100%;
}

.div-block-36 {
  width: 60%;
  display: flex;
}

.div-block-37 {
  border: 5px solid #fff;
  border-radius: 2vw;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  padding: 1vw 0 0 1vw;
  display: flex;
}

.contact-accueiil-mob {
  border: 2px solid #000;
  border-top-left-radius: 2vw;
  border-bottom-right-radius: 2vw;
  justify-content: center;
  align-items: center;
  width: 15vw;
  height: 3vw;
  margin-top: 1vw;
  margin-left: 3vw;
  text-decoration: none;
  display: none;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 479px) {
  .accueil {
    height: 70vh;
    margin-top: 0;
    overflow: visible;
  }

  .navbar {
    height: 20vh;
    overflow: visible;
  }

  .div-block-2 {
    justify-content: center;
    align-items: center;
    height: 100%;
  }

  .menu-bouton {
    width: 15vw;
    height: 15vw;
    margin-top: 10vw;
    margin-right: 5vw;
  }

  .mid {
    margin-top: 1.5vw;
    margin-bottom: 1.5vw;
  }

  .image {
    width: 15vw;
  }

  .text-block {
    font-size: 4vw;
    line-height: 4vw;
  }

  .div-block-4.anim-div, .bande {
    display: none;
  }

  .text-block-4 {
    width: 80vw;
    display: none;
  }

  .sous-titre {
    text-align: center;
    width: 60vw;
    margin-top: 4vw;
    font-size: 4vw;
    line-height: 4vw;
  }

  .div-block-5, .div-block-5-copy, .div-block-7 {
    justify-content: flex-start;
    align-items: center;
  }

  .contact-accueiil {
    border-width: 1px;
    border-top-left-radius: 3vw;
    border-bottom-right-radius: 3vw;
    width: 40vw;
    height: 8vw;
    margin-top: 5vw;
    display: none;
  }

  .text-block-6 {
    font-size: 5vw;
    line-height: 5vw;
  }

  .text-block-6-copy {
    width: 40vw;
    min-width: 40vw;
    font-size: 5vw;
    line-height: 5vw;
  }

  .image-2 {
    width: 60vw;
    min-width: 60vw;
    margin-top: 10vw;
    margin-bottom: 10vw;
  }

  .div-block-8 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .qui {
    width: 100%;
    display: none;
  }

  .text-block-14-copy {
    text-align: center;
    width: 80vw;
    margin-bottom: 10vw;
    font-size: 9vw;
    line-height: 9vw;
  }

  .avantages {
    margin-top: 10vw;
  }

  .div-block-14 {
    border-radius: 5vw;
  }

  .image-9 {
    width: 8vw;
  }

  .text-block-15 {
    text-align: center;
    font-size: 3.5vw;
    line-height: 3.5vw;
  }

  .text-block-16 {
    width: 90%;
    font-size: 3vw;
    line-height: 3vw;
  }

  .porque {
    width: 100%;
  }

  .swiper-wrapper {
    justify-content: flex-start;
    align-items: center;
    margin-left: 10vw;
  }

  .swiper {
    width: auto;
  }

  .swiper.visible {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 10vw;
    margin-bottom: 10vw;
    overflow: visible;
  }

  .swiper-slide {
    border-style: none;
    width: 80vw;
    min-width: auto;
    height: auto;
    min-height: auto;
  }

  .border-wrapper {
    border-radius: 0;
    width: 35vw;
    min-width: 20vw;
    height: 50vw;
  }

  .div-block-20 {
    text-align: left;
    justify-content: center;
    align-items: center;
    width: 90vw;
  }

  .span--qui {
    margin: 1vw .5vw;
    font-size: 6vw;
    line-height: 6vw;
  }

  .text-block-21 {
    margin-top: 1vw;
    margin-bottom: 1vw;
    font-size: 5vw;
    line-height: 6vw;
  }

  .image-14 {
    height: 5.5vw;
  }

  .text-block-21-copy {
    font-size: 5vw;
    line-height: 5vw;
  }

  .div-block-23 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .div-block-24 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .contact {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: auto;
    margin-top: 0;
  }

  .div-block-32-copy-copy {
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 10vw;
    display: flex;
  }

  .text-block-25 {
    font-size: 10vw;
    line-height: 10vw;
  }

  .image-18 {
    width: 30vw;
  }

  .input-contact {
    height: 5vw;
    padding-bottom: 1vw;
    font-size: 4vw;
    line-height: 5vw;
  }

  .placeholder-input {
    margin-top: -3vw;
    font-size: 6vw;
    line-height: 6vw;
  }

  .input-wrapper {
    width: 30vw;
    height: 5vw;
  }

  .div-block-33 {
    margin-top: 10vw;
  }

  .input-wrapper-copy {
    width: 30vw;
    height: 5vw;
    margin-left: 10vw;
  }

  .mail-wrapper {
    width: 40vw;
    height: 5vw;
  }

  .textarea {
    width: 60vw;
    height: 30vw;
    min-height: 30vw;
    padding: 3vw;
    font-size: 4vw;
    line-height: 4vw;
  }

  .div-block-34 {
    margin-top: 10vw;
  }

  .text-block-26 {
    margin-top: -2vw;
    font-size: 4vw;
    line-height: 4vw;
  }

  .submit-button {
    padding: 2vw;
    font-size: 4vw;
    line-height: 4vw;
  }

  .text-block-4-copy {
    text-align: center;
    flex-flow: wrap;
    width: 70vw;
    font-size: 8vw;
    line-height: 8vw;
    display: block;
  }

  .text-span-9 {
    color: var(--orange);
  }

  .qui-mob {
    width: 100%;
    height: auto;
    padding-bottom: 10vw;
    display: flex;
  }

  .menu {
    border-radius: 5vw;
    width: 50vw;
    height: 70vw;
    padding: 3vw;
    top: 25vw;
    right: 15vw;
  }

  .menu-links {
    margin-top: 1vw;
    margin-bottom: 1vw;
    font-size: 7vw;
    line-height: 7vw;
  }

  .menu-links.projet-mob {
    display: block;
  }

  .menu-links.projet-desk {
    display: none;
  }

  .text-block-27 {
    font-size: 7vw;
    line-height: 7vw;
  }

  .div-block-35 {
    margin-top: 3vw;
  }

  .link-block {
    width: 8vw;
    height: 8vw;
    margin-left: 1.5vw;
    margin-right: 1.5vw;
  }

  .text-block-28 {
    color: #000;
    text-align: center;
    width: 80vw;
    font-family: Aldotheapache, Arial, sans-serif;
    font-size: 10vw;
    line-height: 10vw;
  }

  .image-20 {
    z-index: 1;
    object-fit: cover;
    border-radius: 5vw;
    width: 80vw;
    height: 60vw;
    position: relative;
  }

  .text-block-29 {
    color: var(--orange);
    margin-top: 5vw;
    font-family: Aldotheapache, Arial, sans-serif;
    font-size: 10vw;
    line-height: 10vw;
  }

  .div-block-36 {
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  .slide-link {
    position: relative;
  }

  .text-block-30 {
    z-index: 2;
    color: #000;
    text-align: center;
    background-color: #ffffffa8;
    border-radius: 2vw;
    margin-bottom: 2vw;
    margin-right: 2vw;
    padding: 2vw;
    font-family: Neuemontreal, Arial, sans-serif;
    font-size: 3vw;
    line-height: 3vw;
    position: absolute;
    inset: auto 0% 0% auto;
  }

  .div-block-37 {
    border-width: 3px;
  }

  .contact-accueiil-mob {
    border-width: 1px;
    border-top-left-radius: 3vw;
    border-bottom-right-radius: 3vw;
    width: 40vw;
    height: 8vw;
    margin-top: 5vw;
    display: flex;
  }
}


@font-face {
  font-family: 'Yay Holiday';
  src: url('../fonts/Yay-Holiday.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Aldotheapache';
  src: url('../fonts/AldotheApache.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Neuemontreal';
  src: url('../fonts/NeueMontreal-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Neuemontreal';
  src: url('../fonts/NeueMontreal-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Newpitchscript Personal Use Only';
  src: url('../fonts/NewpitchScript_PERSONAL_USE_ONLY.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Blinkford';
  src: url('../fonts/Blinkford.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Newpitchscript Personal Use Only';
  src: url('../fonts/NewpitchScript_PERSONAL_USE_ONLY.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}