@charset "UTF-8";
/**
 * Font-size calcul
 */
/**
* Trigger hover effect on different pseudo-classes
* depending on touch or no-touch device
* => no-touch > on hover and on focus (by default, can be disable)
* => touch > on active, and when a class is added on the targeted element (optionnal)
*
* @param $focus (boolean) set to false to disable the hover effect on focus (no-touch only)
* @param $touchClass (string) the hover effect will be set if the targeted element has this class
*/
/**
* Set an item to 100% of its parent's width and height
*/
/**
* Set an item to 100% of the window width (and 100% of its parent height)
* even if located in a limited width wrapper
*/
/**
* Set an item to 100% of the window width
* even if located in a limited width wrapper,
* but keep it in the flow
*/
/**
* To call on an <img> tag.
* Set the image size to adapt to its parent
*/
/**
* Like img-cover(), but for responsive img with <picture>
* /!\ To call on <picture>, or <img> parent.
*/
/**
* Floating form items
* if $class2 equals 'empty', the next item is cleared
*/
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/**
Convert em value into px
 */
/**
Fluid font-size between 2 breakpoints.
Font-size must be in px, use em2px() function to convert from em.
*/
/**
Fluid value between 2 breakpoints (can be use for other than font-size)
(Font-size must be in px, use em2px() function to convert from em)
*/
/*
Fluid value - clamp version (2023)
@see https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 */
/**
 * Animated placeholder for images or divs (FB like)
 */
/*** SPECIFIC TO CURRENT PROJECT ***/
/************************************
 * Grids
 */
/************************************
 * Breakpoints
 */
/************************************
 * Transitions
 */
/************************************
 * Paths
 */
/************************************
 * Fonts
 */
/*** LOCAL FONTS ***/
/*** FONTS ***/
/*** VARIABLES TO USE ***/
/************************************
 * Font Sizes
 */
/************************************
 * COLORS
 */
/************************************
 * THEME
 */
/**
 * Font-size calcul
 */
/**
* Trigger hover effect on different pseudo-classes
* depending on touch or no-touch device
* => no-touch > on hover and on focus (by default, can be disable)
* => touch > on active, and when a class is added on the targeted element (optionnal)
*
* @param $focus (boolean) set to false to disable the hover effect on focus (no-touch only)
* @param $touchClass (string) the hover effect will be set if the targeted element has this class
*/
/**
* Set an item to 100% of its parent's width and height
*/
/**
* Set an item to 100% of the window width (and 100% of its parent height)
* even if located in a limited width wrapper
*/
/**
* Set an item to 100% of the window width
* even if located in a limited width wrapper,
* but keep it in the flow
*/
/**
* To call on an <img> tag.
* Set the image size to adapt to its parent
*/
/**
* Like img-cover(), but for responsive img with <picture>
* /!\ To call on <picture>, or <img> parent.
*/
/**
* Floating form items
* if $class2 equals 'empty', the next item is cleared
*/
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/**
Convert em value into px
 */
/**
Fluid font-size between 2 breakpoints.
Font-size must be in px, use em2px() function to convert from em.
*/
/**
Fluid value between 2 breakpoints (can be use for other than font-size)
(Font-size must be in px, use em2px() function to convert from em)
*/
/*
Fluid value - clamp version (2023)
@see https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 */
/**
 * Animated placeholder for images or divs (FB like)
 */
/*** SPECIFIC TO CURRENT PROJECT ***/
/************************************
 * Grids
 */
/************************************
 * Breakpoints
 */
/************************************
 * Transitions
 */
/************************************
 * Paths
 */
/************************************
 * Fonts
 */
/*** LOCAL FONTS ***/
/*** FONTS ***/
/*** VARIABLES TO USE ***/
/************************************
 * Font Sizes
 */
/************************************
 * COLORS
 */
/************************************
 * THEME
 */
/************************************
 * Grids
 */
