/*

Theme Name: ARTGO Média Base
Description: Template de base Artgo Média, sans partials.
Author: ARTGO Média
Author URI: http://www.artgomedia.com
Version 1.0

*/

/****************** FONTS *****************/

@font-face {
  font-family: "Roobert";
  font-display: swap;
  src: url(./fonts/Roobert-Regular.woff2) format("woff2"),
    url(./fonts/Roobert-Regular.woff) format("woff");
  font-weight: 400;
}

@font-face {
  font-family: "Roobert";
  font-display: swap;
  src: url(./fonts/Roobert-SemiBold.woff2) format("woff2"),
    url(./fonts/Roobert-SemiBold.woff) format("woff");
  font-weight: 600;
}

@font-face {
  font-family: "Roobert";
  font-display: swap;
  src: url(./fonts/Roobert-Bold.woff2) format("woff2"),
    url(./fonts/Roobert-Bold.woff) format("woff");
  font-weight: 700;
}

/****************** RESET *****************/

* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  scroll-behavior: smooth;
  cursor: none;
}

a,
a:hover {
  text-decoration: none;
}

img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

p,
ul {
  margin: 0;
  padding: 0;
}

.container-fluid {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 1400px) {
  .container {
    width: 1340px;
    max-width: 100%;
  }
}

@media (min-width: 1601px) {
  .container {
    width: 1540px;
    max-width: 100%;
  }
}

/****************** GLOBAL *****************/

:root {
  /* COULEURS */

  --primary-color: #3251ff;
  --secondary-color: #70e18b;
  --dark: #0e202c;
  --red: #ff645f;
  --gray: #f7f7f7;
  --dark-gray: #777;

  /* COLORS FOR LOADER */
  --axtom: #3251ff;
  --ancoris: #ff645f;
  --octalise: #00d6c9;
  --axdev: #bcff61;
  --axess: #804cff;

  /* TAILLES POLICES */

  --font-size-tiny: 12px;
  --font-size-smallest: 13px;
  --font-size-small: 15px;
  --font-size-normal: 17px;
  --font-size-medium: 20px;
  --font-size-xl: 24px;
  --font-size-xxl: clamp(36px, 3.125vw, 60px);

  --font-size-key-number: clamp(40px, 4.167vw, 80px);

  --font-size-h1: clamp(45px, 4.688vw, 90px);
  --font-size-h1-homepage: clamp(36px, 4.688vw, 90px);
  --font-size-h2: clamp(34px, 2.604vw, 50px);
  --font-size-h3: 20px;

  --font-size-menu-first: clamp(20px, 2.083vw, 40px);
  --font-size-menu-right: 15px;

  /* LINE-HEIGHT */

  --line-height: 26px;
  --line-height-medium: 30px;
  --font-size-xxl: clamp(41px, 3.802vw, 73px);

  --line-height-h1: clamp(48px, 4.948vw, 95px);
  --line-height-h1-homepage: clamp(45px, 4.948vw, 95px);
  --line-height-h2: clamp(45px, 2.917vw, 56px);
  --line-height-h3: 30px;

  /* MARGES EXTERNES */

  --margin-bottom-title: 30px;
  --margin-bottom-text: 60px;

  /* MARGES INTERNES */

  --padding-section: 90px;

  /* LOADER */

  --loader-base: 1s;
}

body {
  position: relative;
  -webkit-font-smoothing: subpixel-antialiased;
  font-family: "Roobert", sans-serif !important;
  font-weight: 400;
  font-size: var(--font-size-normal);
  color: var(--dark);
  background-color: #fff;
  overflow-x: hidden;
}

body.menu-open {
  overflow-y: hidden;
}

::-webkit-scrollbar-track {
  border-radius: 10px;
  background-color: var(--gray);
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: var(--dark);
}

::-webkit-scrollbar {
  width: 12px;
  background-color: var(--gray);
}

::-moz-selection {
  color: #fff;
  background: var(--primary-color);
}

::selection {
  color: #fff;
  background: var(--primary-color);
}

/* LOADER */

.loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  height: 100vh;
  width: 100%;
  background-color: var(--dark);
  display: none;
  align-items: center;
  justify-content: center;
  -webkit-animation: animation-fadeout var(--loader-base)
    calc(var(--loader-base) * 4.1) forwards;
  animation: animation-fadeout var(--loader-base) calc(var(--loader-base) * 4.1)
    forwards;
}

.loader__logo {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  -webkit-animation: animation-out var(--loader-base)
    calc(var(--loader-base) * 4) forwards;
  animation: animation-out var(--loader-base) calc(var(--loader-base) * 4)
    forwards;
}

.logo-white {
  fill: #fff;
  opacity: 0;
}

#logo-x {
  fill: var(--axtom);
  width: 100vh;
  height: 100vh;
  -webkit-animation: animation-in var(--loader-base) forwards,
    animation-color calc(var(--loader-base) * 1.5) steps(1, end)
      calc(var(--loader-base) + 1s);
  animation: animation-in var(--loader-base) forwards,
    animation-color calc(var(--loader-base) * 1.5) steps(1, end)
      calc(var(--loader-base) + 1s);
}

#logo-a {
  width: 33px;
  height: 33px;
  transform: translateX(-50px);
  -webkit-animation: animation-left var(--loader-base) var(--loader-base)
    forwards;
  animation: animation-left var(--loader-base) var(--loader-base) forwards;
}

#logo-t {
  width: 21px;
  height: 41px;
  transform: translateX(50px);
  -webkit-animation: animation-right var(--loader-base) var(--loader-base)
    forwards;
  animation: animation-right var(--loader-base) var(--loader-base) forwards;
}

#logo-o {
  width: 33px;
  height: 33px;
  transform: translateX(50px);
  -webkit-animation: animation-right var(--loader-base)
    calc(var(--loader-base) + 0.2s) forwards;
  animation: animation-right var(--loader-base) calc(var(--loader-base) + 0.2s)
    forwards;
}

#logo-m {
  width: 50px;
  height: 33px;
  transform: translateX(50px);
  -webkit-animation: animation-right var(--loader-base)
    calc(var(--loader-base) + 0.3s) forwards;
  animation: animation-right var(--loader-base) calc(var(--loader-base) + 0.3s)
    forwards;
}

@-webkit-keyframes animation-in {
  to {
    width: 33px;
    height: 33px;
  }
}

