/*!****************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/scss/top-content.scss ***!
  \****************************************************************************************************************************************************************************/
:root {
  --h1-font-size: min(calc(2rem + 1.875vw), 68px);
  --h2-font-size: min(calc(1.15rem + 1.875vw), 40px);
  --h3-font-size: min(calc(1rem + 1.875vw), 35px);
  --font-size-sm: 0.875rem;
  --font-size-lg: 1.25rem;
}

.text-dark-grey {
  color: #494e54;
}

.text-orange {
  color: #ff937d;
}

.text-iron {
  color: #dbdee3;
}

.text-white {
  color: #fff;
}

.text-grey {
  color: #ababab;
}

.text-sm {
  font-size: var(--font-size-sm);
}

.text-lg {
  font-size: var(--font-size-lg);
}

h1, .h1, .fs-1 {
  font-size: var(--h1-font-size);
}

h2, .h2, .fs-2 {
  font-size: var(--h2-font-size);
}

h3, .h3, .fs-3 {
  font-size: var(--h3-font-size);
}

h1, .h1, .fs-1,
h2, .h2, .fs-2,
h3, .h3, .fs-3 {
  line-height: 1.08824;
}
h1.text-lg, .h1.text-lg, .fs-1.text-lg,
h2.text-lg, .h2.text-lg, .fs-2.text-lg,
h3.text-lg, .h3.text-lg, .fs-3.text-lg {
  line-height: var(--bs-body-line-height);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.btn.btn-primary {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: #CDC6C1;
  --bs-btn-color: #0f0f0f;
  --bs-btn-hover-bg: #0f0f0f;
  --bs-btn-hover-border-color: #0f0f0f;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #0f0f0f;
  --bs-btn-active-border-color: #0f0f0f;
  --bs-btn-active-color: #fff;
}
.btn.btn-light {
  --bs-btn-hover-color: #F4F3EA;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: #F4F3EA;
}

#main ul {
  padding: 0;
  margin-bottom: 1rem;
  list-style: none;
}
#main ul li {
  padding: 1rem 0;
}
#main ul li:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.21);
}
#main ul li:first-child {
  padding-top: 0;
}

a.arrow {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration-skip-ink: none;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
}
a.arrow::after {
  content: "";
  display: block;
  width: 0.6875em;
  height: 0.625em;
  background: url(./images/arrow_right.svg) center/contain no-repeat;
}
a.arrow.left {
  flex-direction: row-reverse;
}
.light a.arrow::after {
  filter: invert(1);
}

:root {
  --headder-logo-height: 22px;
  --headder-padding-y: 1.5rem;
  --header-bg-margin: .5rem;
  --submenu-height: 0px;
  --header-bg-height: calc(max(1rem * var(--bs-body-line-height), var(--headder-logo-height)) + var(--headder-padding-y) * 2 + var(--submenu-height));
  --section-margin-bottom: 3.5rem;
  --container-padding-x: max(2vw, .75rem);
  --footer-margin-x: 0px;
  --padding-top: calc(max(1rem * var(--bs-body-line-height), var(--headder-logo-height)) + var(--headder-padding-y) * 2 + var(--header-bg-margin) * 2 + var(--section-margin-bottom));
  --padding-top-normal: var(--padding-top);
}
@media (max-width: 991px) {
  :root {
    --padding-top: calc(max(1rem * var(--bs-body-line-height), var(--headder-logo-height)) + var(--headder-padding-y) * 2 + var(--header-bg-margin) * 2 + var(--section-margin-bottom) / 4);
    --padding-top-normal: 4rem;
    --headder-logo-height: 16px;
    --bs-body-font-size: 14px;
    --font-size-sm: 12px;
    --font-size-lg: 16px;
  }
}

/*@media (max-width: 991px) {
    body {
        letter-spacing: -.01em;
        padding-bottom: calc(2rem + 20px);
        &:not(._top0) {
            --headder-logo-height: 16px;
            --headder-padding-y: 1rem;
        }
    }
}*/
img,
video {
  max-width: 100%;
}

.container {
  padding: 0 var(--container-padding-x);
}

.light {
  color: #F4F3EA;
}
.light a {
  color: #F4F3EA;
}

#main {
  position: relative;
  z-index: 1;
  background-color: var(--bs-body-bg);
}
#main > section {
  margin-bottom: var(--section-margin-bottom);
}
#main > section.sep::before {
  content: "";
  display: block;
  border-top: 1px solid #0f0f0f;
}
#main > section:last-child {
  margin-bottom: 0;
}

