@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
 */
/************************************
 * 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 ***/
.share-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: clamp(30px, 4.21vw + 14.22px, 95px);
}
.share-container__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2;
}
.share-container__title {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--c-secondary);
  font-size: clamp(14px, 0.66vw + 11.52px, 18px);
  margin-right: 14px;
}
.share-container .a2a_kit {
  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;
}
.share-container .a2a_kit a {
  position: relative;
  width: 100%;
  height: 22px;
  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;
  margin-inline: clamp(8px, 0.26vw + 7.03px, 12px);
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.share-container .a2a_kit a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  border-radius: 50%;
  background-color: var(--c-main);
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
  z-index: -1;
  opacity: 0;
  padding: 15px;
}
.share-container .a2a_kit a:hover, .share-container .a2a_kit a:focus {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.share-container .a2a_kit a:hover:before, .share-container .a2a_kit a:focus:before {
  opacity: 1;
}
.share-container .a2a_kit .share-picto {
  height: 20px;
}
.share-container .a2a_kit .share-facebook {
  content: url("../../svg/facebook.svg");
}
.share-container .a2a_kit .share-twitter {
  content: url("../../svg/x-twitter.svg");
}
.share-container .a2a_kit .share-linkedin {
  content: url("../../svg/linkedin.svg");
}
.share-container hr {
  width: 100%;
  border: 1px solid #CBCBCB;
  margin-bottom: 70px;
}

/************************************
 * 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 ***/
/**
 * 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
 */
form [type=file] {
  display: none;
  max-width: 100% !important;
}
form #lm-title, form #cv-title {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  color: var(--c-secondary);
  padding-right: 10px;
}
form .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(10px, 1.39vw + -6.67px, 20px);
}
@media screen and (max-width: 1200px) {
  form .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
form .row .form-item {
  margin-block: 10px;
}
form .info {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  color: var(--c-secondary);
  margin-top: 5px;
}
form .form-item {
  margin-block: 20px;
}
form .form-item#subject-field {
  margin-bottom: 30px;
}
form .form-item.file .input-container {
  border: 1px solid var(--c-secondary);
  border-radius: 5px;
  padding-inline: 10px;
  height: 50px;
  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;
}
form .form-item.file label {
  font-family: Helvetica, sans-serif;
  color: #000000;
  margin-bottom: 0;
  border-radius: 5px;
  background-color: #EFEFEF;
  font-size: 17px;
  font-weight: 400;
  border: 1px solid #747474;
  height: 35px;
  width: 169px;
  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;
  cursor: pointer;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
form .form-item.file label:hover, form .form-item.file label:focus {
  background-color: #cecece;
}
form label:not(.checkbox-label, .file) {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: var(--c-secondary-light);
  font-size: clamp(13px, 0.13vw + 12.51px, 15px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #F8F8F8;
  padding: 2px 15px;
  -webkit-transform: translate(8px, 13px);
          transform: translate(8px, 13px);
  z-index: 1;
  display: block;
  position: absolute;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
form label:not(.checkbox-label, .file).highlight {
  -webkit-transform: translate(8px, -12px);
          transform: translate(8px, -12px);
}
form label.subject {
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
  padding-left: 0;
}
form label.file,
form .label,
form select,
form select > option {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: var(--c-secondary-light);
  font-size: clamp(13px, 0.13vw + 12.51px, 15px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form select {
  height: 50px;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form select,
form textarea {
  border: 1px solid var(--c-secondary);
  border-radius: 5px;
  padding-left: 23px;
  background-color: transparent;
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
form select {
  width: calc(50% - clamp(5px, 0.32vw + 3.79px, 10px));
}
@media screen and (max-width: 1200px) {
  form select {
    width: 100%;
  }
}
form .checkbox-label {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--c-secondary);
  font-size: 15px;
  position: relative;
  padding-left: 15px; /* Espace pour la case à cocher */
  cursor: pointer;
}
form .checkbox-label input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
form .checkbox-label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 1px solid var(--c-secondary);
  border-radius: 4px;
  background-color: transparent;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
form .checkbox-label.checked:before {
  background-color: var(--c-secondary);
  border-color: var(--c-secondary);
}
form .checkbox-label.acceptance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
form .form-footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
form .form-footer input[type=submit] {
  margin-left: auto;
  color: var(--c-secondary);
}
form .form-footer .mandatory {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(12px, 0.13vw + 11.51px, 14px);
  color: var(--c-secondary);
}

.apply-container {
  margin-block: clamp(30px, 2.59vw + 20.29px, 70px) clamp(30px, 5.83vw + 8.16px, 120px);
  max-width: 1640px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 980px) {
  .apply-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.apply-container__left {
  position: relative;
  background-color: var(--c-main);
  width: 33.6%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 980px) {
  .apply-container__left {
    width: 100%;
  }
}
.apply-container__left .content {
  padding: clamp(35px, 3.72vw + -1.49px, 70px);
}
.apply-container__left .content .expiration {
  padding-top: 35px;
}
.apply-container__left .content .expiration span:first-of-type {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  color: var(--c-secondary-light);
  text-transform: uppercase;
}
.apply-container__left .content .expiration span:last-of-type {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(16px, 0.13vw + 15.51px, 18px);
}
.apply-container__left .text-oswald-bold {
  font-size: clamp(22px, 0.84vw + 18.84px, 35px);
}
.apply-container__left .text-barlow-regular {
  font-size: clamp(18px, 0.65vw + 15.57px, 28px);
}
.apply-container__left .shape-blue {
  content: url("../../svg/shape-blue.svg");
  position: relative;
  bottom: 0;
  width: 100%;
  margin-top: auto;
}
.apply-container__right {
  background-color: #F8F8F8;
  width: 66.3%;
  padding-block: clamp(30px, 5.85vw + -27.34px, 85px) clamp(30px, 3.72vw + -6.49px, 65px);
  padding-inline: clamp(15px, 12.77vw + -110.11px, 135px);
}
@media screen and (max-width: 980px) {
  .apply-container__right {
    width: 100%;
  }
}

.single-job_offers #masthead {
  overflow: hidden;
}
.single-job_offers .article-job-offer__top {
  margin-top: clamp(60px, 0.65vw + 57.57px, 70px);
}
.single-job_offers .article-job-offer__top .content {
  max-width: 1478px;
  padding-inline: 195px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .single-job_offers .article-job-offer__top .content {
    padding-inline: clamp(10px, 4.85vw + -8.18px, 50px);
  }
}
.single-job_offers .article-job-offer__top .header__top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}
.single-job_offers .article-job-offer__top .header__top > a {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--c-secondary);
  position: absolute;
  right: calc(100% + clamp(15px, 17.36vw + -193.33px, 140px));
  white-space: pre;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1200px) {
  .single-job_offers .article-job-offer__top .header__top > a {
    right: unset;
    left: 0;
    top: -45px;
  }
}
.single-job_offers .article-job-offer__top .header__top > a .arrow {
  content: url("../../svg/arrow-half-left.svg");
  -webkit-transition: all 300ms ease;
  transition: all 300ms ease;
}
.single-job_offers .article-job-offer__top .header__top > a:hover .arrow, .single-job_offers .article-job-offer__top .header__top > a:focus .arrow {
  -webkit-transform: translateX(-10px);
          transform: translateX(-10px);
}
.single-job_offers .article-job-offer__top .header__top .date {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(16px, 0.13vw + 15.51px, 18px);
  white-space: pre;
  margin-top: 0;
}
.single-job_offers .article-job-offer__top .header__bottom h1 {
  text-transform: uppercase;
  margin-bottom: clamp(30px, 3.24vw + 17.86px, 80px);
}
.single-job_offers .article-job-offer__top .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 980px) {
  .single-job_offers .article-job-offer__top .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.single-job_offers .article-job-offer__top .body__sidebar {
  width: 25%;
}
@media screen and (max-width: 980px) {
  .single-job_offers .article-job-offer__top .body__sidebar {
    width: 100%;
  }
}
.single-job_offers .article-job-offer__top .body__sidebar__item {
  padding-right: 15px;
}
@media screen and (max-width: 980px) {
  .single-job_offers .article-job-offer__top .body__sidebar__item {
    padding-right: 0;
  }
}
.single-job_offers .article-job-offer__top .body__sidebar__item:not(:last-of-type) {
  margin-bottom: 16px;
}
.single-job_offers .article-job-offer__top .body__sidebar__item > p {
  color: var(--c-secondary-light);
  margin-top: 0;
}
.single-job_offers .article-job-offer__top .body__sidebar__item > p.item-title {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  text-transform: uppercase;
}
.single-job_offers .article-job-offer__top .body__sidebar__item > p.item-content {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(16px, 0.13vw + 15.51px, 18px);
}
.single-job_offers .article-job-offer__top .body__sidebar .btn {
  width: 86%;
  margin-top: clamp(30px, 3.24vw + 17.86px, 80px);
}
@media screen and (max-width: 980px) {
  .single-job_offers .article-job-offer__top .body__sidebar .btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.single-job_offers .article-job-offer__top .body__sidebar .btn:hover, .single-job_offers .article-job-offer__top .body__sidebar .btn:focus {
  color: var(--c-secondary);
}
.single-job_offers .article-job-offer__top .body__content {
  width: 75%;
  padding-left: clamp(50px, 9.36vw + -41.74px, 138px);
  border-left: 1px solid #E7E7E7;
}
@media screen and (max-width: 980px) {
  .single-job_offers .article-job-offer__top .body__content {
    width: 100%;
    padding-left: 0;
    border-left: none;
  }
}
.single-job_offers .article-job-offer .apply-container .text-barlow-regular {
  font-size: clamp(18px, 1.42vw + 12.66px, 40px);
}
/*# sourceMappingURL=job-offer-full.css.map */