@keyframes animation-in {
  to {
    width: 33px;
    height: 33px;
  }
}
@-webkit-keyframes animation-left {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes animation-left {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes animation-right {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes animation-right {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes animation-color {
  0% {
    fill: var(--ancoris);
  }
  25% {
    fill: var(--axess);
  }
  50% {
    fill: var(--octalise);
  }
  75% {
    fill: var(--axdev);
  }
  100% {
    fill: var(--primary-color);
  }
}

@keyframes animation-color {
  0% {
    fill: var(--ancoris);
  }
  25% {
    fill: var(--axess);
  }
  50% {
    fill: var(--octalise);
  }
  75% {
    fill: var(--axdev);
  }
  100% {
    fill: var(--primary-color);
  }
}

@-webkit-keyframes animation-out {
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

@keyframes animation-out {
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

@-webkit-keyframes animation-fadeout {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes animation-fadeout {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

main#page-template-lvl2 {
  position: relative;
  max-width: 80%;
  margin: -90px auto 0;
  background-color: #fff;
}

section {
  position: relative;
  padding: var(--padding-section) 0;
  background-color: #fff;
  transition: padding 0.5s;
}

.section-gray {
  background-color: var(--gray);
}

.section-dark {
  background-color: var(--dark);
}

.section-primary-color {
  background-color: var(--primary-color);
}

.section-padding-bot {
  padding-bottom: calc(var(--padding-section) * 2);
}

.section-padding-bot-push {
  padding-bottom: calc(var(--padding-section) * 3);
}

.section-padding-top {
  padding-top: calc(var(--padding-section) * 2);
}

.section-16-9 {
  padding: 0;
}

/* CURSOR */

.axtom__cursor {
  z-index: 9999999;
  width: 25px;
  height: 25px;
  position: fixed;
  pointer-events: none;
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
}

.axtom__cursor polygon {
  fill: #fff;
}

/* HEADINGS */

.hero-banner__video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-banner__video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

@media (min-aspect-ratio: 16/9) {
  .hero-banner__video-wrapper {
    height: 300%;
    top: -100%;
  }
}
@media (max-aspect-ratio: 16/9) {
  .hero-banner__video-wrapper {
    width: 300%;
    left: -100%;
  }
}

.hero-banner__title {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-weight: 700;
  max-width: 700px;
  padding-left: 10%;
}

.hero-banner__title--home {
  max-width: clamp(320px, 62.5vw, 1200px);
  font-size: var(--font-size-h1-homepage);
  line-height: var(--line-height-h1-homepage);
}

.hero-banner--lvl2 .hero-banner__title {
  max-width: none;
  font-size: calc(var(--font-size-h1) * 0.75);
  line-height: calc(var(--line-height-h1) * 0.75);
  padding-left: 0;
}

.axtom-subtitle-h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: 600;
  margin-bottom: var(--margin-bottom-title);
}

.axtom-subtitle-h2--light {
  color: #fff;
}

/* BUTTONS */

.axtom__btn {
  position: relative;
  color: var(--dark);
  padding: 15px 30px;
  font-size: var(--font-size-small);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  display: flex;
  z-index: 0;
}

.axtom__btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 10px;
  opacity: 0;
  background-color: var(--primary-color);
  transition: 0.3s ease-out;
}

.axtom__btn::after {
  content: "";
  position: absolute;
  z-index: 0;
  border: 2px solid var(--primary-color);
  inset: 0;
  opacity: 1;
  transition: 0.3s ease-out;
}

.axtom__btn:hover {
  color: #fff;
}

.axtom__btn:hover::before {
  inset: 0;
  opacity: 1;
}

.axtom__btn:hover::after {
  opacity: 0;
  inset: -10px;
}

.axtom__btn--light {
  color: #fff;
}

.axtom__btn-white {
  position: relative;
  color: #fff;
  padding: 15px 30px;
  font-size: var(--font-size-small);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
}

.axtom__btn-white::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 10px;
  opacity: 0;
  background-color: #fff;
  transition: 0.3s ease-out;
}

.axtom__btn-white::after {
  content: "";
  position: absolute;
  z-index: 0;
  border: 2px solid #fff;
  inset: 0;
  opacity: 1;
  transition: 0.3s ease-out;
}

.axtom__btn-white:hover {
  color: var(--primary-color);
}

.axtom__btn-white:hover::before {
  inset: 0;
  opacity: 1;
}

.axtom__btn-white:hover::after {
  opacity: 0;
  inset: -10px;
}

/* STYLING TEXTS */

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

.content {
  margin-bottom: var(--margin-bottom-text);
}

.content--light {
  color: #fff !important;
}

.content h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: 600;
  margin-bottom: 30px;
}

.content h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  margin-bottom: var(--margin-bottom-title);
  font-weight: 400;
}

.content a {
  color: var(--primary-color);
}

.content a:hover {
  color: var(--primary-color);
  text-decoration: underline;
}

.content ul {
  margin: calc(var(--margin-bottom-title) / 2) 0;
  padding-left: var(--margin-bottom-title);
  list-style: none;
}

.content ul li::before {
  content: "\2022";
  color: var(--primary-color);
  font-weight: 700;
  display: inline-block;
  width: 15px;
}

.section-primary-color .content ul li::before {
  color: #fff;
}

.bloc__push-pages-services__item__inner .content ul li::before {
  color: #fff;
}

/****************** HEADER *****************/

.axtom__contact {
  position: fixed;
  bottom: 0;
  left: -100px;
  width: clamp(50px, 5vw, 100px);
  height: 190px;
  background-color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  color: #fff;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  font-weight: 600;
  z-index: 10;
  transition: 0.3s ease;
  font-size: var(--font-size-small);
}

.axtom__contact.slide {
  left: 0;
}

.axtom__contact:hover {
  color: #fff;
}

.hero-banner {
  position: relative;
  height: 100vh;
  background-size: cover !important;
  display: flex;
  flex-direction: column;
  padding-top: 10%;
  gap: 100px;
}

.hero-banner__background {
  position: absolute;
  inset: 0;
  background-size: cover !important;
  z-index: -1;
}

.hero-banner__background--mobile {
  display: none;
}

.hero-banner__filter {
  background-color: #000;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-banner--lvl1 {
  background-color: var(--dark);
}

.hero-banner--lvl1 .hero-banner__background {
  -webkit-clip-path: polygon(65% 0, 100% 0%, 100% 65%, 30% 100%);
  clip-path: polygon(65% 0, 100% 0%, 100% 65%, 30% 100%);
}

.hero-banner--lvl2 {
  justify-content: center;
  padding-top: 0;
  padding-left: 0;
  height: 70vh;
}

.hero-banner--lvl2 .hero-banner__breadcrumb {
  padding-left: 0;
}

.hero-banner--lvl2 .hero-banner__content {
  padding: 0 10%;
}

.hero-banner__localisation {
  display: flex;
  gap: 10px;
}

.top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding-left: 50px;
  background-color: transparent;
  z-index: 9001;
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}

.top-bar.sticky-up {
  background-color: #fff;
  box-shadow: 0px 20px 30px -7px rgba(0, 0, 0, 0.1);
}

.top-bar__logo {
  width: 150px;
}

.top-bar__menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  margin-right: 25px;
}

.top-bar__menu a {
  color: #fff;
}

.top-bar__menu a:hover {
  text-decoration: underline;
}

.page-template-modele-contact .top-bar__menu a {
  color: var(--dark);
}

.menu-open .top-bar__menu a {
  color: #fff;
}

.top-bar__menu--single a {
  color: var(--dark);
}

.top-bar.sticky-up .top-bar__menu a {
  color: var(--dark);
}

.top-bar.sticky-down {
  opacity: 0;
  visibility: hidden;
}

.top-bar .logo-dark {
  display: none;
}

.top-bar.sticky-up .logo-dark {
  display: block;
}

.top-bar.sticky-up .logo-light {
  display: none;
}

/* BURGER */

.burger-menu,
.filters-mobile-burger {
  position: fixed;
  top: 0;
  right: 0;
  background-color: var(--primary-color);
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  z-index: 9001;
}

.burger-menu__line {
  height: 2px;
  background-color: #fff;
  width: 20px;
  transition: 0.3s ease;
}

.burger-menu.switch .burger-menu__line--1,
.filters-mobile-burger.switch .burger-menu__line--1 {
  transform: rotate(-45deg) translate(-4px, 6px);
  width: 25px;
}

.burger-menu.switch .burger-menu__line--2,
.filters-mobile-burger.switch .burger-menu__line--2 {
  opacity: 0;
}

.burger-menu.switch .burger-menu__line--3,
.filters-mobile-burger.switch .burger-menu__line--3 {
  transform: rotate(45deg) translate(-4px, -6px);
  width: 25px;
}

.hero-banner__content {
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.home__hero-banner__content__text {
  padding: 0 0 0 10%;
}

.hero-banner__content__text {
  margin-bottom: var(--margin-bottom-title);
}

.hero-banner__excerpt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60%;
  height: 270px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 10% 0 10%;
}

.hero-banner__excerpt .content {
  margin: clamp(80px, 4vw, 90px) 0 25px 0;
}

.hero-banner__excerpt .content p {
  color: var(--dark);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
}

/* BREADCRUMB */

.hero-banner__breadcrumb {
  padding-left: 10%;
}

.hero-banner__breadcrumb,
.single-banner__breadcrumb,
.contact-banner__breadcrumb {
  font-size: var(--font-size-tiny);
  margin-bottom: 30px;
}

.hero-banner__breadcrumb a {
  color: #fff;
  opacity: 0.7;
  transition: 0.3s;
}

.hero-banner__breadcrumb a:hover {
  opacity: 1;
}

.single-banner__breadcrumb a {
  color: var(--dark);
}

.contact-banner__breadcrumb a,
.contact-banner__breadcrumb {
  color: #bebebe;
}

/****************** MENU *****************/

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  right: 0;
  bottom: 0;
  z-index: 9000;
  background-position: center !important;
  background-size: cover !important;
  transform: translateX(100%);
  transition: transform 0.85s cubic-bezier(0.645, 0.045, 0.355, 1);
  padding-left: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.menu-overlay.active {
  transform: translateX(0);
}

.menu-overlay__logo {
  max-width: 150px;
  margin-bottom: 5%;
}

.menu-overlay__container {
  display: flex;
  padding-left: 10%;
}

.menu-overlay__left,
.menu-overlay__right {
  width: 50%;
}

.menu-overlay__right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-top: 10%;
}

.menu__desktop__container {
  display: flex;
  height: 100%;
}

#menu-desktop-left {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  height: 100%;
}

.menu__desktop li {
  position: relative;
  font-size: var(--font-size-menu-first);
  color: rgba(255, 255, 255, 0.6);
  transition: 0.3s;
  list-style-type: none;
  display: flex;
  transition: transform 0.3s;
}

#menu-desktop-left li .sub-menu {
  position: absolute;
  left: 100%;
  top: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

#menu-desktop-left li .sub-menu li {
  opacity: 0;
}

#menu-desktop-left li .sub-menu li a {
  font-size: var(--font-size-medium);
  margin-left: 40px;
}