#section_top:not(.section_top_homepage),
.next_projet {
  --height: 60svh;
  position: relative;
  overflow: hidden;
  z-index: 6;
  background-color: #fff;
}
@media (min-width: 992px) {
  #section_top:not(.section_top_homepage),
  .next_projet {
    --height: calc(100svh - 2rem - 2rem - 20px - 1.5rem - 1.5rem);
  }
}
#section_top:not(.section_top_homepage) > .inner,
.next_projet > .inner {
  display: flex;
  flex-direction: column;
  min-height: var(--height);
  position: relative;
}
#section_top:not(.section_top_homepage) .container,
.next_projet .container {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: var(--padding-top);
  padding-bottom: var(--section-margin-bottom);
}
@media (min-width: 992px) {
  #section_top:not(.section_top_homepage) .container,
  .next_projet .container {
    justify-content: space-between;
    padding-bottom: calc(var(--section-margin-bottom) * 2);
  }
}
@media (min-width: 992px) {
  #section_top:not(.section_top_homepage) .container .text-lg,
  .next_projet .container .text-lg {
    font-size: 1.5rem;
    text-indent: 33%;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1200px) {
  #section_top:not(.section_top_homepage) .container .text-lg,
  .next_projet .container .text-lg {
    font-size: 1.875rem;
    margin-bottom: 3rem;
  }
}
#section_top:not(.section_top_homepage) .bg,
.next_projet .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#section_top:not(.section_top_homepage) .bg img,
#section_top:not(.section_top_homepage) .bg video,
.next_projet .bg img,
.next_projet .bg video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#section_top:not(.section_top_homepage) h1,
.next_projet h1 {
  font-weight: normal;
  line-height: 1.08824;
}
#section_top:not(.section_top_homepage) h1 > div > div,
.next_projet h1 > div > div {
  top: -0.08em;
}
@media (min-width: 992px) {
  #section_top:not(.section_top_homepage) h1,
  .next_projet h1 {
    font-size: 4rem;
  }
}
@media (min-width: 1200px) {
  #section_top:not(.section_top_homepage) h1,
  .next_projet h1 {
    font-size: 5rem;
  }
}
#section_top:not(.section_top_homepage) h1,
#section_top:not(.section_top_homepage) .content,
.next_projet h1,
.next_projet .content {
  opacity: 0.01;
}

._upload_doc {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.75em;
  padding-left: 0;
}
._upload_doc.hover {
  text-decoration: none;
}

.upload_zone {
  padding-left: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.upload_zone .document {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.upload_zone .document a {
  color: #dc3545 !important;
  text-decoration: none;
  line-height: 1;
  font-size: 1.125rem;
}

.section_dark {
  position: relative;
  z-index: 6;
  background: #0f0f0f;
  color: #F4F3EA;
}

#btn_showreel_backdrop {
  position: fixed;
  z-index: 9;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.84);
  opacity: 0;
  transition: opacity 0.35s ease;
}

#btn_showreel {
  position: fixed;
  z-index: 10;
  right: 0;
  bottom: 0;
  width: calc(190px + var(--container-padding-x));
  height: calc(57px + var(--container-padding-x));
  transition: 0.35s ease;
}
#btn_showreel ._show {
  --bs-btn-bg: #fff;
  --bs-btn-border-color: rgba(15, 15, 15, 0.13);
  --bs-btn-hover-bg: #0f0f0f;
  --bs-btn-hover: #0f0f0f;
  position: relative;
  padding-right: 0.8125rem;
}
#btn_showreel ._show svg {
  transition: 0.15s ease-in-out;
}
#btn_showreel ._show svg circle {
  fill: #0f0f0f;
}
#btn_showreel ._show svg path {
  fill: #fff;
}
#btn_showreel ._show:hover svg {
  filter: invert(1);
}
#btn_showreel > .close {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
}
#btn_showreel .player {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: 0.35s ease;
}
#btn_showreel .player .close {
  position: absolute;
  z-index: 1;
  top: 0.5rem;
  right: 0.5rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.442%22%20height%3D%2211.442%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M11.251.191a.65.65%200%200%201%200%20.922L6.643%205.721l4.608%204.608a.65.65%200%200%201%200%20.922.65.65%200%200%201-.922%200L5.721%206.643l-4.608%204.608a.65.65%200%200%201-.922%200%20.65.65%200%200%201%200-.922l4.608-4.608L.191%201.113a.65.65%200%200%201%200-.922.65.65%200%200%201%20.922%200l4.608%204.608L10.329.191a.65.65%200%200%201%20.922%200z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") center no-repeat;
}
@media (min-width: 992px) {
  #btn_showreel .player .close {
    top: 1rem;
    right: 1rem;
  }
}
#btn_showreel .player .video {
  position: relative;
  padding-top: 56.25%;
  border-radius: 6px;
  background: #0f0f0f;
  overflow: hidden;
}
#btn_showreel .player .video > * {
  position: absolute;
  top: 0;
  left: 0;
}
#btn_showreel._active {
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px);
}
#btn_showreel._active > .close {
  display: block;
}
#btn_showreel._active ._show {
  opacity: 0;
}
#btn_showreel._active .player {
  width: 95%;
  border: 2px solid #fff;
}
@media (min-width: 992px) {
  #btn_showreel._active .player {
    width: 75%;
    border-width: 1rem;
  }
}
#btn_showreel._active + #btn_showreel_backdrop {
  opacity: 1;
}