/************************************
 * Breakpoints
 */
/************************************
 * Transitions
 */
/************************************
 * Paths
 */
/************************************
 * Fonts
 */
/*** LOCAL FONTS ***/
/*** FONTS ***/
/*** VARIABLES TO USE ***/
/************************************
 * Font Sizes
 */
/************************************
 * COLORS
 */
/************************************
 * THEME
 */
.yellow-btn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  right: 0;
  bottom: 0;
  width: clamp(50px, 2.87vw + 21.85px, 77px);
  height: clamp(50px, 2.87vw + 21.85px, 77px);
  -webkit-transform: translate(-38%, 40%);
          transform: translate(-38%, 40%);
  opacity: 0;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.yellow-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 80px;
  background-color: var(--c-main);
  z-index: -1;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.yellow-btn .arrow {
  content: url("../../svg/arrow-blue-small.svg");
}
@media screen and (max-width: 980px) {
  .yellow-btn {
    display: none;
  }
}

.post-teaser-card {
  display: block;
  position: relative;
  padding-inline: clamp(15px, 0.32vw + 11.87px, 18px) 15px;
}
@media screen and (max-width: 980px) {
  .post-teaser-card {
    padding-inline: clamp(5px, 1.65vw + -1.2px, 15px);
  }
}
.post-teaser-card:hover, .post-teaser-card:focus {
  color: var(--c-secondary);
}
.post-teaser-card:hover .yellow-btn, .post-teaser-card:focus .yellow-btn {
  opacity: 1;
}
.post-teaser-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 20px;
  gap: 12px;
}
.post-teaser-card__header .line {
  width: 95px;
  height: 4px;
  background-color: var(--c-main);
}
.post-teaser-card__header .date {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(12px, 0.13vw + 11.51px, 14px);
}
.post-teaser-card__body {
  position: relative;
  line-height: 0;
}
.post-teaser-card__body img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post-teaser-card__footer {
  padding-block: clamp(13px, 0.45vw + 11.3px, 20px);
}
.post-teaser-card__footer .category {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(11px, 0.06vw + 10.76px, 12px);
  color: var(--c-secondary-light);
  text-transform: uppercase;
}
.post-teaser-card__footer .title {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(18px, 0.26vw + 17.03px, 22px);
  line-height: 1.2;
}
.post-teaser-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-height: 0;
  background-color: #F4F4F4;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
  z-index: -1;
}
@media screen and (min-width: 995px) {
  .post-teaser-card:hover:before, .post-teaser-card:focus:before {
    max-height: 100%;
  }
}

/**
 * Font-size calcul
 */
/**
* Trigger hover effect on different pseudo-classes
* depending on touch or no-touch device
* => no-touch > on hover and on focus (by default, can be disable)
* => touch > on active, and when a class is added on the targeted element (optionnal)
*
* @param $focus (boolean) set to false to disable the hover effect on focus (no-touch only)
* @param $touchClass (string) the hover effect will be set if the targeted element has this class
*/
/**
* Set an item to 100% of its parent's width and height
*/
/**
* Set an item to 100% of the window width (and 100% of its parent height)
* even if located in a limited width wrapper
*/
/**
* Set an item to 100% of the window width
* even if located in a limited width wrapper,
* but keep it in the flow
*/
/**
* To call on an <img> tag.
* Set the image size to adapt to its parent
*/
/**
* Like img-cover(), but for responsive img with <picture>
* /!\ To call on <picture>, or <img> parent.
*/
/**
* Floating form items
* if $class2 equals 'empty', the next item is cleared
*/
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/**
Convert em value into px
 */
/**
Fluid font-size between 2 breakpoints.
Font-size must be in px, use em2px() function to convert from em.
*/
/**
Fluid value between 2 breakpoints (can be use for other than font-size)
(Font-size must be in px, use em2px() function to convert from em)
*/
/*
Fluid value - clamp version (2023)
@see https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 */
/**
 * Animated placeholder for images or divs (FB like)
 */