.menu-slide {
  transform: translateX(-105%);
  opacity: 0;
}

#menu-desktop-left li .sub-menu li.menu-slide {
  opacity: 1;
  z-index: 10;
}

#menu-desktop-left li a {
  position: relative;
  font-size: var(--font-size-menu-first);
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.3s;
}

#menu-desktop-left > li > a.current {
  color: #fff;
}

#menu-desktop-left > li > a.current::before {
  content: "";
  background: url(assets/left-arrow.svg) no-repeat;
  background-position: center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  position: absolute;
  left: -60px;
  top: 60%;
  transform: translateY(-60%);
  opacity: 1;
}

#menu-desktop-left > li > a.current::after {
  display: none;
}

#menu-desktop-left > li.current-menu-ancestor::before,
#menu-desktop-left > li.current-menu-item::before {
  content: "";
  background: url(assets/logo-img.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  position: absolute;
  left: -60px;
  top: 60%;
  transform: translateY(-60%);
}

#menu-desktop-left > li.current-menu-ancestor > a,
#menu-desktop-left > li.current-menu-item a {
  color: rgba(255, 255, 255, 1);
}

#menu-desktop-left > li.menu-item-has-children > a::after {
  content: "";
  background: url(assets/right-arrow.svg) no-repeat;
  background-position: center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  position: absolute;
  right: -60px;
  top: 60%;
  transform: translateY(-60%);
  opacity: 0;
}

#menu-desktop-left li a:hover {
  color: rgba(255, 255, 255, 1);
}

#menu-desktop-left > li.menu-item-has-children > a:hover::after {
  opacity: 1;
}

#menu-desktop-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.menu-overlay__right {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}

.menu-overlay__right.active {
  opacity: 0;
  visibility: hidden;
}

#menu-desktop-right li a {
  position: relative;
  font-size: var(--font-size-menu-right);
  color: rgba(255, 255, 255, 0.6);
  transition: 0.3s;
}

#menu-desktop-right li a:hover {
  color: rgba(255, 255, 255, 1);
}

.menu-overlay__right__language-switcher select {
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--font-size-menu-right);
  text-transform: uppercase;
  padding: 0;
  margin-bottom: 20px;
}

.menu-overlay__right__language-switcher select * {
  background-color: var(--dark);
  color: #fff;
}

/* REVEAL ANIM */