#header_bg {
  --bg: #fff;
  position: fixed;
  z-index: 5;
  top: var(--header-bg-margin);
  left: var(--header-bg-margin);
  right: var(--header-bg-margin);
  height: 0;
  border-radius: var(--header-bg-margin);
  background: var(--bg);
  transition: all 0.2s ease, filter 0.35s ease;
}

#header_hover_bg {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  backdrop-filter: blur(11px);
  opacity: 0;
  transition: 0.2s ease;
}

body._menuHover #header_bg,
body._menuHover #header_hover_bg {
  z-index: 9;
}
body._menuHover #header_bg {
  border-radius: var(--header-bg-margin);
  height: calc(max(1rem * var(--bs-body-line-height), var(--headder-logo-height)) + var(--headder-padding-y) * 2 + var(--submenu-height));
}
body._menuHover #header_hover_bg {
  opacity: 1;
  pointer-events: all;
}
body._menuHover #header #main_menu {
  overflow: unset;
}
body._menuHover #header #main_menu .menu_toggle {
  display: none;
}

#header {
  padding: 0.75rem 0 0;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.5s cubic-bezier(0.6, 0.05, 0.43, 1.02);
}
@media (min-width: 992px) {
  #header {
    padding: calc(var(--headder-padding-y) + var(--header-bg-margin)) 0;
  }
}
#header > .container {
  display: flex;
  align-items: center;
}
#header .logo img {
  display: block;
  max-height: var(--headder-logo-height);
  transition: 0.2s ease;
}
#header #main_menu {
  margin-left: auto;
  position: relative;
  overflow: hidden;
}
#header #main_menu > ul {
  list-style: none;
  display: none;
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 0;
  padding-left: 0;
  font-size: 1rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  #header #main_menu > ul {
    display: flex;
  }
}
#header #main_menu > ul a {
  text-decoration: none;
  text-decoration-skip-ink: none;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
}
#header #main_menu > ul a:hover, #header #main_menu > ul a._selected {
  text-decoration: underline;
}
#header #main_menu > ul > li:last-child {
  margin-left: 11vw;
}
#header #main_menu > ul > li:last-child a {
  text-decoration: underline;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
#header #main_menu > ul > li:last-child a:hover {
  text-decoration: none;
}
#header #main_menu > ul > li:last-child a::after {
  content: "";
  display: block;
  width: 0.6875em;
  height: 0.625em;
  background: url(./images/arrow_right.svg) center/contain no-repeat;
}
#header #main_menu > ul > li.hassubmenu {
  position: relative;
}
#header #main_menu > ul > li.hassubmenu > a {
  position: relative;
  z-index: 1;
}
#header #main_menu > ul > li.hassubmenu .submenu {
  position: absolute;
  top: 100%;
  left: -1rem;
  min-width: calc(100% + 2rem);
  opacity: 0;
  transform: translateY(-50%);
  transition: 0.2s ease;
  pointer-events: none;
}
#header #main_menu > ul > li.hassubmenu .submenu ul {
  list-style: none;
  margin-bottom: 0;
  padding: 2rem 1rem 1rem;
  white-space: nowrap;
}
#header #main_menu > ul > li.hassubmenu .submenu ul li {
  padding: 1rem 0;
  font-size: 2rem;
  font-weight: normal;
}
#header #main_menu > ul > li.hassubmenu .submenu ul li a {
  opacity: 0.5;
}
#header #main_menu > ul > li.hassubmenu .submenu ul li a:hover, #header #main_menu > ul > li.hassubmenu .submenu ul li a._selected {
  text-decoration: none;
  opacity: 1;
}
#header #main_menu > ul > li.hassubmenu:hover > a {
  text-decoration: underline;
}
#header #main_menu > ul > li.hassubmenu:hover .submenu {
  opacity: 1;
  transform: none;
  pointer-events: all;
}
#header #main_menu .menu_toggle {
  right: 0;
  top: 0;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  #header #main_menu .menu_toggle {
    position: absolute;
    transform: translateY(100%);
  }
}
#header #main_menu .menu_toggle > span:nth-child(2) {
  display: none;
}
#header #main_menu .menu_toggle > span:last-child {
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  transition: transform 0.25s ease;
}