/*** SPECIFIC TO CURRENT PROJECT ***/
/************************************
 * Grids
 */
/************************************
 * Breakpoints
 */
/************************************
 * Transitions
 */
/************************************
 * Paths
 */
/************************************
 * Fonts
 */
/*** LOCAL FONTS ***/
/*** FONTS ***/
/*** VARIABLES TO USE ***/
/************************************
 * Font Sizes
 */
/************************************
 * COLORS
 */
/************************************
 * THEME
 */
.job-offers-teaser {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(13px, 0.14vw + 11.33px, 14px);
  padding-block: 12px;
}
@media screen and (max-width: 980px) {
  .job-offers-teaser {
    padding-right: 10px;
  }
}
.job-offers-teaser:hover, .job-offers-teaser:focus {
  color: var(--c-secondary);
}
.job-offers-teaser:hover .job__link:before, .job-offers-teaser:focus .job__link:before {
  opacity: 1;
}
.job-offers-teaser .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-right: 15px;
}
.job-offers-teaser .right {
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: clamp(10px, 2.78vw + -23.33px, 30px);
  min-width: 115px;
}
@media screen and (max-width: 980px) {
  .job-offers-teaser .right {
    min-width: unset;
  }
}
.job-offers-teaser .date-container {
  min-width: 75px;
  margin-right: 15px;
}
.job-offers-teaser .type-container {
  min-width: 30px;
}
.job-offers-teaser .job__domain, .job-offers-teaser .job__type {
  color: var(--c-secondary-light);
}
.job-offers-teaser .job__type {
  text-align: right;
}
.job-offers-teaser .job__title {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: clamp(15px, 0.42vw + 10px, 18px);
}
.job-offers-teaser .job__link {
  position: relative;
  font-family: "Barlow", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-top: 0;
  white-space: pre;
  padding-inline: 3px;
}
@media screen and (max-width: 980px) {
  .job-offers-teaser .job__link {
    display: none;
  }
}
.job-offers-teaser .job__link:before {
  position: absolute;
  content: "";
  background-color: var(--c-main);
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 5px;
  z-index: -1;
  opacity: 0;
  -webkit-transition: ease-in-out 0.5s;
  transition: ease-in-out 0.5s;
}