.menu__desktop > li > a {
  opacity: 0;
  transform: translateX(50px);
  transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.menu-overlay__right__socials {
  display: flex;
  gap: 30px;
  opacity: 0;
  transform: translateX(50px);
  transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.menu-overlay__right__language-switcher {
  opacity: 0;
  transform: translateX(50px);
  transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.appear {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/****************** INNER PAGE *****************/

/* BLOC TEXT */

.bloc__text {
  padding: 0 10%;
}

/* BLOC TEXT IMG */

.bloc__image-text__image {
  padding: 0;
}

.bloc__image-text__image img {
  height: auto;
  margin: auto;
  padding: 0;
}

.img-cover-container {
  height: clamp(350px, 50vw, 900px);
  background-size: cover !important;
  background-repeat: no-repeat !important;
  z-index: 1;
  -webkit-clip-path: polygon(0px 99%, 100% 99%, 100% 100%, 0% 100%);
  clip-path: polygon(0px 99%, 100% 99%, 100% 100%, 0% 100%);
  transition: -webkit-clip-path 2s ease;
  transition: clip-path 2s ease;
  transition: clip-path 2s ease, -webkit-clip-path 2s ease;
}

.img-cover-container.active {
  -webkit-clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0% 100%);
}

.img-cover-container img {
  display: none;
}

.img-cover {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100% !important;
}

.img-cover--top {
  margin-top: -180px;
}

.img-cover--bottom {
  margin-bottom: -180px;
}

.bloc__image-text__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bloc__image-text__text.order-md-1 {
  padding: 0 10%;
}

.bloc__image-text__text.order-md-2 {
  padding: 0 10%;
}

/* BLOC SLIDER TEXT */

.bloc__slider-text__image {
  position: relative;
  width: 100%;
  height: clamp(250px, 40vw, 450px);
  overflow: unset;
  overflow-x: clip;
}

.bloc__slider-text__image::before {
  position: absolute;
  content: "";
  display: block;
  top: -90px;
  width: 100%;
  height: 90px;
  background-color: #fff;
}

.bloc__slider-text__image__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.bloc__slider-text__image__item img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.bloc__slider-text__controls {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 15px;
  margin-top: 20px;
}

.bloc__slider-text__controls--prev {
  position: relative;
  background: url(assets/left-arrow-dark.svg) no-repeat center;
  width: 50px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
}

.bloc__slider-text__controls--prev::before,
.bloc__slider-text__controls--next::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  transition: 0.6s ease-out;
  background: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
}

.bloc__slider-text__controls--prev:hover::before,
.bloc__slider-text__controls--next:hover::before {
  transform: scale(1);
}

.bloc__slider-text__controls--next {
  position: relative;
  background: url(assets/right-arrow-dark.svg) no-repeat center;
  width: 50px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  margin-left: 15px;
}

.bloc__slider-text__text {
  padding: 0 15% 0 90px;
}

/* BLOC IMAGE */

.bloc__images {
  padding: 0 10%;
}

.bloc__images__slide {
  width: 100%;
}

.bloc__images__slide div {
  position: relative;
}

.bloc__images__slide figure {
  display: flex;
  flex-direction: column;
  position: relative;
}

.bloc__images__slide figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.bloc__images__slide figure figcaption {
  font-size: var(--font-size-smallest);
  min-height: 15px;
  padding: 5px 0;
}

.bloc__images__slide-controls {
  justify-content: end;
  max-width: 900px;
  width: 100%;
  margin: 0 auto 80px;
}

/* BLOC IMAGE 16/9 */

.bloc__image-169 {
  height: clamp(250px, 100vw, 768px);
}

.bloc__image-169 img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* BLOC GALERIE */

.bloc__galerie {
  padding: 0 10%;
}

.bloc__galerie .content {
  font-size: var(--font-size-medium);
}

.bloc__galerie__container {
  width: 100%;
  height: clamp(250px, 50vw, 500px);
  margin-bottom: 30px;
}

.bloc__galerie__item img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.bloc__galerie__item.swiper-slide {
  width: 45%;
  transform: scale(0.8);
}

.bloc__galerie__item.swiper-slide-active {
  transform: scale(1);
  position: relative;
}

.bloc__galerie__controls {
  display: flex;
  align-items: center;
  gap: 15px;
}

.bloc__galerie__controls--prev {
  background: url(assets/left-arrow.svg) no-repeat center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
}

.bloc__galerie__controls--next {
  background: url(assets/right-arrow.svg) no-repeat center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
}

/* BLOC KEY NUMBERS */

.key-number__numbers__item__value {
  color: var(--primary-color);
  font-weight: 700;
  font-size: var(--font-size-key-number);
}

.bloc__key-number__text {
  padding: 0 10%;
}

.bloc__key-number__numbers__item {
  display: flex;
  flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.bloc__key-number__text .content {
  font-size: var(--font-size-medium);
}

/* BLOC FILIALES */
.bloc__filiales__image {
  height: clamp(350px, 50vw, 900px);
}

.bloc__filiales__image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.bloc__filiales__content {
  padding: 0 10%;
}

.bloc__filiales__content__item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 5px 0 15px 0;
  border-bottom: 1px solid #3a505f;
  color: #fff;
  margin-bottom: 20px;
}

.bloc__filiales__content__item__content {
  margin-bottom: 20px;
}

.bloc__filiales__content__item--alt {
  display: flex;
  padding: 5px 0 15px 0;
  gap: 50px;
  border-bottom: 1px solid #3a505f;
  color: #fff;
  margin-bottom: 20px;
}

.bloc__filiales__content__item--alt img {
  height: auto;
  width: 35px;
}

.bloc__filiales__content__item__name {
  font-size: var(--font-size-medium);
  font-weight: 600;
  margin-bottom: 20px;
}

.bloc__filiales__content__item p {
  max-width: 360px;
}

.bloc__filiales__content__item img {
  max-width: 150px;
  margin-bottom: 15px;
}

.bloc__filiales__content__item:hover {
  color: #fff;
}

.bloc__filiales__content__item::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: 40px;
  transition: 0.6s ease-out;
  background-color: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
}

.bloc__filiales__content__item::after {
  content: "";
  background: url(assets/right-arrow.svg) no-repeat center;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: 40px;
  transition-delay: 0.3s;
  transition-property: border-color;
  transition: 0.3s ease-out;
}

.bloc__filiales__content__item:hover::before {
  transform: scale(1);
}

.bloc__filiales__content__item:hover::after {
  border-color: transparent;
}

/* BLOC PUSH MISE EN AVANT */

.bloc__push__image {
  position: absolute;
  z-index: 1;
  right: 0;
  margin-top: -90px;
  height: calc(100% + 270px);
  max-height: 100vh;
  top: -90px;
}

.bloc__push__image.order-md-1 {
  left: 0;
}

.bloc__push__image img {
  height: auto;
}

.bloc__push__content__container {
  display: flex;
  justify-content: flex-end;
  padding: 0;
}

.bloc__push__content {
  position: relative;
  background-color: var(--primary-color);
  max-width: 700px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: clamp(45px, 4.688vw, var(--padding-section));
  margin-top: -180px;
  margin-right: -25%;
  z-index: 2;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.bloc__push__content h2 {
  margin-bottom: 20px;
}

.bloc__push__content--dark {
  background-color: var(--dark);
}

.bloc__push__content__meta {
  font-size: var(--font-size-tiny);
  text-transform: uppercase;
  margin-bottom: 30px;
}

.bloc__push__content__meta p {
  display: flex;
  gap: 10px;
  font-weight: 600;
  margin-top: 10px;
}

.bloc__push__content__meta p img {
  width: 14px;
}

.bloc__push__content__top-line {
  font-weight: 600;
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
}

.bloc__push__content__bottom-line {
  color: #bebebe;
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  margin-bottom: 30px;
}

/* BLOC PUSH PAGES SERVICES */

.bloc__push-pages-services {
  padding: 0 10%;
}

.bloc__push-pages-services__wrapper {
  padding: 0 10%;
}

.bloc__push-pages-services .content {
  max-width: 900px;
}

.bloc__push-pages-services__listing {
  width: 100%;
}

.bloc__push-pages-services__item__inner {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.bloc__push-pages-services__item {
  margin-bottom: 60px;
}

.bloc__push-pages-services__item__img {
  -webkit-animation: animation-clip-path-out 0.3s;
  animation: animation-clip-path-out 0.3s;
  transition: 0.3s;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  max-width: 400px;
  max-height: 400px;
}

.bloc__push-pages-services__item:hover .bloc__push-pages-services__item__img {
  -webkit-animation: animation-clip-path-in 0.3s forwards;
  animation: animation-clip-path-in 0.3s forwards;
  transform: scale(0.9);
}

.bloc__push-pages-services__item__title {
  color: var(--dark);
  font-size: var(--font-size-medium);
}

.bloc__push-pages-services__item__meta {
  font-size: var(--font-size-smallest);
  text-transform: uppercase;
  color: var(--dark-gray);
}

.bloc__push-pages-services__item__meta span {
  color: var(--dark);
}

.bloc__push-pages-services__item__localisation {
  font-size: var(--font-size-smallest);
  color: var(--dark);
  text-transform: uppercase;
  font-weight: 700;
  display: flex;
  gap: 10px;
}

.bloc__push-pages-services__item__inner--service {
  background-color: var(--primary-color);
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bloc__push-pages-services__item__inner--service img {
  width: 65px;
  height: 60px;
}

.bloc__push-pages-services__item__title--service {
  color: #fff;
  font-size: var(--font-size-medium);
  text-align: center;
}

.bloc__push-pages-services__item__inner--service .content {
  font-size: var(--font-size-normal);
  text-align: center;
}

/* BLOC QUOTE */

.bloc__quote {
  padding: 0 10%;
}

.bloc__quote__image {
  display: flex;
  justify-content: center;
  margin-top: -180px;
}

.bloc__quote__image__inner {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.bloc__quote__image__inner img {
  position: relative;
  z-index: 1;
}

.bloc__quote__image__inner > svg {
  position: absolute;
  top: -50px;
  right: -25px;
  z-index: 0;
  width: 100%;
}

.bloc__quote__text {
  margin: auto;
}

.bloc__quote .content {
  font-size: var(--font-size-medium);
  margin-bottom: 20px;
  max-width: 1200px;
}

.bloc__quote__top-line {
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  font-weight: 600;
  color: #000;
}

.bloc__quote__bottom-line {
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  color: var(--dark-gray);
}

/* BLOC TEAM */

.bloc__team {
  padding: 0 10%;
  max-width: 1400px;
}

.bloc__team h2 {
  margin-bottom: 120px;
}

.bloc__team__member {
  margin-bottom: 90px;
}

.bloc__team__member__image {
  display: flex;
}

.bloc__team__member__image.order-md-1 {
  justify-content: flex-start;
}

.bloc__team__member__image.order-md-2 {
  justify-content: flex-end;
}

.bloc__team__member__image__inner {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.bloc__team__member__image__inner img {
  position: relative;
  z-index: 1;
}

.bloc__team__member__image__inner svg {
  position: absolute;
  top: -50px;
  right: -25px;
  z-index: 0;
  width: 100%;
}

.bloc__team__member__top-line {
  text-transform: uppercase;
  font-size: var(--font-size-medium);
  font-weight: 600;
  color: #000;
  margin-bottom: 10px;
}

.bloc__team__member__bottom-line {
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  color: var(--dark-gray);
  margin-bottom: 30px;
}

/* BLOC STEPS */

.bloc__steps {
  padding: 0 10%;
}

.bloc__steps .content {
  font-size: var(--font-size-medium);
}

.bloc__steps__container {
  margin-top: 60px;
}

.bloc__steps__inner {
  position: -webkit-sticky;
  position: sticky;
  top: 25vh;
}

.bloc__steps__step-anchor__step-id {
  font-size: var(--font-size-xl);
  color: #bebebe;
  font-weight: 700;
  transition: all 0.3s ease;
}

.bloc__steps__step-anchor__step-title {
  max-height: 0;
  overflow: hidden;
}

.bloc__steps__step-anchor--active {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
}

.bloc__steps__step-anchor--active .bloc__steps__step-anchor__step-id {
  color: var(--primary-color);
  font-size: var(--font-size-xxl);
}

.bloc__steps__step-anchor--active::after {
  content: "";
  width: 1px;
  background-color: #adadad;
  height: 70px;
  margin-left: 10%;
}

.bloc__steps__step-anchor--active .bloc__steps__step-anchor__step-title {
  max-height: 100%;
  overflow: visible;
  transition: all 0.3s ease;
}

.bloc__steps__step-content {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  gap: 30px;
  margin-bottom: 60px;
}

.bloc__steps__step-content__picto {
  max-width: 35px;
}

.bloc__steps__step-content h2 {
  display: none;
}

.bloc__steps__step-content__title {
  font-size: var(--font-size-medium);
  font-weight: 600;
}

.bloc__steps__step-content .content {
  margin: 0;
  font-size: var(--font-size-normal);
}

/* BLOC VIDEO */

.bloc__video {
  padding: 0 10%;
}

.video-bloc__container {
  margin: auto;
  max-width: 1200px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  position: relative;
}

.video-bloc__button {
  width: 50px;
  height: 50px;
  background: var(--secondary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: 0.3s;
  z-index: 1;
}

.video-bloc__button:hover {
  transform: translate(-50%, -50%) scale(1.5);
}

#video-bloc__popup {
  margin: auto;
  width: 100%;
  z-index: 9999 !important;
}

#video-bloc__popup .modal-dialog {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
}

.modal-backdrop.show {
  z-index: 9998 !important;
  opacity: 0.85 !important;
}

#video-bloc__popup iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  display: block;
}

#video-bloc__popup .modal-body {
  padding: 0;
}

#video-bloc__popup .modal-body button {
  position: absolute;
  width: 50px;
  height: 50px;
  right: -50px;
  background-color: var(--primary-color);
  color: #fff;
  font-size: var(--font-size-h2);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* BLOC PRESSE */

.bloc-press {
  padding: 0 10%;
}

.press__container {
  margin-right: -15%;
  margin-left: -15%;
}

.press__listing {
  width: 100%;
  height: 100%;
}

.press__item {
  background-color: #fff;
  padding: clamp(15px, 4.688vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  color: var(--dark);
  height: 550px !important;
  position: relative;
}

.press__item:hover {
  color: var(--dark);
}

.press__item .axtom__btn {
  text-transform: uppercase;
}

.press__item:hover .axtom__btn {
  background-color: var(--primary-color);
  color: #fff;
  border: 1px solid var(--primary-color);
}

.press__item img {
  height: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.press__item__meta {
  color: var(--dark-gray);
  font-size: var(--font-size-smallest);
  text-transform: uppercase;
}

.slide-progress {
  position: absolute;
  height: 5px;
  width: 0;
  bottom: 0;
  left: 0;
  background-color: var(--secondary-color);
  opacity: 0;
}

.slide-progress--start {
  opacity: 1;
  width: 100%;
  transition: width 4.5s linear;
}

.press__listing__controls {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 30px;
}

.swiper-button-prev-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
}

.swiper-button-prev-custom::before {
  content: "";
  position: absolute;
  inset: -2px;
  transition: 0.6s ease-out;
  background-color: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
}

.swiper-button-prev-custom svg {
  z-index: 1;
  transition: 0.3s;
}

.swiper-button-prev-custom:hover svg g {
  fill: #fff;
}

.swiper-button-prev-custom:hover::before {
  transform: scale(1);
}

.swiper-button-next-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
}

.swiper-button-next-custom::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -2px;
  transition: 0.6s ease-out;
  background-color: var(--primary-color);
  border-radius: 50%;
  transform: scale(0);
}

.swiper-button-next-custom:hover::before {
  transform: scale(1);
}

.swiper-button-next-custom svg {
  z-index: 1;
  transition: 0.3s;
}

.swiper-button-next-custom:hover svg g {
  fill: #fff;
}

.section-dark .swiper-button-prev-custom svg g {
  fill: #fff;
}

.section-dark .swiper-button-next-custom svg g {
  fill: #fff;
}

/* BLOC PARTNERS */

.bloc-partners {
  padding: 0 10%;
}

.bloc-partners .axtom__btn {
  margin: var(--padding-section) auto 0;
}

.photos__container,
.partners__container,
.testimonials__container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 25px;
  grid-row-gap: 60px;
}

.testimonials__item__img-wrapper {
  position: relative;
}

.photos__item__img,
.partners__item__img,
.testimonials__item__img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 215px;
}