body._miniMenu #header {
  padding-top: 0.75rem;
  padding-bottom: 0;
}

body.menu-light._top #header:not(._open) > .container,
body.menu-light._darkHover #header:not(._open) > .container,
body._miniMenu._bigMenuOpen #header:not(._open) > .container {
  filter: invert(1);
}
body.menu-light._top #header_bg,
body.menu-light._darkHover #header_bg,
body._miniMenu._bigMenuOpen #header_bg {
  filter: invert(0.94117);
}

body._miniMenu._bigMenuOpen #header #main_menu .menu_toggle > span:nth-child(1) {
  display: none;
}
body._miniMenu._bigMenuOpen #header #main_menu .menu_toggle > span:nth-child(2) {
  display: inline;
}
body._miniMenu._bigMenuOpen #header #main_menu .menu_toggle > span:last-child {
  transform: rotate(45deg);
}

@media (max-width: 991px) {
  body._bigMenuOpen #header #main_menu .menu_toggle > span:nth-child(1) {
    display: none;
  }
  body._bigMenuOpen #header #main_menu .menu_toggle > span:nth-child(2) {
    display: inline;
  }
  body._bigMenuOpen #header #main_menu .menu_toggle > span:last-child {
    transform: rotate(45deg);
  }
  body._bigMenuOpen #header:not(._open) > .container {
    filter: invert(1);
  }
  body._bigMenuOpen #header_bg {
    filter: invert(0.94117);
  }
}
#big_menu {
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100%;
  background: #0f0f0f;
  overflow: hidden;
  padding-top: calc(var(--headder-logo-height) + var(--headder-padding-y) * 2);
  color: #F4F3EA;
  display: flex;
  flex-direction: column;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  transition: clip-path 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
._miniMenu._bigMenuOpen #big_menu {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (max-width: 991px) {
  #big_menu {
    flex-direction: row;
  }
  ._bigMenuOpen #big_menu {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
#big_menu > div {
  display: flex;
  gap: 17vw;
}
#big_menu > div .img {
  flex: 1;
  position: relative;
  overflow: hidden;
}
@media (max-width: 991px) {
  #big_menu > div .img {
    display: none;
  }
}
#big_menu > div .img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#big_menu > div .menu {
  flex: 1;
}
@media (max-width: 991px) {
  #big_menu > div .menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 2rem;
  }
}
#big_menu > div .menu ul {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
  font-size: min(var(--h1-font-size), 5vh);
  font-weight: normal;
}
#big_menu > div .menu ul a {
  position: relative;
  text-decoration: none;
  color: #F4F3EA;
}
#big_menu > div .menu ul a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: currentColor;
  transition: 0.25s ease;
}
#big_menu > div .menu ul a:hover::before, #big_menu > div .menu ul a._selected::before {
  width: 100%;
}
#big_menu > div .menu ul > li.hassubmenu .submenu ul {
  padding: 0 0 0 2rem;
}
#big_menu > div .menu ul > li.hassubmenu .submenu ul li {
  font-size: calc(var(--h1-font-size) / 2);
}
#big_menu > div .menu .footer {
  margin-top: 5vh;
  opacity: 0.6;
}
#big_menu > div .menu .footer a {
  color: #F4F3EA;
  text-decoration: none;
}
#big_menu > div .menu .footer a:hover {
  text-decoration: underline;
}
#big_menu > div > ul > li:last-child {
  margin-top: 2vh;
}
#big_menu > div > ul > li:last-child a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
#big_menu > div > ul > li:last-child a::after {
  content: "";
  display: block;
  width: 0.6875em;
  height: 0.625em;
  background: url(./images/arrow_right.svg) center/contain no-repeat;
  filter: invert(0.94117);
}

.template-home #loader {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #0f0f0f;
  display: flex;
  align-items: center;
  justify-content: center;
}

body {
  font-family: Arial, Helvetica, sans-serif;
}

/*# sourceMappingURL=top-content.css.map*/