.page-template-page-home {
  /************************************
   * Grids
   */
  /************************************
   * Breakpoints
   */
  /************************************
   * Transitions
   */
  /************************************
   * Paths
   */
  /************************************
   * Fonts
   */
  /*** LOCAL FONTS ***/
  /*** FONTS ***/
  /*** VARIABLES TO USE ***/
  /************************************
   * Font Sizes
   */
  /************************************
   * COLORS
   */
  /************************************
   * THEME
   */
  /**
   * Font-size calcul
   */
  /**
  * Trigger hover effect on different pseudo-classes
  * depending on touch or no-touch device
  * => no-touch > on hover and on focus (by default, can be disable)
  * => touch > on active, and when a class is added on the targeted element (optionnal)
  *
  * @param $focus (boolean) set to false to disable the hover effect on focus (no-touch only)
  * @param $touchClass (string) the hover effect will be set if the targeted element has this class
  */
  /**
  * Set an item to 100% of its parent's width and height
  */
  /**
  * Set an item to 100% of the window width (and 100% of its parent height)
  * even if located in a limited width wrapper
  */
  /**
  * Set an item to 100% of the window width
  * even if located in a limited width wrapper,
  * but keep it in the flow
  */
  /**
  * To call on an <img> tag.
  * Set the image size to adapt to its parent
  */
  /**
  * Like img-cover(), but for responsive img with <picture>
  * /!\ To call on <picture>, or <img> parent.
  */
  /**
  * Floating form items
  * if $class2 equals 'empty', the next item is cleared
  */
  /*
  A simple little SCSS mixin for creating scrim gradients
  Inspired by Andreas Larson - https://github.com/larsenwork
  https://css-tricks.com/easing-linear-gradients/
  */
  /**
  Convert em value into px
   */
  /**
  Fluid font-size between 2 breakpoints.
  Font-size must be in px, use em2px() function to convert from em.
  */
  /**
  Fluid value between 2 breakpoints (can be use for other than font-size)
  (Font-size must be in px, use em2px() function to convert from em)
  */
  /*
  Fluid value - clamp version (2023)
  @see https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
   */
  /**
   * Animated placeholder for images or divs (FB like)
   */
  /*** SPECIFIC TO CURRENT PROJECT ***/
}
.page-template-page-home #masthead {
  background-color: transparent;
  z-index: 1;
}
.page-template-page-home #masthead #site-navigation {
  position: absolute;
  margin-left: clamp(150px, 10.64vw + 45.74px, 250px);
}
.page-template-page-home #primary {
  position: relative;
  margin-top: -167px;
  z-index: 0;
}
@media screen and (max-width: 980px) {
  .page-template-page-home #primary {
    margin-top: -122px;
  }
}
.page-template-page-home .header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  height: 572px;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .header {
    height: 364px;
    margin-bottom: 30px;
  }
}
.page-template-page-home .header .page-image-header {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: black;
}
.page-template-page-home .header__content {
  position: absolute;
  bottom: 0;
  margin-bottom: clamp(50px, 0.97vw + 46.36px, 65px);
  margin-inline: clamp(120px, 7.45vw + 47.02px, 190px) clamp(175px, 37.77vw + -195.11px, 530px);
  z-index: 2;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .header__content {
    margin-inline: clamp(20px, 16.53vw + -41.98px, 120px);
  }
}
.page-template-page-home .header__content .page-subtitle {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: clamp(18px, 0.13vw + 17.51px, 20px);
  color: var(--c-main);
  text-transform: uppercase;
  padding-left: 5px;
}
.page-template-page-home .header__content h1 {
  margin-bottom: 15px;
  text-transform: uppercase;
  color: #ffffff;
}
.page-template-page-home .header__content a:not(.category) {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(11px, 0.13vw + 10.51px, 13px);
  letter-spacing: 2.6px;
  text-decoration: none;
}
.page-template-page-home .header__content a:not(.category) .arrow {
  content: url("../../svg/arrow-yellow.svg");
  margin-left: 10px;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.page-template-page-home .header__content a:not(.category):hover, .page-template-page-home .header__content a:not(.category):focus {
  color: var(--c-main);
}
.page-template-page-home .header__content a:not(.category):hover .arrow, .page-template-page-home .header__content a:not(.category):focus .arrow {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}
.page-template-page-home .video-container {
  position: relative;
  width: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container {
    height: 572px;
  }
}
.page-template-page-home .video-container .shape-blue {
  content: url("../../svg/shape-blue.svg");
  position: absolute;
  left: 0;
  bottom: 17%;
  z-index: 1;
  width: clamp(345px, 11.6vw + 231.36px, 454px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container .shape-blue {
    display: none;
  }
}
.page-template-page-home .video-container .shape-transparent {
  content: url("../../svg/shape-transparent.svg");
  position: absolute;
  right: 0;
  bottom: -110px;
  z-index: 1;
  width: clamp(211px, 32.94vw + 87.46px, 720px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container .shape-transparent {
    bottom: -35px;
  }
}
.page-template-page-home .video-container .shape-yellow {
  content: url("../../svg/shape-yellow.svg");
  position: absolute;
  right: 0;
  bottom: -110px;
  z-index: 1;
  width: clamp(125px, 19.74vw + 50.97px, 430px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container .shape-yellow {
    bottom: -35px;
  }
}
.page-template-page-home .video-container video {
  position: absolute;
  width: 100%;
  height: 100dvh;
  -o-object-fit: cover;
     object-fit: cover;
  /* Cacher les contrôles de la vidéo */
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container video {
    height: 572px;
  }
}
.page-template-page-home .video-container video:-webkit-media-controls {
  display: none !important;
}
.page-template-page-home .video-container video:-webkit-media-controls-enclosure {
  display: none !important;
}
.page-template-page-home .video-container video:-webkit-media-controls-panel {
  display: none !important;
}
.page-template-page-home .video-container .header-content {
  position: absolute;
  bottom: 0;
  margin-bottom: clamp(50px, 2.91vw + 39.08px, 95px);
  margin-inline: clamp(120px, 7.98vw + 41.81px, 195px) clamp(175px, 37.77vw + -195.11px, 530px);
  z-index: 2;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .video-container .header-content {
    margin-inline: clamp(20px, 16.53vw + -41.98px, 120px);
  }
}
.page-template-page-home .video-container .header-content h1 {
  color: #ffffff;
  margin-bottom: 20px;
  max-width: 990px;
}
.page-template-page-home .container {
  max-width: 1780px;
  padding-inline: clamp(45px, 10.11vw + -54.04px, 140px) clamp(45px, 3.19vw + 13.72px, 75px);
}
@media screen and (min-width: 1921px) {
  .page-template-page-home .container {
    margin-inline: auto;
  }
}
@media screen and (max-width: 980px) {
  .page-template-page-home .container {
    padding-inline: clamp(10px, 5.79vw + -11.69px, 45px);
  }
}
.page-template-page-home .hp-lame-1 {
  padding-block: clamp(63px, 3.04vw + 51.59px, 110px) clamp(35px, 4.85vw + 16.8px, 110px);
}
.page-template-page-home .hp-lame-1 .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page-template-page-home .hp-lame-1 .row:first-of-type {
  gap: clamp(40px, 5.11vw + -10.04px, 88px);
  margin-bottom: clamp(15px, 7.44vw + -12.91px, 130px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-lame-1 .row:first-of-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type {
  min-width: 52%;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type {
    min-width: 100%;
  }
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type > img {
  margin-bottom: clamp(10px, 1.62vw + 3.93px, 35px);
  width: clamp(404px, 22.55vw + 182.98px, 616px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type > img {
    width: clamp(264px, 58.18vw + 45.82px, 616px);
  }
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type .img-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type .img-container img {
  width: clamp(252px, 5.85vw + 194.66px, 307px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-lame-1 .row:first-of-type .col:first-of-type .img-container img {
    width: clamp(172px, 22.31vw + 88.32px, 307px);
  }
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:last-of-type {
  margin-top: clamp(0px, 4.21vw + -15.78px, 65px);
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:last-of-type > p {
  margin-block: clamp(20px, 2.13vw + -0.85px, 40px);
}
.page-template-page-home .hp-lame-1 .row:first-of-type .col:last-of-type > p, .page-template-page-home .hp-lame-1 .row:first-of-type .col:last-of-type .link-action {
  margin-left: 70px;
}
.page-template-page-home .hp-lame-1 .row:last-of-type {
  gap: clamp(20px, 0.85vw + 11.66px, 28px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-template-page-home .hp-lame-1 .row:last-of-type img {
  min-width: clamp(170px, 35.96vw + -182.38px, 508px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-lame-1 .row:last-of-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page-template-page-home .hp-capabilities {
  position: relative;
  padding-block: clamp(36px, 5.31vw + 16.1px, 118px) clamp(30px, 8.09vw + -0.34px, 155px);
}
.page-template-page-home .hp-capabilities:before {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  background-color: var(--c-secondary);
  z-index: -1;
}
.page-template-page-home .hp-capabilities .shape-transparent {
  content: url("../../svg/shape-transparent.svg");
  position: absolute;
  left: -50%;
  bottom: 0;
  height: 900px;
  opacity: 0.3;
  z-index: -1;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-capabilities .shape-transparent {
    display: none;
  }
}
.page-template-page-home .hp-capabilities h2 {
  margin-bottom: clamp(58px, 2.39vw + 49.02px, 95px);
  color: #ffffff;
  padding-left: clamp(65px, 29.58vw + -290px, 278px);
}
@media screen and (max-width: 1200px) {
  .page-template-page-home .hp-capabilities h2 {
    padding-left: clamp(0px, 7.88vw + -29.55px, 65px);
  }
}
.page-template-page-home .hp-capabilities__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding-inline: clamp(10px, 14.89vw + -45.83px, 240px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-capabilities__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 38px;
  }
}
.page-template-page-home .hp-capabilities__item {
  position: relative;
  max-width: 535px;
}
.page-template-page-home .hp-capabilities__item__header {
  position: relative;
}
.page-template-page-home .hp-capabilities__item__header .img-container {
  width: 100%;
  line-height: 0;
}
.page-template-page-home .hp-capabilities__item__header .img-container img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-template-page-home .hp-capabilities__item__title {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  position: absolute;
  bottom: 0;
  background-color: #ffffff;
  padding-inline: 20px;
  padding-block: 18px;
  font-size: clamp(20px, 1.29vw + 15.15px, 40px);
  color: var(--c-secondary);
}
.page-template-page-home .hp-capabilities__item__body {
  padding-inline: clamp(11px, 1.04vw + 7.12px, 27px) clamp(20px, 1.94vw + 12.72px, 50px);
}
.page-template-page-home .hp-capabilities__item__body > p {
  padding-block: clamp(15px, 0.32vw + 13.79px, 20px) clamp(20px, 0.32vw + 18.79px, 25px);
}
.page-template-page-home .hp-application {
  padding-block: clamp(48px, 3.37vw + 35.38px, 100px) 0;
}
.page-template-page-home .hp-application h2 {
  margin-bottom: clamp(35px, 0.97vw + 31.36px, 50px);
  padding-left: clamp(65px, 29.58vw + -290px, 278px);
}
@media screen and (max-width: 1200px) {
  .page-template-page-home .hp-application h2 {
    padding-left: clamp(0px, 7.88vw + -29.55px, 65px);
  }
}
.page-template-page-home .hp-application ul {
  padding-inline: clamp(0px, 9.06vw + -33.98px, 140px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul {
    padding-inline: 0;
  }
}
.page-template-page-home .hp-application ul li:first-of-type a {
  border-top: 1px solid #D3D3D3;
}
.page-template-page-home .hp-application ul li a {
  border-bottom: 1px solid #D3D3D3;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 26px;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul li a {
    padding-block: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    min-height: 84px;
  }
  .page-template-page-home .hp-application ul li a:hover .number-container, .page-template-page-home .hp-application ul li a:focus .number-container {
    -webkit-transform: translate(0) !important;
            transform: translate(0) !important;
  }
}
.page-template-page-home .hp-application ul li a .left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul li a .left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-block: 5px 0;
    padding-right: 5px;
  }
}
.page-template-page-home .hp-application ul li a .number-container {
  min-width: 50px;
  margin-right: clamp(20px, 28.47vw + -321.67px, 225px);
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.page-template-page-home .hp-application ul li a .number, .page-template-page-home .hp-application ul li a .title {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(23px, 1.81vw + 5.28px, 40px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul li a .number {
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(14px, 1.49vw + 8.42px, 23px);
  }
  .page-template-page-home .hp-application ul li a .title {
    font-size: clamp(19px, 0.06vw + 18.76px, 20px);
  }
}
.page-template-page-home .hp-application ul li a .thumbnail-container {
  opacity: 0;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
  position: absolute;
  bottom: 0;
  right: 10%;
  height: 100%;
  max-height: 0;
  line-height: 0;
  overflow: hidden;
  max-width: 220px;
}
.page-template-page-home .hp-application ul li a .thumbnail-container img {
  height: 100%;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul li a .thumbnail-container {
    position: relative;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    max-height: 100%;
    opacity: 1;
    right: unset;
    margin-right: 15px;
    width: 140px;
    min-width: 140px;
    height: 84px;
    min-height: 84px;
  }
}
.page-template-page-home .hp-application ul li a .arrow {
  content: url("../../svg/arrow-blue.svg");
  margin-left: auto;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
  width: clamp(25px, 1.06vw + 14.57px, 35px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-application ul li a .arrow {
    display: none;
  }
}
.page-template-page-home .hp-application ul li a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  z-index: -1;
  width: 100%;
  max-height: 0;
  background-color: var(--c-main);
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.page-template-page-home .hp-application ul li a:hover, .page-template-page-home .hp-application ul li a:focus {
  color: var(--c-secondary);
}
.page-template-page-home .hp-application ul li a:hover .number-container, .page-template-page-home .hp-application ul li a:focus .number-container {
  -webkit-transform: translateX(clamp(15px, 2.08vw + -10px, 30px));
          transform: translateX(clamp(15px, 2.08vw + -10px, 30px));
}
.page-template-page-home .hp-application ul li a:hover .arrow, .page-template-page-home .hp-application ul li a:focus .arrow {
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}
.page-template-page-home .hp-application ul li a:hover .thumbnail-container, .page-template-page-home .hp-application ul li a:focus .thumbnail-container {
  opacity: 1;
  max-height: 100%;
}
.page-template-page-home .hp-application ul li a:hover:before, .page-template-page-home .hp-application ul li a:focus:before {
  max-height: 100%;
}
.page-template-page-home .hp-state-of-mind {
  position: relative;
  padding-inline: clamp(10px, 26.93vw + -90.97px, 426px);
  padding-block: 225px 193px;
  margin-top: clamp(70px, 15.53vw + 11.75px, 310px);
}
@media screen and (max-width: 1200px) {
  .page-template-page-home .hp-state-of-mind {
    padding-block: 150px 150px;
  }
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-state-of-mind {
    padding-block: 100px 75px;
  }
}
.page-template-page-home .hp-state-of-mind:before {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  background-color: var(--c-main);
  z-index: -1;
}
.page-template-page-home .hp-state-of-mind .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page-template-page-home .hp-state-of-mind .content p {
  text-align: center;
  margin-bottom: 50px;
  font-size: clamp(23px, 1.1vw + 18.87px, 40px);
}
.page-template-page-home .hp-state-of-mind .shape-blue {
  content: url("../../svg/shape-blue.svg");
  position: absolute;
  top: -67.5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 271px;
}
@media screen and (max-width: 1200px) {
  .page-template-page-home .hp-state-of-mind .shape-blue {
    width: 210px;
    top: -52.5px;
  }
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-state-of-mind .shape-blue {
    width: 158px;
    top: -39.5px;
  }
}
.page-template-page-home .hp-career {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: clamp(53px, 6.93vw + 27.03px, 160px);
}
.page-template-page-home .hp-career .container-career {
  max-width: 1780px;
  margin-left: clamp(0px, 5.32vw + -52.13px, 50px);
}
.page-template-page-home .hp-career .container-career .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page-template-page-home .hp-career .container-career .row.first {
  gap: clamp(10px, 11.7vw + -104.68px, 120px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.first {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 25px;
    margin-bottom: 43px;
  }
}
.page-template-page-home .hp-career .container-career .row.first .col:first-of-type {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.page-template-page-home .hp-career .container-career .row.first .col:first-of-type > p {
  margin-block: clamp(20px, 2.13vw + -0.85px, 40px);
}
.page-template-page-home .hp-career .container-career .row.first .col:first-of-type > p, .page-template-page-home .hp-career .container-career .row.first .col:first-of-type .link-action {
  margin-left: 70px;
}
.page-template-page-home .hp-career .container-career .row.first .col:last-of-type {
  width: clamp(450px, 55.11vw + -90.04px, 968px);
  line-height: 0;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.first .col:last-of-type {
    width: 100%;
  }
}
.page-template-page-home .hp-career .container-career .row.first .col:last-of-type img {
  width: 100%;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 105px;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:first-of-type {
    margin-left: 0;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .img-2-container, .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .empty {
  line-height: 0;
  width: clamp(265px, 25.69vw + -43.33px, 450px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .img-2-container, .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .empty {
    width: clamp(236px, 3.09vw + 205.77px, 265px);
  }
}
@media screen and (max-width: 480px) {
  .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .img-2-container, .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .empty {
    width: 100%;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .img-3-container {
  line-height: 0;
  width: clamp(200px, 8.33vw + 100px, 260px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .img-3-container {
    width: clamp(138px, 6.6vw + 73.36px, 200px);
    min-width: 130px;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block {
  width: clamp(200px, 8.33vw + 100px, 260px);
  min-width: 200px;
  background-color: var(--c-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 10px;
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block {
    width: clamp(138px, 6.6vw + 73.36px, 200px);
    min-width: 130px;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block .picto-geo {
  content: url("../../svg/geo.svg");
  width: clamp(20px, 0.53vw + 14.79px, 25px);
  margin-bottom: clamp(10px, 1.39vw + -6.67px, 20px);
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block .address p {
  text-align: center;
  margin: 0;
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block .address p.city {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: clamp(12px, 0.64vw + 5.74px, 18px);
  margin-bottom: 5px;
}
.page-template-page-home .hp-career .container-career .row.second .col:first-of-type .row .address-block .address p.department {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(12px, 0.43vw + 7.83px, 16px);
}
.page-template-page-home .hp-career .container-career .row.second .col:last-of-type {
  width: clamp(450px, 55.11vw + -90.04px, 968px);
  padding-inline: clamp(30px, 5.14vw + -31.67px, 67px);
  padding-top: clamp(30px, 5.69vw + -38.33px, 71px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:last-of-type {
    width: 100%;
    padding-inline: 10px 0;
    padding-top: 0;
    -webkit-transform: translateY(-29px);
            transform: translateY(-29px);
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:last-of-type .job-offers-title {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 25px;
  color: var(--c-secondary);
  margin-bottom: 20px;
}
.page-template-page-home .hp-career .container-career .row.second .col:last-of-type .link-action {
  margin-left: clamp(0px, 5.95vw + -22.33px, 92px);
}
@media screen and (max-width: 980px) {
  .page-template-page-home .hp-career .container-career .row.second .col:last-of-type .link-action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.page-template-page-home .hp-career .container-career .row.second .col:last-of-type .job-offers {
  margin-bottom: clamp(30px, 0.65vw + 27.57px, 40px);
}
.page-template-page-home .hp-career .container-career .row.second .col:last-of-type .job-offers li {
  border-bottom: 1px solid #D3D3D3;
}
.page-template-page-home .hp-news {
  max-width: 1940px;
  margin-inline: auto;
  margin-bottom: clamp(53px, 3.17vw + 41.11px, 102px);
  padding-inline: clamp(18px, 14.04vw + -119.62px, 150px);
}
@media screen and (max-width: 995px) {
  .page-template-page-home .hp-news {
    padding-right: 0;
  }
}
.page-template-page-home .hp-news h2 {
  margin-bottom: clamp(50px, 0.32vw + 48.79px, 55px);
}
.page-template-page-home .hp-news .last-posts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(5px, 1.17vw + -6.47px, 16px);
}
@media screen and (max-width: 995px) {
  .page-template-page-home .hp-news .last-posts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .page-template-page-home .hp-news .last-posts .slick-list {
    padding: 0 15% 0 0 !important;
  }
}
/*# sourceMappingURL=homepage.css.map */