.photos__item__title,
.partners__item__title,
.testimonials__item__title {
  font-size: var(--font-size-medium);
  margin-top: 30px;
}

.partners__item__localisation {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 15px;
  font-size: var(--font-size-smallest);
  font-weight: 700;
  text-transform: uppercase;
}

.partners__item__localisation img {
  height: 17px;
}

.testimonials__item__company {
  font-size: var(--font-size-smallest);
  color: var(--dark-gray);
  text-transform: uppercase;
  margin-top: 10px;
}

/* BLOC CLES D ENTREE */

.bloc-keys {
  padding: 0 10%;
}

.bloc-keys__container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 25px;
}

.bloc-keys__item {
  border-bottom: 3px solid var(--primary-color);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  transition: 0.3s;
  flex: 1;
  min-width: 200px;
}

.bloc-keys__item:hover {
  background-color: var(--primary-color);
}

.bloc-keys__item img {
  width: 35px;
  height: 35px;
  margin-bottom: 20px;
}

.bloc-keys__item p {
  color: var(--dark);
  font-size: var(--font-size-medium);
  transition: 0.3s;
}

.bloc-keys__item:hover p {
  color: #fff;
}

.bloc-keys__item:hover img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.bloc-keys__item span {
  position: relative;
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
}

.bloc-keys__item span::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: 40px;
  transition: 0.3s ease-out;
  background-color: #fff;
  border-radius: 50%;
  transform: scale(0);
}

.bloc-keys__item span::after {
  content: "";
  background: url(assets/right-arrow-dark.svg) no-repeat center;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: 40px;
  transition-delay: 0.3s;
  transition-property: border-color;
  transition: 0.3s ease-out;
}

.bloc-keys__item:hover span::before {
  transform: scale(1);
}

.bloc-keys__item:hover span::after {
  border-color: transparent;
}

/* BLOC LISTING REALISATIONS & ACTUALITES */

.no-result {
  text-align: center;
  font-size: var(--font-size-medium);
  display: none;
}

.listing-rea__container,
.listing-news__container {
  padding: 0 10%;
}

.filters form {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.top-bar-filters-mobile {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  z-index: 10000;
}

.filters-mobile-btn {
  display: none;
}

.filters-mobile-results {
  display: none;
}

.filters__select {
  border-bottom: 1px solid var(--dark);
  background-color: #fff;
  padding: 12px 24px 12px 0;
}

.filters__checkboxes {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}

.filters__checkbox__container {
  display: block;
  position: relative;
  padding: 15px 20px 15px 55px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 2px solid #cecece;
  height: 50px;
  display: flex;
  align-items: center;
}

.filters__checkbox__container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.filters__checkbox__checkmark {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 15px;
  height: 20px;
  width: 20px;
}

.filters__checkbox__container input:checked ~ .filters__checkbox__checkmark {
  color: var(--dark);
}

.filters__checkbox__checkmark:after {
  content: "";
  position: absolute;
}

.filters__checkbox__container .filters__checkbox__checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid #cecece;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.filters__checkbox__container
  input:checked
  ~ .filters__checkbox__checkmark:after {
  display: block;
  border: solid var(--dark);
  border-width: 0 2px 2px 0;
}

.filters__reset {
  width: 50px;
  border-radius: 50%;
  color: #fff;
  background-color: var(--secondary-color);
  border: 1px solid var(--secondary-color);
  font-size: var(--font-size-medium);
  font-weight: 700;
  display: none;
  align-items: center;
  justify-content: center;
}

.load-more-button {
  background-color: transparent;
}

.listing-reas,
.listing-news {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 50px;
  column-gap: 50px;
  row-gap: 50px;
  grid-template-rows: auto;
}

.listing-reas article,
.listing-news article {
  display: flex;
  justify-content: center;
  max-width: 400px;
}

.listing-reas__item,
.listing-news__item {
  display: inline-block;
  margin-bottom: calc(var(--padding-section) - 10px);
  width: 100%;
}

.listing-reas__item__inner,
.listing-news__item__inner {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.listing-reas__item__inner > img,
.listing-news__item__inner > img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  max-width: 400px;
  max-height: 400px;
}

.listing-reas__item:not(.listing-push-item) img,
.listing-news__item:not(.listing-push-item) img {
  -webkit-animation: animation-clip-path-out 0.3s forwards;
  animation: animation-clip-path-out 0.3s forwards;
  transition: 0.3s;
  aspect-ratio: 1 / 1;
}

.listing-reas__item:not(.listing-push-item):hover img,
.listing-news__item:not(.listing-push-item):hover img {
  -webkit-animation: animation-clip-path-in 0.3s forwards;
  animation: animation-clip-path-in 0.3s forwards;
  transform: scale(0.9);
}

.listing-reas__item__title,
.listing-news__item__title {
  color: var(--dark);
  font-size: var(--font-size-medium);
  max-width: 400px;
}

.listing-reas__item__meta,
.listing-news__item__meta {
  font-size: var(--font-size-smallest);
  text-transform: uppercase;
  color: var(--dark-gray);
}

.listing-reas__item__meta span {
  color: var(--dark);
}

.listing-reas__item__localisation {
  font-size: var(--font-size-smallest);
  color: var(--dark);
  text-transform: uppercase;
  font-weight: 700;
  display: flex;
  gap: 10px;
}

.listing-push-item {
  gap: 0;
  transition: 0.3s;
}

.listing-push-item:hover {
  transform: scale(0.9);
}

.listing-push-item:hover span {
  color: var(--primary-color);
  background-color: #fff;
  border: 1px solid #fff;
}

.listing-push-item__content {
  height: 100%;
  background-color: var(--primary-color);
  color: #fff;
  padding: 10%;
  margin-top: -30%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.listing-push-item__content .listing-news__item__title,
.listing-push-item__content .listing-reas__item__title {
  color: #fff;
}

.listing-push-item__content span {
  border: 1px solid #fff;
  padding: 15px 30px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  transition: 0.3s;
}

/****************** SINGLE REA *****************/

.single-rea__head {
  padding: 90px 10% 0;
}

.single-rea__head__excerpt {
  display: flex;
  gap: 30px;
  margin-bottom: 75px;
}

.single-rea__head__excerpt .content {
  width: 70%;
  font-size: var(--font-size-medium);
}

.single-rea__head__meta {
  border: 1px solid #ededed;
  border-radius: 6px;
  width: 30%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.single-rea__head__meta__contract p:first-child,
.single-rea__head__meta__associate p:first-child {
  color: var(--dark-gray);
  text-transform: uppercase;
  font-size: var(--font-size-smallest);
}

.single-rea__head__meta__contract p,
.single-rea__head__meta__associate p,
.single-rea__head__meta__contract a,
.single-rea__head__meta__associate a {
  font-size: var(--font-size-small);
}

.single-rea__head__slider {
  margin-bottom: 30px;
  width: 100%;
  height: clamp(250px, 40vw, 600px);
}

.single-rea__head__slider__item img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.single-rea__head__slider-controls {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 80px;
}

.single-rea__head__slider-controls__stats {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  inset: unset;
  font-size: var(--font-size-smallest);
}

.single-rea__head__infos {
  border: 1px solid #ededed;
  border-radius: 6px;
  padding: 45px 90px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 350px;
  gap: 15px;
  margin-bottom: 80px;
}

.single-rea__head__infos p:first-child {
  color: var(--dark-gray);
  text-transform: uppercase;
  font-size: var(--font-size-smallest);
  margin-bottom: 7px;
}

#single-rea__map {
  width: 100%;
  height: 45vh;
  margin-bottom: 50px;
}

/****************** SINGLE *****************/

#single-template .bloc__images {
  margin: 0 0 calc(var(--padding-section) * -1) 0;
}

.single-banner {
  padding-top: 10%;
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  gap: 20px;
}

.single-banner__content {
  padding: 0 10%;
}

.single-banner__title {
  font-size: var(--font-size-xxl);
  line-height: var(--line-height-h1);
  font-weight: 700;
  margin: 20px 0;
}

.single-banner__meta {
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  color: var(--dark-gray);
  margin-bottom: 10px;
}

.single-banner__date {
  text-transform: uppercase;
  font-size: var(--font-size-tiny);
  font-weight: 600;
  color: #000;
}

/****************** MODELE CONTACT *****************/

#contact {
  position: relative;
}

.contact-banner {
  position: relative;
  padding: 0;
}

.contact-banner img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  padding: 0;
}

.contact-banner__filter {
  background-color: #000;
  position: absolute;
  inset: 0;
}

.contact-content {
  padding: 150px 5% var(--padding-section);
  z-index: 1;
}

.contact-content__title {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-weight: 700;
}

.contact__subtitle {
  font-size: var(--font-size-medium);
  font-weight: 600;
  margin-bottom: 20px;
}

.contact__bottom__wrapper {
  position: -webkit-sticky;
  position: sticky;
  top: 25vh;
}

.contact__bottom {
  background-color: #fff;
  padding: 10% 0 10% 25%;
}

.contact__bottom__infos {
  display: flex;
  flex-direction: column;
}

.contact__bottom__infos a {
  color: var(--primary-color);
  font-weight: 600;
  text-decoration: underline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.contact__bottom__infos a:hover {
  color: var(--secondary-color);
}

.contact__form__first-choice .gfield_radio {
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
}

.contact__form__first-choice .gfield_radio .gchoice {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  max-width: 25%;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 3px solid var(--primary-color);
}

#contact-form .contact__form__first-choice .gfield-choice-input + label {
  max-width: 100%;
}

#contact-form .contact__form__first-choice .gfield-choice-input {
  align-self: flex-start;
}

#contact-form .contact__form__first-choice .gfield-choice-input:after {
  width: 70%;
  height: 70%;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: relative;
  content: "";
  display: inline-block;
  visibility: visible;
  background-color: transparent;
}

#contact-form .contact__form__first-choice .gfield-choice-input:checked:after {
  background-color: var(--primary-color);
}

.contact__form__first-choice .gfield_label {
  font-size: var(--font-size-medium) !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
}

.contact__form__first-choice .gfield_label .gfield_required {
  display: none;
}

.contact__form__first-choice .gfield_radio .gchoice label {
  display: flex !important;
  flex-direction: column;
  font-size: var(--font-size-normal) !important;
  gap: 20px;
}

.contact__form__first-choice .gfield_radio .gchoice label:before {
  width: 40px;
  height: 40px;
}

.contact__form__first-choice .gfield_radio .gchoice:nth-child(1) label:before {
  content: url(assets/check.svg);
  width: 40px;
  height: 40px;
}

.contact__form__first-choice .gfield_radio .gchoice:nth-child(2) label:before {
  content: url(assets/pen.svg);
  width: 40px;
  height: 40px;
}

.contact__form__first-choice .gfield_radio .gchoice:nth-child(3) label:before {
  content: url(assets/team.svg);
  width: 40px;
  height: 40px;
}

.contact__form__first-choice .gfield_radio .gchoice input {
  width: 40px;
  height: 40px;
}

#contact-form .gform_wrapper .gfield {
  position: relative;
}

.gform_wrapper.gravity-theme
  .gfield_label:not(.contact__form__first-choice .gfield_label) {
  font-weight: 400 !important;
  margin-bottom: 0 !important;
  opacity: 1;
  position: absolute;
  top: 10px;
  transition: 0.3s;
  color: var(--dark);
}

#contact-form .gfield.axtom-upload label {
  position: relative;
  margin-bottom: 20px !important;
}

#contact-form .button.gform_button_select_files {
  background-color: #fff;
  padding: 15px;
  color: var(--dark);
  border: 1px solid var(--primary-color);
}

.slide-label {
  top: -20px !important;
  color: #bebebe !important;
  font-size: var(--font-size-tiny) !important;
}

.gform_wrapper .gfield_required {
  color: #bebebe !important;
}

.gform_wrapper.gravity-theme .gfield select {
  background: transparent;
}

.gform_wrapper.gravity-theme .gfield input.large::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gfield select.large::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gfield textarea.large::-webkit-input-placeholder {
  opacity: 0;
}

.gform_wrapper.gravity-theme .gfield input.large::-moz-placeholder,
.gform_wrapper.gravity-theme .gfield select.large::-moz-placeholder,
.gform_wrapper.gravity-theme .gfield textarea.large::-moz-placeholder {
  opacity: 0;
}

.gform_wrapper.gravity-theme .gfield input.large:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield select.large:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield textarea.large:-ms-input-placeholder {
  opacity: 0;
}

.gform_wrapper.gravity-theme .gfield input.large::-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield select.large::-ms-input-placeholder,
.gform_wrapper.gravity-theme .gfield textarea.large::-ms-input-placeholder {
  opacity: 0;
}

.gform_wrapper.gravity-theme .gfield input.large::placeholder,
.gform_wrapper.gravity-theme .gfield select.large::placeholder,
.gform_wrapper.gravity-theme .gfield textarea.large::placeholder {
  opacity: 0;
}

.gform_wrapper.gravity-theme .gfield input.large,
.gform_wrapper.gravity-theme .gfield select.large,
.gform_wrapper.gravity-theme .gfield textarea.large {
  border-bottom: 1px solid #dadada;
  padding-left: 0;
  font-size: var(--font-size-normal);
  margin-bottom: 35px;
  outline: none;
}

.gform_wrapper.gravity-theme .gfield input.large:focus,
.gform_wrapper.gravity-theme .gfield select.large:focus,
.gform_wrapper.gravity-theme .gfield textarea.large:focus {
  border-bottom: 1px solid var(--primary-color);
}

.gform_wrapper .gfield_error [aria-invalid="true"] {
  border: none !important;
  border-bottom: 1px solid var(--red) !important;
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  background: none !important;
  border: none !important;
  margin-top: 8px;
  font-size: var(--font-size-tiny) !important;
  color: var(--red) !important;
  padding: 0 !important;
}

.gform_button.button {
  color: var(--dark);
  border: 1px solid var(--primary-color);
  padding: 15px 30px;
  font-size: var(--font-size-small);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  background: none;
}

.gform_button.button:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.gform_confirmation_message {
  font-size: var(--font-size-medium) !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
}

/****************** INTERACTIVE MAP *****************/

#interactive-map {
  padding-left: 10%;
}

#interactive-map .filters {
  margin-bottom: var(--padding-section);
}

.map__container {
  width: 100%;
  height: 75vh;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 12.5vh;
}

.agency__item {
  width: 450px;
  background-color: var(--gray);
  padding: 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 20px;
  border-bottom: 2px solid transparent;
}

.agency__item:hover {
  border-bottom-color: var(--secondary-color);
}

.agency__logo {
  max-width: 100px;
  margin-bottom: 10px;
}

.agency__title {
  font-size: var(--font-size-xl);
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 20px;
}

.agency__adress {
  margin-bottom: 10px;
}

.agency__item a {
  color: var(--primary-color);
  font-size: var(--font-size-smallest);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 15px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.agency__item a:hover {
  text-decoration: underline;
}

#interactive-map .leaflet-popup-content-wrapper {
  background: var(--gray);
  color: var(--font-size-medium);
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
  border-radius: 0;
  max-width: 200px;
}

#interactive-map .leaflet-container a.leaflet-popup-close-button {
  width: 20px;
  height: 20px;
  font-size: var(--font-size-medium);
  color: var(--primary-color);
  font-weight: 400;
}

.agency__popup {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 250px;
  font-family: "Roobert", sans-serif;
}

.agency__popup img {
  max-width: 80px;
}

.agency__popup .agency__title {
  margin: 0;
  padding: 0;
  font-size: var(--font-size-medium);
  padding-bottom: 10px;
}

.agency__popup .agency__adress p {
  margin: 0;
  font-size: var(--font-size-small);
}

.agency__popup a {
  color: var(--primary-color);
  font-size: var(--font-size-smallest);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
}

.agency__popup a:hover {
  text-decoration: underline;
}

/****************** LISTING OFFERS *****************/

.listing-offers {
  padding: 0 10%;
}

.offers__filters fieldset {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 40px;
}

.offers__filters__title {
  font-size: var(--font-size-smallest);
  color: var(--dark-gray);
  text-transform: uppercase;
}

.offers__filters__btn {
  background: none;
  color: var(--primary-color);
  font-size: var(--font-size-small);
  font-weight: 600;
}

.offers__filters__btn:hover {
  color: var(--secondary-color);
}

.offers__filters__btn.mixitup-control-active {
  color: var(--dark);
}

form.active-mobile .offers__filters__btn {
  color: var(--dark);
  border: 2px solid #cecece;
  min-width: 45%;
  padding: 10px;
}

form.active-mobile .offers__filters__btn.mixitup-control-active {
  border-color: var(--secondary-color);
}

.offers__listing {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: clamp(15px, 4.688vw, 90px);
  column-gap: clamp(15px, 4.688vw, 90px);
  row-gap: clamp(15px, 2.344vw, 45px);
  grid-template-rows: auto;
}

.offers__listing__item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  padding: 30px;
  color: var(--dark);
  max-width: 500px;
}

.offers__listing__item:nth-child(2n) {
  top: 90px;
}

.offers__listing__item__arrow {
  position: relative;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  transition: 0.6s ease-out;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  align-self: flex-end;
}

.offers__listing__item svg g {
  transition: 0.3s;
}

.offers__listing__item:hover svg g {
  fill: #fff;
}

.offers__listing__item__arrow::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: flex;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transition: 0.6s ease-out;
  background-color: var(--primary-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.offers__listing__item:hover .offers__listing__item__arrow::before {
  width: 40px;
  height: 40px;
}

.offers__listing__item:hover .offers__listing__item__arrow {
  border-color: transparent;
}

.offers__listing__item:hover {
  color: var(--dark);
}

.offers__listing__item > img {
  max-width: 100px;
  margin-bottom: 20px;
}

.offers__listing__item__title {
  font-size: var(--font-size-medium);
  margin-bottom: 10px;
}

.offers__listing__item__meta {
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
}

.offers__listing__item__meta__localisation,
.offers__listing__item__meta__contract {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: var(--font-size-smallest);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.offers__listing__item__meta__localisation svg,
.offers__listing__item__meta__contract svg {
  width: 12px;
}

.offers__listing__load-more {
  margin: 45px 0;
}

/****************** FOOTER *****************/

footer {
  background-color: var(--dark);
  position: relative;
}

.footer__project {
  height: clamp(600px, 60vw, 900px);
  -webkit-clip-path: polygon(
    60% 0,
    100% 0%,
    100% 20%,
    0 75%,
    0% 100%,
    30% 100%
  );
  clip-path: polygon(60% 0, 100% 0%, 100% 20%, 0 75%, 0% 100%, 30% 100%);
}

.footer__project__content {
  position: absolute;
  top: 90px;
  left: 10%;
  max-width: 350px;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.footer__project__content .content p {
  font-size: var(--font-size-medium);
}

.footer__bottom-bar {
  background-color: #000;
  padding: var(--padding-section) 0;
}

.footer__bottom-bar__inner {
  display: flex;
  min-height: 210px;
  padding: 0 10%;
}

.footer__bottom-bar__adress > *:not(.footer__bottom-bar__logo) {
  padding-left: 20px;
}

.footer__bottom-bar__logo {
  max-width: 150px;
  display: flex;
}

.footer__bottom-bar__logos {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}

.footer__bottom-bar__logos a {
  max-width: 130px;
}

.footer__bottom-bar__menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer__bottom-bar__menu li {
  list-style-type: none;
}

.footer__bottom-bar__menu li a {
  color: #fff;
  opacity: 0.7;
  font-size: var(--font-size-smallest);
}
.footer__bottom-bar__menu li a:hover {
  color: #fff;
  opacity: 1;
  transition: 0.3s;
}

.footer__bottom-bar__adress {
  display: flex;
  flex-direction: column;
  color: #fff;
  font-size: var(--font-size-smallest);
}

.footer__bottom-bar__adress p {
  opacity: 0.7;
}

.footer__bottom-bar__adress a:not(.footer__bottom-bar__logo) {
  color: #fff;
  opacity: 0.7;
}

.footer__bottom-bar__adress a:hover {
  color: #fff;
  opacity: 1;
  transition: 0.3s;
}

.footer__bottom-bar__socials {
  display: flex;
  gap: 35px;
  margin-top: 15px;
}

/****************** ANIMATIONS CSS *****************/

@-webkit-keyframes animation-clip-path-in {
  0% {
    -webkit-clip-path: polygon(
      0 0,
      100% 0,
      100% 50%,
      100% 100%,
      0 100%,
      0% 50%
    );
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 0% 50%);
  }
  100% {
    -webkit-clip-path: polygon(
      18% 0,
      100% 0,
      100% 69%,
      62% 100%,
      0 100%,
      0 56%
    );
    clip-path: polygon(18% 0, 100% 0, 100% 69%, 62% 100%, 0 100%, 0 56%);
  }
}

@keyframes animation-clip-path-in {
  0% {
    -webkit-clip-path: polygon(
      0 0,
      100% 0,
      100% 50%,
      100% 100%,
      0 100%,
      0% 50%
    );
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 0% 50%);
  }
  100% {
    -webkit-clip-path: polygon(
      18% 0,
      100% 0,
      100% 69%,
      62% 100%,
      0 100%,
      0 56%
    );
    clip-path: polygon(18% 0, 100% 0, 100% 69%, 62% 100%, 0 100%, 0 56%);
  }
}

@-webkit-keyframes animation-clip-path-out {
  0% {
    -webkit-clip-path: polygon(
      18% 0,
      100% 0,
      100% 69%,
      62% 100%,
      0 100%,
      0 56%
    );
    clip-path: polygon(18% 0, 100% 0, 100% 69%, 62% 100%, 0 100%, 0 56%);
  }
  100% {
    -webkit-clip-path: polygon(
      0 0,
      100% 0,
      100% 50%,
      100% 100%,
      0 100%,
      0% 50%
    );
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 0% 50%);
  }
}

@keyframes animation-clip-path-out {
  0% {
    -webkit-clip-path: polygon(
      18% 0,
      100% 0,
      100% 69%,
      62% 100%,
      0 100%,
      0 56%
    );
    clip-path: polygon(18% 0, 100% 0, 100% 69%, 62% 100%, 0 100%, 0 56%);
  }
  100% {
    -webkit-clip-path: polygon(
      0 0,
      100% 0,
      100% 50%,
      100% 100%,
      0 100%,
      0% 50%
    );
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 0% 50%);
  }
}

/****************** RESPONSIVE *****************/

@media only screen and (max-width: 1400px) {
  .bloc__filiales__content__item p {
    max-width: 340px;
  }
}
@media only screen and (max-width: 1200px) {
  main#page-template-lvl2 {
    margin: 0;
    max-width: 100%;
  }

  .single-banner {
    padding: 150px 0 0 0;
  }
}

@media only screen and (max-width: 992px) {
  .hero-banner__content {
    justify-content: center;
    height: 80%;
  }

  .hero-banner__excerpt {
    height: fit-content;
    max-height: 40vh;
  }

  .single-banner {
    padding-top: 150px;
  }

  .filters form {
    justify-content: center;
  }

  .bloc__slider-text {
    padding: 0 5%;
  }

  .bloc__slider-text__text {
    padding: 0;
  }

  .bloc__slider-text__image::before {
    display: none;
  }

  .bloc__push-pages-services__wrapper {
    padding: 0 0 0 10%;
  }

  .bloc__push-pages-services__wrapper .axtom__btn {
    width: 90%;
  }

  .bloc__push-pages-services__item.swiper-slide,
  .bloc__push-pages-services__listing article,
  .press__item {
    width: 80%;
  }

  .contact__form__first-choice .gfield_radio {
    flex-direction: column;
    /* align-items: center; */
    gap: 30px;
  }

  .contact__form__first-choice .gfield_radio .gchoice {
    flex-direction: row;
    justify-content: flex-start;
    max-width: 100%;
  }

  .contact__form__first-choice .gfield_radio .gchoice label {
    flex-direction: row;
    align-items: center;
  }

  .gform_button.button {
    width: 100%;
  }

  .listing-reas,
  .listing-news {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 25px;
    column-gap: 25px;
  }

  #interactive-map {
    padding-left: 5%;
  }

  .photos__container,
  .partners__container,
  .testimonials__container {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer__bottom-bar__adress,
  .footer__bottom-bar__logos,
  .footer__bottom-bar__menu {
    margin-bottom: 40px;
  }

  .footer__bottom-bar__menu {
    padding-left: 15px;
  }
}

@media only screen and (max-width: 768px) {
  * {
    cursor: default;
  }

  .axtom__cursor,
  .axtom__cursor svg {
    display: none !important;
  }

  section,
  .section-padding-bot,
  .section-padding-bot-push,
  .section-padding-top,
  .section-padding-top-push {
    padding: calc(var(--padding-section) - 10px) 0;
  }

  .section-push-mobile {
    padding: 0;
  }

  .img-cover--top {
    margin-top: calc((var(--padding-section) - 10px) * -1);
  }

  .img-cover--bottom {
    margin-bottom: calc(var(--padding-section) - 10px);
  }

  .img-cover--unset {
    margin-bottom: calc(var(--padding-section) - 10px);
  }

  .img-cover-container {
    -webkit-clip-path: none;
    clip-path: none;
    background-position: top !important;
  }

  .hero-banner__background {
    background-position: center !important;
  }

  .hero-banner--lvl1 .hero-banner__background {
    z-index: 0;
  }

  .hero-banner__content {
    z-index: 1;
  }

  .hero-banner--lvl2 {
    padding-bottom: 0;
  }

  .hero-banner--lvl2 .hero-banner__content {
    padding: 0 10%;
  }

  .bloc__key-number__numbers {
    padding: 0 10%;
  }

  .bloc__push__content {
    max-width: 100%;
    margin: 0;
    padding: calc(var(--padding-section) - 10px);
  }

  .bloc__push__image {
    position: relative;
    right: unset;
    top: unset;
    margin: 0;
  }

  .bloc__push__image.img-cover-container {
    height: clamp(250px, 50vw, 900px);
  }

  .bloc__quote__image {
    margin-bottom: 60px;
  }

  .bloc__galerie__item.swiper-slide {
    width: 80%;
    transform: scale(1);
    margin-right: 10px;
  }

  .bloc__team {
    padding: 0 10%;
  }

  .bloc__team__member__image {
    margin-bottom: 60px;
  }

  .bloc__team__member__content.order-1 {
    margin-bottom: 60px;
  }

  .bloc__image-text__text.order-1 {
    margin-bottom: 60px;
  }

  .bloc__image-text__image.order-1 {
    margin-bottom: var(--padding-section);
  }

  .bloc__filiales__image.order-1 {
    margin-bottom: 60px;
  }

  .bloc__team__member__image.order-md-1,
  .bloc__team__member__image.order-md-2 {
    justify-content: center;
  }

  .bloc__quote__image {
    margin-top: 0;
  }

  .single-rea__head__excerpt {
    flex-wrap: wrap;
  }

  .single-rea__head__excerpt .content {
    width: 100%;
  }

  .single-rea__head__meta {
    width: 100%;
  }

  .single-rea__head__infos {
    max-height: 100%;
    padding: 10%;
  }

  #interactive-map {
    padding: 0 5%;
  }

  .photos__container,
  .partners__container,
  .testimonials__container {
    grid-template-columns: repeat(2, 1fr);
  }

  .map__container {
    width: 100%;
    height: 50vh;
    margin-bottom: 60px;
  }

  .agency__item {
    width: 100%;
  }

  .contact-banner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50vh;
    width: 100%;
  }

  .contact-content__title {
    color: #fff;
    margin-bottom: 25vh;
  }

  .contact__bottom {
    padding: 5%;
  }

  .contact__bottom__wrapper {
    position: relative;
    top: unset;
    margin-bottom: calc(var(--padding-section) - 10px);
  }
}

@media only screen and (max-width: 576px) {
  .axtom__btn,
  .axtom__btn-white {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .top-bar {
    padding-left: 10%;
    height: 70px;
    right: 70px;
  }
  .top-bar__menu {
    display: none;
  }

  .axtom__contact {
    width: 70px;
    height: 70px;
  }

  .burger-menu,
  .filters-mobile-burger {
    width: 70px;
    height: 70px;
  }

  .hero-banner__video-wrapper {
    display: none;
  }

  .hero-banner__background--mobile {
    display: block;
  }

  .hero-banner--lvl1 .hero-banner__background {
    -webkit-clip-path: polygon(35% 0, 100% 0%, 100% 35%, 0 80%);
    clip-path: polygon(35% 0, 100% 0%, 100% 35%, 0 80%);
  }

  .hero-banner__title--home {
    font-size: 40px;
    line-height: 40px;
  }

  .hero-banner__excerpt {
    width: 100%;
  }

  .hero-banner__content {
    height: 60%;
  }

  .single-banner {
    padding: 100px 5% 0;
  }

  .axtom__contact span {
    display: none;
  }

  .menu-overlay.active {
    padding: 0 10%;
  }

  .menu-overlay__container {
    flex-direction: column;
    height: 100%;
    justify-content: center;
  }

  .menu-overlay__left,
  .menu-overlay__right {
    width: 100%;
  }

  #menu-desktop-left li .sub-menu li a {
    margin-left: 15px;
    font-size: 17px;
  }

  #menu-desktop-left > li.menu-item-has-children > a::after {
    width: 30px;
    height: 30px;
    right: -40px;
  }

  #menu-desktop-left > li > a.current::before {
    width: 30px;
    height: 30px;
    left: -40px;
  }

  .bloc__image-text__text {
    padding: 0 5%;
  }

  .bloc__push__content {
    padding: calc(var(--padding-section) - 10px) 10%;
  }

  .bloc__steps__step-content h2 {
    display: block;
  }

  .bloc__filiales__content__item p {
    max-width: 250px;
  }

  .bloc__push-pages-services__item__img {
    max-height: 280px;
  }

  #video-bloc__popup .modal-body button {
    right: 0;
  }

  .offers__filters {
    margin: 45px;
  }

  .offers__listing {
    grid-template-columns: repeat(1, 1fr);
  }

  .offers__listing__item:nth-child(2n) {
    top: unset;
  }

  .filters form,
  .offers__filters form {
    display: none;
  }

  .offers__filters form.active-mobile,
  .filters form.active-mobile {
    display: flex;
    position: fixed;
    inset: 0;
    background-color: #fff;
    z-index: 9999;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 50% 5%;
  }

  .offers__filters form.active-mobile {
    padding: 150px 5%;
    overflow: scroll;
  }

  .offers__filters form.active-mobile fieldset,
  .filters form.active-mobile fieldset {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
  }

  .offers__filters form.active-mobile fieldset,
  .offers__filters
    form.active-mobile
    select
    .filters
    form.active-mobile
    fieldset,
  .filters form.active-mobile select {
    width: 100%;
  }

  .top-bar-filters-mobile.active {
    display: flex;
    align-items: center;
    font-weight: bold;
    padding-left: 5%;
    background-color: #fff;
  }

  .filters-mobile-btn {
    display: flex;
    margin: auto;
    width: 100%;
    justify-content: center;
  }

  .filters-mobile-results {
    display: flex;
  }

  .filters__reset {
    height: 50px;
  }

  form.active-mobile fieldset {
    flex-direction: row;
  }

  form.active-mobile .offers__filters__title {
    width: 100%;
  }

  #contact-form {
    padding: 0;
  }

  #contact-form .contact__form__first-choice .gfield-choice-input:after {
    width: 70%;
    height: 70%;
  }

  .bloc__quote__image__inner,
  .bloc__team__member__image__inner {
    width: 75%;
  }

  .bloc__quote__image__inner > svg,
  .bloc__team__member__image__inner > svg {
    top: -100px;
  }

  .bloc-keys__item {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .bloc-keys__item p {
    order: 2;
    width: 100%;
  }

  .bloc-keys__item span {
    order: 1;
  }

  .press__container {
    margin-right: 0;
    margin-left: 0;
    padding: 0 0 0 10%;
  }

  .photos__container,
  .partners__container,
  .testimonials__container {
    grid-template-columns: repeat(1, 1fr);
  }

  .listing-reas,
  .listing-news {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 25px;
  }

  .footer__project__content {
    left: 5%;
    right: 5%;
    top: 80px;
  }

  .footer__project__content .axtom__btn {
    align-self: center;
  }

  .footer__project {
    -webkit-clip-path: polygon(0 85%, 100% 65%, 100% 100%, 0% 100%);
    clip-path: polygon(0 85%, 100% 65%, 100% 100%, 0% 100%);
  }

  .footer__bottom-bar__logos {
    padding-left: 12px;
  }

  .footer__bottom-bar__adress > *:not(.footer__bottom-bar__logo),
  .footer__bottom-bar__menu {
    padding-left: 0;
  }
}
