/*!**************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/app.scss ***!
  \**************************************************************************************************************************************************************************************************************/
@import url(https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css);
/*!******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/app.scss (1) ***!
  \******************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap);
/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/flickity/css/flickity.css ***!
  \**********************************************************************************************************************/
/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/jquery-bar-rating/dist/themes/fontawesome-stars.css ***!
  \************************************************************************************************************************************************/
.br-theme-fontawesome-stars .br-widget {
  height: 28px;
  white-space: nowrap;
}
.br-theme-fontawesome-stars .br-widget a {
  font: normal normal normal 20px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  text-decoration: none;
  margin-right: 2px;
}
.br-theme-fontawesome-stars .br-widget a:after {
  content: '\f005';
  color: #d2d2d2;
}
.br-theme-fontawesome-stars .br-widget a.br-active:after {
  color: #EDB867;
}
.br-theme-fontawesome-stars .br-widget a.br-selected:after {
  color: #EDB867;
}
.br-theme-fontawesome-stars .br-widget .br-current-rating {
  display: none;
}
.br-theme-fontawesome-stars .br-readonly a {
  cursor: default;
}
@media print {
  .br-theme-fontawesome-stars .br-widget a:after {
    content: '\f006';
    color: black;
  }
  .br-theme-fontawesome-stars .br-widget a.br-active:after,
  .br-theme-fontawesome-stars .br-widget a.br-selected:after {
    content: '\f005';
    color: black;
  }
}

/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/star-rating-svg/src/css/star-rating-svg.css ***!
  \****************************************************************************************************************************************/
.jq-stars {
    display: inline-block;
}

.jq-rating-label {
    font-size: 22px;
    display: inline-block;
    position: relative;
    vertical-align: top;
    font-family: helvetica, arial, verdana;
}

.jq-star {
    width: 100px;
    height: 100px;
    display: inline-block;
    cursor: pointer;
}

.jq-star-svg {
    width: 100%;
    height: 100% ;
}

.jq-star:hover .fs-star-svg polygon {
}

.jq-star-svg polygon {
    stroke: #000;
    stroke-linejoin: round;
}

/* un-used */
.jq-shadow {
    -webkit-filter: drop-shadow( -2px -2px 2px #888 );
    filter: drop-shadow( -2px -2px 2px #888 );
}

/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/flatpickr/dist/flatpickr.css ***!
  \*************************************************************************************************************************/
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/@splidejs/splide/dist/css/themes/splide-default.min.css ***!
  \****************************************************************************************************************************************************/
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/line-awesome/dist/font-awesome-line-awesome/css/all.css ***!
  \****************************************************************************************************************************************************/
/*!
 * Font Awesome Free 5.11.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1; }

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -.0667em; }

.fa-xs {
  font-size: .75em; }

.fa-sm {
  font-size: .875em; }

.fa-1x {
  font-size: 1em; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-6x {
  font-size: 6em; }

.fa-7x {
  font-size: 7em; }

.fa-8x {
  font-size: 8em; }

.fa-9x {
  font-size: 9em; }

.fa-10x {
  font-size: 10em; }

.fa-fw {
  text-align: center;
  width: 1.25em; }

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0; }
.fa-ul > li {
  position: relative; }

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit; }

.fa-border {
  border: solid 0.08em #eee;
  border-radius: .1em;
  padding: .2em .25em .15em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1); }

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
  -webkit-filter: none;
  filter: none; }

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em; }

.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-500px:before {
  content: "\f26e"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-acquisitions-incorporated:before {
  content: "\f6af"; }

.fa-ad:before {
  content: "\f641"; }

.fa-address-book:before {
  content: "\f2b9"; }

.fa-address-card:before {
  content: "\f2bb"; }

.fa-adjust:before {
  content: "\f042"; }

.fa-adn:before {
  content: "\f170"; }

.fa-adobe:before {
  content: "\f778"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-air-freshener:before {
  content: "\f5d0"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-align-center:before {
  content: "\f037"; }

.fa-align-justify:before {
  content: "\f039"; }

.fa-align-left:before {
  content: "\f036"; }

.fa-align-right:before {
  content: "\f038"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-allergies:before {
  content: "\f461"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-ambulance:before {
  content: "\f0f9"; }

.fa-american-sign-language-interpreting:before {
  content: "\f2a3"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-anchor:before {
  content: "\f13d"; }

.fa-android:before {
  content: "\f17b"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-angle-double-down:before {
  content: "\f103"; }

.fa-angle-double-left:before {
  content: "\f100"; }

.fa-angle-double-right:before {
  content: "\f101"; }

.fa-angle-double-up:before {
  content: "\f102"; }

.fa-angle-down:before {
  content: "\f107"; }

.fa-angle-left:before {
  content: "\f104"; }

.fa-angle-right:before {
  content: "\f105"; }

.fa-angle-up:before {
  content: "\f106"; }

.fa-angry:before {
  content: "\f556"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-angular:before {
  content: "\f420"; }

.fa-ankh:before {
  content: "\f644"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-apper:before {
  content: "\f371"; }

.fa-apple:before {
  content: "\f179"; }

.fa-apple-alt:before {
  content: "\f5d1"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-archive:before {
  content: "\f187"; }

.fa-archway:before {
  content: "\f557"; }

.fa-arrow-alt-circle-down:before {
  content: "\f358"; }

.fa-arrow-alt-circle-left:before {
  content: "\f359"; }

.fa-arrow-alt-circle-right:before {
  content: "\f35a"; }

.fa-arrow-alt-circle-up:before {
  content: "\f35b"; }

.fa-arrow-circle-down:before {
  content: "\f0ab"; }

.fa-arrow-circle-left:before {
  content: "\f0a8"; }

.fa-arrow-circle-right:before {
  content: "\f0a9"; }

.fa-arrow-circle-up:before {
  content: "\f0aa"; }

.fa-arrow-down:before {
  content: "\f063"; }

.fa-arrow-left:before {
  content: "\f060"; }

.fa-arrow-right:before {
  content: "\f061"; }

.fa-arrow-up:before {
  content: "\f062"; }

.fa-arrows-alt:before {
  content: "\f0b2"; }

.fa-arrows-alt-h:before {
  content: "\f337"; }

.fa-arrows-alt-v:before {
  content: "\f338"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-assistive-listening-systems:before {
  content: "\f2a2"; }

.fa-asterisk:before {
  content: "\f069"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-at:before {
  content: "\f1fa"; }

.fa-atlas:before {
  content: "\f558"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-atom:before {
  content: "\f5d2"; }

.fa-audible:before {
  content: "\f373"; }

.fa-audio-description:before {
  content: "\f29e"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-award:before {
  content: "\f559"; }

.fa-aws:before {
  content: "\f375"; }

.fa-baby:before {
  content: "\f77c"; }

.fa-baby-carriage:before {
  content: "\f77d"; }

.fa-backspace:before {
  content: "\f55a"; }

.fa-backward:before {
  content: "\f04a"; }

.fa-bacon:before {
  content: "\f7e5"; }

.fa-balance-scale:before {
  content: "\f24e"; }

.fa-balance-scale-left:before {
  content: "\f515"; }

.fa-balance-scale-right:before {
  content: "\f516"; }

.fa-ban:before {
  content: "\f05e"; }

.fa-band-aid:before {
  content: "\f462"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-barcode:before {
  content: "\f02a"; }

.fa-bars:before {
  content: "\f0c9"; }

.fa-baseball-ball:before {
  content: "\f433"; }

.fa-basketball-ball:before {
  content: "\f434"; }

.fa-bath:before {
  content: "\f2cd"; }

.fa-battery-empty:before {
  content: "\f244"; }

.fa-battery-full:before {
  content: "\f240"; }

.fa-battery-half:before {
  content: "\f242"; }

.fa-battery-quarter:before {
  content: "\f243"; }

.fa-battery-three-quarters:before {
  content: "\f241"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-bed:before {
  content: "\f236"; }

.fa-beer:before {
  content: "\f0fc"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-bell:before {
  content: "\f0f3"; }

.fa-bell-slash:before {
  content: "\f1f6"; }

.fa-bezier-curve:before {
  content: "\f55b"; }

.fa-bible:before {
  content: "\f647"; }

.fa-bicycle:before {
  content: "\f206"; }

.fa-biking:before {
  content: "\f84a"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-binoculars:before {
  content: "\f1e5"; }

.fa-biohazard:before {
  content: "\f780"; }

.fa-birthday-cake:before {
  content: "\f1fd"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-blender:before {
  content: "\f517"; }

.fa-blender-phone:before {
  content: "\f6b6"; }

.fa-blind:before {
  content: "\f29d"; }

.fa-blog:before {
  content: "\f781"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-bold:before {
  content: "\f032"; }

.fa-bolt:before {
  content: "\f0e7"; }

.fa-bomb:before {
  content: "\f1e2"; }

.fa-bone:before {
  content: "\f5d7"; }

.fa-bong:before {
  content: "\f55c"; }

.fa-book:before {
  content: "\f02d"; }

.fa-book-dead:before {
  content: "\f6b7"; }

.fa-book-medical:before {
  content: "\f7e6"; }

.fa-book-open:before {
  content: "\f518"; }

.fa-book-reader:before {
  content: "\f5da"; }

.fa-bookmark:before {
  content: "\f02e"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-border-all:before {
  content: "\f84c"; }

.fa-border-none:before {
  content: "\f850"; }

.fa-border-style:before {
  content: "\f853"; }

.fa-bowling-ball:before {
  content: "\f436"; }

.fa-box:before {
  content: "\f466"; }

.fa-box-open:before {
  content: "\f49e"; }

.fa-boxes:before {
  content: "\f468"; }

.fa-braille:before {
  content: "\f2a1"; }

.fa-brain:before {
  content: "\f5dc"; }

.fa-bread-slice:before {
  content: "\f7ec"; }

.fa-briefcase:before {
  content: "\f0b1"; }

.fa-briefcase-medical:before {
  content: "\f469"; }

.fa-broadcast-tower:before {
  content: "\f519"; }

.fa-broom:before {
  content: "\f51a"; }

.fa-brush:before {
  content: "\f55d"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-bug:before {
  content: "\f188"; }

.fa-building:before {
  content: "\f1ad"; }

.fa-bullhorn:before {
  content: "\f0a1"; }

.fa-bullseye:before {
  content: "\f140"; }

.fa-burn:before {
  content: "\f46a"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-bus:before {
  content: "\f207"; }

.fa-bus-alt:before {
  content: "\f55e"; }

.fa-business-time:before {
  content: "\f64a"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-calculator:before {
  content: "\f1ec"; }

.fa-calendar:before {
  content: "\f133"; }

.fa-calendar-alt:before {
  content: "\f073"; }

.fa-calendar-check:before {
  content: "\f274"; }

.fa-calendar-day:before {
  content: "\f783"; }

.fa-calendar-minus:before {
  content: "\f272"; }

.fa-calendar-plus:before {
  content: "\f271"; }

.fa-calendar-times:before {
  content: "\f273"; }

.fa-calendar-week:before {
  content: "\f784"; }

.fa-camera:before {
  content: "\f030"; }

.fa-camera-retro:before {
  content: "\f083"; }

.fa-campground:before {
  content: "\f6bb"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-candy-cane:before {
  content: "\f786"; }

.fa-cannabis:before {
  content: "\f55f"; }

.fa-capsules:before {
  content: "\f46b"; }

.fa-car:before {
  content: "\f1b9"; }

.fa-car-alt:before {
  content: "\f5de"; }

.fa-car-battery:before {
  content: "\f5df"; }

.fa-car-crash:before {
  content: "\f5e1"; }

.fa-car-side:before {
  content: "\f5e4"; }

.fa-caret-down:before {
  content: "\f0d7"; }

.fa-caret-left:before {
  content: "\f0d9"; }

.fa-caret-right:before {
  content: "\f0da"; }

.fa-caret-square-down:before {
  content: "\f150"; }

.fa-caret-square-left:before {
  content: "\f191"; }

.fa-caret-square-right:before {
  content: "\f152"; }

.fa-caret-square-up:before {
  content: "\f151"; }

.fa-caret-up:before {
  content: "\f0d8"; }

.fa-carrot:before {
  content: "\f787"; }

.fa-cart-arrow-down:before {
  content: "\f218"; }

.fa-cart-plus:before {
  content: "\f217"; }

.fa-cash-register:before {
  content: "\f788"; }

.fa-cat:before {
  content: "\f6be"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-centos:before {
  content: "\f789"; }

.fa-certificate:before {
  content: "\f0a3"; }

.fa-chair:before {
  content: "\f6c0"; }

.fa-chalkboard:before {
  content: "\f51b"; }

.fa-chalkboard-teacher:before {
  content: "\f51c"; }

.fa-charging-station:before {
  content: "\f5e7"; }

.fa-chart-area:before {
  content: "\f1fe"; }

.fa-chart-bar:before {
  content: "\f080"; }

.fa-chart-line:before {
  content: "\f201"; }

.fa-chart-pie:before {
  content: "\f200"; }

.fa-check:before {
  content: "\f00c"; }

.fa-check-circle:before {
  content: "\f058"; }

.fa-check-double:before {
  content: "\f560"; }

.fa-check-square:before {
  content: "\f14a"; }

.fa-cheese:before {
  content: "\f7ef"; }

.fa-chess:before {
  content: "\f439"; }

.fa-chess-bishop:before {
  content: "\f43a"; }

.fa-chess-board:before {
  content: "\f43c"; }

.fa-chess-king:before {
  content: "\f43f"; }

.fa-chess-knight:before {
  content: "\f441"; }

.fa-chess-pawn:before {
  content: "\f443"; }

.fa-chess-queen:before {
  content: "\f445"; }

.fa-chess-rook:before {
  content: "\f447"; }

.fa-chevron-circle-down:before {
  content: "\f13a"; }

.fa-chevron-circle-left:before {
  content: "\f137"; }

.fa-chevron-circle-right:before {
  content: "\f138"; }

.fa-chevron-circle-up:before {
  content: "\f139"; }

.fa-chevron-down:before {
  content: "\f078"; }

.fa-chevron-left:before {
  content: "\f053"; }

.fa-chevron-right:before {
  content: "\f054"; }

.fa-chevron-up:before {
  content: "\f077"; }

.fa-child:before {
  content: "\f1ae"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-church:before {
  content: "\f51d"; }

.fa-circle:before {
  content: "\f111"; }

.fa-circle-notch:before {
  content: "\f1ce"; }

.fa-city:before {
  content: "\f64f"; }

.fa-clinic-medical:before {
  content: "\f7f2"; }

.fa-clipboard:before {
  content: "\f328"; }

.fa-clipboard-check:before {
  content: "\f46c"; }

.fa-clipboard-list:before {
  content: "\f46d"; }

.fa-clock:before {
  content: "\f017"; }

.fa-clone:before {
  content: "\f24d"; }

.fa-closed-captioning:before {
  content: "\f20a"; }

.fa-cloud:before {
  content: "\f0c2"; }

.fa-cloud-download-alt:before {
  content: "\f381"; }

.fa-cloud-meatball:before {
  content: "\f73b"; }

.fa-cloud-moon:before {
  content: "\f6c3"; }

.fa-cloud-moon-rain:before {
  content: "\f73c"; }

.fa-cloud-rain:before {
  content: "\f73d"; }

.fa-cloud-showers-heavy:before {
  content: "\f740"; }

.fa-cloud-sun:before {
  content: "\f6c4"; }

.fa-cloud-sun-rain:before {
  content: "\f743"; }

.fa-cloud-upload-alt:before {
  content: "\f382"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-cocktail:before {
  content: "\f561"; }

.fa-code:before {
  content: "\f121"; }

.fa-code-branch:before {
  content: "\f126"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-coffee:before {
  content: "\f0f4"; }

.fa-cog:before {
  content: "\f013"; }

.fa-cogs:before {
  content: "\f085"; }

.fa-coins:before {
  content: "\f51e"; }

.fa-columns:before {
  content: "\f0db"; }

.fa-comment:before {
  content: "\f075"; }

.fa-comment-alt:before {
  content: "\f27a"; }

.fa-comment-dollar:before {
  content: "\f651"; }

.fa-comment-dots:before {
  content: "\f4ad"; }

.fa-comment-medical:before {
  content: "\f7f5"; }

.fa-comment-slash:before {
  content: "\f4b3"; }

.fa-comments:before {
  content: "\f086"; }

.fa-comments-dollar:before {
  content: "\f653"; }

.fa-compact-disc:before {
  content: "\f51f"; }

.fa-compass:before {
  content: "\f14e"; }

.fa-compress:before {
  content: "\f066"; }

.fa-compress-arrows-alt:before {
  content: "\f78c"; }

.fa-concierge-bell:before {
  content: "\f562"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-cookie:before {
  content: "\f563"; }

.fa-cookie-bite:before {
  content: "\f564"; }

.fa-copy:before {
  content: "\f0c5"; }

.fa-copyright:before {
  content: "\f1f9"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-couch:before {
  content: "\f4b8"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-credit-card:before {
  content: "\f09d"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-crop:before {
  content: "\f125"; }

.fa-crop-alt:before {
  content: "\f565"; }

.fa-cross:before {
  content: "\f654"; }

.fa-crosshairs:before {
  content: "\f05b"; }

.fa-crow:before {
  content: "\f520"; }

.fa-crown:before {
  content: "\f521"; }

.fa-crutch:before {
  content: "\f7f7"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-cube:before {
  content: "\f1b2"; }

.fa-cubes:before {
  content: "\f1b3"; }

.fa-cut:before {
  content: "\f0c4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-database:before {
  content: "\f1c0"; }

.fa-deaf:before {
  content: "\f2a4"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-democrat:before {
  content: "\f747"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-desktop:before {
  content: "\f108"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-dharmachakra:before {
  content: "\f655"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-diagnoses:before {
  content: "\f470"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-dice:before {
  content: "\f522"; }

.fa-dice-d20:before {
  content: "\f6cf"; }

.fa-dice-d6:before {
  content: "\f6d1"; }

.fa-dice-five:before {
  content: "\f523"; }

.fa-dice-four:before {
  content: "\f524"; }

.fa-dice-one:before {
  content: "\f525"; }

.fa-dice-six:before {
  content: "\f526"; }

.fa-dice-three:before {
  content: "\f527"; }

.fa-dice-two:before {
  content: "\f528"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-digital-tachograph:before {
  content: "\f566"; }

.fa-directions:before {
  content: "\f5eb"; }

.fa-discord:before {
  content: "\f392"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-divide:before {
  content: "\f529"; }

.fa-dizzy:before {
  content: "\f567"; }

.fa-dna:before {
  content: "\f471"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-docker:before {
  content: "\f395"; }

.fa-dog:before {
  content: "\f6d3"; }

.fa-dollar-sign:before {
  content: "\f155"; }

.fa-dolly:before {
  content: "\f472"; }

.fa-dolly-flatbed:before {
  content: "\f474"; }

.fa-donate:before {
  content: "\f4b9"; }

.fa-door-closed:before {
  content: "\f52a"; }

.fa-door-open:before {
  content: "\f52b"; }

.fa-dot-circle:before {
  content: "\f192"; }

.fa-dove:before {
  content: "\f4ba"; }

.fa-download:before {
  content: "\f019"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-drafting-compass:before {
  content: "\f568"; }

.fa-dragon:before {
  content: "\f6d5"; }

.fa-draw-polygon:before {
  content: "\f5ee"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-drum:before {
  content: "\f569"; }

.fa-drum-steelpan:before {
  content: "\f56a"; }

.fa-drumstick-bite:before {
  content: "\f6d7"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-dumbbell:before {
  content: "\f44b"; }

.fa-dumpster:before {
  content: "\f793"; }

.fa-dumpster-fire:before {
  content: "\f794"; }

.fa-dungeon:before {
  content: "\f6d9"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-edge:before {
  content: "\f282"; }

.fa-edit:before {
  content: "\f044"; }

.fa-egg:before {
  content: "\f7fb"; }

.fa-eject:before {
  content: "\f052"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-ellipsis-h:before {
  content: "\f141"; }

.fa-ellipsis-v:before {
  content: "\f142"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-ember:before {
  content: "\f423"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envelope:before {
  content: "\f0e0"; }

.fa-envelope-open:before {
  content: "\f2b6"; }

.fa-envelope-open-text:before {
  content: "\f658"; }

.fa-envelope-square:before {
  content: "\f199"; }

.fa-envira:before {
  content: "\f299"; }

.fa-equals:before {
  content: "\f52c"; }

.fa-eraser:before {
  content: "\f12d"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-ethernet:before {
  content: "\f796"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-euro-sign:before {
  content: "\f153"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-exchange-alt:before {
  content: "\f362"; }

.fa-exclamation:before {
  content: "\f12a"; }

.fa-exclamation-circle:before {
  content: "\f06a"; }

.fa-exclamation-triangle:before {
  content: "\f071"; }

.fa-expand:before {
  content: "\f065"; }

.fa-expand-arrows-alt:before {
  content: "\f31e"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-external-link-alt:before {
  content: "\f35d"; }

.fa-external-link-square-alt:before {
  content: "\f360"; }

.fa-eye:before {
  content: "\f06e"; }

.fa-eye-dropper:before {
  content: "\f1fb"; }

.fa-eye-slash:before {
  content: "\f070"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-fan:before {
  content: "\f863"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-fast-backward:before {
  content: "\f049"; }

.fa-fast-forward:before {
  content: "\f050"; }

.fa-fax:before {
  content: "\f1ac"; }

.fa-feather:before {
  content: "\f52d"; }

.fa-feather-alt:before {
  content: "\f56b"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-female:before {
  content: "\f182"; }

.fa-fighter-jet:before {
  content: "\f0fb"; }

.fa-figma:before {
  content: "\f799"; }

.fa-file:before {
  content: "\f15b"; }

.fa-file-alt:before {
  content: "\f15c"; }

.fa-file-archive:before {
  content: "\f1c6"; }

.fa-file-audio:before {
  content: "\f1c7"; }

.fa-file-code:before {
  content: "\f1c9"; }

.fa-file-contract:before {
  content: "\f56c"; }

.fa-file-csv:before {
  content: "\f6dd"; }

.fa-file-download:before {
  content: "\f56d"; }

.fa-file-excel:before {
  content: "\f1c3"; }

.fa-file-export:before {
  content: "\f56e"; }

.fa-file-image:before {
  content: "\f1c5"; }

.fa-file-import:before {
  content: "\f56f"; }

.fa-file-invoice:before {
  content: "\f570"; }

.fa-file-invoice-dollar:before {
  content: "\f571"; }

.fa-file-medical:before {
  content: "\f477"; }

.fa-file-medical-alt:before {
  content: "\f478"; }

.fa-file-pdf:before {
  content: "\f1c1"; }

.fa-file-powerpoint:before {
  content: "\f1c4"; }

.fa-file-prescription:before {
  content: "\f572"; }

.fa-file-signature:before {
  content: "\f573"; }

.fa-file-upload:before {
  content: "\f574"; }

.fa-file-video:before {
  content: "\f1c8"; }

.fa-file-word:before {
  content: "\f1c2"; }

.fa-fill:before {
  content: "\f575"; }

.fa-fill-drip:before {
  content: "\f576"; }

.fa-film:before {
  content: "\f008"; }

.fa-filter:before {
  content: "\f0b0"; }

.fa-fingerprint:before {
  content: "\f577"; }

.fa-fire:before {
  content: "\f06d"; }

.fa-fire-alt:before {
  content: "\f7e4"; }

.fa-fire-extinguisher:before {
  content: "\f134"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-first-aid:before {
  content: "\f479"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-fish:before {
  content: "\f578"; }

.fa-fist-raised:before {
  content: "\f6de"; }

.fa-flag:before {
  content: "\f024"; }

.fa-flag-checkered:before {
  content: "\f11e"; }

.fa-flag-usa:before {
  content: "\f74d"; }

.fa-flask:before {
  content: "\f0c3"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-flushed:before {
  content: "\f579"; }

.fa-fly:before {
  content: "\f417"; }

.fa-folder:before {
  content: "\f07b"; }

.fa-folder-minus:before {
  content: "\f65d"; }

.fa-folder-open:before {
  content: "\f07c"; }

.fa-folder-plus:before {
  content: "\f65e"; }

.fa-font:before {
  content: "\f031"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-font-awesome-flag:before {
  content: "\f425"; }

.fa-font-awesome-logo-full:before {
  content: "\f4e6"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-football-ball:before {
  content: "\f44e"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-forward:before {
  content: "\f04e"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-frog:before {
  content: "\f52e"; }

.fa-frown:before {
  content: "\f119"; }

.fa-frown-open:before {
  content: "\f57a"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-funnel-dollar:before {
  content: "\f662"; }

.fa-futbol:before {
  content: "\f1e3"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-gamepad:before {
  content: "\f11b"; }

.fa-gas-pump:before {
  content: "\f52f"; }

.fa-gavel:before {
  content: "\f0e3"; }

.fa-gem:before {
  content: "\f3a5"; }

.fa-genderless:before {
  content: "\f22d"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-gg:before {
  content: "\f260"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-ghost:before {
  content: "\f6e2"; }

.fa-gift:before {
  content: "\f06b"; }

.fa-gifts:before {
  content: "\f79c"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-github:before {
  content: "\f09b"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-glass-cheers:before {
  content: "\f79f"; }

.fa-glass-martini:before {
  content: "\f000"; }

.fa-glass-martini-alt:before {
  content: "\f57b"; }

.fa-glass-whiskey:before {
  content: "\f7a0"; }

.fa-glasses:before {
  content: "\f530"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-globe:before {
  content: "\f0ac"; }

.fa-globe-africa:before {
  content: "\f57c"; }

.fa-globe-americas:before {
  content: "\f57d"; }

.fa-globe-asia:before {
  content: "\f57e"; }

.fa-globe-europe:before {
  content: "\f7a2"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-golf-ball:before {
  content: "\f450"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-gopuram:before {
  content: "\f664"; }

.fa-graduation-cap:before {
  content: "\f19d"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-greater-than:before {
  content: "\f531"; }

.fa-greater-than-equal:before {
  content: "\f532"; }

.fa-grimace:before {
  content: "\f57f"; }

.fa-grin:before {
  content: "\f580"; }

.fa-grin-alt:before {
  content: "\f581"; }

.fa-grin-beam:before {
  content: "\f582"; }

.fa-grin-beam-sweat:before {
  content: "\f583"; }

.fa-grin-hearts:before {
  content: "\f584"; }

.fa-grin-squint:before {
  content: "\f585"; }

.fa-grin-squint-tears:before {
  content: "\f586"; }

.fa-grin-stars:before {
  content: "\f587"; }

.fa-grin-tears:before {
  content: "\f588"; }

.fa-grin-tongue:before {
  content: "\f589"; }

.fa-grin-tongue-squint:before {
  content: "\f58a"; }

.fa-grin-tongue-wink:before {
  content: "\f58b"; }

.fa-grin-wink:before {
  content: "\f58c"; }

.fa-grip-horizontal:before {
  content: "\f58d"; }

.fa-grip-lines:before {
  content: "\f7a4"; }

.fa-grip-lines-vertical:before {
  content: "\f7a5"; }

.fa-grip-vertical:before {
  content: "\f58e"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-guitar:before {
  content: "\f7a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-h-square:before {
  content: "\f0fd"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-hamburger:before {
  content: "\f805"; }

.fa-hammer:before {
  content: "\f6e3"; }

.fa-hamsa:before {
  content: "\f665"; }

.fa-hand-holding:before {
  content: "\f4bd"; }

.fa-hand-holding-heart:before {
  content: "\f4be"; }

.fa-hand-holding-usd:before {
  content: "\f4c0"; }

.fa-hand-lizard:before {
  content: "\f258"; }

.fa-hand-middle-finger:before {
  content: "\f806"; }

.fa-hand-paper:before {
  content: "\f256"; }

.fa-hand-peace:before {
  content: "\f25b"; }

.fa-hand-point-down:before {
  content: "\f0a7"; }

.fa-hand-point-left:before {
  content: "\f0a5"; }

.fa-hand-point-right:before {
  content: "\f0a4"; }

.fa-hand-point-up:before {
  content: "\f0a6"; }

.fa-hand-pointer:before {
  content: "\f25a"; }

.fa-hand-rock:before {
  content: "\f255"; }

.fa-hand-scissors:before {
  content: "\f257"; }

.fa-hand-spock:before {
  content: "\f259"; }

.fa-hands:before {
  content: "\f4c2"; }

.fa-hands-helping:before {
  content: "\f4c4"; }

.fa-handshake:before {
  content: "\f2b5"; }

.fa-hanukiah:before {
  content: "\f6e6"; }

.fa-hard-hat:before {
  content: "\f807"; }

.fa-hashtag:before {
  content: "\f292"; }

.fa-hat-cowboy:before {
  content: "\f8c0"; }

.fa-hat-cowboy-side:before {
  content: "\f8c1"; }

.fa-hat-wizard:before {
  content: "\f6e8"; }

.fa-haykal:before {
  content: "\f666"; }

.fa-hdd:before {
  content: "\f0a0"; }

.fa-heading:before {
  content: "\f1dc"; }

.fa-headphones:before {
  content: "\f025"; }

.fa-headphones-alt:before {
  content: "\f58f"; }

.fa-headset:before {
  content: "\f590"; }

.fa-heart:before {
  content: "\f004"; }

.fa-heart-broken:before {
  content: "\f7a9"; }

.fa-heartbeat:before {
  content: "\f21e"; }

.fa-helicopter:before {
  content: "\f533"; }

.fa-highlighter:before {
  content: "\f591"; }

.fa-hiking:before {
  content: "\f6ec"; }

.fa-hippo:before {
  content: "\f6ed"; }

.fa-hips:before {
  content: "\f452"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-history:before {
  content: "\f1da"; }

.fa-hockey-puck:before {
  content: "\f453"; }

.fa-holly-berry:before {
  content: "\f7aa"; }

.fa-home:before {
  content: "\f015"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-horse:before {
  content: "\f6f0"; }

.fa-horse-head:before {
  content: "\f7ab"; }

.fa-hospital:before {
  content: "\f0f8"; }

.fa-hospital-alt:before {
  content: "\f47d"; }

.fa-hospital-symbol:before {
  content: "\f47e"; }

.fa-hot-tub:before {
  content: "\f593"; }

.fa-hotdog:before {
  content: "\f80f"; }

.fa-hotel:before {
  content: "\f594"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-hourglass:before {
  content: "\f254"; }

.fa-hourglass-end:before {
  content: "\f253"; }

.fa-hourglass-half:before {
  content: "\f252"; }

.fa-hourglass-start:before {
  content: "\f251"; }

.fa-house-damage:before {
  content: "\f6f1"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-hryvnia:before {
  content: "\f6f2"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-i-cursor:before {
  content: "\f246"; }

.fa-ice-cream:before {
  content: "\f810"; }

.fa-icicles:before {
  content: "\f7ad"; }

.fa-icons:before {
  content: "\f86d"; }

.fa-id-badge:before {
  content: "\f2c1"; }

.fa-id-card:before {
  content: "\f2c2"; }

.fa-id-card-alt:before {
  content: "\f47f"; }

.fa-igloo:before {
  content: "\f7ae"; }

.fa-image:before {
  content: "\f03e"; }

.fa-images:before {
  content: "\f302"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-inbox:before {
  content: "\f01c"; }

.fa-indent:before {
  content: "\f03c"; }

.fa-industry:before {
  content: "\f275"; }

.fa-infinity:before {
  content: "\f534"; }

.fa-info:before {
  content: "\f129"; }

.fa-info-circle:before {
  content: "\f05a"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-italic:before {
  content: "\f033"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-jedi:before {
  content: "\f669"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-joint:before {
  content: "\f595"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-journal-whills:before {
  content: "\f66a"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-kaaba:before {
  content: "\f66b"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-key:before {
  content: "\f084"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-keyboard:before {
  content: "\f11c"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-khanda:before {
  content: "\f66d"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-kiss:before {
  content: "\f596"; }

.fa-kiss-beam:before {
  content: "\f597"; }

.fa-kiss-wink-heart:before {
  content: "\f598"; }

.fa-kiwi-bird:before {
  content: "\f535"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-landmark:before {
  content: "\f66f"; }

.fa-language:before {
  content: "\f1ab"; }

.fa-laptop:before {
  content: "\f109"; }

.fa-laptop-code:before {
  content: "\f5fc"; }

.fa-laptop-medical:before {
  content: "\f812"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-laugh:before {
  content: "\f599"; }

.fa-laugh-beam:before {
  content: "\f59a"; }

.fa-laugh-squint:before {
  content: "\f59b"; }

.fa-laugh-wink:before {
  content: "\f59c"; }

.fa-layer-group:before {
  content: "\f5fd"; }

.fa-leaf:before {
  content: "\f06c"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-lemon:before {
  content: "\f094"; }

.fa-less:before {
  content: "\f41d"; }

.fa-less-than:before {
  content: "\f536"; }

.fa-less-than-equal:before {
  content: "\f537"; }

.fa-level-down-alt:before {
  content: "\f3be"; }

.fa-level-up-alt:before {
  content: "\f3bf"; }

.fa-life-ring:before {
  content: "\f1cd"; }

.fa-lightbulb:before {
  content: "\f0eb"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-link:before {
  content: "\f0c1"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-lira-sign:before {
  content: "\f195"; }

.fa-list:before {
  content: "\f03a"; }

.fa-list-alt:before {
  content: "\f022"; }

.fa-list-ol:before {
  content: "\f0cb"; }

.fa-list-ul:before {
  content: "\f0ca"; }

.fa-location-arrow:before {
  content: "\f124"; }

.fa-lock:before {
  content: "\f023"; }

.fa-lock-open:before {
  content: "\f3c1"; }

.fa-long-arrow-alt-down:before {
  content: "\f309"; }

.fa-long-arrow-alt-left:before {
  content: "\f30a"; }

.fa-long-arrow-alt-right:before {
  content: "\f30b"; }

.fa-long-arrow-alt-up:before {
  content: "\f30c"; }

.fa-low-vision:before {
  content: "\f2a8"; }

.fa-luggage-cart:before {
  content: "\f59d"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-magic:before {
  content: "\f0d0"; }

.fa-magnet:before {
  content: "\f076"; }

.fa-mail-bulk:before {
  content: "\f674"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-male:before {
  content: "\f183"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-map:before {
  content: "\f279"; }

.fa-map-marked:before {
  content: "\f59f"; }

.fa-map-marked-alt:before {
  content: "\f5a0"; }

.fa-map-marker:before {
  content: "\f041"; }

.fa-map-marker-alt:before {
  content: "\f3c5"; }

.fa-map-pin:before {
  content: "\f276"; }

.fa-map-signs:before {
  content: "\f277"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-marker:before {
  content: "\f5a1"; }

.fa-mars:before {
  content: "\f222"; }

.fa-mars-double:before {
  content: "\f227"; }

.fa-mars-stroke:before {
  content: "\f229"; }

.fa-mars-stroke-h:before {
  content: "\f22b"; }

.fa-mars-stroke-v:before {
  content: "\f22a"; }

.fa-mask:before {
  content: "\f6fa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-medal:before {
  content: "\f5a2"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f3c7"; }

.fa-medkit:before {
  content: "\f0fa"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-meh:before {
  content: "\f11a"; }

.fa-meh-blank:before {
  content: "\f5a4"; }

.fa-meh-rolling-eyes:before {
  content: "\f5a5"; }

.fa-memory:before {
  content: "\f538"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-menorah:before {
  content: "\f676"; }

.fa-mercury:before {
  content: "\f223"; }

.fa-meteor:before {
  content: "\f753"; }

.fa-microchip:before {
  content: "\f2db"; }

.fa-microphone:before {
  content: "\f130"; }

.fa-microphone-alt:before {
  content: "\f3c9"; }

.fa-microphone-alt-slash:before {
  content: "\f539"; }

.fa-microphone-slash:before {
  content: "\f131"; }

.fa-microscope:before {
  content: "\f610"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-minus:before {
  content: "\f068"; }

.fa-minus-circle:before {
  content: "\f056"; }

.fa-minus-square:before {
  content: "\f146"; }

.fa-mitten:before {
  content: "\f7b5"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-mobile:before {
  content: "\f10b"; }

.fa-mobile-alt:before {
  content: "\f3cd"; }

.fa-modx:before {
  content: "\f285"; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-money-bill:before {
  content: "\f0d6"; }

.fa-money-bill-alt:before {
  content: "\f3d1"; }

.fa-money-bill-wave:before {
  content: "\f53a"; }

.fa-money-bill-wave-alt:before {
  content: "\f53b"; }

.fa-money-check:before {
  content: "\f53c"; }

.fa-money-check-alt:before {
  content: "\f53d"; }

.fa-monument:before {
  content: "\f5a6"; }

.fa-moon:before {
  content: "\f186"; }

.fa-mortar-pestle:before {
  content: "\f5a7"; }

.fa-mosque:before {
  content: "\f678"; }

.fa-motorcycle:before {
  content: "\f21c"; }

.fa-mountain:before {
  content: "\f6fc"; }

.fa-mouse:before {
  content: "\f8cc"; }

.fa-mouse-pointer:before {
  content: "\f245"; }

.fa-mug-hot:before {
  content: "\f7b6"; }

.fa-music:before {
  content: "\f001"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-neos:before {
  content: "\f612"; }

.fa-network-wired:before {
  content: "\f6ff"; }

.fa-neuter:before {
  content: "\f22c"; }

.fa-newspaper:before {
  content: "\f1ea"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-node:before {
  content: "\f419"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-not-equal:before {
  content: "\f53e"; }

.fa-notes-medical:before {
  content: "\f481"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-object-group:before {
  content: "\f247"; }

.fa-object-ungroup:before {
  content: "\f248"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-oil-can:before {
  content: "\f613"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-om:before {
  content: "\f679"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-otter:before {
  content: "\f700"; }

.fa-outdent:before {
  content: "\f03b"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-pager:before {
  content: "\f815"; }

.fa-paint-brush:before {
  content: "\f1fc"; }

.fa-paint-roller:before {
  content: "\f5aa"; }

.fa-palette:before {
  content: "\f53f"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-pallet:before {
  content: "\f482"; }

.fa-paper-plane:before {
  content: "\f1d8"; }

.fa-paperclip:before {
  content: "\f0c6"; }

.fa-parachute-box:before {
  content: "\f4cd"; }

.fa-paragraph:before {
  content: "\f1dd"; }

.fa-parking:before {
  content: "\f540"; }

.fa-passport:before {
  content: "\f5ab"; }

.fa-pastafarianism:before {
  content: "\f67b"; }

.fa-paste:before {
  content: "\f0ea"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-pause:before {
  content: "\f04c"; }

.fa-pause-circle:before {
  content: "\f28b"; }

.fa-paw:before {
  content: "\f1b0"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-peace:before {
  content: "\f67c"; }

.fa-pen:before {
  content: "\f304"; }

.fa-pen-alt:before {
  content: "\f305"; }

.fa-pen-fancy:before {
  content: "\f5ac"; }

.fa-pen-nib:before {
  content: "\f5ad"; }

.fa-pen-square:before {
  content: "\f14b"; }

.fa-pencil-alt:before {
  content: "\f303"; }

.fa-pencil-ruler:before {
  content: "\f5ae"; }

.fa-penny-arcade:before {
  content: "\f704"; }

.fa-people-carry:before {
  content: "\f4ce"; }

.fa-pepper-hot:before {
  content: "\f816"; }

.fa-percent:before {
  content: "\f295"; }

.fa-percentage:before {
  content: "\f541"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-person-booth:before {
  content: "\f756"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-phone:before {
  content: "\f095"; }

.fa-phone-alt:before {
  content: "\f879"; }

.fa-phone-slash:before {
  content: "\f3dd"; }

.fa-phone-square:before {
  content: "\f098"; }

.fa-phone-square-alt:before {
  content: "\f87b"; }

.fa-phone-volume:before {
  content: "\f2a0"; }

.fa-photo-video:before {
  content: "\f87c"; }

.fa-php:before {
  content: "\f457"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-piggy-bank:before {
  content: "\f4d3"; }

.fa-pills:before {
  content: "\f484"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-pizza-slice:before {
  content: "\f818"; }

.fa-place-of-worship:before {
  content: "\f67f"; }

.fa-plane:before {
  content: "\f072"; }

.fa-plane-arrival:before {
  content: "\f5af"; }

.fa-plane-departure:before {
  content: "\f5b0"; }

.fa-play:before {
  content: "\f04b"; }

.fa-play-circle:before {
  content: "\f144"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-plug:before {
  content: "\f1e6"; }

.fa-plus:before {
  content: "\f067"; }

.fa-plus-circle:before {
  content: "\f055"; }

.fa-plus-square:before {
  content: "\f0fe"; }

.fa-podcast:before {
  content: "\f2ce"; }

.fa-poll:before {
  content: "\f681"; }

.fa-poll-h:before {
  content: "\f682"; }

.fa-poo:before {
  content: "\f2fe"; }

.fa-poo-storm:before {
  content: "\f75a"; }

.fa-poop:before {
  content: "\f619"; }

.fa-portrait:before {
  content: "\f3e0"; }

.fa-pound-sign:before {
  content: "\f154"; }

.fa-power-off:before {
  content: "\f011"; }

.fa-pray:before {
  content: "\f683"; }

.fa-praying-hands:before {
  content: "\f684"; }

.fa-prescription:before {
  content: "\f5b1"; }

.fa-prescription-bottle:before {
  content: "\f485"; }

.fa-prescription-bottle-alt:before {
  content: "\f486"; }

.fa-print:before {
  content: "\f02f"; }

.fa-procedures:before {
  content: "\f487"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-project-diagram:before {
  content: "\f542"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-puzzle-piece:before {
  content: "\f12e"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-qrcode:before {
  content: "\f029"; }

.fa-question:before {
  content: "\f128"; }

.fa-question-circle:before {
  content: "\f059"; }

.fa-quidditch:before {
  content: "\f458"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-quote-left:before {
  content: "\f10d"; }

.fa-quote-right:before {
  content: "\f10e"; }

.fa-quran:before {
  content: "\f687"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-radiation:before {
  content: "\f7b9"; }

.fa-radiation-alt:before {
  content: "\f7ba"; }

.fa-rainbow:before {
  content: "\f75b"; }

.fa-random:before {
  content: "\f074"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-react:before {
  content: "\f41b"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-receipt:before {
  content: "\f543"; }

.fa-record-vinyl:before {
  content: "\f8d9"; }

.fa-recycle:before {
  content: "\f1b8"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-redo:before {
  content: "\f01e"; }

.fa-redo-alt:before {
  content: "\f2f9"; }

.fa-registered:before {
  content: "\f25d"; }

.fa-remove-format:before {
  content: "\f87d"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-reply:before {
  content: "\f3e5"; }

.fa-reply-all:before {
  content: "\f122"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-republican:before {
  content: "\f75e"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-restroom:before {
  content: "\f7bd"; }

.fa-retweet:before {
  content: "\f079"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-ribbon:before {
  content: "\f4d6"; }

.fa-ring:before {
  content: "\f70b"; }

.fa-road:before {
  content: "\f018"; }

.fa-robot:before {
  content: "\f544"; }

.fa-rocket:before {
  content: "\f135"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-route:before {
  content: "\f4d7"; }

.fa-rss:before {
  content: "\f09e"; }

.fa-rss-square:before {
  content: "\f143"; }

.fa-ruble-sign:before {
  content: "\f158"; }

.fa-ruler:before {
  content: "\f545"; }

.fa-ruler-combined:before {
  content: "\f546"; }

.fa-ruler-horizontal:before {
  content: "\f547"; }

.fa-ruler-vertical:before {
  content: "\f548"; }

.fa-running:before {
  content: "\f70c"; }

.fa-rupee-sign:before {
  content: "\f156"; }

.fa-sad-cry:before {
  content: "\f5b3"; }

.fa-sad-tear:before {
  content: "\f5b4"; }

.fa-safari:before {
  content: "\f267"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-satellite:before {
  content: "\f7bf"; }

.fa-satellite-dish:before {
  content: "\f7c0"; }

.fa-save:before {
  content: "\f0c7"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-school:before {
  content: "\f549"; }

.fa-screwdriver:before {
  content: "\f54a"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-scroll:before {
  content: "\f70e"; }

.fa-sd-card:before {
  content: "\f7c2"; }

.fa-search:before {
  content: "\f002"; }

.fa-search-dollar:before {
  content: "\f688"; }

.fa-search-location:before {
  content: "\f689"; }

.fa-search-minus:before {
  content: "\f010"; }

.fa-search-plus:before {
  content: "\f00e"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-seedling:before {
  content: "\f4d8"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-server:before {
  content: "\f233"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-shapes:before {
  content: "\f61f"; }

.fa-share:before {
  content: "\f064"; }

.fa-share-alt:before {
  content: "\f1e0"; }

.fa-share-alt-square:before {
  content: "\f1e1"; }

.fa-share-square:before {
  content: "\f14d"; }

.fa-shekel-sign:before {
  content: "\f20b"; }

.fa-shield-alt:before {
  content: "\f3ed"; }

.fa-ship:before {
  content: "\f21a"; }

.fa-shipping-fast:before {
  content: "\f48b"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-shoe-prints:before {
  content: "\f54b"; }

.fa-shopping-bag:before {
  content: "\f290"; }

.fa-shopping-basket:before {
  content: "\f291"; }

.fa-shopping-cart:before {
  content: "\f07a"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-shower:before {
  content: "\f2cc"; }

.fa-shuttle-van:before {
  content: "\f5b6"; }

.fa-sign:before {
  content: "\f4d9"; }

.fa-sign-in-alt:before {
  content: "\f2f6"; }

.fa-sign-language:before {
  content: "\f2a7"; }

.fa-sign-out-alt:before {
  content: "\f2f5"; }

.fa-signal:before {
  content: "\f012"; }

.fa-signature:before {
  content: "\f5b7"; }

.fa-sim-card:before {
  content: "\f7c4"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-sitemap:before {
  content: "\f0e8"; }

.fa-sith:before {
  content: "\f512"; }

.fa-skating:before {
  content: "\f7c5"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-skiing:before {
  content: "\f7c9"; }

.fa-skiing-nordic:before {
  content: "\f7ca"; }

.fa-skull:before {
  content: "\f54c"; }

.fa-skull-crossbones:before {
  content: "\f714"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f3ef"; }

.fa-slash:before {
  content: "\f715"; }

.fa-sleigh:before {
  content: "\f7cc"; }

.fa-sliders-h:before {
  content: "\f1de"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-smile:before {
  content: "\f118"; }

.fa-smile-beam:before {
  content: "\f5b8"; }

.fa-smile-wink:before {
  content: "\f4da"; }

.fa-smog:before {
  content: "\f75f"; }

.fa-smoking:before {
  content: "\f48d"; }

.fa-smoking-ban:before {
  content: "\f54d"; }

.fa-sms:before {
  content: "\f7cd"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ac"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-snowboarding:before {
  content: "\f7ce"; }

.fa-snowflake:before {
  content: "\f2dc"; }

.fa-snowman:before {
  content: "\f7d0"; }

.fa-snowplow:before {
  content: "\f7d2"; }

.fa-socks:before {
  content: "\f696"; }

.fa-solar-panel:before {
  content: "\f5ba"; }

.fa-sort:before {
  content: "\f0dc"; }

.fa-sort-alpha-down:before {
  content: "\f15d"; }

.fa-sort-alpha-down-alt:before {
  content: "\f881"; }

.fa-sort-alpha-up:before {
  content: "\f15e"; }

.fa-sort-alpha-up-alt:before {
  content: "\f882"; }

.fa-sort-amount-down:before {
  content: "\f160"; }

.fa-sort-amount-down-alt:before {
  content: "\f884"; }

.fa-sort-amount-up:before {
  content: "\f161"; }

.fa-sort-amount-up-alt:before {
  content: "\f885"; }

.fa-sort-down:before {
  content: "\f0dd"; }

.fa-sort-numeric-down:before {
  content: "\f162"; }

.fa-sort-numeric-down-alt:before {
  content: "\f886"; }

.fa-sort-numeric-up:before {
  content: "\f163"; }

.fa-sort-numeric-up-alt:before {
  content: "\f887"; }

.fa-sort-up:before {
  content: "\f0de"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-spa:before {
  content: "\f5bb"; }

.fa-space-shuttle:before {
  content: "\f197"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-spell-check:before {
  content: "\f891"; }

.fa-spider:before {
  content: "\f717"; }

.fa-spinner:before {
  content: "\f110"; }

.fa-splotch:before {
  content: "\f5bc"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-spray-can:before {
  content: "\f5bd"; }

.fa-square:before {
  content: "\f0c8"; }

.fa-square-full:before {
  content: "\f45c"; }

.fa-square-root-alt:before {
  content: "\f698"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-stamp:before {
  content: "\f5bf"; }

.fa-star:before {
  content: "\f005"; }

.fa-star-and-crescent:before {
  content: "\f699"; }

.fa-star-half:before {
  content: "\f089"; }

.fa-star-half-alt:before {
  content: "\f5c0"; }

.fa-star-of-david:before {
  content: "\f69a"; }

.fa-star-of-life:before {
  content: "\f621"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

.fa-step-backward:before {
  content: "\f048"; }

.fa-step-forward:before {
  content: "\f051"; }

.fa-stethoscope:before {
  content: "\f0f1"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-sticky-note:before {
  content: "\f249"; }

.fa-stop:before {
  content: "\f04d"; }

.fa-stop-circle:before {
  content: "\f28d"; }

.fa-stopwatch:before {
  content: "\f2f2"; }

.fa-store:before {
  content: "\f54e"; }

.fa-store-alt:before {
  content: "\f54f"; }

.fa-strava:before {
  content: "\f428"; }

.fa-stream:before {
  content: "\f550"; }

.fa-street-view:before {
  content: "\f21d"; }

.fa-strikethrough:before {
  content: "\f0cc"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-stroopwafel:before {
  content: "\f551"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-subscript:before {
  content: "\f12c"; }

.fa-subway:before {
  content: "\f239"; }

.fa-suitcase:before {
  content: "\f0f2"; }

.fa-suitcase-rolling:before {
  content: "\f5c1"; }

.fa-sun:before {
  content: "\f185"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-superscript:before {
  content: "\f12b"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-surprise:before {
  content: "\f5c2"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-swatchbook:before {
  content: "\f5c3"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-swimmer:before {
  content: "\f5c4"; }

.fa-swimming-pool:before {
  content: "\f5c5"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-synagogue:before {
  content: "\f69b"; }

.fa-sync:before {
  content: "\f021"; }

.fa-sync-alt:before {
  content: "\f2f1"; }

.fa-syringe:before {
  content: "\f48e"; }

.fa-table:before {
  content: "\f0ce"; }

.fa-table-tennis:before {
  content: "\f45d"; }

.fa-tablet:before {
  content: "\f10a"; }

.fa-tablet-alt:before {
  content: "\f3fa"; }

.fa-tablets:before {
  content: "\f490"; }

.fa-tachometer-alt:before {
  content: "\f3fd"; }

.fa-tag:before {
  content: "\f02b"; }

.fa-tags:before {
  content: "\f02c"; }

.fa-tape:before {
  content: "\f4db"; }

.fa-tasks:before {
  content: "\f0ae"; }

.fa-taxi:before {
  content: "\f1ba"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-teeth:before {
  content: "\f62e"; }

.fa-teeth-open:before {
  content: "\f62f"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f3fe"; }

.fa-temperature-high:before {
  content: "\f769"; }

.fa-temperature-low:before {
  content: "\f76b"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-tenge:before {
  content: "\f7d7"; }

.fa-terminal:before {
  content: "\f120"; }

.fa-text-height:before {
  content: "\f034"; }

.fa-text-width:before {
  content: "\f035"; }

.fa-th:before {
  content: "\f00a"; }

.fa-th-large:before {
  content: "\f009"; }

.fa-th-list:before {
  content: "\f00b"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-theater-masks:before {
  content: "\f630"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-thermometer:before {
  content: "\f491"; }

.fa-thermometer-empty:before {
  content: "\f2cb"; }

.fa-thermometer-full:before {
  content: "\f2c7"; }

.fa-thermometer-half:before {
  content: "\f2c9"; }

.fa-thermometer-quarter:before {
  content: "\f2ca"; }

.fa-thermometer-three-quarters:before {
  content: "\f2c8"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-thumbs-down:before {
  content: "\f165"; }

.fa-thumbs-up:before {
  content: "\f164"; }

.fa-thumbtack:before {
  content: "\f08d"; }

.fa-ticket-alt:before {
  content: "\f3ff"; }

.fa-times:before {
  content: "\f00d"; }

.fa-times-circle:before {
  content: "\f057"; }

.fa-tint:before {
  content: "\f043"; }

.fa-tint-slash:before {
  content: "\f5c7"; }

.fa-tired:before {
  content: "\f5c8"; }

.fa-toggle-off:before {
  content: "\f204"; }

.fa-toggle-on:before {
  content: "\f205"; }

.fa-toilet:before {
  content: "\f7d8"; }

.fa-toilet-paper:before {
  content: "\f71e"; }

.fa-toolbox:before {
  content: "\f552"; }

.fa-tools:before {
  content: "\f7d9"; }

.fa-tooth:before {
  content: "\f5c9"; }

.fa-torah:before {
  content: "\f6a0"; }

.fa-torii-gate:before {
  content: "\f6a1"; }

.fa-tractor:before {
  content: "\f722"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-trademark:before {
  content: "\f25c"; }

.fa-traffic-light:before {
  content: "\f637"; }

.fa-train:before {
  content: "\f238"; }

.fa-tram:before {
  content: "\f7da"; }

.fa-transgender:before {
  content: "\f224"; }

.fa-transgender-alt:before {
  content: "\f225"; }

.fa-trash:before {
  content: "\f1f8"; }

.fa-trash-alt:before {
  content: "\f2ed"; }

.fa-trash-restore:before {
  content: "\f829"; }

.fa-trash-restore-alt:before {
  content: "\f82a"; }

.fa-tree:before {
  content: "\f1bb"; }

.fa-trello:before {
  content: "\f181"; }

.fa-tripadvisor:before {
  content: "\f262"; }

.fa-trophy:before {
  content: "\f091"; }

.fa-truck:before {
  content: "\f0d1"; }

.fa-truck-loading:before {
  content: "\f4de"; }

.fa-truck-monster:before {
  content: "\f63b"; }

.fa-truck-moving:before {
  content: "\f4df"; }

.fa-truck-pickup:before {
  content: "\f63c"; }

.fa-tshirt:before {
  content: "\f553"; }

.fa-tty:before {
  content: "\f1e4"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-tv:before {
  content: "\f26c"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-uber:before {
  content: "\f402"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-umbrella:before {
  content: "\f0e9"; }

.fa-umbrella-beach:before {
  content: "\f5ca"; }

.fa-underline:before {
  content: "\f0cd"; }

.fa-undo:before {
  content: "\f0e2"; }

.fa-undo-alt:before {
  content: "\f2ea"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-universal-access:before {
  content: "\f29a"; }

.fa-university:before {
  content: "\f19c"; }

.fa-unlink:before {
  content: "\f127"; }

.fa-unlock:before {
  content: "\f09c"; }

.fa-unlock-alt:before {
  content: "\f13e"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-upload:before {
  content: "\f093"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-usb:before {
  content: "\f287"; }

.fa-user:before {
  content: "\f007"; }

.fa-user-alt:before {
  content: "\f406"; }

.fa-user-alt-slash:before {
  content: "\f4fa"; }

.fa-user-astronaut:before {
  content: "\f4fb"; }

.fa-user-check:before {
  content: "\f4fc"; }

.fa-user-circle:before {
  content: "\f2bd"; }

.fa-user-clock:before {
  content: "\f4fd"; }

.fa-user-cog:before {
  content: "\f4fe"; }

.fa-user-edit:before {
  content: "\f4ff"; }

.fa-user-friends:before {
  content: "\f500"; }

.fa-user-graduate:before {
  content: "\f501"; }

.fa-user-injured:before {
  content: "\f728"; }

.fa-user-lock:before {
  content: "\f502"; }

.fa-user-md:before {
  content: "\f0f0"; }

.fa-user-minus:before {
  content: "\f503"; }

.fa-user-ninja:before {
  content: "\f504"; }

.fa-user-nurse:before {
  content: "\f82f"; }

.fa-user-plus:before {
  content: "\f234"; }

.fa-user-secret:before {
  content: "\f21b"; }

.fa-user-shield:before {
  content: "\f505"; }

.fa-user-slash:before {
  content: "\f506"; }

.fa-user-tag:before {
  content: "\f507"; }

.fa-user-tie:before {
  content: "\f508"; }

.fa-user-times:before {
  content: "\f235"; }

.fa-users:before {
  content: "\f0c0"; }

.fa-users-cog:before {
  content: "\f509"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-utensil-spoon:before {
  content: "\f2e5"; }

.fa-utensils:before {
  content: "\f2e7"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-vector-square:before {
  content: "\f5cb"; }

.fa-venus:before {
  content: "\f221"; }

.fa-venus-double:before {
  content: "\f226"; }

.fa-venus-mars:before {
  content: "\f228"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-vial:before {
  content: "\f492"; }

.fa-vials:before {
  content: "\f493"; }

.fa-viber:before {
  content: "\f409"; }

.fa-video:before {
  content: "\f03d"; }

.fa-video-slash:before {
  content: "\f4e2"; }

.fa-vihara:before {
  content: "\f6a7"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-vk:before {
  content: "\f189"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-voicemail:before {
  content: "\f897"; }

.fa-volleyball-ball:before {
  content: "\f45f"; }

.fa-volume-down:before {
  content: "\f027"; }

.fa-volume-mute:before {
  content: "\f6a9"; }

.fa-volume-off:before {
  content: "\f026"; }

.fa-volume-up:before {
  content: "\f028"; }

.fa-vote-yea:before {
  content: "\f772"; }

.fa-vr-cardboard:before {
  content: "\f729"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-walking:before {
  content: "\f554"; }

.fa-wallet:before {
  content: "\f555"; }

.fa-warehouse:before {
  content: "\f494"; }

.fa-water:before {
  content: "\f773"; }

.fa-wave-square:before {
  content: "\f83e"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-weight:before {
  content: "\f496"; }

.fa-weight-hanging:before {
  content: "\f5cd"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-wheelchair:before {
  content: "\f193"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-wifi:before {
  content: "\f1eb"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wind:before {
  content: "\f72e"; }

.fa-window-close:before {
  content: "\f410"; }

.fa-window-maximize:before {
  content: "\f2d0"; }

.fa-window-minimize:before {
  content: "\f2d1"; }

.fa-window-restore:before {
  content: "\f2d2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wine-bottle:before {
  content: "\f72f"; }

.fa-wine-glass:before {
  content: "\f4e3"; }

.fa-wine-glass-alt:before {
  content: "\f5ce"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-won-sign:before {
  content: "\f159"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-wrench:before {
  content: "\f0ad"; }

.fa-x-ray:before {
  content: "\f497"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-xing:before {
  content: "\f168"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-yen-sign:before {
  content: "\f157"; }

.fa-yin-yang:before {
  content: "\f6ad"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-zhihu:before {
  content: "\f63f"; }

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url(.././dist/fonts/6726ac3d3e5cb5f5ed9d.eot);
  src: url(.././dist/fonts/6726ac3d3e5cb5f5ed9d.eot?#iefix) format("embedded-opentype"), url(.././dist/fonts/73552ae13731e1269905.woff2) format("woff2"), url(.././dist/fonts/99b09f873e22385b38f3.woff) format("woff"), url(.././dist/fonts/41556b474fe5e837125f.ttf) format("truetype"), url(.././dist/images/827b56bb662532f6c1fe.svg#fontawesome) format("svg"); }

.fab {
  font-family: 'Font Awesome 5 Brands'; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url(.././dist/fonts/0064fcae9a0f3343c340.eot);
  src: url(.././dist/fonts/0064fcae9a0f3343c340.eot?#iefix) format("embedded-opentype"), url(.././dist/fonts/e7efc516cb941a6ae54d.woff2) format("woff2"), url(.././dist/fonts/6c2f66b86b978162ff53.woff) format("woff"), url(.././dist/fonts/e9e7594cc936dbe3e6b8.ttf) format("truetype"), url(.././dist/images/a1acb5067be04bebba25.svg#fontawesome) format("svg"); }

.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url(.././dist/fonts/3c8c46bbbff6d375f7b7.eot);
  src: url(.././dist/fonts/3c8c46bbbff6d375f7b7.eot?#iefix) format("embedded-opentype"), url(.././dist/fonts/00ff4b1c3f14fdc754e6.woff2) format("woff2"), url(.././dist/fonts/076d83b112f9170a0bec.woff) format("woff"), url(.././dist/fonts/8f604243eb69f0f4840a.ttf) format("truetype"), url(.././dist/images/6d98f9b2053694fa61d4.svg#fontawesome) format("svg"); }

.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900; }

/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/isolde/dist/isolde.min.css ***!
  \***********************************************************************************************************************/
.isolde-default{position:relative;padding:0;margin:0;opacity:0;transition:height .2s ease-out,opacity .2s ease-out .2s}[data-isolde-el]{opacity:0;position:absolute;top:0;left:0;transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}
/*!******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/app.scss (2) ***!
  \******************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --bg-theme-color: #ffffff;
  --text-theme-color: #000032;
  /* ===============================
     PRIMARY COLORS
  =============================== */
  --ds-color-primary: #ffcd00;
  --ds-color-secondary: #000032;
  --ds-color-tertiary: rgb(0, 0, 50);
  --ds-color-tertiary-lighten: rgba(212, 184, 150, 0.2);
  --ds-color-beige-dark: #cfc5b7;
  --ds-color-beige: #f2ece4;
  --ds-color-beige-30: rgba(109, 105, 101, 0.3);
  --ds-color-white: #ffffff;
  --ds-color-black: #000000;
  --ds-color-light-gray: #c1c1c1;
  /* =============================== THEME TOKENS =============================== */
  --theme-light-bg: #ffcd00;
  --theme-light-text: #000032;
  --theme-dark-bg: #000032;
  --theme-dark-text: #ffffff;
  --theme-accent-bg: rgb(0, 0, 50);
  --theme-accent-text: #000032;
  /* =============================== BUTTON TOKENS — default (transparent/white bg) =============================== */
  --btn-primary-bg: var(--ds-color-primary);
  --btn-primary-text: var(--ds-color-secondary);
  --btn-primary-hover-bg: var(--ds-color-secondary);
  --btn-primary-hover-text: var(--ds-color-primary);
  --btn-secondary-bg: var(--ds-color-secondary);
  --btn-secondary-text: var(--ds-color-primary);
  --btn-secondary-hover-bg: var(--ds-color-primary);
  --btn-secondary-hover-text: var(--ds-color-secondary);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-primary);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  /* =============================== SOCIAL NETWORK TOKENS — default =============================== */
  --sn-icon-color: var(--ds-color-primary);
  --sn-icon-hover-color: var(--ds-color-secondary);
  /* ===============================
     BRAND PRIMARY (Green scale)
  =============================== */
  --ds-colors-brand-primary-900: #396140;
  --ds-colors-brand-primary-800: #66946e;
  --ds-colors-brand-primary-700: #9dc7a4;
  --ds-colors-brand-primary-600: #cae3ce;
  --ds-colors-brand-primary-500: #b8d5ff;
  /* ===============================
     PINK SCALE
  =============================== */
  --color-primary-900: #daa9cb;
  --color-primary-700: #e2bfd9;
  --color-primary-500: #edd9e8;
  --color-primary-100: #faf3f8;
  /* ===============================
     GREEN SCALE
  =============================== */
  --color-secondary-900: #7ddbb6;
  --color-secondary-700: #99e3c6;
  --color-secondary-500: #7ddbb6;
  --color-secondary-100: #ebfdf7;
  /* ===============================
     BLUE SCALE
  =============================== */
  --color-tertiary-900: #b0bcd7;
  --color-tertiary-700: #c4cde2;
  --color-tertiary-500: #dde1ed;
  --color-tertiary-100: #f4f6f9;
  /* ===============================
     YELLOW SCALE
  =============================== */
  --color-yellow-900: #2b2307;
  --color-yellow-700: #f9dc61;
  --color-yellow-500: #fbea9a;
  --color-yellow-100: #fdf8dd;
  /* ===============================
     CORAL SCALE
  =============================== */
  --color-coral-900: #ea948c;
  --color-coral-700: #efafaa;
  --color-coral-500: #f4cdcb;
  --color-coral-100: #fbebec;
  /* ===============================
     GREY SCALE
  =============================== */
  --ds-colors-grey-900: #757575;
  --ds-colors-grey-800: #979797;
  --ds-colors-grey-700: #e5dfd8;
  /* ===============================
     STATUS COLORS
  =============================== */
  --ds-color-success: #54d52b;
  --ds-color-warning: #ea7204;
  --ds-color-error: #f00036;
  --ds-color-info: #2e2e2e;
  /* ===============================
     FONT SIZE
  =============================== */
  --ds-font-size-900: 5rem;
  --ds-font-size-850: 4rem;
  --ds-font-size-800: 3rem;
  --ds-font-size-750: 2.5rem;
  --ds-font-size-730: 2.1875rem;
  --ds-font-size-700: 1.875rem;
  --ds-font-size-650: 1.625rem;
  --ds-font-size-600: 1.5rem;
  --ds-font-size-550: 1.375rem;
  --ds-font-size-500: 1.25rem;
  --ds-font-size-450: 1.125rem;
  --ds-font-size-400: 1rem;
  --ds-font-size-350: 0.9375rem;
  --ds-font-size-300: 0.875rem;
  --ds-font-size-200: 0.8125rem;
  --ds-font-size-100: 0.75rem;
  --ds-font-size-50: 0.625rem;
  /* ===============================
     SPACING
  =============================== */
  --ds-spacings--max-wide: 10rem;
  --ds-spacings--xxx-wide: 8rem;
  --ds-spacings--xx-wide: 7rem;
  --ds-spacings--x-wide: 6rem;
  --ds-spacings--wide: 5rem;
  --ds-spacings--xxx-large: 4rem;
  --ds-spacings--xx-large: 3rem;
  --ds-spacings--x-large: 2.5rem;
  --ds-spacings--large: 2rem;
  --ds-spacings--medium: 1.5rem;
  --ds-spacings--standard: 1rem;
  --ds-spacings--semi: 0.75rem;
  --ds-spacings--small: 0.5rem;
  --ds-spacings--x-small: 0.325rem;
  --ds-spacings--xx-small: 0.25rem;
  --ds-spacings--xxx-small: 0.125rem;
  /* ===============================
     RADIUS
  =============================== */
  --ds-radius-width-small: 0.25rem;
  --ds-radius-width-semi: 0.5rem;
  --ds-radius-width-medium: 0.75rem;
  --ds-radius-width--x-medium: 1rem;
  --ds-radius-width-large: 2rem;
  --ds-radius-width--x-large: 4rem;
  --ds-radius-round: 50%;
  --ds-radius-full: 9999px;
  /* ===============================
     HEIGHT & WRAPPER
  =============================== */
  --header-height-mobile: 80px;
  --header-height: 100px;
  --height-top-intro: 500px;
  --width-container-header: 100%;
  --width-container: 1280px;
}

/* ==========================================================================
   MIXINS - Breakpoints
   ========================================================================== */
:root {
  --ds-style-heading-1--font-size: 3rem;
  --ds-style-heading-2--font-size: 1.875rem;
  --ds-style-heading-3--font-size: 1.625rem;
  --ds-style-heading-4--font-size: 1.125rem;
  --ds-style-heading-5--font-size: 1.125rem;
  --ds-style-heading-6--font-size: 1rem;
  --ds-style-body-0--font-size: 1rem;
  --ds-style-label-0--font-size: 0.75rem;
  --ds-style-nav-0--font-size: 2.5rem;
}
@media only screen and (min-width: 768px) {
  :root {
    --ds-style-heading-1--font-size: 4rem;
    --ds-style-heading-2--font-size: 2.5rem;
    --ds-style-heading-3--font-size: 1.875rem;
    --ds-style-heading-4--font-size: 1.375rem;
    --ds-style-heading-5--font-size: 1.25rem;
    --ds-style-heading-6--font-size: 1.125rem;
    --ds-style-body-0--font-size: 1rem;
    --ds-style-label-0--font-size: 0.75rem;
    --ds-style-nav-0--font-size: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  :root {
    --ds-style-heading-1--font-size: 4rem;
    --ds-style-heading-2--font-size: 2.5rem;
    --ds-style-heading-3--font-size: 1.875rem;
    --ds-style-heading-4--font-size: 1.5rem;
    --ds-style-heading-5--font-size: 1.25rem;
    --ds-style-heading-6--font-size: 1.125rem;
    --ds-style-body-0--font-size: 1rem;
    --ds-style-label-0--font-size: 0.75rem;
    --ds-style-nav-0--font-size: 4rem;
  }
}

.ProjectBack, .Card.-training .Card-actions span, .Card.-training:hover .Card-actions span, .Card.-skills .Card-actions span, .Card.-skills:hover .Card-actions span, .Button, .HeroSliderBlock .HeroSlider-actions .Button, .SliderBlock.-sliderStyle1 .Card.-slider .Card-button {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
}
.HomePage.-blog .HomePage-actions a, .Card.-article .Card-actions a, .HomeSlider .button.is-primary, .Card.-spot .Card-actions a, .Button.-primary, .HeroSliderBlock .HeroSlider-actions .Button.-primary, .PageWrapper.-themeTransparent .wp-block-button a, .PageWrapper.-themeDark .wp-block-button a, .TeamBlock.-modeGrid .Card.-team .Card-actions span, .SliderBlock-slide .Card button,
.SliderBlock-slide .Card a, .CPTBlock .Card.-cpt-item .Card-cta {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-primary-bg, var(--ds-color-primary));
  color: var(--btn-primary-text, var(--ds-color-secondary));
}
.HomePage.-blog .HomePage-actions a:hover, .Card.-article .Card-actions a:hover, .HomeSlider .button.is-primary:hover, .Card.-spot .Card-actions a:hover, .Button.-primary:hover, .HeroSliderBlock .HeroSlider-actions .Button.-primary:hover, .PageWrapper.-themeTransparent .wp-block-button a:hover, .PageWrapper.-themeDark .wp-block-button a:hover, .TeamBlock.-modeGrid .Card.-team .Card-actions span:hover, .SliderBlock-slide .Card button:hover,
.SliderBlock-slide .Card a:hover, .CPTBlock .Card.-cpt-item .Card-cta:hover {
  --bg-color-button: var(--btn-primary-hover-bg, var(--ds-color-secondary));
  color: var(--btn-primary-hover-text, var(--ds-color-primary));
}
.ErrorPage a, .HomeSlider .button, .HomeSlider .button.is-secondary, .wpcf7-form input[type=submit], .SiteFooter-network ul li a, .LabelTitle-number, .Button.-secondary, .HeroSliderBlock .HeroSlider-actions .Button.-secondary, .PageWrapper .wp-block-button a, .PageWrapper.-themeLight .wp-block-button a, .TeamBlock.-modeGrid .Card.-team .Card-social li a, .TeamBlock.-modeOverlay .Card.-team .Card-social li a, .TeamBlock.-modeSplit .TeamBlock-panelSocial li a, .SliderBlock-slide .Card.-slider.-transparent a,
.SliderBlock-slide .Card.-slider.-transparent button {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-secondary-bg, var(--ds-color-secondary));
  color: var(--btn-secondary-text, var(--ds-color-primary));
}
.ErrorPage a:hover, .HomeSlider .button:hover, .wpcf7-form input[type=submit]:hover, .SiteFooter-network ul li a:hover, .LabelTitle-number:hover, .Button.-secondary:hover, .HeroSliderBlock .HeroSlider-actions .Button.-secondary:hover, .PageWrapper .wp-block-button a:hover, .TeamBlock.-modeGrid .Card.-team .Card-social li a:hover, .TeamBlock.-modeOverlay .Card.-team .Card-social li a:hover, .TeamBlock.-modeSplit .TeamBlock-panelSocial li a:hover, .SliderBlock-slide .Card.-slider.-transparent a:hover,
.SliderBlock-slide .Card.-slider.-transparent button:hover {
  --bg-color-button: var(--btn-secondary-hover-bg, var(--ds-color-primary));
  color: var(--btn-secondary-hover-text, var(--ds-color-secondary));
}
.SingleReference-content a, .TopIntro-breadcrumbs nav a, .SiteFooter-menuBlock ul a, .Button.-simpleLink {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --text-color-button: var(--btn-simpleLink-text, var(--ds-color-secondary));
  padding: 0;
  gap: var(--ds-spacings--x-small);
  background-color: transparent;
}
.SingleReference-content a:hover, .TopIntro-breadcrumbs nav a:hover, .SiteFooter-menuBlock ul a:hover, .Button.-simpleLink:hover {
  color: var(--btn-simpleLink-hover, var(--ds-color-primary));
}
.HeroHome-cta.-primary, .SiteFooter-contact a, .OffreBlock .Card.-offer .Card-actions a {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-arrow-bg, var(--ds-color-primary));
  color: var(--btn-arrow-text, var(--ds-color-secondary));
  padding: 1rem 2rem;
  align-items: center;
  flex-flow: row nowrap;
}
.HeroHome-cta.-primary::after, .SiteFooter-contact a::after, .OffreBlock .Card.-offer .Card-actions a::after {
  position: relative;
  content: "";
  mask-image: url(.././dist/images/37dcb695ef18cb416058.svg);
  position: relative;
  mask-size: 100% 100%;
  background-color: var(--btn-arrow-text, var(--ds-color-primary));
  mask-repeat: no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 1px;
}
.HeroHome-cta.-primary:hover, .SiteFooter-contact a:hover, .OffreBlock .Card.-offer .Card-actions a:hover {
  --bg-color-button: var(--btn-arrow-hover-bg, var(--ds-color-primary));
  color: var(--btn-arrow-hover-text, var(--ds-color-secondary));
}
.HeroHome-cta.-primary:hover::after, .SiteFooter-contact a:hover::after, .OffreBlock .Card.-offer .Card-actions a:hover::after {
  background-color: var(--btn-arrow-hover-text, var(--ds-color-primary));
}
.DisplayBlock-link {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-secondary-bg, var(--ds-color-secondary));
  color: var(--btn-secondary-text, var(--ds-color-primary));
  justify-content: center;
  align-items: center;
  font-size: 0;
  max-width: unset;
  width: 3rem;
  height: 3rem;
  padding: var(--ds-spacings--standard);
  flex-shrink: 1;
}
.DisplayBlock-link:hover {
  --bg-color-button: var(--btn-secondary-hover-bg, var(--ds-color-primary));
  color: var(--btn-secondary-hover-text, var(--ds-color-secondary));
}
.DisplayBlock-link::after {
  position: relative;
  display: flex;
  content: "";
  mask-image: url(.././dist/images/24570d6b20707e26d75c.svg);
  mask-repeat: no-repeat;
  background-color: currentColor;
  width: 12px;
  height: 8px;
  transform: rotate(-90deg);
}
.Home-inner h1, .HomeSlider-content h1, .ParallaxWrapper-title, .SiteFooter-topBlock h2, .TextImageBlock-title, .HeroSliderBlock .HeroSlider-title, .HighLightsBlock .HighLights-number, h1 {
  font-size: var(--ds-style-heading-1--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
  font-weight: 800;
}

.GreenSection-title, .TeamBlock.-modeSplit .TeamBlock-panelFirstname, .TimelineBlock-headerTitle, h2 {
  font-size: var(--ds-style-heading-2--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
  font-weight: 800;
}

.HomePage-title, .SingleReference-descriptionItem h3, .OffreBlock .Card.-offer .Card-price, .SliderBlock-slide .Card-title, .DisplayBlock-item.-parallaxItem .DisplayBlock-title, .TimelineBlock-title, h3 {
  font-size: var(--ds-style-heading-3--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
  font-weight: 800;
}

.ContactPage-infos h3, .Card.-article .Card-title, .OffreBlock .Card.-offer .Card-title, .VideoBlock-title, .HeroSliderBlock .HeroSlider-subtitle, .TeamBlock.-modeSplit .TeamBlock-listName, .TeamBlock.-modeSplit .TeamBlock-panelLastname, .DisplayBlock-title, .CPTBlock .Card.-cpt-item .Card-title, .HighLightsBlock .HighLights-extension, h4 {
  font-size: var(--ds-style-heading-4--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
}

.TeamBlock.-modeGrid .Card.-team .Card-title, .TeamBlock.-modeOverlay .Card.-team .Card-title, .TeamBlock.-modeSplit .TeamBlock-panelRole, .TeamBlock.-modeSplit .TeamBlock-panelMottoQuote, .ArticleBlock-title, .TimelineBlock-subtitle, h5 {
  font-size: var(--ds-style-heading-5--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
}

.HomePage-subtitle, .Modal.-slider .Modal-title, .TestimonyBlock-author, .SliderBlock.-sliderStyle1 .Card.-slider .Card-title, .DownloadBlock-title, h6 {
  font-size: var(--ds-style-heading-6--font-size);
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1.1;
}

.TeamBlock.-modeOverlay .Card.-team .Card-function, .TeamBlock.-modeSplit .TeamBlock-panelCounter, .AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger, .AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab, .AccordionTabsBlock-title, body {
  font-family: "Inter", sans-serif;
  font-size: var(--ds-style-body-0--font-size);
  font-weight: 300;
}

.SingleReference-content h6, .HeroHome-subtitle, .TopIntro-surtitle, .ParallaxWrapper-sectionTags h3, .TextImageBlock-label, .LabelTitle, ol.ImpactfulList li::before, .OffreBlock .Card.-offer .Card-surtitle, .OffreBlock .Card.-offer .Card-subtitle, .OffreBlock .Card.-offer .Card-mentions, .OffreBlock .Card.-offer.-featured .Card-badge, .ClientBlock .Card.-client .Card-title, .PageWrapper span.miniTitle, .ParallaxWrapper-sectionTags span,
.ParallaxWrapper-sectionTags a {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: var(--ds-style-label-0--font-size);
  line-height: 1.2;
}

/* ==========================================================================
   Tag Labels - Placeholders
   ========================================================================== */
.ParallaxWrapper-sectionTags span,
.ParallaxWrapper-sectionTags a {
  display: inline-flex;
  align-items: center;
  background-color: var(--tag-bg-color);
  color: var(--tag-text-color);
  padding-block: 0.325rem;
  padding-inline: 1rem;
  border-radius: 2rem;
  text-align: center;
  text-decoration: none;
}
.ParallaxWrapper-sectionTags ul, .Tag {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ParallaxWrapper-sectionTags ul.-horizontal, .-horizontal.Tag {
  flex-flow: row wrap;
}
.ParallaxWrapper-sectionTags span:hover,
.ParallaxWrapper-sectionTags a:hover {
  background-color: #000000;
  color: #ffffff;
}

:root {
  --page-inner-padding-inline: 1rem;
}
@media only screen and (min-width: 1024px) {
  :root {
    --page-inner-padding-inline: 2rem;
  }
}

.HomePage, .ContactPage, .PageReferences, .SingleReference-content, .GridCourses, .HeroBanner, .Home, .HomeGallery, .GreenSection, .HomeSlider, .HeroHome, .TopIntro-wrapper, .TextImageBlock, .SiteHeader, .ToolPagination-wrapper, .OffreBlock, .BeforeAfterBlock, .VideoBlock, .TestimonyBlock, .TeamBlock, .DownloadBlock, .DisplayBlock, .CPTBlock, .ClientBlock, .ArticleBlock, .AccordionTabsBlock, .TimelineBlock, .PageWrapper, .full-width {
  margin-inline: auto;
  width: min(100%, 1920px);
}

.ErrorPage-inner, .HomePage-inner, .HomePage.-promote-inner, .HomePage.-spot-inner, .ContactPage-inner, .PageReferences-inner, .SingleReference-inner, .GridCourses-inner, .HeroBanner-inner, .Home-inner, .HomeGallery-inner, .GreenSection-inner, .Blog, .Blog-single, .HeroHome-inner, .TopIntro-inner, .ParallaxWrapper-fixed, .SiteFooter-inner, .TextImageBlock-inner, .SiteHeader-container, .ToolPagination-inner, .bottomBlock-inner, .PageInner, .full-width .page-inner {
  margin-inline: auto;
  width: min(100% - 2 * var(--page-inner-padding-inline), 1280px);
}
.ErrorPage-inner .PageInner, .HomePage-inner .PageInner, .HomePage.-promote-inner .PageInner, .HomePage.-spot-inner .PageInner, .ContactPage-inner .PageInner, .PageReferences-inner .PageInner, .SingleReference-inner .PageInner, .GridCourses-inner .PageInner, .HeroBanner-inner .PageInner, .Home-inner .PageInner, .HomeGallery-inner .PageInner, .GreenSection-inner .PageInner, .Blog .PageInner, .Blog-single .PageInner, .HeroHome-inner .PageInner, .TopIntro-inner .PageInner, .ParallaxWrapper-fixed .PageInner, .SiteFooter-inner .PageInner, .TextImageBlock-inner .PageInner, .SiteHeader-container .PageInner, .ToolPagination-inner .PageInner, .bottomBlock-inner .PageInner, .PageInner .PageInner, .full-width .page-inner .PageInner, .Page-content .ErrorPage-inner, .Page-content .HomePage-inner, .Page-content .HomePage.-promote-inner, .Page-content .HomePage.-spot-inner, .Page-content .ContactPage-inner, .Page-content .PageReferences-inner, .Page-content .SingleReference-inner, .Page-content .GridCourses-inner, .Page-content .HeroBanner-inner, .Page-content .Home-inner, .Page-content .HomeGallery-inner, .Page-content .GreenSection-inner, .Page-content .Blog, .Page-content .Blog-single, .Page-content .HeroHome-inner, .Page-content .TopIntro-inner, .Page-content .ParallaxWrapper-fixed, .Page-content .SiteFooter-inner, .Page-content .TextImageBlock-inner, .Page-content .SiteHeader-container, .Page-content .ToolPagination-inner, .Page-content .bottomBlock-inner, .Page-content .PageInner, .Page-content .full-width .page-inner, .full-width .Page-content .page-inner {
  width: 100%;
}

.OffreBlock .Card.-offer .Card-inner, .-themeTransparent {
  background-color: transparent;
  color: var(--theme-light-text);
  --bg-theme-color: var(--theme-light-bg);
  --text-theme-color: var(--theme-light-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-primary);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-primary);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-primary);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-primary);
  --btn-arrow-text: var(--ds-color-secondary);
  --btn-arrow-hover-bg: var(--ds-color-secondary);
  --btn-arrow-hover-text: var(--ds-color-white);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-primary);
}
.HighLightsBlock .HighLights-keyNumber.-themeDark, .-themeDark {
  background-color: var(--theme-dark-bg);
  color: var(--theme-dark-text);
  --bg-theme-color: var(--theme-dark-bg);
  --text-theme-color: var(--theme-dark-text);
  --btn-primary-bg: var(--ds-color-primary);
  --btn-primary-text: var(--ds-color-secondary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-primary);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-white);
  --btn-secondary-hover-text: var(--ds-color-secondary);
  --btn-simpleLink-text: var(--ds-color-white);
  --btn-simpleLink-hover: var(--ds-color-primary);
  --btn-download-bg: var(--ds-color-primary);
  --btn-download-text: var(--ds-color-secondary);
  --btn-download-hover-bg: var(--ds-color-white);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-primary);
  --btn-arrow-text: var(--ds-color-secondary);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-secondary);
}
.OffreBlock .Card.-offer.-featured .Card-inner, .HighLightsBlock .HighLights-keyNumber.-themeLight, .-themeLight {
  background-color: var(--theme-light-bg);
  color: var(--theme-light-text);
  --bg-theme-color: var(--theme-light-bg);
  --text-theme-color: var(--theme-light-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-white);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-primary);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-secondary);
  --btn-arrow-text: var(--ds-color-white);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-primary);
}
.HighLightsBlock .HighLights-keyNumber.-themeAccent, .-themeAccent {
  background-color: var(--theme-accent-bg);
  color: var(--theme-accent-text);
  --bg-theme-color: var(--theme-accent-bg);
  --text-theme-color: var(--theme-accent-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-primary);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-white);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-white);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-white);
}

.TeamBlock .Card.-team .Card-desc p, .TeamBlock.-modeSplit .TeamBlock-panelDesc p, .SliderBlock-slide .Card-description p, .CPTBlock .Card.-cpt-item .Card-desc, .ClientBlock .Card.-client .Card-desc, .TimelineBlock-headerSubtitle, .TimelineBlock-desc {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@font-face {
  font-family: "Stolzl";
  src: url(.././dist/fonts/263bfc7ede69f79c4fd1.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Stolzl";
  src: url(.././dist/fonts/d50f42e4ab617c6b0149.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Stolzl";
  src: url(.././dist/fonts/b4e46d56060df986e993.woff2) format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block-start: unset;
  margin-block-end: unset;
  margin-block-end: var(--ds-spacings--medium);
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-family: "Inter", sans-serif;
}

.wp-block-quote > cite {
  display: flex;
}

hr {
  border-top: 1px solid #fff5cc;
  border-bottom: 0;
  margin: 2rem 0;
}

blockquote {
  --bg-blockquote: transparent;
  --color-blockquote-text: var(--ds-color-secondary);
  --color-blockquote-icon: var(--ds-color-secondary);
  --color-left-border-blockquote: var(--ds-color-secondary);
  --color-cite-before: var(--ds-color-secondary);
  --color-cite: var(--ds-color-secondary);
  --padding-left-cite: 1.5rem;
  position: relative;
  margin: 0;
  padding: 3rem;
  border-left: 0px solid var(--color-left-border-blockquote);
  color: var(--color-blockquote-text);
  background-color: var(--bg-blockquote);
  border-radius: var(--ds-radius-width-medium);
}
.-themeDark blockquote {
  --bg-blockquote: transparent;
  --color-blockquote-text: var(--ds-color-white);
  --color-blockquote-icon: var(--ds-color-white);
  --color-left-border-blockquote: var(--ds-color-white);
  --color-cite-before: rgba(255, 255, 255, 0.4);
  --color-cite: rgba(255, 255, 255, 0.7);
}
.-themeLight blockquote {
  --bg-blockquote: transparent;
  --color-blockquote-text: var(--ds-color-secondary);
  --color-blockquote-icon: var(--ds-color-secondary);
  --color-left-border-blockquote: var(--ds-color-primary);
  --color-cite-before: var(--ds-color-secondary);
  --color-cite: var(--ds-color-secondary);
}
.-themeAccent blockquote {
  --bg-blockquote: transparent;
  --color-blockquote-text: var(--ds-color-secondary);
  --color-blockquote-icon: var(--ds-color-secondary);
  --color-left-border-blockquote: var(--ds-color-secondary);
  --color-cite-before: var(--ds-color-secondary);
  --color-cite: var(--ds-color-secondary);
}
blockquote:before {
  position: absolute;
  content: "";
  mask-image: url(.././dist/images/bcb65a377b3be04b2a35.svg);
  background-color: var(--color-blockquote-icon);
  mask-size: 5rem;
  mask-repeat: no-repeat;
  top: 8px;
  left: 8px;
  right: 0;
  bottom: 0;
  z-index: auto;
}
blockquote p {
  position: relative;
  margin: 0;
  padding-block: 1rem;
  font-size: size(18);
  color: var(--color-blockquote-text);
}
blockquote cite {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--padding-left-cite);
  font-style: normal;
  font-weight: 500;
  color: var(--color-cite);
  width: max-content;
}
blockquote cite:before {
  position: relative;
  content: "";
  width: 2.5rem;
  height: 2px;
  background-color: var(--color-cite-before);
}

.has-drop-cap:first-letter,
.has-drop-cap:not(:focus):first-letter {
  background-color: transparent;
  float: left;
  margin: 0 0.5rem 0 0;
  padding: 0 3px 4px;
}
.has-drop-cap.-style2:first-letter,
.has-drop-cap:not(:focus).-style2:first-letter {
  background-color: var(--ds-color-secondary);
  margin-right: var(--ds-spacings--semi);
  padding: var(--ds-spacings--standard);
  color: var(--ds-color-white);
  text-align: center;
}
.-themeDark .has-drop-cap:first-letter,
.-themeDark .has-drop-cap:not(:focus):first-letter {
  color: var(--ds-color-primary);
}
.-themeDark .has-drop-cap.-style2:first-letter,
.-themeDark .has-drop-cap:not(:focus).-style2:first-letter {
  background-color: var(--ds-color-primary);
  margin-right: var(--ds-spacings--semi);
  padding: var(--ds-spacings--standard);
  color: var(--ds-color-secondary);
  text-align: center;
}
.-themeAccent .has-drop-cap:first-letter,
.-themeAccent .has-drop-cap:not(:focus):first-letter {
  color: var(--ds-color-secondary);
}
.-themeAccent .has-drop-cap.-style2:first-letter,
.-themeAccent .has-drop-cap:not(:focus).-style2:first-letter {
  background-color: var(--ds-color-secondary);
  margin-right: var(--ds-spacings--semi);
  padding: var(--ds-spacings--standard);
  color: var(--ds-color-primary);
  text-align: center;
}

/* ============================================================
   LISTES NUMÉROTÉES — Style design natif WP
   S'applique sur ol.wp-block-list dans le contenu éditeur
   ============================================================ */
ol.wp-block-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: gk-list;
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--semi);
  margin-block: var(--ds-spacings--standard);
}
ol.wp-block-list li {
  position: relative;
  counter-increment: gk-list;
  align-items: baseline;
  gap: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-inline-start: var(--ds-spacings--x-large);
}
ol.wp-block-list li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: counter(gk-list, decimal-leading-zero);
  flex-shrink: 0;
  font-size: var(--ds-font-size-100);
  font-weight: 700;
  letter-spacing: 0.05em;
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Variante thème dark/accent : inverser couleurs marker */
.PageWrapper.-themeLight ol.wp-block-list li::before {
  background: var(--ds-color-white);
  color: var(--ds-color-primary);
}
.PageWrapper.-themeDark ol.wp-block-list li::before {
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
}
.PageWrapper.-themeAccent ol.wp-block-list li::before {
  background: var(--ds-color-secondary);
  color: var(--ds-color-tertiary);
}
.PageWrapper.-themeTransparent ol.wp-block-list li::before {
  background: var(--ds-color-primary);
  color: var(--ds-color-beige);
}

html {
  box-sizing: border-box;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
html.no-scroll {
  overflow-y: hidden;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

html,
body {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

body {
  position: relative;
  background-color: var(--ds-color-white);
  width: 100%;
  color: var(--text-theme-color);
  min-height: 100vh;
  line-height: 1.6;
  font-weight: 400;
}
body.no-scroll {
  position: fixed;
  overflow: hidden;
  height: 100%;
}

.PageWrapper span.miniTitle {
  display: block;
  margin-block-end: var(--ds-spacings--semi);
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  color: var(--ds-color-beige-30);
}

a {
  cursor: pointer;
  text-decoration: underline;
  color: var(--btn-simpleLink-text, var(--ds-color-secondary));
}
a:hover {
  color: var(--btn-simpleLink-hover, var(--ds-color-primary));
}

.breadcrumbs {
  position: relative;
  z-index: 10;
  background: transparent;
  display: block;
  color: hsl(0, 0%, -15%);
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  text-align: left;
}
.breadcrumbs nav {
  display: block;
}
.breadcrumbs span {
  color: hsl(0, 0%, -15%);
}
.breadcrumbs span.breadcrumb_last {
  font-weight: bold;
}
.breadcrumbs a {
  color: hsl(0, 0%, -10%);
}

img {
  max-width: 100%;
  height: auto;
}

html.is-menu-open,
body.is-menu-open {
  overflow: hidden;
}

/* =========================================================
   GUIDES VERTICAUX (colonnes) — inspiré de pure-illusion.com
   EXPERIMENTAL : décommente le bloc entier pour activer.
   Portée : toutes les pages SAUF la home.
   single-reference : placé SOUS le hero (override en bas).
   Réglages : --guides-cols (nb colonnes), --guides-color (opacité).
   ========================================================= */
:root {
  --guides-cols: 2;
  --guides-max: 1600px;
  --guides-color: rgba(245, 240, 230, 0.65);
  --guides-z: 0;
}
@media (min-width: 768px) {
  :root {
    --guides-cols: 4;
  }
}
@media (min-width: 1200px) {
  :root {
    --guides-cols: 5;
  }
}

body.single-reference .PageWrapper::before, body:not(.home)::before {
  content: "";
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, var(--guides-max));
  z-index: var(--guides-z);
  pointer-events: none;
  background-image: repeating-linear-gradient(to right, var(--guides-color) 0, var(--guides-color) 1px, transparent 1px, transparent calc(100% / var(--guides-cols)));
  border-right: 1px solid var(--guides-color);
}

body:not(.home)::before {
  position: fixed;
}

body.single-reference::before {
  content: none;
}

body.single-reference .PageWrapper {
  position: relative;
}

body.single-reference .PageWrapper::before {
  position: absolute;
}

.PageTransition {
  --local-transition-color: var(
    --transition-color-override,
    var(--ds-color-primary)
  );
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  display: flex;
}
.PageTransition-col {
  flex: 1;
  background: var(--local-transition-color);
  transform: scaleY(0);
  transform-origin: bottom;
  will-change: transform;
  backface-visibility: hidden;
  transition: none !important;
  margin-right: -1px;
}
.PageTransition-col:last-child {
  margin-right: 0;
}

html.has-visited .PageTransition-col {
  transform: scaleY(1);
}

html.is-loading #app {
  opacity: 0;
}

#app {
  transition: none !important;
  position: relative;
  z-index: 1;
}

.full-width .page-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100dvh;
}

.TimelineBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — mapping couleurs natives
     Sélecteurs socle : .-themeDark / .-themeLight / .-themeAccent
  ════════════════════════════════════════════ */
  /* Défaut (:root = page blanche) : texte secondary foncé, marker secondary */
  --tl-text: var(--text-theme-color);
  --tl-marker-bg: var(--ds-color-secondary);
  --tl-marker-text: var(--ds-color-primary);
  /* Ligne de track : fallback primary si --tl-text non résolu (fond blanc sans thème parent) */
  --tl-line-color: var(--tl-text, var(--ds-color-primary));
  /* Dark (bg=secondary foncé) : texte blanc, marker primary + texte secondary */
  /* Light (bg=primary) : texte secondary foncé, marker secondary + texte blanc */
  /* Accent (bg=tertiary-lighten) : texte secondary foncé, marker secondary + texte blanc */
  /* ── Header bloc ── */
  /* ══════════════════════════════════════════════
     INNER + TRACK + ITEMS (commun aux 2 orientations)
  ══════════════════════════════════════════════ */
  /* ── Marqueur (commun aux 3 types) ── */
  /* ── Border conditionnelle sur marqueur ── */
  /* ── Content ── */
  /* ── Couleur de fond par item ── */
  /* ── Border conditionnelle sur content ── */
  /* ══════════════════════════════════════════════
     ORIENTATION VERTICALE (default)
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     ORIENTATION HORIZONTALE
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     MOBILE — reset layouts alternate + right → single column
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ══════════════════════════════════════════════ */
}
.-themeDark .TimelineBlock {
  --tl-text: var(--ds-color-white);
  --tl-marker-bg: var(--ds-color-primary);
  --tl-marker-text: var(--ds-color-secondary);
}
.-themeDark .TimelineBlock .TimelineBlock-item {
  --icon-filter: brightness(0);
}
.-themeLight .TimelineBlock {
  --tl-text: var(--ds-color-secondary);
  --tl-marker-bg: var(--ds-color-secondary);
  --tl-marker-text: var(--ds-color-white);
}
.-themeAccent .TimelineBlock {
  --tl-text: var(--ds-color-secondary);
  --tl-marker-bg: var(--ds-color-secondary);
  --tl-marker-text: var(--ds-color-white);
}
.TimelineBlock-header {
  margin-block-end: var(--ds-spacings--x-large);
  text-align: center;
}
.TimelineBlock-headerTitle {
  color: var(--tl-text);
  margin: 0 0 var(--ds-spacings--small);
}
.TimelineBlock-headerSubtitle {
  color: var(--tl-text);
  margin: 0;
}
.TimelineBlock-inner {
  position: relative;
  isolation: isolate;
  display: flex;
}
.TimelineBlock-track {
  display: flex;
  flex-direction: column;
  gap: var(--timeline-gap, 60px);
  flex: 1;
}
.TimelineBlock-item {
  position: relative;
  z-index: 9;
  display: flex;
  /* Marker bg : override item OU thème natif */
  --marker-bg: var(--item-color, var(--tl-marker-bg));
  /* Marker text : suit le thème (lisibilité protégée) */
  --marker-text: var(--tl-marker-text);
  /* Surtitle : override item OU thème natif marker bg */
  --surtitle-color: var(--item-color, var(--tl-marker-bg));
  /* Title/Subtitle/Desc : override item OU thème natif */
  --text-color: var(--item-color, var(--tl-text));
  /* Icône marker : blanc par défaut (marker-bg foncé dans la plupart des thèmes) */
  --icon-filter: brightness(0) invert(1);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 600ms ease-out, transform 600ms ease-out;
}
.TimelineBlock-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.TimelineBlock-marker {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--timeline-icon-size, 48px);
  height: var(--timeline-icon-size, 48px);
  background: var(--marker-bg);
  color: var(--marker-text);
  font-weight: 700;
  border-radius: var(--timeline-marker-radius, 50%);
  border-width: var(--tl-marker-border-width, 0px);
  border-style: solid;
  border-color: var(--marker-bg);
  padding: var(--timeline-marker-padding, 0px);
  z-index: 5;
}
.TimelineBlock-marker.-marker-date {
  width: auto;
  min-width: var(--timeline-icon-size, 48px);
  max-width: 140px;
  padding: var(--ds-spacings--xx-small) var(--ds-spacings--small);
  border-radius: var(--timeline-marker-radius, var(--timeline-icon-size, 48px));
}
.TimelineBlock-marker.-marker-date .TimelineBlock-markerText {
  white-space: normal;
  word-break: break-word;
  text-align: center;
  line-height: 1.2;
  font-size: calc(var(--timeline-icon-size, 48px) * 0.28);
}
.TimelineBlock-marker.-marker-number .TimelineBlock-markerText {
  font-size: calc(var(--timeline-icon-size, 48px) * 0.4);
}
.TimelineBlock-marker.-marker-icon .TimelineBlock-markerIcon {
  width: calc(var(--timeline-icon-size, 48px) * 0.6);
  height: calc(var(--timeline-icon-size, 48px) * 0.6);
  object-fit: contain;
  filter: var(--icon-filter);
}
.TimelineBlock-markerText {
  line-height: 1;
  white-space: nowrap;
}
.TimelineBlock.-hasBorder .TimelineBlock-marker {
  --tl-marker-border-width: 2px;
}
.TimelineBlock-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--small);
  padding: var(--timeline-content-padding, 0px);
  background: var(--item-bg-color, transparent);
  border-radius: var(--timeline-content-radius, 0px);
}
.TimelineBlock-item.-bgColor-light .TimelineBlock-content {
  background: var(--ds-color-primary);
  --text-color: var(--ds-color-secondary);
  --surtitle-color: var(--ds-color-secondary);
}
.TimelineBlock-item.-bgColor-dark .TimelineBlock-content {
  background: var(--ds-color-secondary);
  --text-color: var(--ds-color-white);
  --surtitle-color: var(--ds-color-white);
}
.TimelineBlock-item.-bgColor-accent .TimelineBlock-content {
  background: var(--theme-accent-bg);
  --text-color: var(--theme-accent-text);
  --surtitle-color: var(--theme-accent-text);
}
.TimelineBlock.-hasContentBorder .TimelineBlock-content {
  border: 1px solid var(--tl-text);
  border-radius: var(--timeline-content-radius, 8px);
}
.TimelineBlock-surtitle {
  color: var(--surtitle-color);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 0.75rem;
}
.TimelineBlock-title {
  color: var(--text-color);
  margin: 0;
}
.TimelineBlock-subtitle {
  color: var(--text-color);
  margin: 0;
}
.TimelineBlock-desc {
  color: var(--text-color);
}
.TimelineBlock-desc ul, .TimelineBlock-desc ol {
  padding-left: 1.2em;
  margin: 0;
}
.TimelineBlock-desc li {
  margin-bottom: 4px;
}
.TimelineBlock-picture {
  overflow: hidden;
  width: 100%;
  height: var(--timeline-image-height, 200px);
  border-radius: var(--timeline-image-radius, 8px);
  margin-block-start: var(--ds-spacings--small);
}
.TimelineBlock-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
  width: 100%;
  height: 100%;
}
.TimelineBlock.-orientation-vertical {
  /* ── Layout alternate — items gauche/droite en alternance ── */
  /* ── Layout right — marker droite, contenu gauche ── */
}
.TimelineBlock.-orientation-vertical .TimelineBlock-inner {
  flex-direction: column;
}
.TimelineBlock.-orientation-vertical .TimelineBlock-inner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--timeline-icon-size, 48px) / 2);
  width: 2px;
  background: var(--tl-line-color);
  opacity: 0.3;
  z-index: 1;
}
.TimelineBlock.-orientation-vertical .TimelineBlock-item {
  flex-direction: row;
  align-items: flex-start;
  gap: var(--timeline-marker-gap, 20px);
}
@media only screen and (min-width: 768px) {
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-inner::before {
    left: 50%;
    transform: translateX(-50%);
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item {
    width: 50%;
    /* marker dépasse hors de la boîte → clip-path interdit */
    clip-path: none;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item[data-gk-reveal], .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item[data-gk-reveal].-revealed {
    clip-path: none;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(odd) {
    align-self: flex-start;
    flex-direction: row-reverse;
    text-align: right;
    padding-right: calc(var(--timeline-icon-size, 48px) / 2 + var(--timeline-marker-gap, 20px));
    padding-left: var(--ds-spacings--small);
    /* Marker au bord droit — translateX(50%) centre sur la ligne */
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(odd) .TimelineBlock-content {
    align-items: flex-end;
    text-align: right;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(odd) .TimelineBlock-marker {
    position: absolute;
    right: 0;
    left: auto;
    bottom: auto;
    top: 0;
    transform: translateX(50%);
    z-index: 10;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(even) {
    align-self: flex-end;
    flex-direction: row;
    text-align: left;
    padding-left: calc(var(--timeline-icon-size, 48px) / 2 + var(--timeline-marker-gap, 20px));
    padding-right: var(--ds-spacings--small);
    /* Marker au bord gauche — translateX(-50%) centre sur la ligne */
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(even) .TimelineBlock-content {
    align-items: flex-start;
    text-align: left;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item:nth-child(even) .TimelineBlock-marker {
    position: absolute;
    left: 0;
    right: auto;
    bottom: auto;
    top: 0;
    transform: translateX(-50%);
    z-index: 10;
  }
}
.TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-inner::before {
  left: auto;
  right: calc(var(--timeline-icon-size, 48px) / 2);
}
.TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-item {
  flex-direction: row-reverse;
  text-align: right;
}
.TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-item .TimelineBlock-content {
  align-items: flex-end;
}
.TimelineBlock.-orientation-horizontal {
  /* ── Nav buttons ── */
  /* Mobile : fallback vertical, nav masquée */
}
.TimelineBlock.-orientation-horizontal .TimelineBlock-nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .TimelineBlock.-orientation-horizontal .TimelineBlock-inner {
    flex-direction: row;
    align-items: center;
    overflow: hidden;
    padding-block: var(--ds-spacings--standard);
    gap: 0;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-inner::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--ds-spacings--standard) + var(--timeline-icon-size, 48px) / 2);
    height: 2px;
    background: var(--tl-text);
    opacity: 0.3;
    z-index: 1;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-track {
    flex: 1;
    width: 100%;
    flex-direction: row;
    gap: var(--timeline-gap, 60px);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    min-height: var(--timeline-h-min-height, 500px);
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-track::-webkit-scrollbar {
    display: none;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-item {
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: var(--timeline-h-item-width, 320px);
    scroll-snap-align: start;
    gap: var(--timeline-marker-gap, 20px);
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-content {
    align-items: center;
    text-align: center;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    align-self: center;
    background: var(--tl-marker-bg);
    color: var(--tl-marker-text);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: opacity 200ms ease;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-nav[disabled] {
    opacity: 0;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  .TimelineBlock.-orientation-horizontal .TimelineBlock-inner::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--timeline-icon-size, 48px) / 2);
    width: 2px;
    background: var(--tl-text);
    opacity: 0.3;
    z-index: 1;
  }
  .TimelineBlock.-orientation-horizontal .TimelineBlock-item {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--timeline-marker-gap, 20px);
  }
}
@media (max-width: 767px) {
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-inner::before, .TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-inner::before {
    left: calc(var(--timeline-icon-size, 48px) / 2);
    right: auto;
    transform: none;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item, .TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-item {
    width: 100%;
    flex-direction: row;
    text-align: left;
    padding-inline: 0;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item .TimelineBlock-marker, .TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-item .TimelineBlock-marker {
    position: relative;
    left: auto;
    transform: none;
  }
  .TimelineBlock.-orientation-vertical.-layout-alternate .TimelineBlock-item .TimelineBlock-content, .TimelineBlock.-orientation-vertical.-layout-right .TimelineBlock-item .TimelineBlock-content {
    align-items: flex-start;
  }
}
.TimelineBlock.-contentAlign-left .TimelineBlock-content {
  align-items: flex-start;
  text-align: left;
}
.TimelineBlock.-contentAlign-center .TimelineBlock-content {
  align-items: center;
  text-align: center;
}
.TimelineBlock.-contentAlign-right .TimelineBlock-content {
  align-items: flex-end;
  text-align: right;
}

@property --gauge-progress {
  syntax: "<number>";
  initial-value: 0;
  inherits: false;
}
:root {
  --bgcolor-key-number: var(--ds-color-white);
  --color-key-number: var(--ds-color-secondary);
  --hl-icon-size: 48px;
  --hl-icon-color: var(--ds-color-white);
  --gauge-size: 160px;
  --gauge-track-color: color-mix(in srgb, var(--text-theme-color) 15%, transparent);
  --gauge-color: var(--ds-color-primary);
}

.HighLightsBlock {
  display: grid;
  grid-template-columns: var(--hl-cols, repeat(auto-fit, minmax(240px, 1fr)));
  gap: var(--hl-gap, var(--ds-spacings--large));
  /* =========================
     Base
  ========================== */
  /* =========================
     Bordure (D9, D10)
  ========================== */
  /* =========================
     Mode : Numbers — chiffres_cles
     (migré depuis .-keyStyle1 / .-keyStyle2)
  ========================== */
  /* =========================
     Mode : Gauge + Gauge Marker
  ========================== */
  /* =========================
     Mode : Skillbars (barres de progression)
  ========================== */
  /* =========================
     Align modifiers (tous modes)
  ========================== */
}
@media only screen and (max-width: 767px) {
  .HighLightsBlock {
    --gauge-size: 120px;
  }
}
@media only screen and (max-width: 479px) {
  .HighLightsBlock {
    --gauge-size: 96px;
  }
}
.HighLightsBlock .HighLights {
  /* =========================
     MEDIA (chiffres_cles uniquement)
  ========================== */
}
.HighLightsBlock .HighLights-keyNumber {
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--color-key-number);
  background-color: var(--bgcolor-key-number);
  border-radius: var(--card-radius, 8px);
}
.HighLightsBlock .HighLights-keyNumber.-themeLight {
  --bgcolor-key-number: var(--theme-light-bg);
  --color-key-number: var(--theme-light-text);
}
.HighLightsBlock .HighLights-keyNumber.-themeDark {
  --bgcolor-key-number: var(--theme-dark-bg);
  --color-key-number: var(--theme-dark-text);
}
.HighLightsBlock .HighLights-keyNumber.-themeAccent {
  --bgcolor-key-number: var(--theme-accent-bg);
  --color-key-number: var(--theme-accent-text);
}
.HighLightsBlock .HighLights-content {
  position: relative;
  width: 100%;
}
.HighLightsBlock .HighLights-count {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--ds-spacings--small);
  width: 100%;
}
.HighLightsBlock .HighLights-number {
  font-size: var(--ds-font-size-900);
  font-weight: 900;
}
.HighLightsBlock .HighLights-description {
  width: 100%;
}
.HighLightsBlock .HighLights-media {
  position: relative;
  flex: 0 0 auto;
}
.HighLightsBlock .HighLights-media.-mediaIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--hl-icon-size);
  height: var(--hl-icon-size);
  margin-inline: var(--ds-spacings--large);
  margin-block: var(--ds-spacings--xx-large) var(--ds-spacings--standard);
  color: currentColor;
}
.HighLightsBlock .HighLights-media.-mediaIcon img {
  width: 100%;
  height: 100%;
  display: block;
}
.HighLightsBlock .HighLights-media.-mediaIcon .HighLights-icon,
.HighLightsBlock .HighLights-media.-mediaIcon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.HighLightsBlock .HighLights-media.-mediaIcon svg * {
  stroke: currentColor;
}
.HighLightsBlock .HighLights-media.-mediaImage, .HighLightsBlock .HighLights-media.-mediaImageOverlay {
  width: 100%;
  height: var(--hl-image-height, 220px);
  overflow: hidden;
}
.HighLightsBlock .HighLights-media.-mediaImage > img, .HighLightsBlock .HighLights-media.-mediaImageOverlay > img {
  width: 100%;
  height: 100%;
  display: block;
}
.HighLightsBlock .HighLights-media.-mediaImageOverlay {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.HighLightsBlock.-bordered .HighLights-keyNumber {
  border: 1px solid var(--text-theme-color);
}
.HighLightsBlock.-modeNumbers {
  /* =========================
     FIT MODIFIERS (image uniquement)
  ========================== */
  /* =========================
     LAYOUT MODIFIERS (image uniquement)
  ========================== */
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber {
  align-items: center;
  text-align: center;
  gap: var(--ds-spacings--small);
}
.HighLightsBlock.-modeNumbers .HighLights-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--ds-spacings--xx-large) var(--ds-spacings--large);
}
.HighLightsBlock.-modeNumbers .HighLights-count {
  justify-content: center;
}
.HighLightsBlock.-modeNumbers .HighLights-description {
  margin-block-start: var(--ds-spacings--standard);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasIcon .HighLights-content,
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage .HighLights-content {
  padding-inline: var(--ds-spacings--large);
  padding-block-end: var(--ds-spacings--xx-large);
  padding-block-start: 0;
  z-index: 1;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage .HighLights-media.-mediaImage > img,
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage .HighLights-media.-mediaImageOverlay > img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImage > img,
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImageOverlay > img {
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: contain; object-position: center";
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage.-fitCover .HighLights-media.-mediaImage > img,
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-hasImage.-fitCover .HighLights-media.-mediaImageOverlay > img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutAbove {
  align-items: stretch;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutAbove .HighLights-media.-mediaImage {
  margin-block-end: var(--ds-spacings--standard);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutBelow {
  align-items: stretch;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutBelow .HighLights-media.-mediaImage {
  margin-block-start: var(--ds-spacings--standard);
  margin-top: auto;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay {
  position: relative;
  overflow: hidden;
  min-height: var(--hl-image-height, 220px);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay .HighLights-content {
  padding-inline: var(--ds-spacings--large);
  position: relative;
  z-index: 1;
  margin-top: auto;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayLight {
  background: rgb(255, 255, 255);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayLight img {
  opacity: 0.5;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayLight .HighLights-description, .HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayLight .HighLights-extension, .HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayLight .HighLights-number {
  color: var(--ds-color-secondary);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayDark {
  background: rgb(0, 0, 0);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayDark img {
  opacity: 0.5;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayDark .HighLights-description, .HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayDark .HighLights-extension, .HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay.-overlayDark .HighLights-number {
  color: var(--ds-color-white);
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay .HighLights-media.-mediaImageOverlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.HighLightsBlock.-modeNumbers .HighLights-keyNumber.-layoutOverlay .HighLights-media.-mediaImageOverlay > img {
  width: 100%;
  height: 100%;
  display: block;
}
.HighLightsBlock.-modeGauge .HighLights-keyNumber, .HighLightsBlock.-modeGaugeMarker .HighLights-keyNumber {
  align-items: center;
  gap: var(--ds-spacings--standard);
  padding: var(--ds-spacings--large);
}
.HighLightsBlock.-modeGauge .HighLights-content, .HighLightsBlock.-modeGaugeMarker .HighLights-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.HighLightsBlock.-modeGauge .HighLights-count, .HighLightsBlock.-modeGaugeMarker .HighLights-count {
  justify-content: center;
}
.HighLightsBlock.-modeGauge .HighLights-description, .HighLightsBlock.-modeGaugeMarker .HighLights-description {
  margin-block-start: var(--ds-spacings--small);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar {
  position: relative;
  width: var(--gauge-size, 160px);
  height: var(--gauge-size, 160px);
  border-radius: 50%;
  background: conic-gradient(var(--gauge-color, var(--ds-color-primary)) calc(var(--gauge-progress) * 1%), var(--gauge-track-color) 0);
  transition: --gauge-progress 1.5s ease-out;
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar.-gaugeColorPrimary, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar.-gaugeColorPrimary {
  --gauge-color: var(--ds-color-primary);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar.-gaugeColorSecondary, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar.-gaugeColorSecondary {
  --gauge-color: var(--ds-color-secondary);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar.-gaugeColorSuccess, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar.-gaugeColorSuccess {
  --gauge-color: var(--ds-color-success);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar.-gaugeColorWarning, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar.-gaugeColorWarning {
  --gauge-color: var(--color-yellow-500);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeBar.-gaugeColorDanger, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeBar.-gaugeColorDanger {
  --gauge-color: var(--color-coral-500);
}
.HighLightsBlock.-modeGauge .HighLights-gaugeTrack, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeTrack {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}
.HighLightsBlock.-modeGauge .HighLights-gaugeFill, .HighLightsBlock.-modeGaugeMarker .HighLights-gaugeFill {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: var(--bgcolor-key-number);
}
.HighLightsBlock.-modeGaugeMarker .HighLights-gaugeMarker {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform: rotate(calc(var(--gauge-progress, 0) * 3.6deg));
  transition: transform 1.5s ease-out;
}
.HighLightsBlock.-modeGaugeMarker .HighLights-gaugeMarker::after {
  content: "";
  position: absolute;
  top: 3px;
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gauge-color, var(--ds-color-primary));
  box-shadow: 0 0 0 2px var(--bgcolor-key-number);
}
.HighLightsBlock.-modeSkillbars {
  grid-template-columns: 1fr;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillbars {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--standard);
}
.HighLightsBlock.-modeSkillbars .HighLights-skillItem {
  --skill-bar: var(--ds-color-primary);
  --skill-target: 0%;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillHeader {
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--x-small);
  margin-block-end: var(--ds-spacings--xx-small);
}
.HighLightsBlock.-modeSkillbars .HighLights-skillIcon {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillLabel {
  font-weight: 600;
  color: var(--text-theme-color, inherit);
}
.HighLightsBlock.-modeSkillbars .HighLights-skillTrack {
  position: relative;
  height: 8px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  overflow: visible;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillFill {
  position: relative;
  height: 100%;
  width: 0;
  background: var(--skill-bar);
  border-radius: 999px;
  transition: width 1500ms cubic-bezier(0.65, 0, 0.35, 1);
}
.HighLightsBlock.-modeSkillbars .HighLights-skillValue {
  position: absolute;
  right: -8px;
  top: -28px;
  transform: translateX(50%);
  background: var(--ds-color-secondary, #333);
  color: var(--ds-color-white);
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.HighLightsBlock.-modeSkillbars .HighLights-skillValue::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--ds-color-secondary, #333);
}
.HighLightsBlock.-modeSkillbars .HighLights-skillbars.is-visible .HighLights-skillFill {
  width: var(--skill-target);
}
.HighLightsBlock.-alignLeft .HighLights-keyNumber {
  align-items: flex-start;
  text-align: left;
}
.HighLightsBlock.-alignLeft .HighLights-content {
  align-items: flex-start;
  text-align: left;
}
.HighLightsBlock.-alignLeft .HighLights-count {
  justify-content: flex-start;
}
.HighLightsBlock.-alignLeft .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImage > img,
.HighLightsBlock.-alignLeft .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImageOverlay > img {
  object-position: left center;
}
.HighLightsBlock.-alignCenter .HighLights-keyNumber {
  align-items: center;
  text-align: center;
}
.HighLightsBlock.-alignCenter .HighLights-content {
  align-items: center;
  text-align: center;
}
.HighLightsBlock.-alignCenter .HighLights-count {
  justify-content: center;
}
.HighLightsBlock.-alignCenter .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImage > img,
.HighLightsBlock.-alignCenter .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImageOverlay > img {
  object-position: center;
}
.HighLightsBlock.-alignRight .HighLights-keyNumber {
  align-items: flex-end;
  text-align: right;
}
.HighLightsBlock.-alignRight .HighLights-content {
  align-items: flex-end;
  text-align: right;
}
.HighLightsBlock.-alignRight .HighLights-count {
  justify-content: flex-end;
}
.HighLightsBlock.-alignRight .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImage > img,
.HighLightsBlock.-alignRight .HighLights-keyNumber.-hasImage.-fitContain .HighLights-media.-mediaImageOverlay > img {
  object-position: right center;
}

.AccordionTabsBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — mapping couleurs natives
  ════════════════════════════════════════════ */
  /* Defaults (:root = transparent / clair) */
  --at-text: var(--ds-color-white);
  --at-header-bg: var(--ds-color-white);
  --at-header-text: var(--ds-color-secondary);
  --at-header-active-bg: var(--ds-color-secondary);
  --at-header-active-text: var(--ds-color-white);
  --at-content-bg: var(--ds-color-secondary);
  --at-border-color: var(--text-theme-color);
  --at-icon-color: var(--ds-color-secondary);
  --at-icon-active-color: var(--ds-color-white);
  /* ════════════════════════════════════════════
     ITEM — var override (priorité item-color)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     BORDURES CONDITIONNELLES
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE ACCORDION
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE TABS — commun
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE TABS — HORIZONTAL
  ════════════════════════════════════════════ */
  /* ── Breakpoint switch (applicable aux 2 modes tabs) ── */
  /* ════════════════════════════════════════════
     MODE TABS — VERTICAL
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ÉLÉMENTS COMMUNS — surtitle / title
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     CONTENT typography
  ════════════════════════════════════════════ */
}
.-themeDark .AccordionTabsBlock {
  --at-text: var(--ds-color-white);
  --at-header-bg: var(--ds-color-primary);
  --at-header-text: var(--ds-color-secondary);
  --at-header-active-bg: var(--ds-color-white);
  --at-header-active-text: var(--ds-color-secondary);
  --at-content-bg: transparent;
  --at-border-color: var(--ds-color-white);
  --at-icon-color: var(--ds-color-secondary);
  --at-icon-active-color: var(--ds-color-secondary);
}
.-themeLight .AccordionTabsBlock {
  --at-text: var(--ds-color-secondary);
  --at-header-bg: var(--ds-color-secondary);
  --at-header-text: var(--ds-color-white);
  --at-header-active-bg: var(--ds-color-white);
  --at-header-active-text: var(--ds-color-secondary);
  --at-content-bg: transparent;
  --at-border-color: var(--ds-color-secondary);
  --at-icon-color: var(--ds-color-white);
  --at-icon-active-color: var(--ds-color-secondary);
}
.-themeAccent .AccordionTabsBlock {
  --at-text: var(--ds-color-secondary);
  --at-header-bg: var(--ds-color-secondary);
  --at-header-text: var(--ds-color-white);
  --at-header-active-bg: var(--ds-color-white);
  --at-header-active-text: var(--ds-color-secondary);
  --at-content-bg: transparent;
  --at-border-color: var(--ds-color-secondary);
  --at-icon-color: var(--ds-color-white);
  --at-icon-active-color: var(--ds-color-secondary);
}
.AccordionTabsBlock-item, .AccordionTabsBlock-tabItem {
  --header-active-bg: var(--item-color, var(--at-header-active-bg));
}
.AccordionTabsBlock.-contentAlign-left-content {
  text-align: left;
}
.AccordionTabsBlock.-contentAlign-left-trigger {
  text-align: left;
}
.AccordionTabsBlock.-contentAlign-left-tab {
  text-align: left;
}
.AccordionTabsBlock.-contentAlign-left .AccordionTabsBlock-titleWrapper {
  align-items: flex-start;
}
.AccordionTabsBlock.-contentAlign-center-content {
  text-align: center;
}
.AccordionTabsBlock.-contentAlign-center-trigger {
  text-align: center;
}
.AccordionTabsBlock.-contentAlign-center-tab {
  text-align: center;
}
.AccordionTabsBlock.-contentAlign-center .AccordionTabsBlock-titleWrapper {
  align-items: center;
}
.AccordionTabsBlock.-contentAlign-right-content {
  text-align: right;
}
.AccordionTabsBlock.-contentAlign-right-trigger {
  text-align: right;
}
.AccordionTabsBlock.-contentAlign-right-tab {
  text-align: right;
}
.AccordionTabsBlock.-contentAlign-right .AccordionTabsBlock-titleWrapper {
  align-items: flex-end;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-item {
  border-radius: var(--at-border-radius, 8px);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-panels {
  border-radius: var(--at-border-radius, 8px);
  overflow: hidden;
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab {
  border-radius: var(--at-tab-radius, 8px);
}
.AccordionTabsBlock.-hasBorder.-modeAccordion .AccordionTabsBlock-item {
  border: 1px solid var(--at-border-color);
}
.AccordionTabsBlock.-hasBorder.-modeTabs .AccordionTabsBlock-panels {
  border: 1px solid var(--at-border-color);
}
.AccordionTabsBlock.-modeAccordion {
  display: flex;
  flex-direction: column;
  gap: var(--at-gap, 8px);
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-item {
  background: var(--at-content-bg);
  overflow: hidden;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-header {
  margin: 0;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--standard);
  padding: var(--at-content-pb, 20px) var(--at-content-pi, 24px);
  background: var(--at-header-bg);
  color: var(--at-header-text);
  border: none;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger:hover, .AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger[aria-expanded=true] {
  background: var(--header-active-bg);
  color: var(--at-header-active-text);
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger .AccordionTabsBlock-icon {
  margin-left: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger .AccordionTabsBlock-icon::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-color: var(--at-icon-color);
  mask-image: url(.././dist/images/5e007e9fdd578a22647f.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  transition: background-color 200ms ease;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-trigger[aria-expanded=true] .AccordionTabsBlock-icon::before {
  mask-image: url(.././dist/images/90a8bba7b1e74da93aec.svg);
  background-color: var(--at-icon-active-color);
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 400ms cubic-bezier(0.76, 0, 0.24, 1);
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-panel[hidden] {
  display: block;
  max-height: 0;
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-panel:not([hidden]) {
  max-height: var(--at-panel-height, 9999px);
}
.AccordionTabsBlock.-modeAccordion .AccordionTabsBlock-content {
  padding: var(--at-content-pb, 20px) var(--at-content-pi, 24px);
  color: var(--at-text);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tabsWrapper {
  display: flex;
  gap: var(--at-gap, 8px);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tabsList {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: var(--at-gap, 8px);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab {
  display: block;
  padding: var(--at-tab-pb, 12px) var(--at-tab-pi, 20px);
  background: var(--at-header-bg);
  color: var(--at-header-text);
  text-decoration: none;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease;
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab:hover, .AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab.is-active, .AccordionTabsBlock.-modeTabs .AccordionTabsBlock-tab[aria-selected=true] {
  background: var(--header-active-bg);
  color: var(--at-header-active-text);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-panels {
  flex: 1;
  background: var(--at-content-bg);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-panel {
  padding: var(--at-content-pb, 20px) var(--at-content-pi, 24px);
  color: var(--at-text);
}
.AccordionTabsBlock.-modeTabs .AccordionTabsBlock-panel[hidden] {
  display: none;
}
.AccordionTabsBlock.-positionH .AccordionTabsBlock-tabsWrapper {
  flex-direction: column;
}
.AccordionTabsBlock.-positionH .AccordionTabsBlock-tabsList {
  flex-direction: row;
  flex-wrap: wrap;
}
@media (max-width: 399px) {
  .AccordionTabsBlock.-modeTabs.-switchBp-mobile .AccordionTabsBlock-tabsWrapper {
    flex-direction: column;
  }
  .AccordionTabsBlock.-modeTabs.-switchBp-mobile .AccordionTabsBlock-tabsList {
    flex-direction: column;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .AccordionTabsBlock.-modeTabs.-switchBp-mobile-large .AccordionTabsBlock-tabsWrapper {
    flex-direction: column;
  }
  .AccordionTabsBlock.-modeTabs.-switchBp-mobile-large .AccordionTabsBlock-tabsList {
    flex-direction: column;
    width: 100%;
  }
}
@media (max-width: 990px) {
  .AccordionTabsBlock.-modeTabs.-switchBp-tablet .AccordionTabsBlock-tabsWrapper {
    flex-direction: column;
  }
  .AccordionTabsBlock.-modeTabs.-switchBp-tablet .AccordionTabsBlock-tabsList {
    flex-direction: column;
    width: 100%;
  }
}
@media (max-width: 1023px) {
  .AccordionTabsBlock.-modeTabs.-switchBp-tablet-large .AccordionTabsBlock-tabsWrapper {
    flex-direction: column;
  }
  .AccordionTabsBlock.-modeTabs.-switchBp-tablet-large .AccordionTabsBlock-tabsList {
    flex-direction: column;
    width: 100%;
  }
}
@media (max-width: 1199px) {
  .AccordionTabsBlock.-modeTabs.-switchBp-desktop .AccordionTabsBlock-tabsWrapper {
    flex-direction: column;
  }
  .AccordionTabsBlock.-modeTabs.-switchBp-desktop .AccordionTabsBlock-tabsList {
    flex-direction: column;
    width: 100%;
  }
}
.AccordionTabsBlock.-positionV .AccordionTabsBlock-tabsWrapper {
  flex-direction: row;
}
.AccordionTabsBlock.-positionV .AccordionTabsBlock-tabsList {
  flex-direction: column;
  width: var(--at-tabs-vertical-ratio, 30%);
  flex-shrink: 0;
}
.AccordionTabsBlock.-positionV .AccordionTabsBlock-panels {
  flex: 1;
}
.AccordionTabsBlock-titleWrapper {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--xx-small);
}
.AccordionTabsBlock-surtitle {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 0.75rem;
}
.AccordionTabsBlock-title {
  margin: 0;
  color: inherit;
}
.AccordionTabsBlock-content {
  color: var(--at-text);
  font-size: var(--ds-font-size-300);
  line-height: 1.5;
}
.AccordionTabsBlock-content > * + * {
  margin-block-start: var(--ds-spacings--small);
}

.ArticleBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — tokens --ab-*
  ════════════════════════════════════════════ */
  --ab-text: var(--text-theme-color);
  --ab-item-bg: transparent;
  --ab-item-text: var(--text-theme-color);
  --ab-meta-color: var(--ds-color-gray, #666);
  --ab-category-color: var(--ds-color-primary);
  --ab-title-color: var(--text-theme-color);
  --ab-excerpt-color: var(--text-theme-color);
  --ab-link-color: var(--ds-color-primary);
  --ab-link-hover: var(--ds-color-secondary);
  --ab-border-color: var(--text-theme-color);
  --ab-hover-bg: var(--ds-color-light-gray, #f5f5f5);
  --ab-tag-bg: var(--ds-color-light-gray, #f5f5f5);
  --ab-tag-text: var(--ds-color-secondary);
  /* ════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ════════════════════════════════════════════ */
  /* &-meta et &-readmore sont des conteneurs flex : text-align ne suffit pas */
  /* ════════════════════════════════════════════
     MODE GRID
  ════════════════════════════════════════════ */
  /* Border fusion (grille uniquement) */
  /* Border séparée — grille sans fusion, slider, mosaïque */
  /* ════════════════════════════════════════════
     MODE SLIDER — Splide (config héritée du global)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE MOSAIC (CSS columns)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ITEM (card article)
  ════════════════════════════════════════════ */
  /* Position de l'image */
  /* ════════════════════════════════════════════
     IMAGE
  ════════════════════════════════════════════ */
  /* Image en haut : pleine largeur, hauteur configurable */
  /* Image gauche/droite : largeur fixe, hauteur étirée */
  /* ════════════════════════════════════════════
     CONTENT
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     META — catégorie / date / auteur
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     TITLE
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     EXCERPT
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     TAGS
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     READMORE
  ════════════════════════════════════════════ */
}
.-themeDark .ArticleBlock {
  --ab-text: var(--ds-color-white);
  --ab-item-bg: var(--ds-color-secondary);
  --ab-item-text: var(--ds-color-white);
  --ab-meta-color: rgba(255, 255, 255, 0.65);
  --ab-category-color: var(--ds-color-primary);
  --ab-title-color: var(--ds-color-white);
  --ab-excerpt-color: rgba(255, 255, 255, 0.85);
  --ab-link-color: var(--ds-color-primary);
  --ab-link-hover: var(--ds-color-white);
  --ab-border-color: var(--ds-color-white);
  --ab-hover-bg: rgba(255, 255, 255, 0.08);
  --ab-tag-bg: rgba(255, 255, 255, 0.08);
  --ab-tag-text: var(--ds-color-white);
}
.-themeLight .ArticleBlock {
  --ab-text: var(--ds-color-secondary);
  --ab-item-bg: var(--ds-color-white);
  --ab-item-text: var(--ds-color-secondary);
  --ab-meta-color: var(--ds-color-gray, #666);
  --ab-category-color: var(--ds-color-secondary);
  --ab-title-color: var(--ds-color-secondary);
  --ab-excerpt-color: var(--ds-color-secondary);
  --ab-link-color: var(--ds-color-secondary);
  --ab-link-hover: var(--ds-color-primary);
  --ab-border-color: var(--ds-color-secondary);
  --ab-hover-bg: rgba(0, 0, 0, 0.04);
  --ab-tag-bg: rgba(0, 0, 0, 0.05);
  --ab-tag-text: var(--ds-color-secondary);
}
.-themeAccent .ArticleBlock {
  --ab-text: var(--ds-color-secondary);
  --ab-item-bg: rgba(255, 255, 255, 0.85);
  --ab-item-text: var(--ds-color-secondary);
  --ab-meta-color: var(--ds-color-gray, #666);
  --ab-category-color: var(--ds-color-secondary);
  --ab-title-color: var(--ds-color-secondary);
  --ab-excerpt-color: var(--ds-color-secondary);
  --ab-link-color: var(--ds-color-secondary);
  --ab-link-hover: var(--ds-color-primary);
  --ab-border-color: var(--ds-color-secondary);
  --ab-hover-bg: rgba(0, 0, 0, 0.05);
  --ab-tag-bg: rgba(0, 0, 0, 0.05);
  --ab-tag-text: var(--ds-color-secondary);
}
.ArticleBlock.-contentAlign-left .ArticleBlock-content {
  text-align: left;
}
.ArticleBlock.-contentAlign-center .ArticleBlock-content {
  text-align: center;
}
.ArticleBlock.-contentAlign-right .ArticleBlock-content {
  text-align: right;
}
.ArticleBlock.-contentAlign-left .ArticleBlock-meta {
  justify-content: flex-start;
}
.ArticleBlock.-contentAlign-center .ArticleBlock-meta {
  justify-content: center;
}
.ArticleBlock.-contentAlign-right .ArticleBlock-meta {
  justify-content: flex-end;
}
.ArticleBlock.-contentAlign-left .ArticleBlock-readmore {
  align-self: flex-start;
}
.ArticleBlock.-contentAlign-center .ArticleBlock-readmore {
  align-self: center;
}
.ArticleBlock.-contentAlign-right .ArticleBlock-readmore {
  align-self: flex-end;
}
.ArticleBlock-grid {
  display: grid;
  gap: var(--ab-gap, 16px);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.ArticleBlock.-gridCols-1 .ArticleBlock-grid {
  grid-template-columns: 1fr;
}
.ArticleBlock.-gridCols-2 .ArticleBlock-grid {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-gridCols-2 .ArticleBlock-grid {
    grid-template-columns: 1fr;
  }
}
.ArticleBlock.-gridCols-3 .ArticleBlock-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-gridCols-3 .ArticleBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-gridCols-3 .ArticleBlock-grid {
    grid-template-columns: 1fr;
  }
}
.ArticleBlock.-gridCols-4 .ArticleBlock-grid {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-gridCols-4 .ArticleBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-gridCols-4 .ArticleBlock-grid {
    grid-template-columns: 1fr;
  }
}
.ArticleBlock.-gridCols-5 .ArticleBlock-grid {
  grid-template-columns: repeat(5, 1fr);
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-gridCols-5 .ArticleBlock-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-gridCols-5 .ArticleBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 479px) {
  .ArticleBlock.-gridCols-5 .ArticleBlock-grid {
    grid-template-columns: 1fr;
  }
}
.ArticleBlock.-gridCols-6 .ArticleBlock-grid {
  grid-template-columns: repeat(6, 1fr);
}
@media only screen and (max-width: 1199px) {
  .ArticleBlock.-gridCols-6 .ArticleBlock-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-gridCols-6 .ArticleBlock-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-gridCols-6 .ArticleBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 479px) {
  .ArticleBlock.-gridCols-6 .ArticleBlock-grid {
    grid-template-columns: 1fr;
  }
}
.ArticleBlock.-hasBorder.-borderFusion.-mode-grid .ArticleBlock-grid {
  border-top: 1px solid var(--ab-border-color);
  border-left: 1px solid var(--ab-border-color);
}
.ArticleBlock.-hasBorder.-borderFusion.-mode-grid .ArticleBlock-item {
  border-right: 1px solid var(--ab-border-color);
  border-bottom: 1px solid var(--ab-border-color);
}
.ArticleBlock.-hasBorder.-mode-grid:not(.-borderFusion) .ArticleBlock-item, .ArticleBlock.-hasBorder.-mode-slider .ArticleBlock-item, .ArticleBlock.-hasBorder.-mode-mosaic .ArticleBlock-item {
  border: 1px solid var(--ab-border-color);
}
.ArticleBlock-splide .splide__arrow {
  background: var(--ab-item-bg);
  border: 1px solid var(--ab-border-color);
}
.ArticleBlock-splide .splide__arrow svg {
  fill: var(--ab-item-text);
}
.ArticleBlock-splide .splide__arrow:hover {
  background: var(--ab-hover-bg);
}
.ArticleBlock-splide .splide__arrow:disabled {
  opacity: 0.2;
}
.ArticleBlock-splide .splide__pagination {
  bottom: calc(-1 * var(--ds-spacings--medium));
}
.ArticleBlock-splide .splide__pagination__page {
  background: var(--ab-border-color);
  opacity: 0.35;
  transition: opacity 200ms ease, transform 200ms ease;
}
.ArticleBlock-splide .splide__pagination__page.is-active {
  background: var(--ab-link-color);
  opacity: 1;
  transform: scale(1.25);
}
.ArticleBlock-mosaic {
  column-gap: var(--ab-gap, 16px);
}
.ArticleBlock-mosaic > .ArticleBlock-item {
  break-inside: avoid;
  margin-block-end: var(--ab-gap, 16px);
  display: block;
}
.ArticleBlock.-mosaicCols-2 .ArticleBlock-mosaic {
  column-count: 2;
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-mosaicCols-2 .ArticleBlock-mosaic {
    column-count: 1;
  }
}
.ArticleBlock.-mosaicCols-3 .ArticleBlock-mosaic {
  column-count: 3;
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-mosaicCols-3 .ArticleBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-mosaicCols-3 .ArticleBlock-mosaic {
    column-count: 1;
  }
}
.ArticleBlock.-mosaicCols-4 .ArticleBlock-mosaic {
  column-count: 4;
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-mosaicCols-4 .ArticleBlock-mosaic {
    column-count: 3;
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-mosaicCols-4 .ArticleBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 479px) {
  .ArticleBlock.-mosaicCols-4 .ArticleBlock-mosaic {
    column-count: 1;
  }
}
.ArticleBlock.-mosaicCols-5 .ArticleBlock-mosaic {
  column-count: 5;
}
@media only screen and (max-width: 1023px) {
  .ArticleBlock.-mosaicCols-5 .ArticleBlock-mosaic {
    column-count: 3;
  }
}
@media only screen and (max-width: 767px) {
  .ArticleBlock.-mosaicCols-5 .ArticleBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 479px) {
  .ArticleBlock.-mosaicCols-5 .ArticleBlock-mosaic {
    column-count: 1;
  }
}
.ArticleBlock-item {
  display: flex;
  gap: var(--ds-spacings--standard);
  padding-inline: var(--ab-card-padding-inline, 16px);
  padding-block: var(--ab-card-padding-block, 16px);
  background: var(--ab-item-bg);
  color: var(--ab-item-text);
  border-radius: var(--ab-border-radius, 0);
  transition: background 200ms ease, transform 200ms ease;
  overflow: hidden;
}
.ArticleBlock-item:hover {
  background: var(--ab-hover-bg);
}
.ArticleBlock.-imagePosition-top .ArticleBlock-item {
  flex-direction: column;
  align-items: stretch;
  padding: 0;
}
.ArticleBlock.-imagePosition-top .ArticleBlock-content {
  padding-inline: var(--ab-card-padding-inline, 16px);
  padding-block: var(--ab-card-padding-block, 16px);
}
.ArticleBlock.-imagePosition-left .ArticleBlock-item {
  flex-direction: row;
  align-items: flex-start;
}
.ArticleBlock.-imagePosition-right .ArticleBlock-item {
  flex-direction: row-reverse;
  align-items: flex-start;
}
.ArticleBlock-image {
  flex-shrink: 0;
  overflow: hidden;
}
.ArticleBlock-image a {
  display: block;
  height: 100%;
}
.ArticleBlock-image img {
  width: 100%;
  height: 100%;
  object-fit: var(--ab-image-fit, cover);
  display: block;
  transition: transform 400ms ease;
}
.ArticleBlock-image:hover img {
  transform: scale(1.05);
}
.ArticleBlock.-imagePosition-top .ArticleBlock-image {
  width: 100%;
  height: var(--ab-image-height, 220px);
}
.ArticleBlock.-imagePosition-left .ArticleBlock-image, .ArticleBlock.-imagePosition-right .ArticleBlock-image {
  width: 200px;
  height: var(--ab-image-height, 220px);
  align-self: stretch;
}
.ArticleBlock-content {
  flex: 1;
  min-width: 0;
  color: var(--ab-text);
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--xx-small);
}
.ArticleBlock-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-spacings--small);
  align-items: center;
  font-size: 0.75rem;
  color: var(--ab-meta-color);
  margin-block-end: var(--ds-spacings--xx-small);
}
.ArticleBlock-category {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.ArticleBlock-category a {
  color: var(--ab-category-color);
  text-decoration: none;
}
.ArticleBlock-category a:hover {
  text-decoration: underline;
}
.ArticleBlock-title {
  margin: 0;
}
.ArticleBlock-title a {
  color: var(--ab-title-color);
  text-decoration: none;
  transition: color 200ms ease;
}
.ArticleBlock-title a:hover {
  color: var(--ab-link-color);
}
.ArticleBlock-excerpt {
  color: var(--ab-excerpt-color);
  line-height: 1.5;
  font-size: 0.875rem;
}
.ArticleBlock-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-block-start: var(--ds-spacings--xx-small);
}
.ArticleBlock-tag {
  display: inline-block;
  padding: 4px 10px;
  background: var(--ab-tag-bg);
  color: var(--ab-tag-text);
  border-radius: 999px;
  font-size: 0.6875rem;
  text-decoration: none;
  transition: background 200ms ease;
}
.ArticleBlock-tag:hover {
  background: var(--ab-tag-text);
  color: var(--ab-tag-bg);
}
.ArticleBlock-readmore {
  color: var(--ab-link-color);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.875rem;
  margin-block-start: var(--ds-spacings--small);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 200ms ease, gap 200ms ease;
}
.ArticleBlock-readmore:hover {
  color: var(--ab-link-hover);
  gap: 10px;
}

.ClientBlock {
  position: relative;
  /* ── Positions flèches ── */
  /* ── Positions dots ── */
  /* ── Effets reveal ── */
  /* ── Alignement contenu ── */
  /* ── Inner container (grid) ── */
  /* ── Slide (mode slider) ── */
  /* ── Card client ── */
  /* ── Bordure conditionnelle ── */
  /* ── Bordure fusionnée (gap=0) : effet table sans doublement ── */
  /* ── Image fit : cover ── */
  /* ── Mode slider ── */
  /* En mode slider, overflow:hidden du track clippe la bordure haute des cards.
     On remplace la bordure CSS par un inset box-shadow (non clippé par overflow).
     Cas non-fusionné (gap > 0) : cadre 4 côtés sur chaque card. */
  /* Cas fusionné (gap = 0) : le track porte le cadre extérieur via inset,
     chaque card n'a qu'un séparateur droit → 1 seul pixel entre deux cards. */
  /* ── Thèmes ── */
  /* ── Couleurs de fond — placées après les thèmes pour les surcharger (même spécificité, ordre compte) ── */
}
.ClientBlock[data-arrows-position=top] .splide__arrow {
  top: 1rem;
  bottom: auto;
}
.ClientBlock[data-arrows-position=bottom] .splide__arrow {
  top: auto;
  bottom: 1rem;
  transform: none;
}
.ClientBlock[data-arrows-position=hidden] .splide__arrows {
  display: none;
}
.ClientBlock[data-dots-position=top] .splide__pagination {
  top: 0;
  bottom: auto;
}
.ClientBlock[data-dots-position=middle] .splide__pagination {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.ClientBlock[data-dots-position=bottom] .splide__pagination {
  bottom: 0;
  top: auto;
}
.ClientBlock[data-dots-position=hidden] .splide__pagination {
  display: none;
}
.ClientBlock[data-splide-effect=zoom] .splide__slide.is-revealing {
  animation: ClientBlock-zoom 800ms cubic-bezier(0.76, 0, 0.24, 1);
}
.ClientBlock[data-splide-effect=clip-reveal] .splide__slide.is-revealing {
  animation: ClientBlock-clip 800ms cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
.ClientBlock.-contentAlign-left .Card.-client {
  align-items: flex-start;
  text-align: left;
}
.ClientBlock.-contentAlign-left .Card-logo {
  justify-content: flex-start;
}
.ClientBlock.-contentAlign-center .Card.-client {
  align-items: center;
  text-align: center;
}
.ClientBlock.-contentAlign-center .Card-logo {
  justify-content: center;
}
.ClientBlock.-contentAlign-right .Card.-client {
  align-items: flex-end;
  text-align: right;
}
.ClientBlock.-contentAlign-right .Card-logo {
  justify-content: flex-end;
}
.ClientBlock-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
  gap: var(--client-gap, 20px);
}
.ClientBlock.-gridCols-2 .ClientBlock-inner {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .ClientBlock.-gridCols-2 .ClientBlock-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ClientBlock.-gridCols-3 .ClientBlock-inner {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .ClientBlock.-gridCols-3 .ClientBlock-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 768px) {
  .ClientBlock.-gridCols-3 .ClientBlock-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
.ClientBlock.-gridCols-4 .ClientBlock-inner {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .ClientBlock.-gridCols-4 .ClientBlock-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 768px) {
  .ClientBlock.-gridCols-4 .ClientBlock-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .ClientBlock.-gridCols-4 .ClientBlock-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}
.ClientBlock.-gridCols-5 .ClientBlock-inner {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .ClientBlock.-gridCols-5 .ClientBlock-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 768px) {
  .ClientBlock.-gridCols-5 .ClientBlock-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .ClientBlock.-gridCols-5 .ClientBlock-inner {
    grid-template-columns: repeat(5, 1fr);
  }
}
.ClientBlock-slide {
  width: 100%;
  height: auto;
}
.ClientBlock .Card.-client {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: var(--client-card-height, 120px);
  gap: var(--ds-spacings--small);
  padding-inline: var(--client-card-padding-inline, 20px);
  padding-block: var(--client-card-padding-block, 20px);
  background: transparent;
  border-radius: var(--client-border-radius, 0);
  text-decoration: none;
  transition: opacity 200ms ease-out;
}
.ClientBlock .Card.-client:hover {
  opacity: 0.7;
}
.ClientBlock .Card.-client .Card-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.ClientBlock .Card.-client .Card-logo img {
  max-width: 100%;
  height: auto;
  max-height: calc(var(--client-card-height, 120px) - 2 * var(--client-card-padding-block, 20px));
  object-fit: contain;
}
.ClientBlock .Card.-client .Card-title {
  text-transform: uppercase;
  color: var(--text-theme-color);
  margin: 0;
}
.ClientBlock .Card.-client .Card-desc {
  color: var(--text-theme-color);
  margin: 0;
}
.ClientBlock.-hasBorder .Card.-client {
  border: 1px solid var(--text-theme-color);
  border-radius: var(--client-border-radius, 0);
}
.ClientBlock.-borderFused .ClientBlock-inner {
  border-top: 1px solid var(--text-theme-color);
  border-left: 1px solid var(--text-theme-color);
}
.ClientBlock.-borderFused .Card.-client {
  border: 0;
  border-right: 1px solid var(--text-theme-color);
  border-bottom: 1px solid var(--text-theme-color);
  border-radius: 0;
}
.ClientBlock.-imageFit-cover .Card.-client {
  padding: 0;
  overflow: hidden;
}
.ClientBlock.-imageFit-cover .Card.-client .Card-logo {
  height: var(--client-card-height, 120px);
}
.ClientBlock.-imageFit-cover .Card.-client .Card-logo img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}
.ClientBlock.-imageFit-cover .Card.-client .Card-content {
  padding-inline: var(--client-card-padding-inline, 20px);
  padding-block: var(--client-card-padding-block, 20px);
}
.ClientBlock.-imageFit-cover.-hasBorder .Card.-client {
  border-radius: var(--client-border-radius, 0);
}
.ClientBlock.splide {
  mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 3.5%, rgb(0, 0, 0) 12.5%, rgb(0, 0, 0) 87.5%, rgba(0, 0, 0, 0) 96.5%);
}
.ClientBlock.splide .ClientBlock-inner {
  display: block;
}
.ClientBlock.splide .splide__list {
  gap: 0;
}
.ClientBlock.splide.-hasBorder .Card.-client {
  border-color: transparent;
  box-shadow: inset 0 0 0 1px var(--text-theme-color);
}
.ClientBlock.splide.-hasBorder.-borderFused .splide__track {
  box-shadow: inset 0 0 0 1px var(--text-theme-color);
}
.ClientBlock.splide.-hasBorder.-borderFused .Card.-client {
  border: none;
  box-shadow: inset -1px 0 0 0 var(--text-theme-color);
}
.-themeDark .ClientBlock .Card.-client {
  color: var(--ds-color-secondary);
}
.-themeLight .ClientBlock .Card.-client {
  background-color: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.-themeLight .ClientBlock .Card.-client img {
  filter: invert(100%);
}
.ClientBlock.-bgColor-transparent .Card.-client {
  background: transparent;
}
.ClientBlock.-bgColor-transparent .Card.-client .Card-logo img {
  filter: none;
}
.ClientBlock.-bgColor-white .Card.-client {
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
}
.ClientBlock.-bgColor-white .Card.-client .Card-title,
.ClientBlock.-bgColor-white .Card.-client .Card-desc {
  color: inherit;
}
.ClientBlock.-bgColor-white .Card.-client .Card-logo img {
  filter: none;
}
.ClientBlock.-bgColor-light .Card.-client {
  background: var(--ds-color-primary);
  color: var(--ds-color-secondary);
}
.ClientBlock.-bgColor-light .Card.-client .Card-title,
.ClientBlock.-bgColor-light .Card.-client .Card-desc {
  color: inherit;
}
.ClientBlock.-bgColor-dark .Card.-client {
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.ClientBlock.-bgColor-dark .Card.-client .Card-title,
.ClientBlock.-bgColor-dark .Card.-client .Card-desc {
  color: inherit;
}
.ClientBlock.-bgColor-dark .Card.-client .Card-logo img {
  filter: invert(1);
}
.ClientBlock.-bgColor-accent .Card.-client {
  background: var(--theme-accent-bg);
  color: var(--theme-accent-text);
}
.ClientBlock.-bgColor-accent .Card.-client .Card-title,
.ClientBlock.-bgColor-accent .Card.-client .Card-desc {
  color: inherit;
}

/* ══════════════════════════════════════════════
   Keyframes reveal
══════════════════════════════════════════════ */
@keyframes ClientBlock-zoom {
  from {
    transform: scale(0.85);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes ClientBlock-clip {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
.CPTBlock {
  position: relative;
  /* ── Positions Splide flèches ── */
  /* ── Positions Splide dots ── */
  /* ── Effets reveal ── */
  /* ── Inner container (mode grille) ── */
  /* ── Slide (mode slider) ── */
  /* ── Card -cpt-item ── */
  /* ── Alignement contenu (après .Card.-cpt-item pour gagner en cascade) ── */
  /* ── Bordure conditionnelle ── */
  /* ── Couleur de fond des cards ── */
  /* ── Thème sombre ── */
}
.CPTBlock[data-arrows-position=top] .splide__arrow {
  top: 1rem;
  bottom: auto;
}
.CPTBlock[data-arrows-position=bottom] .splide__arrow {
  top: auto;
  bottom: 1rem;
  transform: none;
}
.CPTBlock[data-arrows-position=hidden] .splide__arrows {
  display: none;
}
.CPTBlock[data-dots-position=top] .splide__pagination {
  top: 0;
  bottom: auto;
}
.CPTBlock[data-dots-position=middle] .splide__pagination {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.CPTBlock[data-dots-position=bottom] .splide__pagination {
  bottom: 0;
  top: auto;
}
.CPTBlock[data-dots-position=hidden] .splide__pagination {
  display: none;
}
.CPTBlock[data-reveal=zoom] .splide__slide.is-revealing {
  animation: CPTBlock-zoom 800ms cubic-bezier(0.76, 0, 0.24, 1);
}
.CPTBlock[data-reveal=clip-reveal] .splide__slide.is-revealing {
  animation: CPTBlock-clip 800ms cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
.CPTBlock-inner {
  display: grid;
  grid-template-columns: var(--cpt-cols, repeat(auto-fit, minmax(15.625rem, 1fr)));
  gap: var(--cpt-gap, 20px);
}
.CPTBlock-slide {
  width: 100%;
  height: 100%;
}
.CPTBlock .Card.-cpt-item {
  display: flex;
  flex-direction: column;
  min-height: var(--cpt-card-height, 400px);
  padding-inline: var(--cpt-card-padding-inline, 0px);
  padding-block: var(--cpt-card-padding-block, 0px);
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
  text-decoration: none;
  overflow: hidden;
  border-radius: var(--cpt-border-radius, 0);
  transition: transform 0.3s ease-in-out 0s;
}
.CPTBlock .Card.-cpt-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.CPTBlock .Card.-cpt-item:hover .Card-picture img {
  transform: scale(1.05);
}
.CPTBlock .Card.-cpt-item .Card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.CPTBlock .Card.-cpt-item .Card-picture {
  position: relative;
  overflow: hidden;
  height: 13.75rem;
  flex-shrink: 0;
}
.CPTBlock .Card.-cpt-item .Card-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
  transition: all 0.3s ease-in-out 0s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.CPTBlock .Card.-cpt-item .Card-icon {
  position: absolute;
  top: var(--ds-spacings--standard);
  right: var(--ds-spacings--standard);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--item-color, var(--ds-color-primary));
  overflow: hidden;
}
.CPTBlock .Card.-cpt-item .Card-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.CPTBlock .Card.-cpt-item .Card-content {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--small);
  padding: var(--ds-spacings--standard);
  flex: 1;
}
.CPTBlock .Card.-cpt-item .Card-title {
  color: var(--ds-color-secondary);
  margin: 0;
}
.CPTBlock .Card.-cpt-item .Card-desc {
  color: var(--ds-colors-grey-800);
  flex: 1;
}
.CPTBlock .Card.-cpt-item .Card-cta {
  align-self: flex-start;
  margin-top: auto;
}
.CPTBlock.-contentAlign-left .Card-content {
  text-align: left;
  align-items: flex-start;
}
.CPTBlock.-contentAlign-left .Card-content .Card-cta {
  align-self: flex-start;
}
.CPTBlock.-contentAlign-center .Card-content {
  text-align: center;
  align-items: center;
}
.CPTBlock.-contentAlign-center .Card-content .Card-cta {
  align-self: center;
}
.CPTBlock.-contentAlign-right .Card-content {
  text-align: right;
  align-items: flex-end;
}
.CPTBlock.-contentAlign-right .Card-content .Card-cta {
  align-self: flex-end;
}
.CPTBlock.-hasBorder .Card.-cpt-item {
  border: 1px solid var(--text-theme-color);
}
.CPTBlock.-bgColor-light .Card.-cpt-item {
  background: var(--ds-color-primary);
  color: var(--ds-color-secondary);
}
.CPTBlock.-bgColor-light .Card.-cpt-item .Card-title {
  color: var(--ds-color-secondary);
}
.CPTBlock.-bgColor-light .Card.-cpt-item .Card-desc {
  color: var(--ds-color-secondary);
}
.CPTBlock.-bgColor-dark .Card.-cpt-item {
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.CPTBlock.-bgColor-dark .Card.-cpt-item .Card-title {
  color: var(--ds-color-white);
}
.CPTBlock.-bgColor-dark .Card.-cpt-item .Card-desc {
  color: var(--ds-color-white);
}
.CPTBlock.-bgColor-accent .Card.-cpt-item {
  background: var(--theme-accent-bg);
  color: var(--theme-accent-text);
}
.CPTBlock.-bgColor-accent .Card.-cpt-item .Card-title {
  color: var(--theme-accent-text);
}
.CPTBlock.-bgColor-accent .Card.-cpt-item .Card-desc {
  color: var(--theme-accent-text);
}
.-themeDark .CPTBlock .Card.-cpt-item {
  background: var(--ds-color-secondary);
}
.-themeDark .CPTBlock .Card.-cpt-item .Card-title {
  color: var(--ds-color-white);
}
.-themeDark .CPTBlock .Card.-cpt-item .Card-desc {
  color: var(--ds-color-white);
}

/* ── Keyframes reveal ── */
@keyframes CPTBlock-zoom {
  from {
    transform: scale(0.85);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes CPTBlock-clip {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   PLAN DU FICHIER — 4 modes d'affichage (.-mode-{grid|slider|parallax|process})

   1. THÈMES         — tokens --dp-* (couleurs selon -themeDark/-themeLight/-themeAccent)
   2. ALIGNEMENT      — -contentAlign-* (grid/slider/parallax, masqué en process)
   3. MODE GRID       — .DisplayBlock-grid + -gridCols-*, bordures fusionnées/séparées
   4. MODE SLIDER     — .DisplayBlock-splide (Splide)
   5. MODE PARALLAX   — .DisplayBlock-parallaxStack, items .-parallaxItem, icône badge
   6. MODE PROCESS    — .DisplayBlock-process, items .-processItem
                         (.DisplayBlock-teaser / -body / -actions)
   7. ITEM commun     — base .DisplayBlock-item (grid/slider/parallax)
   8. POSITION IMAGE  — -imagePosition-* (legacy display_orientation, pas process)
   9. IMAGE / ICON    — tailles, -fit-*, -style-standard / -style-overlay
   10. CONTENT        — titre, sous-titre, description, lien...
   11. THÈMES DE CARTE — -cardTheme-{white|dark|light|black|accent}
═══════════════════════════════════════════════════════════════════ */
.DisplayBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — tokens --dp-*
  ════════════════════════════════════════════ */
  --dp-text: var(--text-theme-color);
  --dp-item-bg: transparent;
  --dp-item-text: var(--text-theme-color);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-title-color: var(--text-theme-color);
  --dp-subtitle-color: var(--ds-colors-grey-800, #555);
  --dp-desc-color: var(--text-theme-color);
  --dp-border-color: var(--text-theme-color);
  --dp-hover-bg: var(--ds-color-light-gray, #f5f5f5);
  --dp-phase-bg: var(--ds-color-primary);
  --dp-phase-text: var(--ds-color-secondary);
  --dp-objective-bg: var(--ds-color-light-gray, #f5f5f5);
  --dp-objective-border: var(--ds-color-primary);
  --dp-bullet-border-color: var(--ds-color-white);
  --dp-bullet-color: var(--ds-color-secondary);
  /* ════════════════════════════════════════════
     ITEM — override couleur par item
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     HAUTEUR ÉGALE
     Grid : les cellules s'étirent par défaut (align-items:stretch),
     l'item remplit sa cellule via height:100%.
     Slider : Splide égalise déjà la hauteur des slides ; l'item remplit le slide.
  ════════════════════════════════════════════ */
  /* Hauteur égale = cartes d'une même ligne (grille / slider). Les modes
     parallax et process gèrent leur propre hauteur (min-height sticky /
     mise en page dédiée) : on les exclut pour éviter qu'une carte dépasse. */
  /* En slider, le slide lui-même doit aussi s'étirer */
  /* ════════════════════════════════════════════
     MODE GRID
  ════════════════════════════════════════════ */
  /* Position de l'image = gauche/droite : l'item est en row (image + contenu
     côte à côte), donc la largeur minimale de la colonne doit tenir compte
     de --dp-image-width, sinon les colonnes restent à 280px (image tronquée
     par max-width:100% et la grille ne passe pas à la ligne). */
  /* Border fusion grid */
  /* Border séparé (process exclu : sa propre bordure/radius est définie
     dans la section MODE PROCESS via --dp-process-card-radius) */
  /* ════════════════════════════════════════════
     MODE SLIDER — Splide
  ════════════════════════════════════════════ */
  /* Image-top + slider : aligner les flèches sur le centre de l'image
     (card = image + texte, 50% total ≠ centre image) */
  /* ════════════════════════════════════════════
     MODE PARALLAX — sticky stack
  ════════════════════════════════════════════ */
  /* ── "Fond plein" : Superposition + Remplir (-style-overlay, cover) ──
     Comportement immersif d'origine : l'image remplit toute la card en
     position absolute, recadrée (object-fit: cover), avec gradient sombre
     et contenu plaqué en bas. La position (top/left/right) n'a pas
     d'effet : il n'y a qu'un seul fond plein. */
  /* ── "Flow" : Standard + Remplir, Standard + Adapter, Superposition + Adapter ──
     L'image n'est plus en fond plein : elle est cadrée dans une div aux
     dimensions définies en BO (--dp-image-width / --dp-image-height).
     object-fit (cover/contain) suit la classe -fit-{{ image_fit }}
     déjà posée sur .DisplayBlock-image (cf. règles génériques -fit-*).
     La card repasse en layout flex normal (image + contenu côte à côte
     ou empilés selon -imagePosition-{top|left|right}). */
  /* Position de l'image (mode "flow" uniquement — en fond plein l'image remplit toute la card) */
  /* ════════════════════════════════════════════
     MODE PROCESS — timeline H ou V
     Markup : .DisplayBlock-process > .DisplayBlock-item.-processItem
              chaque item = 3 div sœurs : -teaser / -body / -actions
     Champs ACF : dp_process_card_image_position (left|right),
                  dp_process_card_image_width, dp_process_card_image_radius,
                  dp_process_card_radius, dp_process_padding_block/inline,
                  dp_process_border_style (top|bottom)
  ════════════════════════════════════════════ */
  /* ── Liste des cards : toujours empilée verticalement ── */
  /* ── Carte process : teaser / body / actions toujours côte à côte,
     repassent en colonne sous tablette ── */
  /* Teaser et actions ne grandissent pas, body prend l'espace restant */
  /* ── Position de l'image dans .DisplayBlock-body ── */
  /* -processCardImgPos-right : image après le contenu (inversion via row-reverse) */
  /* ── Rayon de l'image (dp_process_card_image_radius) ──
     Spécificité (.-mode-process.-style-standard) > (.-style-standard)
     pour gagner sur la règle "IMAGE / ICON" qui sinon écrase ce radius
     (--style-standard est toujours appliqué en process, cf. template.twig). */
  /* ── Style de bordure de la card (dp_process_border_style : top|bottom) ── */
  /* ════════════════════════════════════════════
     ITEM — commun (grid / slider / parallax)
     NB : ne concerne PAS .-processItem, qui a sa propre
     base définie dans la section MODE PROCESS ci-dessus.
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     POSITION IMAGE (legacy display_orientation, champ "Position de l'image")
     S'applique uniquement aux items grid/slider
     (:not(.-processItem) — le mode process gère sa propre
     position d'image via -processCardImgPos-* ci-dessus ;
     :not(.-parallaxItem) — le mode parallax gère sa propre
     position d'image via -imageFit-contain.-imagePosition-* ci-dessus).
  ════════════════════════════════════════════ */
  /* Image gauche/droite : item sans padding (image flush bord-à-bord),
     le contenu porte lui-même le padding de la card.
     Les icônes en gauche/droite gardent le padding normal de l'item. */
  /* Image en top : flush bord-à-bord, le contenu porte le padding */
  /* Grille / slider : l'icône badge remplace l'image (média exclusif) et
     a sa propre position via -iconPosition-* (champ « Position de l'icône »,
     flex-direction de l'item ci-dessus). Le « Padding icône » reste un padding intérieur
     (espace dans le badge, utile si fond coloré) ; on applique en plus une
     marge extérieure pilotée par « Marge icône » (les marges de positionnement
     propres au parallax sont ainsi neutralisées). */
  /* -contentAlign-* en -imagePosition-top : aligne aussi l'icône badge
     sur l'axe transversal (horizontal en colonne), text-align ne suffisant
     que pour le texte de &-content. */
  /* ── Conteneur image + content (mode Process uniquement) ──
     .DisplayBlock-body est l'un des 3 blocs sœurs de .-processItem
     (avec -teaser et -actions). Son orientation interne (image à
     gauche/droite) est gérée par les règles -processCardImgPos-*. */
  /* ════════════════════════════════════════════
     IMAGE / ICON
     Les règles -style-standard / -style-overlay ci-dessous
     s'appliquent aux modes grid/slider/parallax.
     Le mode process a ses propres règles d'image
     (largeur/rayon) définies dans la section MODE PROCESS.
  ════════════════════════════════════════════ */
  /* Top/vertical : pleine largeur + hauteur configurée */
  /* Horizontal (left/right) : largeur configurable + hauteur étirée sur l'item */
  /* Top/haut (grille/slider standard) : image recadrée cover sur la hauteur
     configurée. Règle img explicite (forte spécificité) — sans elle, en haut
     l'img retombe sur le reset global `img { height: auto }` du thème et perd
     le cover, alors qu'en gauche/droite une règle img dédiée existe déjà. */
  /* Image en haut + contenu centré / à droite : l'image hérite de
     l'alignement. Elle passe à sa largeur configurée (--dp-image-width)
     pour pouvoir être décalée (une image pleine largeur ne peut pas
     s'aligner). Le cover s'applique dans cette boîte. Alignement gauche
     (défaut) → pleine largeur, traité par la règle ci-dessus. */
  /* ── Style overlay ── */
  /* En parallax, sticky prime sur position:relative de l'overlay [0,3,0] > [0,2,0] */
  /* Parallax + Superposition + Remplir : l'image remplit toute la card
     (cf. règle dédiée -style-overlay:not(.-imageFit-contain) plus haut,
     plus spécifique — celle-ci ne s'applique donc qu'en grid/slider). */
  /* ════════════════════════════════════════════
     ICON
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     CONTENT
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     THÈMES DE CARTE INDIVIDUELS
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     TON DU TEXTE — indépendant du wrapper
     Permet d'adapter le texte au fond de la carte
     sans dépendre du -theme* parent.
  ════════════════════════════════════════════ */
}
.-themeDark .DisplayBlock {
  --dp-item-bg: var(--ds-color-secondary);
  --dp-item-text: var(--ds-color-white);
  --dp-text: var(--ds-color-white);
  --dp-title-color: var(--ds-color-white);
  --dp-subtitle-color: rgba(255, 255, 255, 0.65);
  --dp-desc-color: rgba(255, 255, 255, 0.85);
  --dp-border-color: var(--ds-color-white);
  --dp-hover-bg: rgba(255, 255, 255, 0.08);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-objective-bg: rgba(255, 255, 255, 0.08);
  --dp-objective-border: var(--ds-color-primary);
}
.-themeLight .DisplayBlock {
  --dp-item-bg: var(--ds-color-white);
  --dp-item-text: var(--ds-color-secondary);
  --dp-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-subtitle-color: var(--ds-colors-grey-800, #555);
  --dp-desc-color: var(--ds-color-secondary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.04);
  --dp-surtitle-color: var(--ds-color-secondary);
}
.-themeAccent .DisplayBlock {
  --dp-item-bg: rgba(255, 255, 255, 0.85);
  --dp-item-text: var(--ds-color-secondary);
  --dp-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.05);
}
.DisplayBlock-item {
  --item-effective: var(--item-color, var(--dp-border-color));
}
.DisplayBlock.-contentAlign-left .DisplayBlock-content {
  text-align: left;
}
.DisplayBlock.-contentAlign-center .DisplayBlock-content {
  text-align: center;
}
.DisplayBlock.-contentAlign-right .DisplayBlock-content {
  text-align: right;
}
.DisplayBlock.-equalHeight .DisplayBlock-item:not(.-parallaxItem):not(.-processItem) {
  height: 100%;
}
.DisplayBlock.-equalHeight .DisplayBlock-splide .splide__slide {
  display: flex;
  align-items: stretch;
}
.DisplayBlock-grid {
  display: grid;
  gap: var(--dp-gap, 16px);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.DisplayBlock.-gridCols-auto .DisplayBlock-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.DisplayBlock.-mediaType-image.-gridCols-auto.-imagePosition-left .DisplayBlock-grid, .DisplayBlock.-mediaType-image.-gridCols-auto.-imagePosition-right .DisplayBlock-grid {
  grid-template-columns: repeat(auto-fit, minmax(max(280px, var(--dp-image-width, 200px) + 220px), 1fr));
}
.DisplayBlock.-gridCols-1 .DisplayBlock-grid {
  grid-template-columns: 1fr;
}
.DisplayBlock.-gridCols-2 .DisplayBlock-grid {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .DisplayBlock.-gridCols-2 .DisplayBlock-grid {
    grid-template-columns: 1fr;
  }
}
.DisplayBlock.-gridCols-3 .DisplayBlock-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 1199px) {
  .DisplayBlock.-gridCols-3 .DisplayBlock-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}
.DisplayBlock.-gridCols-4 .DisplayBlock-grid {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1199px) {
  .DisplayBlock.-gridCols-4 .DisplayBlock-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}
.DisplayBlock.-gridCols-5 .DisplayBlock-grid {
  grid-template-columns: repeat(5, 1fr);
}
@media only screen and (max-width: 1199px) {
  .DisplayBlock.-gridCols-5 .DisplayBlock-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}
.DisplayBlock.-gridCols-6 .DisplayBlock-grid {
  grid-template-columns: repeat(6, 1fr);
}
@media only screen and (max-width: 1199px) {
  .DisplayBlock.-gridCols-6 .DisplayBlock-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}
.DisplayBlock.-hasBorder.-borderFusion.-mode-grid .DisplayBlock-grid {
  border-top: 1px solid var(--dp-border-color);
  border-left: 1px solid var(--dp-border-color);
}
.DisplayBlock.-hasBorder.-borderFusion.-mode-grid .DisplayBlock-item {
  border-right: 1px solid var(--dp-border-color);
  border-bottom: 1px solid var(--dp-border-color);
}
.DisplayBlock.-hasBorder:not(.-borderFusion) .DisplayBlock-item:not(.-processItem) {
  border: 1px solid var(--item-effective);
}
.DisplayBlock-splide {
  /* ── Positions des flèches (top / bottom) ── */
}
.DisplayBlock-splide .splide__arrow {
  background: var(--dp-item-bg);
  border: 1px solid var(--dp-border-color);
}
.DisplayBlock-splide .splide__arrow svg {
  fill: var(--dp-item-text);
}
.DisplayBlock-splide .splide__arrow:hover {
  background: var(--dp-hover-bg);
}
.DisplayBlock-splide .splide__arrow:disabled {
  opacity: 0.2;
}
.DisplayBlock-splide.-arrowsPos-top .splide__arrow {
  top: 1.25rem;
  transform: none;
}
.DisplayBlock-splide.-arrowsPos-bottom .splide__arrow {
  top: auto;
  bottom: 1.25rem;
  transform: none;
}
.DisplayBlock-splide .splide__pagination {
  bottom: calc(-1 * var(--ds-spacings--medium));
}
.DisplayBlock-splide .splide__pagination__page {
  background: var(--dp-border-color);
  opacity: 0.35;
  transition: opacity 200ms ease, transform 200ms ease;
}
.DisplayBlock-splide .splide__pagination__page.is-active {
  background: var(--item-effective);
  opacity: 1;
  transform: scale(1.25);
}
.DisplayBlock.-mediaType-image.-imagePosition-top .DisplayBlock-splide:not(.-arrowsPos-top):not(.-arrowsPos-bottom) .splide__arrow {
  top: calc(var(--dp-image-height, 200px) / 2);
  transform: translateY(-50%);
}
.DisplayBlock.-mode-parallax {
  --dp-item-bg: var(--bg-theme-color, var(--ds-color-white));
}
.DisplayBlock-parallaxStack {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.DisplayBlock-item.-parallaxItem {
  position: sticky;
  top: 80px;
  overflow: hidden;
  border-radius: var(--dp-border-radius, 16px);
  /* Toutes les cartes se stoppent au même top et doivent avoir LA MÊME
     hauteur, sinon le bas d'une carte plus haute dépasse sous la carte
     suivante qui la recouvre (la 1ère paraît alors plus grande). On les
     aligne sur la PLUS HAUTE en JS (cf. script.js → initParallax) : la
     hauteur réelle est posée inline, donc aucun contenu n'est coupé.
     min-height = plancher BO (50vh) + base de mesure si le JS est absent. */
  min-height: var(--dp-parallax-min-height, 50vh);
  padding-block: var(--dp-parallax-padding-block, 48px);
  padding-inline: var(--dp-parallax-padding-inline, 48px);
  background: var(--dp-item-bg-override, var(--dp-item-bg, var(--ds-color-white)));
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  z-index: var(--parallax-index, 1);
  margin-block-end: var(--dp-parallax-overlap, 60px);
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--standard);
  /* Mobile : les valeurs desktop (top 80px, padding 48px, 50vh) rendent
     les cartes plus hautes que le viewport et illisibles. On réduit le
     dégagement haut et on plafonne le padding (clamp respecte une valeur
     BO plus petite mais bride le défaut 48px). */
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-item.-parallaxItem {
    top: 24px;
    padding-block: clamp(20px, var(--dp-parallax-padding-block, 48px), 28px);
    padding-inline: clamp(16px, var(--dp-parallax-padding-inline, 48px), 24px);
  }
}
.DisplayBlock-item.-parallaxItem .DisplayBlock-description {
  margin-block-start: var(--ds-spacings--large);
}
.DisplayBlock.-style-overlay:not(.-imageFit-contain) .DisplayBlock-item.-parallaxItem .DisplayBlock-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.DisplayBlock.-style-overlay:not(.-imageFit-contain) .DisplayBlock-item.-parallaxItem .DisplayBlock-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.DisplayBlock.-style-overlay:not(.-imageFit-contain) .DisplayBlock-item.-parallaxItem::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
  z-index: 1;
}
.DisplayBlock.-style-overlay:not(.-imageFit-contain) .DisplayBlock-item.-parallaxItem .DisplayBlock-content {
  position: relative;
  z-index: 2;
  margin-block-start: auto;
}
.DisplayBlock.-imageFit-contain .DisplayBlock-item.-parallaxItem, .DisplayBlock:not(.-style-overlay) .DisplayBlock-item.-parallaxItem {
  display: flex;
  gap: var(--ds-spacings--standard);
}
.DisplayBlock.-imageFit-contain .DisplayBlock-item.-parallaxItem .DisplayBlock-image, .DisplayBlock:not(.-style-overlay) .DisplayBlock-item.-parallaxItem .DisplayBlock-image {
  position: relative;
  width: var(--dp-image-width, 200px);
  height: var(--dp-image-height, 220px);
  flex-shrink: 0;
  overflow: hidden;
}
.DisplayBlock.-imageFit-contain .DisplayBlock-item.-parallaxItem .DisplayBlock-image img, .DisplayBlock:not(.-style-overlay) .DisplayBlock-item.-parallaxItem .DisplayBlock-image img {
  width: 100%;
  height: 100%;
  object-position: center;
}
.DisplayBlock.-imageFit-contain .DisplayBlock-item.-parallaxItem .DisplayBlock-content, .DisplayBlock:not(.-style-overlay) .DisplayBlock-item.-parallaxItem .DisplayBlock-content {
  position: relative;
  z-index: 2;
  flex: 1;
  min-width: 0;
}
.DisplayBlock.-imageFit-contain.-imagePosition-top .DisplayBlock-item.-parallaxItem, .DisplayBlock:not(.-style-overlay).-imagePosition-top .DisplayBlock-item.-parallaxItem {
  flex-direction: column;
}
.DisplayBlock.-imageFit-contain.-imagePosition-top .DisplayBlock-item.-parallaxItem .DisplayBlock-image, .DisplayBlock:not(.-style-overlay).-imagePosition-top .DisplayBlock-item.-parallaxItem .DisplayBlock-image {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .DisplayBlock.-imageFit-contain.-imagePosition-left .DisplayBlock-item.-parallaxItem, .DisplayBlock:not(.-style-overlay).-imagePosition-left .DisplayBlock-item.-parallaxItem {
    flex-direction: row;
  }
}
@media only screen and (min-width: 768px) {
  .DisplayBlock.-imageFit-contain.-imagePosition-right .DisplayBlock-item.-parallaxItem, .DisplayBlock:not(.-style-overlay).-imagePosition-right .DisplayBlock-item.-parallaxItem {
    flex-direction: row-reverse;
  }
}
.DisplayBlock-top {
  display: flex;
  gap: var(--ds-spacings--standard);
}
.DisplayBlock-topRight {
  display: flex;
  flex-direction: column;
}
.DisplayBlock-phaseNumber {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: var(--dp-phase-bg);
  color: var(--dp-phase-text);
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-block-end: var(--ds-spacings--small);
  width: max-content;
}
.DisplayBlock-iconBadge {
  width: var(--dp-parallax-icon-width, 60px);
  height: var(--dp-parallax-icon-height, 60px);
  box-sizing: border-box;
  padding-block: var(--dp-icon-padding-block, 0px);
  padding-inline: var(--dp-icon-padding-inline, 0px);
  background: var(--dp-icon-bg, var(--dp-phase-bg));
  border-radius: var(--dp-icon-radius, 50%);
  flex-shrink: 0;
}
.DisplayBlock-iconBadge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.DisplayBlock-iconBadge.-iconPosition-left, .DisplayBlock-iconBadge.-iconPosition-right {
  margin-block-end: 0;
  margin-inline-end: var(--ds-spacings--standard);
}
.DisplayBlock-iconBadge.-iconPosition-right {
  order: 2;
}
.DisplayBlock-process {
  display: flex;
  flex-direction: column;
  gap: var(--dp-gap, 24px);
}
.DisplayBlock-item.-processItem {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex: 1;
  gap: var(--ds-spacings--standard);
  padding-block: var(--dp-process-padding-block, 24px);
  padding-inline: var(--dp-process-padding-inline, 24px);
  background: var(--dp-item-bg-override, var(--dp-item-bg));
  border-radius: var(--dp-process-card-radius, 8px);
  border: 1px solid var(--item-effective);
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-item.-processItem {
    flex-direction: column;
  }
}
.DisplayBlock-item.-processItem .DisplayBlock-image {
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-item.-processItem .DisplayBlock-image {
    width: 100%;
    max-height: 400px;
  }
}
@media only screen and (min-width: 768px) {
  .DisplayBlock-item.-processItem .DisplayBlock-image {
    width: var(--dp-process-card-img-width, 200px);
  }
}
.DisplayBlock-item.-processItem .DisplayBlock-teaser, .DisplayBlock-item.-processItem .DisplayBlock-actions {
  flex-shrink: 0;
}
.DisplayBlock-item.-processItem .DisplayBlock-body {
  flex: 1;
  min-width: 0;
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-item.-processItem .DisplayBlock-body {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) {
  .DisplayBlock.-processCardImgPos-right .DisplayBlock-item.-processItem {
    flex-direction: row-reverse;
  }
}
.DisplayBlock.-mode-process.-style-standard .DisplayBlock-image {
  border-radius: var(--dp-process-card-img-radius, 0);
  overflow: hidden;
}
.DisplayBlock.-borderStyle-top .DisplayBlock-item.-processItem {
  border-width: 1px 0 0 0;
}
.DisplayBlock.-borderStyle-bottom .DisplayBlock-item.-processItem {
  border-width: 0 0 1px 0;
}
@media only screen and (min-width: 768px) {
  .DisplayBlock-teaser {
    width: 10%;
  }
}
.DisplayBlock-processNumber {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--dp-phase-bg);
  line-height: 1;
  margin-block-end: var(--ds-spacings--small);
}
.DisplayBlock-bullets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ds-spacings--small) var(--ds-spacings--standard);
  list-style: none;
  padding: 0;
  margin: var(--ds-spacings--large) 0;
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-bullets {
    grid-template-columns: 1fr;
  }
}
.DisplayBlock-bullet {
  position: relative;
  padding-left: 0;
}
.DisplayBlock-bullet::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  border-radius: var(--ds-radius-width-small);
  border: 1px solid var(--dp-bullet-color);
  background: radial-gradient(circle, var(--dp-bullet-color) 25%, var(--dp-bullet-border-color) 30%);
  margin-right: var(--ds-spacings--small);
  vertical-align: middle;
}
.DisplayBlock-objective {
  margin-block-start: var(--ds-spacings--standard);
  padding: var(--ds-spacings--standard);
  background: var(--dp-objective-bg);
  border-left: 3px solid var(--dp-objective-border);
  border-radius: 0 8px 8px 0;
}
.DisplayBlock-objective p {
  margin: 0;
}
.DisplayBlock-objectiveLabel {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dp-phase-bg);
  margin-block-end: 4px;
}
.DisplayBlock-item {
  display: flex;
  gap: var(--ds-spacings--standard);
  padding-block: var(--dp-card-padding-block, 24px);
  padding-inline: var(--dp-card-padding-inline, 24px);
  background: var(--dp-item-bg-override, var(--dp-item-bg));
  color: var(--dp-item-text);
  border-radius: var(--dp-border-radius, 0px);
  transition: background 200ms ease;
}
.DisplayBlock-item:hover {
  background: var(--dp-hover-bg);
}
.DisplayBlock.-mediaType-image.-imagePosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-icon.-iconPosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
  flex-direction: row;
  align-items: flex-start;
}
@media (max-width: 960px) {
  .DisplayBlock.-mediaType-image.-imagePosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-icon.-iconPosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
    flex-direction: column;
  }
}
.DisplayBlock.-mediaType-image.-imagePosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-icon.-iconPosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
  flex-direction: row-reverse;
  align-items: flex-start;
}
@media (max-width: 960px) {
  .DisplayBlock.-mediaType-image.-imagePosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-icon.-iconPosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
    flex-direction: column;
  }
}
.DisplayBlock.-mediaType-image.-imagePosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-image.-imagePosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
  padding: 0;
}
.DisplayBlock.-mediaType-image.-imagePosition-left .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-content, .DisplayBlock.-mediaType-image.-imagePosition-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-content {
  padding-block: var(--dp-card-padding-block, 24px);
  padding-inline: var(--dp-card-padding-inline, 24px);
}
.DisplayBlock.-mediaType-image.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem), .DisplayBlock.-mediaType-icon.-iconPosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
  flex-direction: column;
  align-items: stretch;
}
.DisplayBlock.-mediaType-image.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) {
  padding: 0;
}
.DisplayBlock.-mediaType-image.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-image {
  width: 100%;
  align-self: stretch;
}
.DisplayBlock.-mediaType-image.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-content {
  padding-block: var(--dp-card-padding-block, 24px);
  padding-inline: var(--dp-card-padding-inline, 24px);
}
.DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-iconBadge {
  margin-block: var(--dp-icon-margin-block, 0px);
  margin-inline: var(--dp-icon-margin-inline, 0px);
  order: 0;
}
.DisplayBlock.-iconPosition-top.-contentAlign-center .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-iconBadge {
  align-self: center;
}
.DisplayBlock.-iconPosition-top.-contentAlign-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-iconBadge {
  align-self: flex-end;
}
.DisplayBlock-body {
  display: flex;
  flex: 1;
  gap: var(--ds-spacings--standard);
}
@media only screen and (max-width: 767px) {
  .DisplayBlock-body {
    flex-direction: column;
  }
}
.DisplayBlock-image {
  flex-shrink: 0;
  overflow: hidden;
  box-sizing: border-box;
  /* « Padding image » = espace intérieur (dans le cadre de l'image) ;
     « Marge image » = espace extérieur (autour du cadre). Modèle
     identique à l'icône (padding sur le badge + marge externe). */
  padding-block: var(--dp-image-padding-block, 0px);
  padding-inline: var(--dp-image-padding-inline, 0px);
  margin-block: var(--dp-image-margin-block, 0px);
  margin-inline: var(--dp-image-margin-inline, 0px);
}
.DisplayBlock-image img {
  display: block;
  width: 100%;
  height: 100%;
}
.DisplayBlock-image.-fit-cover img {
  object-fit: cover;
}
.DisplayBlock-image.-fit-contain img {
  object-fit: contain;
  /* En contain, l'image ne remplit pas la div, le radius doit être sur l'img */
  border-radius: var(--dp-image-radius, 0);
}
.DisplayBlock.-style-standard .DisplayBlock-image {
  max-width: 100%;
  height: var(--dp-image-height, 200px);
  border-radius: var(--dp-image-radius, 0);
  overflow: hidden;
}
.DisplayBlock.-style-standard.-imagePosition-left .DisplayBlock-image, .DisplayBlock.-style-standard.-imagePosition-right .DisplayBlock-image {
  height: auto;
  align-self: stretch;
}
@media only screen and (max-width: 767px) {
  .DisplayBlock.-style-standard.-imagePosition-left .DisplayBlock-image, .DisplayBlock.-style-standard.-imagePosition-right .DisplayBlock-image {
    width: 100%;
    max-height: 400px;
  }
}
@media (min-width: 961px) {
  .DisplayBlock.-style-standard.-imagePosition-left .DisplayBlock-image, .DisplayBlock.-style-standard.-imagePosition-right .DisplayBlock-image {
    width: var(--dp-image-width, 200px);
    max-width: var(--dp-image-width, 200px);
  }
}
.DisplayBlock.-style-standard.-imagePosition-left .DisplayBlock-image img, .DisplayBlock.-style-standard.-imagePosition-right .DisplayBlock-image img {
  height: 100%;
}
.DisplayBlock.-style-standard.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-image {
  /* Pas de width:100% : l'étirement flex (align-items:stretch de l'item)
     remplit la largeur en tenant compte des marges inline, évitant tout
     débordement quand un « padding » (= marge) horizontal est défini. */
  align-self: stretch;
}
.DisplayBlock.-style-standard.-imagePosition-top .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-image img {
  width: 100%;
  height: 100%;
}
.DisplayBlock.-style-standard.-imagePosition-top.-contentAlign-center .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-image {
  width: var(--dp-image-width, 200px);
  max-width: 100%;
  align-self: center;
}
.DisplayBlock.-style-standard.-imagePosition-top.-contentAlign-right .DisplayBlock-item:not(.-processItem):not(.-parallaxItem) .DisplayBlock-image {
  width: var(--dp-image-width, 200px);
  max-width: 100%;
  align-self: flex-end;
}
.DisplayBlock.-style-overlay .DisplayBlock-item {
  position: relative;
  padding: 0;
  flex-direction: column;
}
.DisplayBlock.-mode-parallax .DisplayBlock-item.-parallaxItem {
  position: sticky;
}
.DisplayBlock.-style-overlay .DisplayBlock-image {
  width: 100%;
  height: var(--dp-image-height, 300px);
}
.DisplayBlock.-style-overlay .DisplayBlock-image img {
  opacity: 0.75;
  transition: opacity 0.4s ease;
}
.DisplayBlock.-style-overlay .DisplayBlock-item:hover .DisplayBlock-image img {
  opacity: 0.5;
}
.DisplayBlock.-style-overlay .DisplayBlock-content {
  position: absolute;
  inset: 0;
  padding-block: var(--dp-card-padding-block, 24px);
  padding-inline: var(--dp-card-padding-inline, 24px);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 70%);
  color: var(--ds-color-white);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: padding 200ms ease;
}
.DisplayBlock.-style-overlay .DisplayBlock-item:hover .DisplayBlock-content {
  padding-block-end: calc(var(--dp-card-padding-block, 24px) + var(--ds-spacings--small));
}
.DisplayBlock.-style-overlay-title, .DisplayBlock.-style-overlay-surtitle, .DisplayBlock.-style-overlay-subtitle, .DisplayBlock.-style-overlay-description {
  color: var(--ds-color-white);
}
.DisplayBlock-icon {
  display: flex;
  flex-shrink: 0;
  width: var(--dp-icon-size, 48px);
  height: var(--dp-icon-size, 48px);
  box-sizing: border-box;
  background: var(--dp-icon-bg, transparent);
  border-radius: var(--dp-icon-radius, 0%);
  padding-block: var(--dp-icon-padding-block, 0px);
  padding-inline: var(--dp-icon-padding-inline, 0px);
}
.DisplayBlock-icon img,
.DisplayBlock-icon svg,
.DisplayBlock-icon i {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.DisplayBlock-content {
  flex: 1;
  min-width: 0;
  color: var(--dp-text);
}
.DisplayBlock-surtitle {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--dp-surtitle-color);
  margin-block-end: var(--ds-spacings--xx-small);
}
.DisplayBlock-title {
  margin: 0;
  color: var(--dp-title-color);
}
.DisplayBlock-subtitle {
  font-size: 0.875rem;
  color: var(--dp-subtitle-color);
  margin-block-start: var(--ds-spacings--xx-small);
}
.DisplayBlock-description {
  margin-block-start: var(--ds-spacings--small);
  color: var(--dp-desc-color);
  line-height: 1.5;
  white-space: pre-line;
}
.DisplayBlock-description.-teaser {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: var(--dp-desc-clamp, 3);
  -webkit-box-orient: vertical;
}
.DisplayBlock-extra {
  margin-block-start: var(--ds-spacings--small);
}
.DisplayBlock-extra > * + * {
  margin-block-start: var(--ds-spacings--small);
}
.DisplayBlock.-mode-parallax .DisplayBlock-link {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-secondary-bg, var(--ds-color-secondary));
  color: var(--btn-secondary-text, var(--ds-color-primary));
  width: auto;
  height: auto;
  justify-content: flex-start;
}
.DisplayBlock.-mode-parallax .DisplayBlock-link:hover {
  --bg-color-button: var(--btn-secondary-hover-bg, var(--ds-color-primary));
  color: var(--btn-secondary-hover-text, var(--ds-color-secondary));
}
.DisplayBlock.-mode-parallax .DisplayBlock-link::after {
  content: none;
}
.DisplayBlock.-cardTheme-white .DisplayBlock-item {
  background-color: var(--dp-item-bg-override, var(--ds-color-white));
  color: var(--ds-color-secondary);
  --dp-item-bg: var(--ds-color-white);
  --dp-text: var(--ds-color-secondary);
  --dp-item-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-subtitle-color: var(--ds-colors-grey-800, #555);
  --dp-desc-color: var(--ds-color-secondary);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.04);
  --dp-bullet-color: var(--ds-color-primary);
  --dp-phase-bg: var(--ds-color-primary);
  --dp-phase-text: var(--ds-color-secondary);
  --dp-objective-border: var(--ds-color-primary);
}
.DisplayBlock.-cardTheme-dark .DisplayBlock-item {
  background-color: var(--theme-dark-bg);
  color: var(--theme-dark-text);
  --bg-theme-color: var(--theme-dark-bg);
  --text-theme-color: var(--theme-dark-text);
  --btn-primary-bg: var(--ds-color-primary);
  --btn-primary-text: var(--ds-color-secondary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-primary);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-white);
  --btn-secondary-hover-text: var(--ds-color-secondary);
  --btn-simpleLink-text: var(--ds-color-white);
  --btn-simpleLink-hover: var(--ds-color-primary);
  --btn-download-bg: var(--ds-color-primary);
  --btn-download-text: var(--ds-color-secondary);
  --btn-download-hover-bg: var(--ds-color-white);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-primary);
  --btn-arrow-text: var(--ds-color-secondary);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-secondary);
  background-color: var(--dp-item-bg-override, var(--theme-dark-bg));
  --dp-text: var(--ds-color-white);
  --dp-item-text: var(--ds-color-white);
  --dp-title-color: var(--ds-color-white);
  --dp-subtitle-color: rgba(255, 255, 255, 0.65);
  --dp-desc-color: rgba(255, 255, 255, 0.85);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-hover-bg: rgba(255, 255, 255, 0.08);
  --dp-border-color: var(--ds-color-white);
  --dp-objective-bg: rgba(255, 255, 255, 0.08);
  --dp-bullet-color: var(--ds-color-primary);
}
.DisplayBlock.-cardTheme-light .DisplayBlock-item {
  background-color: var(--theme-light-bg);
  color: var(--theme-light-text);
  --bg-theme-color: var(--theme-light-bg);
  --text-theme-color: var(--theme-light-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-white);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-primary);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-secondary);
  --btn-arrow-text: var(--ds-color-white);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-primary);
  background-color: var(--dp-item-bg-override, var(--theme-light-bg));
  --dp-item-bg: var(--ds-color-white);
  --dp-text: var(--ds-color-secondary);
  --dp-item-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-subtitle-color: var(--ds-colors-grey-800, #555);
  --dp-desc-color: var(--ds-color-secondary);
  --dp-surtitle-color: var(--ds-color-secondary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.04);
  --dp-bullet-color: var(--ds-color-secondary);
  --dp-phase-bg: var(--ds-color-secondary);
  --dp-phase-text: var(--ds-color-white);
  --dp-objective-border: var(--ds-color-secondary);
}
.DisplayBlock.-cardTheme-black .DisplayBlock-item {
  background-color: var(--dp-item-bg-override, var(--ds-color-black));
  color: var(--ds-color-white);
  --dp-item-bg: var(--ds-color-black);
  --dp-text: var(--ds-color-white);
  --dp-item-text: var(--ds-color-white);
  --dp-title-color: var(--ds-color-white);
  --dp-subtitle-color: rgba(255, 255, 255, 0.65);
  --dp-desc-color: rgba(255, 255, 255, 0.85);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-border-color: rgba(255, 255, 255, 0.2);
  --dp-hover-bg: rgba(255, 255, 255, 0.06);
  --dp-objective-bg: rgba(255, 255, 255, 0.08);
  --dp-bullet-color: var(--ds-color-primary);
  --dp-phase-bg: var(--ds-color-primary);
  --dp-phase-text: var(--ds-color-secondary);
  --dp-objective-border: var(--ds-color-primary);
}
.DisplayBlock.-cardTheme-accent .DisplayBlock-item {
  background-color: var(--theme-accent-bg);
  color: var(--theme-accent-text);
  --bg-theme-color: var(--theme-accent-bg);
  --text-theme-color: var(--theme-accent-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-primary);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-white);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-white);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-white);
  background-color: var(--dp-item-bg-override, var(--theme-accent-bg));
  --dp-item-bg: rgba(255, 255, 255, 0.85);
  --dp-text: var(--ds-color-secondary);
  --dp-item-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-subtitle-color: var(--ds-color-secondary);
  --dp-desc-color: var(--ds-color-secondary);
  --dp-surtitle-color: var(--ds-color-secondary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.05);
  --dp-bullet-color: var(--ds-color-secondary);
  --dp-phase-bg: var(--ds-color-secondary);
  --dp-phase-text: var(--ds-color-white);
  --dp-objective-border: var(--ds-color-secondary);
}
.DisplayBlock.-cardText-light .DisplayBlock-item {
  color: var(--ds-color-white);
  --dp-text: var(--ds-color-white);
  --dp-item-text: var(--ds-color-white);
  --dp-title-color: var(--ds-color-white);
  --dp-subtitle-color: rgba(255, 255, 255, 0.7);
  --dp-desc-color: rgba(255, 255, 255, 0.85);
  --dp-surtitle-color: rgba(255, 255, 255, 0.6);
  --dp-border-color: rgba(255, 255, 255, 0.3);
  --dp-hover-bg: rgba(255, 255, 255, 0.08);
  --dp-bullet-color: rgba(255, 255, 255, 0.8);
  --dp-phase-bg: rgba(255, 255, 255, 0.15);
  --dp-phase-text: var(--ds-color-white);
  --dp-objective-bg: rgba(255, 255, 255, 0.1);
  --dp-objective-border: rgba(255, 255, 255, 0.5);
}
.DisplayBlock.-cardText-dark .DisplayBlock-item {
  color: var(--ds-color-secondary);
  --dp-text: var(--ds-color-secondary);
  --dp-item-text: var(--ds-color-secondary);
  --dp-title-color: var(--ds-color-secondary);
  --dp-subtitle-color: var(--ds-colors-grey-800, #555);
  --dp-desc-color: var(--ds-color-secondary);
  --dp-surtitle-color: var(--ds-color-primary);
  --dp-border-color: var(--ds-color-secondary);
  --dp-hover-bg: rgba(0, 0, 0, 0.04);
  --dp-bullet-color: var(--ds-color-primary);
  --dp-phase-bg: var(--ds-color-primary);
  --dp-phase-text: var(--ds-color-secondary);
  --dp-objective-bg: rgba(0, 0, 0, 0.05);
  --dp-objective-border: var(--ds-color-primary);
}

.DownloadBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — mapping couleurs natives
  ════════════════════════════════════════════ */
  /* Defaults (transparent / clair) */
  --dl-text: var(--text-theme-color);
  --dl-item-bg: var(--bg-theme-color);
  --dl-item-text: var(--text-theme-color);
  --dl-icon-color: var(--ds-color-secondary);
  --dl-icon-bg: var(--ds-color-light-gray, #f5f5f5);
  --dl-meta-color: var(--text-theme-color);
  --dl-border-color: var(--text-theme-color);
  --dl-hover-bg: var(--ds-color-light-gray, #f5f5f5);
  /* ════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     LISTE — Grid layout configurable
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ITEM — Card téléchargement
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     BORDURES CONDITIONNELLES
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     IMAGE ILLUSTRATION
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ICÔNE TYPE FICHIER (SVG)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     CONTENU (titre + meta + desc)
  ════════════════════════════════════════════ */
}
.-themeDark .DownloadBlock {
  --dl-text: var(--ds-color-white);
  --dl-item-bg: var(--ds-color-secondary);
  --dl-item-text: var(--ds-color-white);
  --dl-icon-color: var(--ds-color-primary);
  --dl-icon-bg: transparent;
  --dl-meta-color: var(--ds-color-white);
  --dl-border-color: var(--ds-color-white);
  --dl-hover-bg: rgba(255, 255, 255, 0.08);
}
.-themeLight .DownloadBlock {
  --dl-text: var(--ds-color-secondary);
  --dl-item-bg: transparent;
  --dl-item-text: var(--ds-color-secondary);
  --dl-icon-color: var(--ds-color-secondary);
  --dl-icon-bg: transparent;
  --dl-meta-color: var(--ds-color-secondary);
  --dl-border-color: var(--ds-color-secondary);
  --dl-hover-bg: rgba(0, 0, 0, 0.05);
}
.-themeAccent .DownloadBlock {
  --dl-text: var(--ds-color-secondary);
  --dl-item-bg: transparent;
  --dl-item-text: var(--ds-color-secondary);
  --dl-icon-color: var(--ds-color-secondary);
  --dl-icon-bg: transparent;
  --dl-meta-color: var(--ds-color-secondary);
  --dl-border-color: var(--ds-color-secondary);
  --dl-hover-bg: rgba(0, 0, 0, 0.05);
}
.DownloadBlock.-contentAlign-left .DownloadBlock-content {
  text-align: left;
}
.DownloadBlock.-contentAlign-center .DownloadBlock-content {
  text-align: center;
}
.DownloadBlock.-contentAlign-right .DownloadBlock-content {
  text-align: right;
}
.DownloadBlock-list {
  display: grid;
  gap: var(--dl-gap, 16px);
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.DownloadBlock.-columns-1 .DownloadBlock-list {
  grid-template-columns: 1fr;
}
.DownloadBlock.-columns-2 .DownloadBlock-list {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .DownloadBlock.-columns-2 .DownloadBlock-list {
    grid-template-columns: 1fr;
  }
}
.DownloadBlock.-columns-3 .DownloadBlock-list {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 1023px) {
  .DownloadBlock.-columns-3 .DownloadBlock-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .DownloadBlock.-columns-3 .DownloadBlock-list {
    grid-template-columns: 1fr;
  }
}
.DownloadBlock.-columns-4 .DownloadBlock-list {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1023px) {
  .DownloadBlock.-columns-4 .DownloadBlock-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .DownloadBlock.-columns-4 .DownloadBlock-list {
    grid-template-columns: 1fr;
  }
}
.DownloadBlock-item {
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--standard);
  padding: var(--dl-card-padding, 16px);
  background: var(--dl-item-bg);
  color: var(--dl-item-text);
  text-decoration: none;
  transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  cursor: pointer;
  --item-effective: var(--item-color, var(--dl-border-color));
}
.DownloadBlock-item:hover {
  background: var(--dl-hover-bg);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.DownloadBlock-item:focus-visible {
  outline: 2px solid var(--item-effective);
  outline-offset: 2px;
}
.DownloadBlock.-hasBorder .DownloadBlock-item {
  border: 1px solid var(--item-effective);
  border-radius: var(--dl-border-radius, 8px);
}
.DownloadBlock-image {
  flex-shrink: 0;
  width: var(--dl-image-width, 80px);
  height: var(--dl-image-height, 80px);
  overflow: hidden;
  border-radius: 4px;
}
@media only screen and (max-width: 767px) {
  .DownloadBlock-image {
    display: none;
  }
}
.DownloadBlock-image img {
  width: 100%;
  height: 100% !important;
  object-fit: var(--dl-image-fit, cover);
}
.DownloadBlock.-imageFit-cover .DownloadBlock-image {
  height: 100%;
  align-self: stretch;
}
.DownloadBlock.-imagePosition-right .DownloadBlock-item {
  flex-direction: row-reverse;
}
.DownloadBlock.-imagePosition-top .DownloadBlock-item {
  flex-direction: column;
  align-items: flex-start;
}
.DownloadBlock.-imagePosition-top .DownloadBlock-item .DownloadBlock-image {
  width: 100%;
  height: var(--dl-image-height, 80px);
}
.DownloadBlock-fileIcon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dl-icon-color);
  background: var(--dl-icon-bg);
  border-radius: 4px;
}
.DownloadBlock-fileIcon svg {
  width: 100%;
  height: 100%;
  max-width: 32px;
  max-height: 32px;
}
.DownloadBlock-content {
  flex: 1;
  min-width: 0;
  color: var(--dl-text);
}
.DownloadBlock-header {
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--small);
}
.DownloadBlock-titleMeta {
  flex: 1;
  min-width: 0;
}
.DownloadBlock-title {
  margin: 0;
  color: inherit;
  word-break: break-word;
}
.DownloadBlock-meta {
  display: flex;
  gap: var(--ds-spacings--xx-small);
  align-items: center;
  margin-block-start: var(--ds-spacings--xx-small);
  color: var(--dl-meta-color);
  font-size: 0.8125rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.DownloadBlock-fileType {
  text-transform: uppercase;
  font-weight: 600;
}
.DownloadBlock-desc {
  margin-block-start: var(--ds-spacings--small);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--dl-text);
}

:root {
  --sliderblock-slider-margin-inline: 0.5rem;
}

.SliderBlock {
  position: relative;
  /* =========================
     Hauteur héritée (D17)
     Style3 side-layout pose height inline sur .SliderBlock
     → cascade sur splide__track/list/slide
  ========================= */
  /* =========================
     Positions flèches (D14)
     Ne pas toucher au transform natif Splide (translateY(-50%) + offset horizontal)
  ========================= */
  /* =========================
     Positions dots (D14)
  ========================= */
  /* =========================
     Effets reveal (D15)
     JS Phase 4 ajoute .is-revealing sur .splide__slide entrant
     FADE : géré nativement par Splide (type: 'fade'), pas de CSS custom
  ========================= */
  /* =========================
     Bordure conditionnelle
  ========================= */
  /* =========================
     Slides
  ========================= */
  /* =========================
     Gestion nbSlides
  ========================= */
  /* =========================
     Fit image (cover/contain)
  ========================= */
  /* =========================
     STYLE 1
  ========================= */
  /* =========================
     STYLE 2
  ========================= */
  /* =========================
     STYLE 3
  ========================= */
}
.SliderBlock[style*=height] .splide__track,
.SliderBlock[style*=height] .splide__list,
.SliderBlock[style*=height] .splide__slide {
  height: inherit;
}
.SliderBlock[data-arrows-position=top] .splide__arrow {
  top: 1rem;
  bottom: auto;
}
.SliderBlock[data-arrows-position=bottom] .splide__arrow {
  top: auto;
  bottom: 1rem;
  transform: none;
}
.SliderBlock[data-arrows-position=hidden] .splide__arrows {
  display: none;
}
.SliderBlock[data-dots-position=top] .splide__pagination {
  top: 0;
  bottom: auto;
}
.SliderBlock[data-dots-position=middle] .splide__pagination {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.SliderBlock[data-dots-position=bottom] .splide__pagination {
  bottom: 0;
  top: auto;
}
.SliderBlock[data-dots-position=hidden] .splide__pagination {
  display: none;
}
.SliderBlock[data-reveal=zoom] .splide__slide.is-revealing {
  animation: SliderBlock-zoom 800ms cubic-bezier(0.76, 0, 0.24, 1);
}
.SliderBlock[data-reveal=clip-reveal] .splide__slide.is-revealing {
  animation: SliderBlock-clip 800ms cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
.SliderBlock.-hasBorder .Card {
  border: 1px solid var(--text-theme-color);
  border-radius: var(--slider-border-radius, 8px);
}
.SliderBlock-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0;
  background: transparent;
}
.SliderBlock-slide .Card {
  width: 100%;
}
.SliderBlock-slide .Card-content {
  padding-inline: var(--ds-spacings--large);
  padding-block-end: var(--ds-spacings--large);
}
.SliderBlock-slide .Card-title {
  margin-block-end: var(--ds-spacings--large);
}
.SliderBlock.-nbSlides-1 .SliderBlock-slide {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .SliderBlock.-nbSlides-2 .SliderBlock-slide {
    width: calc(50% - var(--sliderblock-slider-margin-inline));
  }
}
@media only screen and (min-width: 768px) {
  .SliderBlock.-nbSlides-3 .SliderBlock-slide {
    width: calc(50% - var(--sliderblock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1024px) {
  .SliderBlock.-nbSlides-3 .SliderBlock-slide {
    width: calc(33% - var(--sliderblock-slider-margin-inline));
  }
}
@media only screen and (min-width: 768px) {
  .SliderBlock.-nbSlides-4 .SliderBlock-slide {
    width: calc(50% - var(--sliderblock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1024px) {
  .SliderBlock.-nbSlides-4 .SliderBlock-slide {
    width: calc(33% - var(--sliderblock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1200px) {
  .SliderBlock.-nbSlides-4 .SliderBlock-slide {
    width: calc(25% - var(--sliderblock-slider-margin-inline));
  }
}
.SliderBlock .Card-picture {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.SliderBlock .Card-picture img {
  display: block;
}
.SliderBlock .Card-picture.-fit-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.SliderBlock .Card-picture.-fit-contain {
  display: flex;
  align-items: center;
}
.SliderBlock .Card-picture.-fit-contain img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.SliderBlock.-sliderStyle1 .Card.-slider {
  width: 100%;
}
.SliderBlock.-sliderStyle1 .Card.-slider .Card {
  position: relative;
  height: 100%;
}
.SliderBlock.-sliderStyle1 .Card.-slider .Card-inner {
  height: 100%;
}
.SliderBlock.-sliderStyle1 .Card.-slider .Card-picture {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.SliderBlock.-sliderStyle1 .Card.-slider .Card-description {
  padding: var(--ds-spacings--standard);
}
.SliderBlock.-sliderStyle1 .Card.-slider .Card-description p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--ds-color-gray);
  font-weight: 100;
}
.SliderBlock.-sliderStyle1 .splide__arrow--prev {
  left: 5%;
}
.SliderBlock.-sliderStyle1 .splide__arrow--next {
  right: 5%;
}
.SliderBlock.-sliderStyle2 .splide__arrow--prev {
  right: 4rem;
  left: auto;
}
.SliderBlock.-sliderStyle2 .splide__arrow--next {
  right: 0;
}
.SliderBlock.-sliderStyle3.-contentAlign-left .Card-picture, .SliderBlock.-sliderStyle3.-contentAlign-left .Card-content {
  align-items: flex-start;
  text-align: left;
  justify-content: flex-start;
}
.SliderBlock.-sliderStyle3.-contentAlign-center .Card-picture, .SliderBlock.-sliderStyle3.-contentAlign-center .Card-content {
  align-items: center;
  text-align: center;
  justify-content: center;
}
.SliderBlock.-sliderStyle3.-contentAlign-center .Card .button {
  margin-inline: auto;
}
.SliderBlock.-sliderStyle3.-contentAlign-right .Card-picture, .SliderBlock.-sliderStyle3.-contentAlign-right .Card-content {
  align-items: flex-end;
  text-align: right;
  justify-content: flex-end;
}
.SliderBlock.-sliderStyle3.-contentAlign-right .Card .button {
  margin-left: auto;
}
.SliderBlock.-sliderStyle3.-text-top .SliderBlock-slide {
  align-items: flex-end;
}
.SliderBlock.-sliderStyle3.-text-bottom .SliderBlock-slide {
  align-items: flex-start;
}
.SliderBlock.-sliderStyle3.-text-right .splide__track,
.SliderBlock.-sliderStyle3.-text-right .splide__list,
.SliderBlock.-sliderStyle3.-text-right .SliderBlock-slide,
.SliderBlock.-sliderStyle3.-text-right .Card,
.SliderBlock.-sliderStyle3.-text-right .Card-inner, .SliderBlock.-sliderStyle3.-text-left .splide__track,
.SliderBlock.-sliderStyle3.-text-left .splide__list,
.SliderBlock.-sliderStyle3.-text-left .SliderBlock-slide,
.SliderBlock.-sliderStyle3.-text-left .Card,
.SliderBlock.-sliderStyle3.-text-left .Card-inner {
  height: 100%;
}
.SliderBlock.-sliderStyle3.-text-right .Card, .SliderBlock.-sliderStyle3.-text-left .Card {
  width: 100%;
  height: 100%;
}
.SliderBlock.-sliderStyle3.-text-right .Card-inner, .SliderBlock.-sliderStyle3.-text-left .Card-inner {
  display: grid;
  height: 100%;
}
@media only screen and (min-width: 1024px) {
  .SliderBlock.-sliderStyle3.-text-right .Card-inner, .SliderBlock.-sliderStyle3.-text-left .Card-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.SliderBlock.-sliderStyle3.-text-right .Card-content, .SliderBlock.-sliderStyle3.-text-left .Card-content {
  padding-inline: var(--ds-spacings--standard);
  padding-block: var(--ds-spacings--xxx-large);
}
@media only screen and (min-width: 1024px) {
  .SliderBlock.-sliderStyle3.-text-right .Card-content, .SliderBlock.-sliderStyle3.-text-left .Card-content {
    padding-inline: var(--ds-spacings--large);
  }
}
.SliderBlock.-sliderStyle3.-text-right .Card-picture, .SliderBlock.-sliderStyle3.-text-left .Card-picture {
  width: 100%;
  height: 100%;
}
.SliderBlock.-sliderStyle3.-text-top .Card-inner, .SliderBlock.-sliderStyle3.-text-bottom .Card-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.SliderBlock.-sliderStyle3.-text-top .Card-picture, .SliderBlock.-sliderStyle3.-text-bottom .Card-picture {
  width: 100%;
  height: 100%;
}

/* =========================
   Keyframes reveal
========================= */
@keyframes SliderBlock-zoom {
  from {
    transform: scale(0.85);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes SliderBlock-clip {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
:root {
  --TeamBlock-split-accent: var(--ds-color-primary);
  --TeamBlock-avatar-1: var(--color-yellow-700);
  --TeamBlock-avatar-2: var(--ds-color-tertiary);
  --TeamBlock-avatar-3: var(--ds-color-secondary);
  --TeamBlock-avatar-4: var(--color-tertiary-900);
  --TeamBlock-avatar-5: var(--color-tertiary-700);
  --TeamBlock-avatar-6: var(--color-coral-900);
}

.TeamBlock {
  position: relative;
  /* ── Hauteur héritée ── */
  /* ── Positions flèches ── */
  /* ── Positions dots ── */
  /* ── Effets reveal ── */
  /* ── Inner container ── */
  /* ── Border-radius (hors modeSplit) ── */
  /* ── Bordure conditionnelle (hors modeSplit) ── */
  /* ── Slide (mode slider) ── */
  /* ── Description : Teaser + line-clamp optionnel ── */
  /* Règle séparée pour que display/-webkit-* viennent après le placeholder @extend */
  /* ── Alignement contenu ── */
  /* ══════════════════════════════════════════════
     MODE GRID — Image + contenu sous l'image
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     MODE OVERLAY — Image fond + texte superposé
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     COULEUR DE FOND PAR ITEM
  ══════════════════════════════════════════════ */
  /* ══════════════════════════════════════════════
     MODE SPLIT — Liste avatars + panneaux détail
  ══════════════════════════════════════════════ */
}
.TeamBlock[style*=height] .splide__track,
.TeamBlock[style*=height] .splide__list,
.TeamBlock[style*=height] .splide__slide {
  height: inherit;
}
.TeamBlock[data-arrows-position=top] .splide__arrow {
  top: 1rem;
  bottom: auto;
}
.TeamBlock[data-arrows-position=bottom] .splide__arrow {
  top: auto;
  bottom: 1rem;
  transform: none;
}
.TeamBlock[data-arrows-position=hidden] .splide__arrows {
  display: none;
}
.TeamBlock[data-dots-position=top] .splide__pagination {
  top: 0;
  bottom: auto;
}
.TeamBlock[data-dots-position=middle] .splide__pagination {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.TeamBlock[data-dots-position=bottom] .splide__pagination {
  bottom: 0;
  top: auto;
}
.TeamBlock[data-dots-position=hidden] .splide__pagination {
  display: none;
}
.TeamBlock[data-reveal=zoom] .splide__slide.is-revealing {
  animation: TeamBlock-zoom 800ms cubic-bezier(0.76, 0, 0.24, 1);
}
.TeamBlock[data-reveal=clip-reveal] .splide__slide.is-revealing {
  animation: TeamBlock-clip 800ms cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
.TeamBlock-inner {
  position: relative;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--team-gap, 20px);
}
@media only screen and (min-width: 480px) {
  .TeamBlock-inner {
    grid-template-columns: var(--team-cols, repeat(auto-fit, minmax(270px, 1fr)));
  }
}
.TeamBlock:not(.-modeSplit) .Card.-team {
  border-radius: var(--team-border-radius, 0);
}
.TeamBlock.-hasBorder:not(.-modeSplit) .Card.-team {
  border: 1px solid var(--text-theme-color);
}
.TeamBlock-slide {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.TeamBlock-slide .Card {
  width: 100%;
  height: 100% !important;
}
.TeamBlock .Card {
  --bg-card-article: var(--ds-color-white);
  --text-color-card-article: var(--ds-color-secondary);
  --text-color-card-article-hover: var(--ds-color-white);
  --bg-category-card-article: var(--ds-color-secondary);
  --text-category-card-article: var(--ds-color-white);
  overflow: hidden;
  text-decoration: none;
  display: flex;
}
.TeamBlock .Card-inner {
  position: relative;
  display: flex;
}
.TeamBlock .Card.-team .Card-desc p {
  display: -webkit-box;
  -webkit-line-clamp: var(--team-desc-lines, none);
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.TeamBlock.-contentAlign-left .Card-content {
  text-align: left;
  align-items: flex-start;
}
.TeamBlock.-contentAlign-left .Card-content .Card-actions {
  align-self: flex-start;
}
.TeamBlock.-contentAlign-center .Card-content {
  text-align: center;
  align-items: center;
}
.TeamBlock.-contentAlign-center .Card-content .Card-actions {
  align-self: center;
}
.TeamBlock.-contentAlign-right .Card-content {
  text-align: right;
  align-items: flex-end;
}
.TeamBlock.-contentAlign-right .Card-content .Card-actions {
  align-self: flex-end;
}
.TeamBlock.-modeGrid .Card.-team {
  /* Fond blanc par défaut uniquement si pas de couleur d'item */
}
.TeamBlock.-modeGrid .Card.-team:not([class*=-bgColor-]):not([style*="--team-card-custom-bg"]) {
  background-color: var(--ds-color-white);
}
.TeamBlock.-modeGrid .Card.-team .Card {
  height: 100%;
}
.TeamBlock.-modeGrid .Card.-team .Card-inner {
  display: grid;
  align-items: start;
  gap: 0;
  min-height: var(--team-card-height, 0px);
}
.TeamBlock.-modeGrid .Card.-team .Card-picture {
  overflow: hidden;
  height: var(--team-image-height, 13.75rem);
  width: var(--team-image-width, 100%);
  justify-self: center;
  margin-block-start: var(--team-image-margin-top, 0px);
  border-radius: var(--team-image-radius, 0px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.TeamBlock.-modeGrid .Card.-team .Card-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
  transition: all 0.3s ease-in-out 0s;
}
.TeamBlock.-modeGrid .Card.-team .Card-picture.-contain img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: initial;
  border-radius: var(--team-image-radius, 0px);
}
.TeamBlock.-modeGrid .Card.-team .Card-title {
  color: var(--ds-color-secondary);
}
.TeamBlock.-modeGrid .Card.-team .Card-function {
  color: var(--ds-colors-grey-800);
}
.TeamBlock.-modeGrid .Card.-team .Card-content {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--small);
  padding-inline: var(--team-card-padding-inline, var(--ds-spacings--standard));
  padding-block: var(--team-card-padding-block, var(--ds-spacings--standard));
}
.TeamBlock.-modeGrid .Card.-team .Card-social {
  position: relative;
  display: flex;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  column-gap: var(--ds-spacings--small);
  padding-block-start: var(--ds-spacings--small);
}
.TeamBlock.-modeGrid .Card.-team .Card-social li {
  transition: all 0.3s ease-in-out 0s;
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 2.75rem;
  height: 2.75rem;
}
.TeamBlock.-modeGrid .Card.-team .Card-social li::before {
  display: none;
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ds-spacings--standard);
  width: 100%;
  height: 100%;
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a::before {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  font-family: "fontawesome";
  font-size: 1rem;
  color: var(--sn-icon-color, var(--ds-color-primary));
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.facebook::before {
  content: "\f39e";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.x::before {
  content: "\e61b";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.youtube::before {
  content: "\f167";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.instagram::before {
  content: "\f16d";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.linkedin::before {
  content: "\f0e1";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.tripadvisor::before {
  content: "\f262";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li a.tiktok::before {
  content: "\e07b";
}
.TeamBlock.-modeGrid .Card.-team .Card-social li:hover a::before {
  color: var(--sn-icon-hover-color, var(--ds-color-secondary));
}
.TeamBlock.-modeGrid .Card.-team:hover .Card-picture img {
  transition: all 0.3s ease-in-out 0s;
  transform: scale(1.1);
}
.-themeLight .TeamBlock.-modeGrid .Card.-team:not([class*=-bgColor-]):not([style*="--team-card-custom-bg"]) {
  background-color: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.-themeLight .TeamBlock.-modeGrid .Card.-team:not([class*=-bgColor-]):not([style*="--team-card-custom-bg"]) .Card-function, .-themeLight .TeamBlock.-modeGrid .Card.-team:not([class*=-bgColor-]):not([style*="--team-card-custom-bg"]) .Card-title {
  color: var(--ds-color-white);
}
.TeamBlock.-modeOverlay .Card.-team {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: var(--ds-color-white);
}
.TeamBlock.-modeOverlay .Card.-team .Card-inner {
  position: relative;
  display: block;
  height: var(--team-card-height, 25rem);
  overflow: hidden;
}
.TeamBlock.-modeOverlay .Card.-team .Card-picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.TeamBlock.-modeOverlay .Card.-team .Card-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
  width: 100%;
  height: 100%;
  object-fit: var(--team-image-fit, cover);
  border-radius: var(--team-image-radius, 0px);
}
.TeamBlock.-modeOverlay .Card.-team .Card-content {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--ds-spacings--standard);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%);
  color: var(--ds-color-white);
  overflow: hidden;
}
.TeamBlock.-modeOverlay .Card.-team .Card-title {
  color: inherit;
  margin: 0;
  padding: 0;
}
.TeamBlock.-modeOverlay .Card.-team .Card-function {
  color: inherit;
  margin-block-start: var(--ds-spacings--small);
}
.TeamBlock.-modeOverlay .Card.-team .Card-desc {
  color: inherit;
}
.TeamBlock.-modeOverlay .Card.-team .Card-social {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  display: flex;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  column-gap: var(--ds-spacings--small);
  margin: 0;
  padding: 0;
  height: 0;
  overflow: hidden;
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li {
  transition: all 0.3s ease-in-out 0s;
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 2.75rem;
  height: 2.75rem;
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li::before {
  display: none;
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ds-spacings--standard);
  width: 100%;
  height: 100%;
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a::before {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  font-family: "fontawesome";
  font-size: 1rem;
  color: var(--sn-icon-color, var(--ds-color-primary));
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.facebook::before {
  content: "\f39e";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.x::before {
  content: "\e61b";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.youtube::before {
  content: "\f167";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.instagram::before {
  content: "\f16d";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.linkedin::before {
  content: "\f0e1";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.tripadvisor::before {
  content: "\f262";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li a.tiktok::before {
  content: "\e07b";
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li:hover a::before {
  color: var(--sn-icon-hover-color, var(--ds-color-secondary));
}
.TeamBlock.-modeOverlay .Card.-team .Card-social li {
  position: relative;
  top: var(--ds-spacings--standard);
  opacity: 0;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-picture img {
  transition: all 0.3s ease-in-out 0s;
  transform: scale(1.1);
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social {
  transition: all 0.3s ease-in-out 0s;
  margin: var(--ds-spacings--standard) 0 0;
  height: 2rem;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li {
  transition: all 0.3s ease-in-out 0s;
  opacity: 1;
  top: 0;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(1) {
  transition-delay: 0.1s;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(2) {
  transition-delay: 0.2s;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(3) {
  transition-delay: 0.3s;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(4) {
  transition-delay: 0.4s;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(5) {
  transition-delay: 0.5s;
}
.TeamBlock.-modeOverlay .Card.-team:hover .Card-social li:nth-child(6) {
  transition-delay: 0.6s;
}
.TeamBlock .Card.-team.-bgColor-light {
  background: var(--ds-color-primary);
  color: var(--ds-color-secondary);
}
.TeamBlock .Card.-team.-bgColor-light .Card-title {
  color: var(--ds-color-secondary);
}
.TeamBlock .Card.-team.-bgColor-light .Card-function {
  color: var(--ds-color-secondary);
}
.TeamBlock .Card.-team.-bgColor-dark {
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.TeamBlock .Card.-team.-bgColor-dark .Card-title {
  color: var(--ds-color-white);
}
.TeamBlock .Card.-team.-bgColor-dark .Card-function {
  color: var(--ds-color-white);
}
.TeamBlock .Card.-team.-bgColor-accent {
  background: var(--theme-accent-bg);
  color: var(--theme-accent-text);
}
.TeamBlock .Card.-team.-bgColor-accent .Card-title {
  color: var(--theme-accent-text);
}
.TeamBlock .Card.-team.-bgColor-accent .Card-function {
  color: var(--theme-accent-text);
}
.TeamBlock .Card.-team[style*="--team-card-custom-bg"] {
  background: var(--team-card-custom-bg);
}
.TeamBlock.-modeSplit {
  /* ── Tokens par thème ── */
  --split-panel-bg: var(--ds-color-secondary);
  --split-panel-text: var(--ds-color-white);
  --split-btn-active-bg: var(--ds-color-secondary);
  --split-btn-active-text: var(--ds-color-white);
}
.-themeDark .TeamBlock.-modeSplit {
  --split-panel-bg: var(--ds-color-primary);
  --split-panel-text: var(--ds-color-secondary);
  --split-btn-active-bg: var(--ds-color-primary);
  --split-btn-active-text: var(--ds-color-secondary);
}
.-themeLight .TeamBlock.-modeSplit {
  --split-panel-bg: var(--ds-color-secondary);
  --split-panel-text: var(--ds-color-white);
  --split-btn-active-bg: var(--ds-color-secondary);
  --split-btn-active-text: var(--ds-color-white);
}
.-themeAccent .TeamBlock.-modeSplit {
  --split-panel-bg: var(--ds-color-secondary);
  --split-panel-text: var(--ds-color-white);
  --split-btn-active-bg: var(--ds-color-secondary);
  --split-btn-active-text: var(--ds-color-white);
}
.TeamBlock.-modeSplit > .TeamBlock-inner {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--large);
  align-items: stretch;
}
@media only screen and (min-width: 1024px) {
  .TeamBlock.-modeSplit > .TeamBlock-inner {
    flex-direction: row;
    align-items: start;
  }
}
@media only screen and (min-width: 1024px) {
  .TeamBlock.-modeSplit.-listRight > .TeamBlock-inner {
    flex-direction: row-reverse;
  }
}
.TeamBlock.-modeSplit .TeamBlock-list {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--small);
}
@media only screen and (min-width: 1024px) {
  .TeamBlock.-modeSplit .TeamBlock-list {
    flex: 0 0 18.75rem;
  }
}
.TeamBlock.-modeSplit .TeamBlock-listItem {
  transition: all 0.3s ease-in-out 0s;
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--small);
  padding: var(--ds-spacings--standard);
  border-radius: var(--team-border-radius, var(--ds-radius-width--x-large));
  border: 1px solid var(--ds-color-light-gray);
  background: transparent;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.TeamBlock.-modeSplit .TeamBlock-listItem:not(.-active):hover {
  border-color: var(--ds-colors-grey-400);
}
.TeamBlock.-modeSplit .TeamBlock-listItem.-active {
  background: var(--split-btn-active-bg);
  border-color: var(--split-btn-active-bg);
}
.TeamBlock.-modeSplit .TeamBlock-listItem.-active .TeamBlock-listName {
  color: var(--split-btn-active-text);
}
.TeamBlock.-modeSplit .TeamBlock-listItem.-active .TeamBlock-listSince {
  color: var(--split-btn-active-text);
  font-size: var(--ds-font-size-100);
}
.TeamBlock.-modeSplit .TeamBlock-listItem.-active .TeamBlock-listArrow {
  display: none;
  color: var(--split-btn-active-text);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(1) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-1);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(2) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-2);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(3) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-3);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(4) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-4);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(5) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-5);
}
.TeamBlock.-modeSplit .TeamBlock-listItem:nth-child(6) .TeamBlock-avatar {
  background-color: var(--TeamBlock-avatar-6);
}
.TeamBlock.-modeSplit .TeamBlock-avatar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--ds-radius-round);
  font-weight: 700;
  color: var(--ds-color-white);
}
.TeamBlock.-modeSplit .TeamBlock-listInfo {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.TeamBlock.-modeSplit .TeamBlock-listName {
  font-weight: 700;
  color: var(--text-theme-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.TeamBlock.-modeSplit .TeamBlock-listSince {
  font-size: var(--ds-font-size-100);
  color: var(--text-theme-color);
}
.TeamBlock.-modeSplit .TeamBlock-listArrow {
  display: none;
  flex-shrink: 0;
}
.TeamBlock.-modeSplit .TeamBlock-panels {
  flex: 1;
  position: relative;
  min-height: var(--team-card-height, 26.25rem);
}
.TeamBlock.-modeSplit .TeamBlock-panel {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  background-color: var(--split-panel-bg);
  color: var(--split-panel-text);
  border-radius: var(--team-border-radius, var(--ds-radius-width-large));
  overflow: hidden;
  min-height: var(--team-card-height, 26.25rem);
  padding-inline: var(--team-card-padding-inline, var(--ds-spacings--large));
  padding-block: var(--team-card-padding-block, var(--ds-spacings--large));
  gap: var(--ds-spacings--large);
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 300ms ease-out, visibility 0s linear 300ms;
}
@media only screen and (min-width: 768px) {
  .TeamBlock.-modeSplit .TeamBlock-panel {
    grid-template-columns: 1fr 17.5rem;
  }
}
.TeamBlock.-modeSplit .TeamBlock-panel.-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 300ms ease-out, visibility 0s linear 0s;
}
.TeamBlock.-modeSplit .TeamBlock-panelBody {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--small);
  justify-content: center;
}
.TeamBlock.-modeSplit .TeamBlock-panelDesc p {
  color: var(--split-panel-text);
}
.TeamBlock.-modeSplit .TeamBlock-panelDesc p {
  display: -webkit-box;
  -webkit-line-clamp: var(--team-desc-lines, none);
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial {
  position: relative;
  display: flex;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  column-gap: var(--ds-spacings--small);
  padding-block-start: var(--ds-spacings--small);
  color: var(--split-panel-text);
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li {
  transition: all 0.3s ease-in-out 0s;
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 2.75rem;
  height: 2.75rem;
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li::before {
  display: none;
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ds-spacings--standard);
  width: 100%;
  height: 100%;
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a::before {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  font-family: "fontawesome";
  font-size: 1rem;
  color: var(--sn-icon-color, var(--ds-color-primary));
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.facebook::before {
  content: "\f39e";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.x::before {
  content: "\e61b";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.youtube::before {
  content: "\f167";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.instagram::before {
  content: "\f16d";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.linkedin::before {
  content: "\f0e1";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.tripadvisor::before {
  content: "\f262";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li a.tiktok::before {
  content: "\e07b";
}
.TeamBlock.-modeSplit .TeamBlock-panelSocial li:hover a::before {
  color: var(--sn-icon-hover-color, var(--ds-color-secondary));
}
.TeamBlock.-modeSplit .TeamBlock-panelCounter {
  color: rgba(255, 255, 255, 0.45);
}
.TeamBlock.-modeSplit .TeamBlock-panelName {
  display: flex;
  flex-direction: column;
  line-height: 1;
  margin-block: var(--ds-spacings--small);
}
.TeamBlock.-modeSplit .TeamBlock-panelFirstname {
  font-size: 4.5rem;
  line-height: 1;
  color: var(--split-panel-text);
}
.TeamBlock.-modeSplit .TeamBlock-panelLastname {
  color: var(--split-panel-text);
}
.TeamBlock.-modeSplit .TeamBlock-panelRole {
  color: var(--split-panel-text);
  margin: 0;
}
.TeamBlock.-modeSplit .TeamBlock-panelMotto {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--xsmall);
  margin-block-start: var(--ds-spacings--large);
}
.TeamBlock.-modeSplit .TeamBlock-panelMottoBadge {
  position: absolute;
  top: calc(var(--ds-spacings--semi) * -1);
  left: var(--ds-spacings--small);
  display: inline-flex;
  align-self: flex-start;
  background: var(--ds-color-light-gray);
  color: var(--ds-color-white);
  font-weight: 700;
  font-size: var(--ds-font-size-200);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: var(--ds-spacings--small) var(--ds-spacings--large);
  border-radius: var(--ds-radius-width-large);
}
.TeamBlock.-modeSplit .TeamBlock-panelMottoQuote {
  background: var(--ds-color-white);
  border: 1px solid var(--text-theme-color);
  border-radius: var(--ds-radius-width-medium);
  padding: var(--ds-spacings--xx-large) var(--ds-spacings--standard);
  margin: 0;
  color: var(--text-theme-color);
}
.TeamBlock.-modeSplit .TeamBlock-panelPicture {
  width: 50%;
  margin-inline: auto;
  border-radius: var(--team-border-radius, var(--ds-radius-width-large));
  overflow: hidden;
  transform: rotate(1deg);
  max-height: var(--team-image-height, none);
}
@media only screen and (min-width: 768px) {
  .TeamBlock.-modeSplit .TeamBlock-panelPicture {
    width: 100%;
    height: unset;
  }
}
.TeamBlock.-modeSplit .TeamBlock-panelPicture img {
  display: flex;
  object-fit: cover;
  object-position: center;
}
.-themeDark .TeamBlock.-modeSplit .TeamBlock-listItem {
  border-color: rgba(255, 255, 255, 0.15);
}
.-themeDark .TeamBlock.-modeSplit .TeamBlock-listItem .TeamBlock-listSince {
  color: var(--ds-colors-grey-400);
}
.-themeLight .TeamBlock.-modeSplit .TeamBlock-panelCounter {
  color: rgba(255, 255, 255, 0.45);
}
.-themeAccent .TeamBlock.-modeSplit .TeamBlock-listItem {
  background-color: var(--ds-color-white);
}
.-themeAccent .TeamBlock.-modeSplit .TeamBlock-listItem.-active {
  background: var(--split-btn-active-bg);
  border-color: var(--split-btn-active-bg);
}
.-themeAccent .TeamBlock.-modeSplit .TeamBlock-panelCounter {
  color: rgba(255, 255, 255, 0.45);
}
.-themeAccent .TeamBlock.-modeSplit .TeamBlock-panelMottoBadge {
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
}

/* ══════════════════════════════════════════════
   Keyframes reveal
══════════════════════════════════════════════ */
@keyframes TeamBlock-zoom {
  from {
    transform: scale(0.85);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes TeamBlock-clip {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  to {
    clip-path: inset(0 0% 0 0);
    opacity: 1;
  }
}
button.Card {
  border: 0;
  padding: 0;
  margin: 0;
}

.TestimonyBlock {
  position: relative;
  /* ════════════════════════════════════════════
     THÈMES — mapping couleurs natives
  ════════════════════════════════════════════ */
  /* Defaults */
  --tm-text: var(--text-theme-color);
  --tm-item-bg: var(--ds-color-white);
  --tm-item-text: var(--text-theme-color);
  --tm-quote-color: var(--text-theme-color);
  --tm-author-color: var(--text-theme-color);
  --tm-role-color: var(--ds-color-gray, #666);
  --tm-star-full: var(--ds-color-primary, #ffc107);
  --tm-star-empty: var(--ds-color-light-gray, #e0e0e0);
  --tm-border-color: var(--text-theme-color);
  --tm-hover-bg: rgba(0, 0, 0, 0.04);
  /* Dark wrapper — items légèrement plus clairs que le wrapper */
  /* Light wrapper (fond primaire/jaune) — cards blanches pour contraste */
  /* Accent wrapper — cards blanches pour contraste */
  /* ════════════════════════════════════════════
     ITEM — couleur override
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ALIGNEMENT CONTENU
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE SLIDER — Splide
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     MODE GRID
  ════════════════════════════════════════════ */
  /* Border fusion grid — cards collées, pas de double bordure */
  /* Border séparée grid — bordure complète sur chaque item */
  /* ════════════════════════════════════════════
     MODE MOSAIC (CSS columns)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ITEM — Carte témoignage
  ════════════════════════════════════════════ */
  /* Bordures slider + mosaic (pas grid : border fusion) */
  /* ════════════════════════════════════════════
     AVATAR POSITION
  ════════════════════════════════════════════ */
  /* bottom = défaut flex row align-items: flex-end */
  /* ════════════════════════════════════════════
     AVATAR
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     CONTENT
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     ÉTOILES SVG
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     CITATION
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     META (auteur + rôle)
  ════════════════════════════════════════════ */
  /* ════════════════════════════════════════════
     BOUTON MODAL TRIGGER
  ════════════════════════════════════════════ */
}
.-themeDark .TestimonyBlock {
  --tm-text: var(--ds-color-white);
  --tm-item-bg: rgba(255, 255, 255, 0.08);
  --tm-item-text: var(--ds-color-white);
  --tm-quote-color: var(--ds-color-white);
  --tm-author-color: var(--ds-color-white);
  --tm-role-color: rgba(255, 255, 255, 0.65);
  --tm-star-full: var(--ds-color-primary);
  --tm-star-empty: rgba(255, 255, 255, 0.25);
  --tm-border-color: rgba(255, 255, 255, 0.3);
  --tm-hover-bg: rgba(255, 255, 255, 0.13);
}
.-themeLight .TestimonyBlock {
  --tm-text: var(--ds-color-secondary);
  --tm-item-bg: var(--ds-color-white);
  --tm-item-text: var(--ds-color-secondary);
  --tm-quote-color: var(--ds-color-secondary);
  --tm-author-color: var(--ds-color-secondary);
  --tm-role-color: var(--ds-color-secondary);
  --tm-star-full: var(--ds-color-secondary);
  --tm-star-empty: rgba(0, 0, 0, 0.2);
  --tm-border-color: var(--ds-color-secondary);
  --tm-hover-bg: rgba(0, 0, 0, 0.05);
}
.-themeAccent .TestimonyBlock {
  --tm-text: var(--ds-color-secondary);
  --tm-item-bg: rgba(255, 255, 255, 0.25);
  --tm-item-text: var(--ds-color-secondary);
  --tm-quote-color: var(--ds-color-secondary);
  --tm-author-color: var(--ds-color-secondary);
  --tm-role-color: var(--ds-color-secondary);
  --tm-star-full: var(--ds-color-secondary);
  --tm-star-empty: rgba(0, 0, 0, 0.2);
  --tm-border-color: var(--ds-color-secondary);
  --tm-hover-bg: rgba(0, 0, 0, 0.05);
}
.TestimonyBlock-item {
  --item-effective: var(--item-color, var(--tm-border-color));
}
.TestimonyBlock.-contentAlign-left .TestimonyBlock-content {
  text-align: left;
}
.TestimonyBlock.-contentAlign-center .TestimonyBlock-content {
  text-align: center;
}
.TestimonyBlock.-contentAlign-right .TestimonyBlock-content {
  text-align: right;
}
.TestimonyBlock.-contentAlign-center .TestimonyBlock-rating {
  justify-content: center;
}
.TestimonyBlock.-contentAlign-right .TestimonyBlock-rating {
  justify-content: flex-end;
}
.TestimonyBlock.-contentAlign-center.-avatarPosition-top .TestimonyBlock-avatar, .TestimonyBlock.-contentAlign-center.-avatarPosition-bottom .TestimonyBlock-avatar {
  align-self: center;
}
.TestimonyBlock.-contentAlign-right.-avatarPosition-top .TestimonyBlock-avatar, .TestimonyBlock.-contentAlign-right.-avatarPosition-bottom .TestimonyBlock-avatar {
  align-self: flex-end;
}
.TestimonyBlock-splide .splide__pagination {
  bottom: calc(-1 * var(--ds-spacings--medium));
}
.TestimonyBlock-splide .splide__pagination__page {
  background: var(--tm-border-color);
  opacity: 0.35;
  transition: opacity 200ms ease, transform 200ms ease;
}
.TestimonyBlock-splide .splide__pagination__page.is-active {
  background: var(--item-effective);
  opacity: 1;
  transform: scale(1.25);
}
.TestimonyBlock-splide .splide__arrow {
  background: var(--tm-item-bg);
  border: 1px solid var(--tm-border-color);
}
.TestimonyBlock-splide .splide__arrow svg {
  fill: var(--tm-item-text);
}
.TestimonyBlock-splide .splide__arrow:hover {
  background: var(--tm-hover-bg);
}
.TestimonyBlock-splide .splide__arrow:disabled {
  opacity: 0.2;
}
.TestimonyBlock-grid {
  display: grid;
  gap: var(--tm-gap, 16px);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.TestimonyBlock.-gridCols-1 .TestimonyBlock-grid {
  grid-template-columns: 1fr;
}
.TestimonyBlock.-gridCols-2 .TestimonyBlock-grid {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-gridCols-2 .TestimonyBlock-grid {
    grid-template-columns: 1fr;
  }
}
.TestimonyBlock.-gridCols-3 .TestimonyBlock-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-gridCols-3 .TestimonyBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-gridCols-3 .TestimonyBlock-grid {
    grid-template-columns: 1fr;
  }
}
.TestimonyBlock.-gridCols-4 .TestimonyBlock-grid {
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-gridCols-4 .TestimonyBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-gridCols-4 .TestimonyBlock-grid {
    grid-template-columns: 1fr;
  }
}
.TestimonyBlock.-gridCols-5 .TestimonyBlock-grid {
  grid-template-columns: repeat(5, 1fr);
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-gridCols-5 .TestimonyBlock-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-gridCols-5 .TestimonyBlock-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 479px) {
  .TestimonyBlock.-gridCols-5 .TestimonyBlock-grid {
    grid-template-columns: 1fr;
  }
}
.TestimonyBlock.-hasBorder.-borderFusion.-mode-grid .TestimonyBlock-grid {
  border-top: 1px solid var(--tm-border-color);
  border-left: 1px solid var(--tm-border-color);
}
.TestimonyBlock.-hasBorder.-borderFusion.-mode-grid .TestimonyBlock-item {
  border-right: 1px solid var(--tm-border-color);
  border-bottom: 1px solid var(--tm-border-color);
}
.TestimonyBlock.-hasBorder:not(.-borderFusion).-mode-grid .TestimonyBlock-item {
  border: 1px solid var(--tm-border-color);
}
.TestimonyBlock-mosaic {
  column-gap: var(--tm-gap, 16px);
}
.TestimonyBlock-mosaic > .TestimonyBlock-item {
  break-inside: avoid;
  margin-block-end: var(--tm-gap, 16px);
  display: block;
}
.TestimonyBlock.-mosaicCols-2 .TestimonyBlock-mosaic {
  column-count: 2;
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-mosaicCols-2 .TestimonyBlock-mosaic {
    column-count: 1;
  }
}
.TestimonyBlock.-mosaicCols-3 .TestimonyBlock-mosaic {
  column-count: 3;
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-mosaicCols-3 .TestimonyBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-mosaicCols-3 .TestimonyBlock-mosaic {
    column-count: 1;
  }
}
.TestimonyBlock.-mosaicCols-4 .TestimonyBlock-mosaic {
  column-count: 4;
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-mosaicCols-4 .TestimonyBlock-mosaic {
    column-count: 3;
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-mosaicCols-4 .TestimonyBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 479px) {
  .TestimonyBlock.-mosaicCols-4 .TestimonyBlock-mosaic {
    column-count: 1;
  }
}
.TestimonyBlock.-mosaicCols-5 .TestimonyBlock-mosaic {
  column-count: 5;
}
@media only screen and (max-width: 1023px) {
  .TestimonyBlock.-mosaicCols-5 .TestimonyBlock-mosaic {
    column-count: 3;
  }
}
@media only screen and (max-width: 767px) {
  .TestimonyBlock.-mosaicCols-5 .TestimonyBlock-mosaic {
    column-count: 2;
  }
}
@media only screen and (max-width: 479px) {
  .TestimonyBlock.-mosaicCols-5 .TestimonyBlock-mosaic {
    column-count: 1;
  }
}
.TestimonyBlock-item {
  display: flex;
  gap: var(--ds-spacings--standard);
  padding-inline: var(--tm-card-padding-inline, 16px);
  padding-block: var(--tm-card-padding-block, 16px);
  background: var(--tm-item-bg);
  color: var(--tm-item-text);
  border-radius: var(--tm-border-radius, 0);
  transition: background 200ms ease, transform 200ms ease;
}
.TestimonyBlock-item:hover {
  background: var(--tm-hover-bg);
}
.TestimonyBlock-item.-bgColor-light {
  --tm-item-bg: var(--ds-color-primary);
  --tm-item-text: var(--ds-color-secondary);
  --tm-quote-color: var(--ds-color-secondary);
  --tm-author-color: var(--ds-color-secondary);
  --tm-role-color: var(--ds-color-secondary);
}
.TestimonyBlock-item.-bgColor-dark {
  --tm-item-bg: var(--ds-color-secondary);
  --tm-item-text: var(--ds-color-white);
  --tm-quote-color: var(--ds-color-white);
  --tm-author-color: var(--ds-color-white);
  --tm-role-color: rgba(255, 255, 255, 0.65);
}
.TestimonyBlock-item.-bgColor-accent {
  --tm-item-bg: var(--theme-accent-bg);
  --tm-item-text: var(--theme-accent-text);
  --tm-quote-color: var(--theme-accent-text);
  --tm-author-color: var(--theme-accent-text);
  --tm-role-color: var(--theme-accent-text);
}
.TestimonyBlock-item[style*="--tm-item-custom-bg"] {
  --tm-item-bg: var(--tm-item-custom-bg);
}
.TestimonyBlock.-hasBorder.-mode-slider .TestimonyBlock-item, .TestimonyBlock.-hasBorder.-mode-mosaic .TestimonyBlock-item {
  border: 1px solid var(--item-effective);
}
.TestimonyBlock.-avatarPosition-left .TestimonyBlock-item {
  flex-direction: row;
  align-items: stretch;
}
.TestimonyBlock.-avatarPosition-right .TestimonyBlock-item {
  flex-direction: row-reverse;
  align-items: stretch;
}
.TestimonyBlock.-avatarPosition-left .TestimonyBlock-avatar, .TestimonyBlock.-avatarPosition-right .TestimonyBlock-avatar {
  height: auto;
}
.TestimonyBlock.-avatarPosition-top .TestimonyBlock-item {
  flex-direction: column;
  align-items: stretch;
}
.TestimonyBlock.-avatarPosition-bottom .TestimonyBlock-item {
  flex-direction: row;
  align-items: flex-end;
}
.TestimonyBlock-avatar {
  flex-shrink: 0;
  width: var(--tm-avatar-size, 64px);
  height: var(--tm-avatar-size, 64px);
  overflow: hidden;
  border-radius: var(--tm-avatar-radius, 50px);
}
.TestimonyBlock-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--tm-avatar-radius, 50px);
}
.TestimonyBlock[data-avatar-fit=contain] .TestimonyBlock-avatar img {
  object-fit: contain;
}
.TestimonyBlock[data-avatar-fit=cover].-avatarPosition-top .TestimonyBlock-avatar {
  width: 100%;
}
.TestimonyBlock.-avatarPosition-top .TestimonyBlock-avatar {
  margin-block-end: var(--ds-spacings--small);
}
.TestimonyBlock-content {
  flex: 1;
  min-width: 0;
  color: var(--tm-text);
}
.TestimonyBlock-rating {
  display: flex;
  gap: 2px;
  margin-block-end: var(--ds-spacings--small);
}
.TestimonyBlock-star {
  width: 18px;
  height: 18px;
  fill: var(--tm-star-empty, var(--ds-color-light-gray, #e0e0e0));
  flex-shrink: 0;
  /* Demi-étoile : opacité 50% — visuel approximatif, suffisant pour affichage */
}
.TestimonyBlock-star[data-fill=full] {
  fill: var(--tm-star-full, var(--ds-color-primary, #ffc107));
}
.TestimonyBlock-star[data-fill=half] {
  fill: var(--tm-star-full, var(--ds-color-primary, #ffc107));
  opacity: 0.5;
}
.TestimonyBlock-quote {
  margin: 0 0 var(--ds-spacings--small);
  padding: 0;
  font-style: italic;
  color: var(--tm-quote-color);
  line-height: 1.6;
  font-size: var(--ds-font-size-300);
}
.TestimonyBlock-quote.-teaser {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: var(--tm-quote-clamp, 3);
  -webkit-box-orient: vertical;
}
.TestimonyBlock-quote::before {
  content: "“";
  font-size: 2em;
  line-height: 0;
  vertical-align: -0.4em;
  margin-right: 0.1em;
  color: var(--item-effective);
  font-style: normal;
}
.TestimonyBlock-meta {
  margin-block-start: var(--ds-spacings--small);
}
.TestimonyBlock-author {
  margin: 0;
  color: var(--tm-author-color);
}
.TestimonyBlock-role {
  font-size: 0.8125rem;
  color: var(--tm-role-color);
  margin-block-start: 4px;
}
.TestimonyBlock-modalTrigger {
  display: inline-block;
  margin-block-start: var(--ds-spacings--small);
  background: none;
  border: none;
  color: var(--item-effective);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-size: 0.875rem;
  padding: 0;
}
.TestimonyBlock-modalTrigger:hover {
  opacity: 0.7;
}

.wp-block-columns {
  display: flex;
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .wp-block-columns {
    flex-flow: column;
  }
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns .wp-block-column:nth-child(2n) {
    margin-left: 0;
  }
}
.wp-block-columns .wp-block-column:not(:first-child) {
  margin-left: 0;
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns .wp-block-column:not(:first-child) {
    padding-left: 1rem;
  }
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns {
    flex-flow: row wrap;
  }
}

.wp-block-columns img,
.wp-block-column img,
.wp-block-image img {
  border-radius: var(--ds-radius-width-medium) !important;
  max-width: 100%;
  height: auto;
}

figure,
.wp-block-image {
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  figure .alignright,
  figure .alignleft,
  .wp-block-image .alignright,
  .wp-block-image .alignleft {
    display: flex !important;
    justify-content: center;
    float: none;
    margin: unset;
  }
}

@media only screen and (min-width: 1024px) {
  .wp-block-column.grid {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
  }
}

:where(figure) {
  margin: 0;
}

.PageWrapper {
  border-radius: var(--wr-radius, 0);
  overflow: clip;
  display: flow-root;
  width: min(100% - 2 * var(--wr-margin-inline, 0px), 1920px);
}
@media only screen and (max-width: 479px) {
  .PageWrapper.-resetRadiusAt-mobile-large {
    border-radius: 0;
  }
}
@media only screen and (max-width: 479px) {
  .PageWrapper.-resetMarginAt-mobile-large {
    width: min(100%, 1920px);
  }
}
@media only screen and (max-width: 767px) {
  .PageWrapper.-resetRadiusAt-tablet {
    border-radius: 0;
  }
}
@media only screen and (max-width: 767px) {
  .PageWrapper.-resetMarginAt-tablet {
    width: min(100%, 1920px);
  }
}
@media only screen and (max-width: 990px) {
  .PageWrapper.-resetRadiusAt-tablet-large {
    border-radius: 0;
  }
}
@media only screen and (max-width: 990px) {
  .PageWrapper.-resetMarginAt-tablet-large {
    width: min(100%, 1920px);
  }
}
@media only screen and (max-width: 1023px) {
  .PageWrapper.-resetRadiusAt-desktop {
    border-radius: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .PageWrapper.-resetMarginAt-desktop {
    width: min(100%, 1920px);
  }
}
.PageWrapper.-backgroundImage {
  background-position: center;
  background-size: cover;
}
.PageWrapper.-backgroundImage.fixed {
  background-attachment: fixed;
}
.PageWrapper.-backgroundImage.-themeLight {
  z-index: -1;
  position: relative;
  color: #ffffff;
}
.PageWrapper.-backgroundImage.-themeLight:before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -2;
}
.PageWrapper.-backgroundImage.-themeDark {
  z-index: -1;
  position: relative;
  color: #000000;
}
.PageWrapper.-backgroundImage.-themeDark:before {
  position: absolute;
  content: "";
  inset: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.35);
  z-index: -2;
}
.has-large-font-size,
.has-x-large-font-size {
  line-height: 1.2;
}

.has-medium-font-size,
.has-small-font-size {
  line-height: 1.4;
}

.has-x-large-font-size {
  font-size: var(--ds-font-size-650) !important;
}

.has-large-font-size {
  font-size: var(--ds-font-size-600) !important;
}

.has-medium-font-size {
  font-size: var(--ds-font-size-500) !important;
}

.has-small-font-size {
  font-size: var(--ds-font-size-400) !important;
}

@media only screen and (max-width: 990px) {
  .wp-block-columns {
    flex-direction: column;
  }
}
.HeroSliderBlock {
  position: relative;
  padding-block: var(--hero-padding-top, 80px) var(--hero-padding-bottom, 80px);
  overflow: hidden;
  height: var(--hs-height-desktop, 100vh);
  /* =========================
     Hauteur héritée sur splide
  ========================= */
  /* =========================
     Positions flèches
  ========================= */
  /* =========================
     Positions points
  ========================= */
  /* =========================
     Slide — base
  ========================= */
  /* =========================
     Mode : Split (image + texte côte à côte)
  ========================= */
  /* =========================
     Mode : Full (média plein écran + overlay texte)
  ========================= */
}
.HeroSliderBlock.-negativeMargin {
  margin-top: calc(-1 * var(--header-height));
}
.HeroSliderBlock .splide__track,
.HeroSliderBlock .splide__list,
.HeroSliderBlock .splide__slide {
  height: 100%;
}
.HeroSliderBlock[data-arrows-position=top] .splide__arrow {
  top: 1rem;
  bottom: auto;
}
.HeroSliderBlock[data-arrows-position=bottom] .splide__arrow {
  top: auto;
  bottom: 1rem;
  transform: none;
}
.HeroSliderBlock[data-arrows-position=hidden] .splide__arrows {
  display: none;
}
.HeroSliderBlock[data-dots-position=top] .splide__pagination {
  top: 0;
  bottom: auto;
}
.HeroSliderBlock[data-dots-position=middle] .splide__pagination {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.HeroSliderBlock[data-dots-position=bottom] .splide__pagination {
  bottom: 0;
  top: auto;
}
.HeroSliderBlock[data-dots-position=hidden] .splide__pagination {
  display: none;
}
.HeroSliderBlock .HeroSlider {
  /* -----------------------
     Media
  ------------------------ */
  /* -----------------------
     Aperçu vidéo + lecture au clic
  ------------------------ */
  /* -----------------------
     Overlay (mode full)
  ------------------------ */
  /* -----------------------
     Content
  ------------------------ */
}
.HeroSliderBlock .HeroSlider-slide {
  position: relative;
  display: flex;
  height: 100%;
}
.HeroSliderBlock .HeroSlider-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding-block: var(--hs-image-padding-block, 0);
  padding-inline: var(--hs-image-padding-inline, 0);
}
.HeroSliderBlock .HeroSlider-media.-fit-contain {
  display: flex;
  align-items: var(--hs-image-position-y-flex, center);
  justify-content: var(--hs-image-position-x-flex, center);
}
.HeroSliderBlock .HeroSlider-media.-fit-contain .HeroSlider-imgWrapper {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.HeroSliderBlock .HeroSlider-media.-fit-contain img,
.HeroSliderBlock .HeroSlider-media.-fit-contain video,
.HeroSliderBlock .HeroSlider-media.-fit-contain .HeroSlider-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.HeroSliderBlock .HeroSlider-imgWrapper {
  width: 100%;
  height: 100%;
}
.HeroSliderBlock .HeroSlider-imgWrapper img,
.HeroSliderBlock .HeroSlider-imgWrapper video,
.HeroSliderBlock .HeroSlider-imgWrapper .HeroSlider-img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--hs-image-radius, 0);
  object-fit: var(--hs-image-fit, cover);
  object-position: var(--hs-image-position-x, center) var(--hs-image-position-y, center);
}
.HeroSliderBlock .HeroSlider-imgWrapper.-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.HeroSliderBlock .HeroSlider-video {
  display: block;
  width: 100%;
  height: 100%;
}
.HeroSliderBlock .HeroSlider-clickPlay {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding-block: var(--hs-image-padding-block, 0);
  padding-inline: var(--hs-image-padding-inline, 0);
}
.HeroSliderBlock .HeroSlider-videoEmbed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 400ms ease;
}
.HeroSliderBlock .HeroSlider-videoEmbed iframe,
.HeroSliderBlock .HeroSlider-videoEmbed video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}
.HeroSliderBlock .HeroSlider-videoEmbed.-noControls {
  pointer-events: none;
  overflow: hidden;
  background-color: var(--ds-color-black, #000);
}
.HeroSliderBlock .HeroSlider-videoEmbed.-noControls iframe {
  pointer-events: none;
  opacity: 0;
  transition: opacity 400ms ease;
  position: absolute;
  top: -120px;
  left: 0;
  width: 100%;
  height: calc(100% + 240px);
}
.HeroSliderBlock .HeroSlider-muteBtn {
  position: absolute;
  bottom: var(--ds-spacings--standard);
  right: var(--ds-spacings--standard);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.4);
  color: var(--ds-color-white);
  cursor: pointer;
  z-index: 2;
  transition: background-color 200ms ease;
}
.HeroSliderBlock .HeroSlider-muteBtn:hover {
  background-color: rgba(0, 0, 0, 0.6);
}
.HeroSliderBlock .HeroSlider-muteBtn .-iconUnmuted {
  display: none;
}
.HeroSliderBlock .HeroSlider-muteBtn[data-muted="0"] .-iconMuted {
  display: none;
}
.HeroSliderBlock .HeroSlider-muteBtn[data-muted="0"] .-iconUnmuted {
  display: block;
}
.HeroSliderBlock .HeroSlider-playBtn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: none;
  background-color: var(--ds-color-primary);
  color: var(--ds-color-secondary);
  cursor: pointer;
  z-index: 2;
  transition: transform 300ms ease, opacity 400ms ease;
}
.HeroSliderBlock .HeroSlider-playBtn:hover {
  transform: translate(-50%, -50%) scale(1.08);
}
.HeroSliderBlock .HeroSlider-closeBtn {
  position: absolute;
  top: var(--ds-spacings--large);
  right: var(--ds-spacings--large);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.4);
  color: var(--ds-color-white);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity 400ms ease;
}
.HeroSliderBlock .HeroSlider-clickPlay.is-playing .HeroSlider-imgWrapper {
  opacity: 0;
}
.HeroSliderBlock .HeroSlider-clickPlay.is-playing .HeroSlider-videoEmbed {
  opacity: 1;
  pointer-events: auto;
}
.HeroSliderBlock .HeroSlider-clickPlay.is-playing .HeroSlider-playBtn {
  opacity: 0;
  pointer-events: none;
}
.HeroSliderBlock .HeroSlider-clickPlay.is-playing .HeroSlider-closeBtn {
  opacity: 1;
  pointer-events: auto;
}
.HeroSliderBlock .HeroSlider-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, var(--hero-overlay-opacity-ratio, 0.4));
  pointer-events: none;
  z-index: 1;
  transition: opacity 600ms ease;
}
.HeroSliderBlock .HeroSlider-overlay.-hidden {
  opacity: 0;
}
.HeroSliderBlock .HeroSlider-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--standard);
  color: var(--text-theme-color, inherit);
  transition: opacity 400ms ease;
}
.HeroSliderBlock .HeroSlider-subtitle {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.HeroSliderBlock .HeroSlider-title {
  margin: 0;
}
.HeroSliderBlock .HeroSlider-description {
  max-width: 40em;
}
.HeroSliderBlock .HeroSlider-actions {
  display: flex;
  flex-flow: row wrap;
  gap: var(--ds-spacings--standard);
  margin-block-start: var(--ds-spacings--standard);
}
.HeroSliderBlock .HeroSlider-clickPlay.is-playing ~ .HeroSlider-content,
.HeroSliderBlock .HeroSlider-media:has(.HeroSlider-clickPlay.is-playing) ~ .HeroSlider-content {
  opacity: 0;
  pointer-events: none;
}
.HeroSliderBlock .HeroSlider-slide.-layoutSplit {
  flex-direction: row;
  flex-wrap: wrap;
}
.HeroSliderBlock .HeroSlider-slide.-layoutSplit .HeroSlider-media {
  flex: 1 1 50%;
  min-height: 320px;
  order: 1;
}
.HeroSliderBlock .HeroSlider-slide.-layoutSplit .HeroSlider-media.-positionRight {
  order: 2;
}
.HeroSliderBlock .HeroSlider-slide.-layoutSplit .HeroSlider-content {
  flex: 1 1 50%;
  order: 2;
  justify-content: center;
  padding-block: var(--ds-spacings--xx-large);
  padding-inline: max(var(--hs-padding-left, 0), var(--ds-spacings--xx-large)) max(var(--hs-padding-right, 0), var(--ds-spacings--xx-large));
}
.HeroSliderBlock .HeroSlider-slide.-layoutSplit .HeroSlider-content.-positionRight {
  order: 1;
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull {
  align-items: center;
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull .HeroSlider-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull .HeroSlider-content {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: calc(var(--ds-spacings--xx-large) + var(--hs-padding-left, 0)) calc(var(--ds-spacings--xx-large) + var(--hs-padding-right, 0));
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull.-textLeft .HeroSlider-content {
  align-items: flex-start;
  text-align: left;
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull.-textCenter .HeroSlider-content {
  align-items: center;
  text-align: center;
}
.HeroSliderBlock .HeroSlider-slide.-layoutFull.-textRight .HeroSlider-content {
  align-items: flex-end;
  text-align: right;
  margin-inline-start: auto;
}

.VideoBlock {
  position: relative;
  --vb-text: var(--text-theme-color);
  --vb-item-bg: var(--bg-theme-color, transparent);
  --vb-item-text: var(--text-theme-color);
  color: var(--vb-text);
  /* =========================
     Grille
  ========================= */
  /* =========================
     Slider
  ========================= */
  /* =========================
     Item
  ========================= */
  /* =========================
     Thèmes
  ========================= */
  /* =========================
     Responsive
  ========================= */
}
.VideoBlock-grid {
  display: grid;
  grid-template-columns: repeat(var(--vb-columns, 3), 1fr);
  gap: 24px;
}
.VideoBlock.-columnsAuto .VideoBlock-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.VideoBlock-splide {
  position: relative;
}
.VideoBlock-splide .splide__slide {
  height: auto;
}
.VideoBlock-item {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--standard);
  background-color: var(--vb-item-bg);
  color: var(--vb-item-text);
}
.VideoBlock-media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
  background-color: var(--ds-color-black, #000);
}
.VideoBlock.-contentLeft .VideoBlock-item, .VideoBlock.-contentRight .VideoBlock-item {
  flex-direction: row;
  align-items: center;
}
.VideoBlock.-contentLeft .VideoBlock-item .VideoBlock-media, .VideoBlock.-contentRight .VideoBlock-item .VideoBlock-media {
  flex: 1 1 50%;
}
.VideoBlock.-contentLeft .VideoBlock-item .VideoBlock-content, .VideoBlock.-contentRight .VideoBlock-item .VideoBlock-content {
  flex: 1 1 50%;
}
.VideoBlock.-contentLeft .VideoBlock-item {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .VideoBlock.-contentLeft .VideoBlock-item, .VideoBlock.-contentRight .VideoBlock-item {
    flex-direction: column;
    align-items: stretch;
  }
  .VideoBlock.-contentLeft .VideoBlock-item .VideoBlock-media,
  .VideoBlock.-contentLeft .VideoBlock-item .VideoBlock-content, .VideoBlock.-contentRight .VideoBlock-item .VideoBlock-media,
  .VideoBlock.-contentRight .VideoBlock-item .VideoBlock-content {
    flex: 1 1 auto;
  }
}
.VideoBlock-video, .VideoBlock-embed iframe, .VideoBlock-embed video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}
.VideoBlock-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.VideoBlock-item.-noControls .VideoBlock-embed {
  pointer-events: none;
  overflow: hidden;
  background-color: var(--ds-color-black, #000);
}
.VideoBlock-item.-noControls .VideoBlock-embed iframe {
  opacity: 0;
  transition: opacity 400ms ease;
  position: absolute;
  top: -60px;
  left: 0;
  width: 100%;
  height: calc(100% + 120px);
}
.VideoBlock-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: opacity 400ms ease;
}
.VideoBlock-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.VideoBlock-playBtn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: none;
  background-color: var(--ds-color-primary);
  color: var(--ds-color-secondary);
  cursor: pointer;
  z-index: 2;
  transition: transform 300ms ease, opacity 400ms ease;
}
.VideoBlock-playBtn:hover {
  transform: translate(-50%, -50%) scale(1.08);
}
.VideoBlock-item.is-playing .VideoBlock-preview {
  opacity: 0;
  pointer-events: none;
}
.VideoBlock-item.is-playing .VideoBlock-playBtn {
  opacity: 0;
  pointer-events: none;
}
.VideoBlock-content {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--x-small);
}
.VideoBlock-title {
  margin: 0;
}
.VideoBlock-description {
  margin: 0;
}
.VideoBlock.-themeDark .VideoBlock-item, .VideoBlock.-themeLight .VideoBlock-item, .VideoBlock.-themeAccent .VideoBlock-item {
  border-radius: 8px;
  padding: var(--ds-spacings--standard);
}
@media (max-width: 767px) {
  .VideoBlock-grid {
    grid-template-columns: 1fr;
  }
}

.BeforeAfterBlock {
  position: relative;
  color: var(--text-theme-color);
  /* =========================
     Thèmes
  ========================= */
}
.BeforeAfterBlock-wrapper {
  position: relative;
  max-width: var(--ba-max-width, 800px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--ba-image-radius, 8px);
  cursor: ew-resize;
  user-select: none;
}
.BeforeAfterBlock-wrapper.-orientationVertical {
  cursor: ns-resize;
}
.BeforeAfterBlock-before, .BeforeAfterBlock-after {
  position: absolute;
  inset: 0;
}
.BeforeAfterBlock-before img, .BeforeAfterBlock-after img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.BeforeAfterBlock-before {
  position: relative;
}
.BeforeAfterBlock-before img {
  height: auto;
}
.BeforeAfterBlock-after {
  top: 0;
  clip-path: inset(0 0 0 var(--ba-position, 50%));
}
.BeforeAfterBlock-after.-orientationVertical {
  clip-path: inset(var(--ba-position, 50%) 0 0 0);
}
.BeforeAfterBlock-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--ba-position, 50%);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}
.BeforeAfterBlock-handle.-orientationVertical {
  top: var(--ba-position, 50%);
  left: 0;
  right: 0;
  bottom: auto;
  flex-direction: row;
  transform: translateY(-50%);
}
.BeforeAfterBlock-line {
  width: 2px;
  flex: 1;
  background: #fff;
}
.BeforeAfterBlock-drag {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.BeforeAfterBlock-drag::before, .BeforeAfterBlock-drag::after {
  content: "";
  border: 6px solid transparent;
}
.BeforeAfterBlock-drag::before {
  border-right-color: #333;
  margin-right: 4px;
}
.BeforeAfterBlock-drag::after {
  border-left-color: #333;
  margin-left: 4px;
}
.BeforeAfterBlock-label {
  position: absolute;
  bottom: 12px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 4px;
}
.BeforeAfterBlock-label.-before {
  left: 12px;
}
.BeforeAfterBlock-label.-after {
  right: 12px;
}
.BeforeAfterBlock.-themeDark {
  background-color: var(--theme-dark-bg);
  color: var(--theme-dark-text);
}
.BeforeAfterBlock.-themeLight {
  background-color: var(--theme-light-bg);
  color: var(--theme-light-text);
}
.BeforeAfterBlock.-themeAccent {
  background-color: var(--theme-accent-bg);
  color: var(--theme-accent-text);
}

/* ============================================================
   PRICING BLOCK
   Variants : -themeTransparent | -themeLight | -themeDark | -themeAccent
   ============================================================ */
.PricingBlock-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: var(--ds-spacings--x-large);
}
.PricingBlock-toggleSwitch {
  position: relative;
  width: 3.25rem;
  height: 1.75rem;
  border-radius: 999px;
  background: var(--pr-toggle-bg, #ccc);
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}
.PricingBlock-toggleSwitch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ds-color-white);
  transition: transform 0.3s ease;
}
.PricingBlock-toggleSwitch[aria-pressed=true] {
  background: var(--ds-color-primary);
}
.PricingBlock-toggleSwitch[aria-pressed=true]::after {
  transform: translateX(24px);
}
.PricingBlock-toggleLabel {
  font-size: 0.9rem;
  opacity: 0.6;
}
.PricingBlock-toggleLabel.-a {
  opacity: 1;
}
.PricingBlock[data-plan=b] .PricingBlock-toggleLabel.-a {
  opacity: 0.6;
}
.PricingBlock[data-plan=b] .PricingBlock-toggleLabel.-b {
  opacity: 1;
}
.PricingBlock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--ds-spacings--medium);
}
.PricingBlock-card {
  display: flex;
  flex-direction: column;
  padding: var(--ds-spacings--large);
  border-radius: var(--pr-card-radius, 16px);
}
.PricingBlock-cardTitle {
  font-size: var(--ds-font-size-500);
  font-weight: 700;
  margin: 0 0 var(--ds-spacings--small);
}
.PricingBlock-cardDesc {
  font-size: var(--ds-font-size-350);
  opacity: 0.7;
  margin: 0;
}
.PricingBlock-price {
  margin: var(--ds-spacings--medium) 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
  transition: opacity 0.3s ease;
}
.PricingBlock-price.-switching {
  opacity: 0;
}
.PricingBlock-priceAmount {
  font-size: var(--ds-font-size-800);
  font-weight: 900;
  line-height: 1;
}
.PricingBlock-priceAmount::before {
  content: "€";
  font-size: var(--ds-font-size-600);
  vertical-align: super;
}
.PricingBlock-priceUnit {
  font-size: var(--ds-font-size-300);
  opacity: 0.6;
}
.PricingBlock-divider {
  border: none;
  border-top: 1px solid currentColor;
  opacity: 0.15;
  margin: 0 0 var(--ds-spacings--medium);
}
.PricingBlock-features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--ds-spacings--large);
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--semi);
  flex: 1;
}
.PricingBlock-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--ds-font-size-350);
}
.PricingBlock-featureIcon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.PricingBlock-featureIcon::before {
  content: "✓";
  font-weight: 700;
}
.PricingBlock-cta {
  display: block;
  text-align: center;
  padding: var(--ds-spacings--semi) var(--ds-spacings--medium);
  border-radius: 999px;
  border: 2px solid currentColor;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.2s ease, color 0.2s ease;
  margin-top: auto;
}

/* --- TRANSPARENT --- */
.PricingBlock.-themeTransparent .PricingBlock-card {
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.PricingBlock.-themeTransparent .PricingBlock-card .PricingBlock-featureIcon::before {
  color: var(--ds-color-white);
}
.PricingBlock.-themeTransparent .PricingBlock-card .PricingBlock-cta {
  border-color: var(--ds-color-dark);
  color: var(--ds-color-dark);
}
.PricingBlock.-themeTransparent .PricingBlock-card.-highlight {
  background: var(--ds-color-primary);
  color: var(--ds-color-secondary);
  border: none;
}
.PricingBlock.-themeTransparent .PricingBlock-card.-highlight .PricingBlock-featureIcon::before {
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeTransparent .PricingBlock-card.-highlight .PricingBlock-cta.-primary {
  background: var(--ds-color-secondary);
  color: var(--ds-color-primary);
  border-color: var(--ds-color-secondary);
}

/* --- LIGHT + ACCENT --- */
.PricingBlock.-themeAccent .PricingBlock-toggleSwitch[aria-pressed=true],
.PricingBlock.-themeLight .PricingBlock-toggleSwitch[aria-pressed=true] {
  background: var(--pr-toggle-bg, var(--ds-color-secondary));
}

.PricingBlock.-themeLight .PricingBlock-card,
.PricingBlock.-themeAccent .PricingBlock-card {
  background: var(--ds-color-white);
  color: var(--ds-color-dark);
  border: none;
}
.PricingBlock.-themeLight .PricingBlock-card.-highlight,
.PricingBlock.-themeAccent .PricingBlock-card.-highlight {
  background: var(--ds-color-secondary);
  color: var(--ds-color-white);
}
.PricingBlock.-themeLight .PricingBlock-card.-highlight .PricingBlock-featureIcon::before,
.PricingBlock.-themeAccent .PricingBlock-card.-highlight .PricingBlock-featureIcon::before {
  color: var(--ds-color-primary);
}
.PricingBlock.-themeLight .PricingBlock-card.-highlight .PricingBlock-cta,
.PricingBlock.-themeAccent .PricingBlock-card.-highlight .PricingBlock-cta {
  border-color: var(--ds-color-white);
  color: var(--ds-color-white);
}
.PricingBlock.-themeLight .PricingBlock-card.-highlight .PricingBlock-cta.-primary,
.PricingBlock.-themeAccent .PricingBlock-card.-highlight .PricingBlock-cta.-primary {
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeLight .PricingBlock-card.-highlight .PricingBlock-cta.-primary:hover,
.PricingBlock.-themeAccent .PricingBlock-card.-highlight .PricingBlock-cta.-primary:hover {
  opacity: 0.85;
}
.PricingBlock.-themeLight .PricingBlock-featureIcon::before,
.PricingBlock.-themeAccent .PricingBlock-featureIcon::before {
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeLight .PricingBlock-cta:hover,
.PricingBlock.-themeAccent .PricingBlock-cta:hover {
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  border-color: var(--ds-color-primary);
}

/* --- DARK --- */
.PricingBlock.-themeDark .PricingBlock-card {
  background: var(--ds-color-white);
  color: var(--ds-color-secondary);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.PricingBlock.-themeDark .PricingBlock-card .PricingBlock-featureIcon::before {
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeDark .PricingBlock-card .PricingBlock-cta {
  border-color: var(--ds-color-secondary);
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeDark .PricingBlock-card.-highlight {
  background: var(--ds-color-primary);
  color: var(--ds-color-secondary);
  border: none;
  box-shadow: none;
}
.PricingBlock.-themeDark .PricingBlock-card.-highlight .PricingBlock-featureIcon::before {
  color: var(--ds-color-secondary);
}
.PricingBlock.-themeDark .PricingBlock-card.-highlight .PricingBlock-cta.-primary {
  background: var(--ds-color-dark);
  color: var(--ds-color-secondary);
  border-color: var(--ds-color-dark);
}

:root {
  --OffreBlock-slider-margin-inline: 2.5rem;
  --OffreBlock-bg-card: var(--ds-color-white);
}

.OffreBlock {
  position: relative;
}
.OffreBlock-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-spacings--x-large);
}
@media only screen and (min-width: 768px) {
  .OffreBlock-inner {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: calc(var(--OffreBlock-slider-margin-inline) / 2);
  }
}
.OffreBlock-slide {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin-inline: var(--OffreBlock-slider-margin-inline);
  padding: 0;
}
.OffreBlock-slide .Card {
  width: 100%;
  height: 100% !important;
}
.OffreBlock .flickity-slider:has(.modal.active) {
  transform: inherit !important;
}
.OffreBlock.-nbSlides-1 .OffreBlock-slide {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .OffreBlock.-nbSlides-2 .OffreBlock-slide {
    width: calc(50% - var(--OffreBlock-slider-margin-inline));
  }
}
@media only screen and (min-width: 768px) {
  .OffreBlock.-nbSlides-3 .OffreBlock-slide {
    width: calc(50% - var(--OffreBlock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1024px) {
  .OffreBlock.-nbSlides-3 .OffreBlock-slide {
    width: calc(33% - var(--OffreBlock-slider-margin-inline));
  }
}
@media only screen and (min-width: 768px) {
  .OffreBlock.-nbSlides-4 .OffreBlock-slide {
    width: calc(50% - var(--OffreBlock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1024px) {
  .OffreBlock.-nbSlides-4 .OffreBlock-slide {
    width: calc(33% - var(--OffreBlock-slider-margin-inline));
  }
}
@media only screen and (min-width: 1200px) {
  .OffreBlock.-nbSlides-4 .OffreBlock-slide {
    width: calc(25% - var(--OffreBlock-slider-margin-inline));
  }
}
.OffreBlock .Card {
  --bg-card-article: var(--ds-color-white);
  --text-color-card-article: var(--ds-color-secondary);
  --text-color-card-article-hover: var(--ds-color-white);
  --bg-category-card-article: var(--ds-color-secondary);
  --text-category-card-article: var(--ds-color-white);
  overflow: hidden;
  text-decoration: none;
  border-radius: var(--ds-radius-width-semi);
}
.OffreBlock .Card-inner {
  position: relative;
  display: flex;
}
.OffreBlock .Card.-offer:not(.-featured) {
  margin-top: var(--ds-spacings--xx-large);
}
.OffreBlock .Card.-offer .Card-inner {
  flex-direction: column;
  background-color: var(--OffreBlock-bg-card);
  text-decoration: none;
  position: relative;
  width: 100%;
  height: 100%;
  padding: var(--ds-spacings--x-large) var(--ds-spacings--large);
}
.OffreBlock .Card.-offer .Card-top {
  padding-block-end: var(--ds-spacings--large);
  border-bottom: 1px solid var(--ds-color-tertiary-lighten);
}
.OffreBlock .Card.-offer .Card-content {
  padding-block: var(--ds-spacings--medium);
}
.OffreBlock .Card.-offer .Card-bottom {
  margin-block-start: var(--ds-spacings--large);
}
.OffreBlock .Card.-offer .Card-icon {
  display: flex;
  margin-block-end: var(--ds-spacings--large);
}
.OffreBlock .Card.-offer .Card-icon img {
  width: 2.5rem;
}
.OffreBlock .Card.-offer .Card-surtitle {
  text-transform: uppercase;
}
.OffreBlock .Card.-offer .Card-title {
  margin-block-end: var(--ds-spacings--large);
  font-weight: 700;
  padding-right: var(--ds-spacings--xxx-large);
}
.OffreBlock .Card.-offer .Card-surtitle, .OffreBlock .Card.-offer .Card-subtitle {
  color: var(--ds-color-secondary);
}
.OffreBlock .Card.-offer .Card-price {
  font-weight: 700;
  margin-block-end: var(--ds-spacings--standard);
}
.OffreBlock .Card.-offer .Card-mentions {
  background-color: var(--ds-color-tertiary-lighten);
  border-radius: var(--ds-spacings--semi);
  padding: var(--ds-spacings--standard);
  text-align: center;
}
.OffreBlock .Card.-offer .Card-description {
  margin-block-start: var(--ds-spacings--standard);
}
.OffreBlock .Card.-offer .Card-actions {
  display: flex;
  margin-block-start: var(--ds-spacings--medium);
}
.OffreBlock .Card.-offer .Card-actions a {
  max-width: unset;
  width: 100%;
  justify-content: center;
}
.OffreBlock .Card.-offer.-featured {
  overflow: visible;
  position: relative;
  margin-bottom: calc(var(--ds-spacings--xx-large) * -1);
}
.OffreBlock .Card.-offer.-featured .Card-inner {
  border-radius: var(--ds-radius-width-semi);
  overflow: hidden;
}
.OffreBlock .Card.-offer.-featured .Card-surtitle, .OffreBlock .Card.-offer.-featured .Card-subtitle {
  color: var(--ds-color-secondary);
}
.OffreBlock .Card.-offer.-featured .Card-badge {
  position: absolute;
  z-index: 2;
  width: max-content;
  margin-top: calc(var(--ds-spacings--medium) * -1);
  margin-left: var(--ds-spacings--semi);
  display: flex;
  justify-content: center;
  background-color: var(--ds-color-white);
  color: var(--ds-color-secondary);
  padding: var(--ds-spacings--semi) var(--ds-spacings--standard);
  border-radius: var(--ds-radius-width--x-large);
}

.Separator {
  display: block;
}
.Separator.-size-xs {
  height: clamp(16px, 2vw, 24px);
}
.Separator.-size-s {
  height: clamp(24px, 4vw, 48px);
}
.Separator.-size-48 {
  height: clamp(28px, 4vw, 48px);
}
.Separator.-size-m {
  height: clamp(40px, 6vw, 80px);
}
.Separator.-size-96 {
  height: clamp(56px, 8vw, 96px);
}
.Separator.-size-110 {
  height: clamp(64px, 9vw, 110px);
}
.Separator.-size-l {
  height: clamp(64px, 8vw, 120px);
}
.Separator.-size-xl {
  height: clamp(80px, 10vw, 160px);
}

/* Curseur personnalisé */
.custom-cursor {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background-color: #000032;
  border-radius: 50%;
  position: absolute;
  pointer-events: none;
  z-index: 1000;
  opacity: 0;
  cursor: none; /* Masquer le curseur natif */
  transition: opacity 0.3s, transform 0.3s; /* Transition pour l'effet d'apparition et de disparition */
  transform: scale(0); /* Initialiser à une échelle de 0 */
}

.custom-cursor {
  /* Effet d'apparition */
}
.custom-cursor:before, .custom-cursor:after {
  position: relative;
  font-family: "Line Awesome Free";
  font-weight: 900;
  color: #fff;
  font-size: 0.625rem;
}
.custom-cursor:before {
  content: "\f104";
}
.custom-cursor:after {
  content: "\f105";
}
.custom-cursor.show {
  opacity: 1;
  transform: scale(1);
}

/* Masquer le curseur natif dans la section */
/* ==========================================================================
   Tag Labels
   ========================================================================== */
:root {
  --tag-bg-color: $ds-color-white;
  --tag-text-color: $ds-color-black;
}

.TextHighlight {
  --highlight-color: var(--ds-color-primary);
  position: relative;
  display: inline;
  z-index: 1;
}
.TextHighlight > span {
  position: relative;
  z-index: 1;
  white-space: nowrap;
  color: var(--highlight-color);
}
.-themeDark .TextHighlight > span {
  color: var(--highlight-color);
}

.bottomBlock {
  position: relative;
  margin: 0 auto;
  padding-block: 6rem;
  color: #ffffff;
}
.bottomBlock-picture {
  position: absolute;
  width: 100%;
  inset: 0;
  z-index: 0;
  background: #ffcd00;
}
.bottomBlock-picture::after {
  position: absolute;
  content: "";
  width: 100%;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.4);
}
.bottomBlock-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
}
.bottomBlock:not(.bottomBlock--after) {
  background-color: #ffcd00;
}
.bottomBlock:not(.bottomBlock--after):after {
  display: none;
}
.bottomBlock-content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.bottomBlock-title {
  font-size: 2rem;
  line-height: 1.1;
  color: #ffffff;
}
.bottomBlock-title span {
  display: block;
  font-size: 1.125rem;
  color: #ffffff;
}
.bottomBlock p {
  margin-block-end: 1.5rem;
}
.bottomBlock-actions {
  margin-top: 1.5rem;
  margin-inline: auto;
}
.bottomBlock-actions a {
  margin-inline: auto;
}

:root {
  --bg-card-article: var(--ds-color-white);
  --text-color-card-article: var(--ds-color-black);
  --text-color-card-article-hover: var(--ds-color-white);
  --bg-category-card-article: var(--ds-color-secondary);
  --text-category-card-article: var(--ds-color-white);
}

.Card {
  overflow: hidden;
  text-decoration: none;
}
.Card-inner {
  position: relative;
  display: flex;
  flex-flow: row wrap;
}
.Card.-spot {
  transition: all 0.3s ease-in-out 0s;
  display: flex;
  flex-direction: column;
  background-color: rgb(0, 0, 228.5);
  text-align: center;
  padding: 0 0 1rem;
}
@media only screen and (max-width: 767px) {
  .Card.-spot {
    margin-inline: auto;
    align-items: center;
    text-align: center;
    width: 100%;
  }
}
.Card.-spot .Card-picture {
  width: 100%;
  height: 15.625rem;
  margin-bottom: 1rem;
}
.Card.-spot .Card-picture img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.Card.-spot .Card-title {
  font-size: 1.5rem;
  color: #ffcd00;
  font-weight: 500;
  margin: 0;
}
.Card.-spot .Card-title span {
  display: block;
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.Card.-spot .Card-actions {
  margin-inline: auto;
  margin-top: 1.5rem;
}
.Card.-spot .Card-desc {
  color: #ffffff;
  font-weight: 200;
}
.Card.-spot:hover {
  background-color: #000032;
}
.Card.-spot:hover .Card-title, .Card.-spot:hover .Card-desc {
  color: #ffffff;
}
.Card.-spot:hover .Card-actions span {
  background-color: #000032;
}
.Card.-training {
  transition: all 0.3s ease-in-out 0s;
  background-color: #ffffff;
}
.Card.-training .Card-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.Card.-training .Card-picture {
  position: relative;
  width: 100%;
  height: 286px;
  overflow: hidden;
}
.Card.-training .Card-picture img {
  transition: all 0.3s ease-in-out 0s;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
}
.Card.-training .Card-content {
  transition: all 0.3s ease-in-out 0s;
  color: #000000;
  padding: 1.5rem 1rem;
}
@media only screen and (min-width: 768px) {
  .Card.-training .Card-content {
    padding: 1.5rem;
  }
}
.Card.-training .Card-actions span {
  color: #ffffff;
  background-color: #ffcd00;
}
.Card.-training:hover {
  background-color: #ffcd00;
}
.Card.-training:hover .Card-picture img {
  transform: scale(1.1);
}
.Card.-training:hover .Card-title {
  color: #ffffff;
}
.Card.-training:hover .Card-actions span {
  color: #000000;
  background-color: #000032;
}
.Card.-skills {
  transition: all 0.3s ease-in-out 0s;
  background-color: #ffffff;
  box-shadow: 0 0.1875rem 1.25rem 0 rgba(0, 0, 0, 0.06);
  padding: 2rem;
}
.Card.-skills figure {
  position: relative;
}
.Card.-skills figure img {
  transition: all 0.3s ease-in-out 0s;
}
.Card.-skills .Card-content {
  transition: all 0.3s ease-in-out 0s;
  color: #000000;
  padding: 1.5rem 1rem;
}
@media only screen and (min-width: 768px) {
  .Card.-skills .Card-content {
    padding: 1.5rem;
  }
}
.Card.-skills .Card-actions span {
  color: #ffffff;
  background-color: #ffcd00;
}
.Card.-skills:hover {
  background-color: #ffcd00;
}
.Card.-skills:hover .Card-picture img {
  transform: scale(1.1);
}
.Card.-skills:hover .Card-title {
  color: #ffffff;
}
.Card.-skills:hover .Card-actions span {
  color: #000000;
  background-color: #000032;
}

:root {
  --bg-color-dots: var(--ds-color-black);
  --bg-color-dots-selected: var(--ds-color-secondary);
  --bg-color-button: var(--ds-color-white);
  --bg-color-button-hover: var(--ds-color-secondary);
  --color-arrow-button: var(--ds-color-secondary);
  --color-arrow-button-hover: var(--ds-color-primary);
}

.splide__arrow {
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(0, 0, 0, 0.2);
}
.splide__arrow svg {
  display: none;
}
.splide__arrow:after {
  content: "";
  mask-image: url(.././dist/images/e023c72bc7003f995a4e.svg);
  width: 1rem;
  height: 1rem;
  background-color: var(--ds-color-white);
}
.splide__arrow--prev:after {
  transform: rotate(180deg);
}
.splide__pagination {
  margin-inline: auto;
  width: max-content;
  border-radius: var(--ds-radius-width--x-large);
  background: rgba(0, 0, 0, 0.2);
  margin-block-end: var(--ds-spacings--small);
  padding: var(--ds-spacings--small) var(--ds-spacings--standard);
}

.-themeLight .splide__arrow {
  background-color: var(--ds-color-white);
}
.-themeLight .splide__arrow:after {
  background-color: var(--ds-color-secondary);
}

.Meta {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  align-items: center;
  background-color: var(--meta-bg-color, var(--ds-color-primary));
  padding-block: var(--ds-spacings--standard);
}
.Meta-identity {
  display: none;
}
.Meta-date {
  padding-inline-start: var(--ds-spacings--xx-small);
  font-size: var(--ds-spacings--semi);
}
.Meta-category {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: flex-start;
  font-size: 0.75rem;
  padding-inline-end: var(--ds-spacings--small);
}
.Meta-category a {
  text-decoration: none;
  background-color: transparent;
  padding: 0 var(--ds-spacings--small);
}
.Meta-category a:hover {
  color: var(--ds-color-secondary);
}
.Meta-category:after {
  position: absolute;
  content: "";
  width: 0.125rem;
  height: 0.125rem;
  background: var(--ds-color-primary);
  border-radius: var(--ds-radius-width-medium);
  top: 50%;
  right: 0;
}
.Meta-categoryItem {
  background-color: transparent;
  line-height: 1.2;
}
.Meta.-topIntro {
  margin-inline: auto;
}

.ToolPagination-wrapper {
  margin-block: var(--ds-spacings--x-large);
}
.ToolPagination-inner {
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: var(--ds-spacings--small);
}
.ToolPagination-inner .page-number,
.ToolPagination-inner .prev,
.ToolPagination-inner .next {
  transition: all 0.3s ease-in-out 0s;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ds-spacings--medium);
  width: 2rem;
  height: 2rem;
  border-radius: var(--ds-radius-round);
  margin: 0;
  color: var(--ds-color-primary);
  font-weight: 400;
  text-decoration: none;
  background-color: var(--ds-color-secondary);
}
.ToolPagination-inner .page-number:hover,
.ToolPagination-inner .prev:hover,
.ToolPagination-inner .next:hover {
  transition: all 0.3s ease-in-out 0s;
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  border-color: var(--ds-color-primary);
}
.ToolPagination-inner .page-number.current,
.ToolPagination-inner .prev.current,
.ToolPagination-inner .next.current {
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  border-color: var(--ds-color-primary);
}

.wp-block-table thead {
  border-bottom: none;
}

table {
  --bg-head-table: var(--ds-color-primary);
  --bg-row-table: var(--ds-color-white);
  --bg-row-table-alt: var(--ds-color-secondary);
  --color-text-head-table: var(--ds-color-secondary);
  --color-text-table: var(--ds-color-white);
  --color-text-table-alt: var(--ds-color-secondary);
  --bg-table: var(--ds-color-white);
  --border-color-table: var(--ds-color-gray);
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  overflow: hidden;
  border-radius: 0;
  border: 1px solid var(--border-color-table);
  background-color: var(--bg-table);
}
table thead {
  background-color: var(--bg-head-table);
  color: var(--color-text-head-table);
  font-weight: 600;
  border-radius: 0;
  border-bottom: 0;
}
table th,
table td {
  text-align: center;
  padding: var(--ds-spacings--medium) var(--ds-spacings--standard);
}
table tbody tr td {
  background-color: var(--bg-row-table-alt);
  color: var(--color-text-table);
}
table tbody tr:nth-child(odd) td {
  background-color: var(--bg-row-table);
  border-top: solid 1px var(--border-color-table);
  border-bottom: solid 1px var(--border-color-table);
  color: var(--color-text-table-alt);
}
.-themeAccent table thead, .-themeLight table thead {
  background-color: var(--ds-color-secondary);
  color: var(--ds-color-primary);
  font-weight: 600;
  border-radius: 0;
  border-bottom: 0;
}
.-themeAccent table tbody tr td, .-themeLight table tbody tr td {
  background-color: var(--ds-color-primary);
  color: var(--ds-color-secondary);
}
.-themeAccent table tbody tr:nth-child(odd) td, .-themeLight table tbody tr:nth-child(odd) td {
  background-color: var(--bg-row-table);
  border-top: solid 1px var(--border-color-table);
  border-bottom: solid 1px var(--border-color-table);
  color: var(--ds-color-secondary);
}
@media only screen and (max-width: 767px) {
  table {
    display: block;
    border: none;
    border-radius: 0;
    background-color: transparent;
  }
  table thead {
    display: none;
  }
  table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--ds-spacings--standard);
  }
  table tbody,
  table tr,
  table td {
    display: block;
    width: 100%;
  }
  table tr {
    overflow: hidden;
    border: 1px solid var(--border-color-table);
    border-radius: 0.75rem;
    background-color: var(--bg-table);
  }
  table tr:nth-child(odd) td {
    border-top: 0;
    border-bottom: 0;
  }
  table td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ds-spacings--standard);
    text-align: right;
    border: none;
    border-bottom: 1px solid var(--border-color-table);
  }
  table td:last-child {
    border-bottom: none;
  }
  table td::before {
    content: attr(data-label);
    flex-shrink: 0;
    font-weight: 600;
    text-align: left;
    color: var(--color-text-head-table);
  }
}

.switcher {
  font-family: "DM Mono", monospace;
  font-size: 0.75rem;
  font-weight: 500;
  z-index: 10;
  text-align: left;
  display: none;
}
@media only screen and (min-width: 1024px) {
  .switcher {
    display: flex;
  }
}
.switcher .wpml-ls-legacy-dropdown {
  width: auto;
}
.switcher .wpml-ls-legacy-dropdown > ul {
  position: relative;
  margin: 0;
}

.wpml-ls-legacy-dropdown li {
  list-style-type: none;
}
.wpml-ls-legacy-dropdown li:before {
  display: none;
}
.wpml-ls-legacy-dropdown li.wpml-ls-item-legacy-dropdown {
  text-align: center;
}
.wpml-ls-legacy-dropdown li.wpml-ls-item-legacy-dropdown .wpml-ls-sub-menu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  border-top: 0;
  padding: 0;
  margin: 0;
  list-style-type: none;
  z-index: 101;
  background: transparent;
  border-radius: 0;
  transition: all 0.3s ease-in-out 0s;
}
.wpml-ls-legacy-dropdown li.wpml-ls-item-legacy-dropdown:hover .wpml-ls-sub-menu {
  visibility: visible;
  opacity: 1;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  padding: 0;
  margin: 0;
  list-style-type: none;
  z-index: 101;
  background: #ffffff;
  border-radius: 0;
  transition: all 0.3s ease-in-out 0s;
}
.wpml-ls-legacy-dropdown li.wpml-ls-item-legacy-dropdown:hover .wpml-ls-sub-menu li {
  transition: all 0.3s ease-in-out 0s;
  color: #000000;
}
.wpml-ls-legacy-dropdown li.wpml-ls-item-legacy-dropdown:hover .wpml-ls-sub-menu li:hover {
  background: #ffcd00;
  color: #000000;
  transition: all 0.3s ease-in-out 0s;
}
.wpml-ls-legacy-dropdown li a.js-wpml-ls-item-toggle.wpml-ls-item-toggle {
  z-index: 102;
  background: transparent;
  border: 0;
  text-align: left;
  padding: 10px 0px 10px 10px;
  color: #000000;
}
.wpml-ls-legacy-dropdown li a {
  display: block;
  text-decoration: none;
  border: 0;
  background: transparent;
  line-height: 1;
  border-radius: 0;
  color: #000000;
  font-weight: 500;
  font-size: 0.875rem;
  text-align: left;
}
.wpml-ls-legacy-dropdown li a.wpml-ls-item-toggle:after {
  font-family: "Line Awesome Free";
  font-weight: 900;
  content: "\f107";
  font-size: 0.875rem;
  line-height: 24px;
  text-align: center;
  vertical-align: middle;
  display: inline-block;
  border: 0;
  border-top: 0;
  position: absolute;
  right: 10px;
  top: 50%;
  color: #000000;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-color: transparent;
}

.wpml-ls-legacy-dropdown {
  font-size: 0.875rem;
  max-width: 100%;
  width: auto !important;
  margin: 0;
}
.wpml-ls-legacy-dropdown span {
  position: relative;
  margin: 0;
  top: 0;
  padding-right: 0;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  visibility: hidden;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  border: 0;
  padding: 0;
  margin: 0;
  list-style-type: none;
  z-index: 101;
  background: #000000;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  border-top: 0;
  border-left: 1px solid #000000;
  border-bottom: 0px solid #ffffff;
  border-right: 1px solid #000000;
  text-align: left;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {
  background: #000000;
  text-align: center;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu li a {
  background: #000000;
  color: #ffffff;
}

.wpml-ls-legacy-dropdown a:hover, .wpml-ls-legacy-dropdown a:focus, .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a {
  color: #ffffff;
}

#trp-floater-ls.trp-color-dark {
  background-color: #000032;
}

.trp-color-dark #trp-floater-ls-current-language a,
.trp-color-dark #trp-floater-ls-language-list a {
  color: #ffffff;
}

.FlipImages {
  position: relative;
  display: flex;
}
.FlipImages > div {
  display: flex;
  position: relative;
  justify-content: flex-end;
  aspect-ratio: 500/500;
}
.FlipImages .firstBlock {
  position: relative;
  z-index: 1;
  top: 0;
  right: 0;
  display: flex;
  justify-content: end;
  align-self: flex-end;
  aspect-ratio: 1/1;
}
.FlipImages .firstBlock img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
  width: 85%;
  height: 85%;
}
.FlipImages .secondBlock {
  position: absolute;
  z-index: 2;
  display: flex;
  bottom: 0;
  left: 0;
  width: 75%;
  aspect-ratio: 16/9;
}
.FlipImages .secondBlock img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
}

.GridTwoCols {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
}
.GridTwoCols div {
  padding-left: unset !important;
}
.GridTwoCols div:first-child figure {
  height: 100%;
}
.GridTwoCols img {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
}

.LabelTitle {
  text-transform: uppercase;
  font-size: var(--ds-font-size-50);
  display: flex;
  flex-flow: row wrap !important;
  justify-content: flex-start;
  align-items: center;
  gap: var(--ds-spacings--small);
  margin-block-end: var(--ds-spacings--large) !important;
}
.LabelTitle-number {
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: var(--ds-font-size-50);
  border: 1px solid currentColor;
  border-radius: var(--ds-radius-width-large);
  padding: var(--ds-spacings--small);
}
.LabelTitle > .wp-block-column {
  position: relative;
  flex-grow: unset;
  padding-block: var(--ds-spacings--small);
}
.LabelTitle > .wp-block-column:first-child {
  flex-basis: auto !important;
  align-self: flex-start !important;
  width: max-content !important;
  aspect-ratio: 1;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .LabelTitle > .wp-block-column:first-child {
    flex: 0 1 3rem;
  }
}
.LabelTitle > .wp-block-column:last-child {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto !important;
  padding-left: unset;
}
.LabelTitle > .wp-block-column:last-child::before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .LabelTitle > .wp-block-column:last-child::before {
    content: "";
    mask-image: url(.././dist/images/75b6f6ab3600457302bb.svg);
    mask-repeat: no-repeat;
    background-color: currentColor;
    margin-inline-end: var(--ds-spacings--small);
    width: 3rem;
    border: 3px solid currentColor;
  }
}

ol.ImpactfulList {
  display: flex;
  flex-direction: column;
  row-gap: var(--ds-spacings--semi);
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  padding: var(--ds-spacings--x-large) var(--ds-spacings--large);
  max-width: 40rem;
  margin-inline: auto;
}
ol.ImpactfulList li {
  position: relative;
  counter-increment: item;
  display: inline-block;
  align-items: center;
  gap: 1rem;
  padding-left: var(--ds-spacings--xx-large);
  min-height: 2.25rem;
}
ol.ImpactfulList li::before {
  position: absolute;
  left: 0;
  font-weight: 600;
  content: counter(item, decimal-leading-zero);
  background-color: var(--ds-color-white);
  color: currentColor;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--ds-font-size-100);
  box-sizing: border-box;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  white-space: nowrap;
  line-height: 1;
}

.GridStaggered {
  --var-top-img-grid: var(--ds-spacings--xxx-large);
  overflow: visible;
}
.GridStaggered figure {
  position: relative;
  overflow: visible;
}
@media only screen and (min-width: 768px) {
  .GridStaggered figure:nth-child(2) {
    top: var(--var-top-img-grid);
  }
  .GridStaggered figure:nth-child(3) {
    top: calc(var(--var-top-img-grid) * 2);
  }
}
@media only screen and (min-width: 768px) {
  .GridStaggered {
    padding-block-end: calc(var(--var-top-img-grid) * 2);
  }
}

:root {
  --var-padding-block-header: var(--ds-spacings--standard);
  --var-width-logo: 75%;
  --var-bg-burger: var(--ds-color-primary);
  --var-span-burger: var(--ds-color-secondary);
}

.SiteHeader {
  position: absolute;
  top: 0;
  z-index: 20;
  height: 100px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
  margin-block-start: var(--ds-spacings--medium);
}
.SiteHeader.is-ready {
  opacity: 1;
  visibility: visible;
}
body:not(.single-reference):not(.home) .SiteHeader {
  margin-block-end: var(--ds-spacings--large);
}
@media only screen and (min-width: 768px) {
  body:not(.single-reference):not(.home) .SiteHeader {
    margin-block-end: var(--ds-spacings--xx-wide);
  }
}
.SiteHeader-container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  height: 100%;
}
.SiteHeader-container .cart {
  display: none;
  width: 4.375rem;
  height: 4.375rem;
  margin-left: var(--ds-spacings--medium);
}
.SiteHeader-container .cart svg {
  fill: var(--ds-color-secondary);
}
@media only screen and (min-width: 1024px) {
  .SiteHeader-container .cart {
    display: block;
  }
}
.SiteHeader.-burgerEverywhere .SiteHeader-container .cart {
  display: none;
}
.SiteHeader-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 16;
}
.SiteHeader-logo .logo {
  position: relative;
  z-index: 16;
  margin: 0;
  padding: 0;
  font-size: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.SiteHeader-logo .logo a {
  position: relative;
  display: flex;
  z-index: 5;
  height: 100%;
}
.SiteHeader-logo .logo svg {
  width: 100%;
  max-height: calc(var(--header-height) - var(--var-padding-block-header));
  margin-block: 0;
  transform: translateY(0);
  fill: var(--ds-color-white);
}
@media only screen and (min-width: 1024px) {
  .SiteHeader-logo .logo svg {
    max-height: calc(var(--header-height) - var(--var-padding-block-header));
  }
}
.SiteHeader-logo .logo img {
  width: 100%;
  max-width: var(--var-width-logo);
  margin-block: 0;
  transform: translateY(0);
}
.SiteHeader-nav {
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 1023px) {
  .SiteHeader-nav {
    justify-content: center;
    align-items: center;
    z-index: 0;
  }
}
.SiteHeader.-burgerEverywhere .SiteHeader-nav {
  justify-content: center;
  align-items: center;
  z-index: 0;
}
.SiteHeader-mobileNav {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--medium);
  background-color: transparent;
  margin: 0;
  padding: var(--ds-spacings--small) var(--ds-spacings--semi);
  z-index: 120;
}
.SiteHeader-currentPageTitle {
  background: var(--ds-color-primary);
  text-align: center;
  border-radius: var(--ds-radius-width-large);
  font-size: 0.875rem;
  padding: var(--ds-spacings--standard);
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .SiteHeader-currentPageTitle {
    display: none;
  }
}
.SiteHeader.-burgerEverywhere .SiteHeader-currentPageTitle {
  display: none;
}
.SiteHeader-burger {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  z-index: 105;
  width: 3rem;
  height: 3rem;
  background-color: var(--var-bg-burger);
  border-radius: var(--ds-radius-width-large);
  border: none;
}
.SiteHeader-burger span {
  position: absolute;
  background: var(--var-span-burger);
  z-index: 1;
  width: 0.9375rem;
  height: 0.09375rem;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-in-out;
}
.SiteHeader-burger span:before {
  position: absolute;
  content: "";
  background: var(--var-span-burger);
  width: 0.9375rem;
  height: 0.09375rem;
  transition: all 0.3s ease-in-out;
  left: 0;
  top: -10px;
}
.SiteHeader-burger.animate {
  background-color: var(--ds-color-secondary);
}
.SiteHeader-burger.animate span {
  background: var(--ds-color-white);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.SiteHeader-burger.animate span:before {
  top: 0;
  transform: rotate(-90deg);
  background: var(--ds-color-white);
}
.SiteHeader-popupSearch {
  display: none;
}

body.is-menu-open .SiteHeader {
  top: 0;
}
body.is-menu-open .SiteHeader-logo {
  position: relative;
  z-index: 21;
}
body.is-menu-open .SiteHeader-logo svg {
  fill: var(--ds-color-secondary);
}

body.page-template-default:not(.home) .SiteHeader,
body.page-template-template-page-references .SiteHeader,
body.page-template-template-page-contact .SiteHeader {
  position: relative;
}
body.page-template-default:not(.home) .SiteHeader-logo,
body.page-template-template-page-references .SiteHeader-logo,
body.page-template-template-page-contact .SiteHeader-logo {
  position: relative;
  z-index: 21;
}
body.page-template-default:not(.home) .SiteHeader-logo svg,
body.page-template-template-page-references .SiteHeader-logo svg,
body.page-template-template-page-contact .SiteHeader-logo svg {
  fill: var(--ds-color-secondary);
}

body.single-reference .SiteHeader-logo .logo svg {
  fill: var(--ds-color-white);
}

body.single-reference.is-menu-open .SiteHeader-logo .logo svg {
  fill: var(--ds-color-secondary);
}

.NavOverlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  overflow: hidden;
  background-color: var(--ds-color-white);
}
@media only screen and (min-width: 1024px) {
  .NavOverlay {
    flex-direction: row;
    overflow-y: auto;
  }
}
.NavOverlay-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  overflow-y: auto;
  width: 100%;
  padding-block: var(--ds-spacings--xxx-large) var(--ds-spacings--large);
  padding-inline: 0;
}
@media only screen and (min-width: 1024px) {
  .NavOverlay-left {
    flex: unset;
    overflow-y: unset;
    width: 50%;
    padding-block: calc(100px + var(--ds-spacings--xxx-large));
    border-right: 1px solid rgba(0, 0, 50, 0.15);
  }
}
.NavOverlay-left .MenuTop {
  flex-direction: column !important;
  column-gap: 0 !important;
  position: static !important;
  height: auto !important;
  padding: 0 !important;
  background-color: transparent !important;
  max-width: none !important;
  align-items: flex-start !important;
}
.NavOverlay-left .menu-item {
  overflow: hidden;
  width: 100%;
  max-width: 42rem;
}
.NavOverlay-left .MenuTop-itemMask {
  display: block;
  overflow: hidden;
  width: 100%;
}
.NavOverlay-left .MenuTop-itemMask > a {
  display: inline-flex;
  padding: 0.2em var(--ds-spacings--standard);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--ds-color-secondary);
  text-decoration: none;
  cursor: pointer;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transition: color 0.2s ease;
}
@media only screen and (min-width: 768px) {
  .NavOverlay-left .MenuTop-itemMask > a {
    font-size: 4rem;
  }
}
.NavOverlay-left .MenuTop-itemMask > a:hover, .NavOverlay-left .MenuTop-itemMask > a:focus-visible {
  color: var(--ds-color-primary);
}
.NavOverlay-right {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: 100%;
  padding-block: var(--ds-spacings--large);
  position: relative;
  z-index: 20;
}
@media only screen and (min-width: 1024px) {
  .NavOverlay-right {
    flex: unset;
    padding-inline: var(--ds-spacings--xxx-large);
    width: 50%;
  }
}

.NavOverlay-content {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--large);
}
@media only screen and (max-width: 1023px) {
  .NavOverlay-content {
    padding-inline: var(--ds-spacings--standard);
  }
}

.NavOverlay-baseline {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--ds-color-secondary);
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .NavOverlay-baseline {
    font-size: 1.875rem;
  }
}

.NavOverlay-cta {
  --bg-color-button: var(--ds-color-white);
  --text-color-button: var(--ds-color-secondary);
  --border-radius-button: 4rem;
  --icon-size-button: 10px;
  --border-before-height-button: 1px;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  max-width: max-content;
  background-color: var(--bg-color-button);
  color: var(--text-color-button);
  font-weight: 400;
  font-size: 1rem;
  border-radius: var(--border-radius-button);
  text-decoration: none;
  padding: var(--ds-spacings--standard) var(--ds-spacings--x-large);
  border: none;
  transition: all ease-in 0.3s;
  line-height: 1.25rem;
  cursor: pointer;
  --bg-color-button: var(--btn-primary-bg, var(--ds-color-primary));
  color: var(--btn-primary-text, var(--ds-color-secondary));
  align-self: flex-start;
}
.NavOverlay-cta:hover {
  --bg-color-button: var(--btn-primary-hover-bg, var(--ds-color-secondary));
  color: var(--btn-primary-hover-text, var(--ds-color-primary));
}

.NavOverlay-left .MenuTop > li,
.NavOverlay-baseline,
.NavOverlay-cta {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--d, 0s);
  will-change: opacity, transform;
}

.SiteHeader.is-nav-open .NavOverlay-left .MenuTop > li,
.SiteHeader.is-nav-open .NavOverlay-baseline,
.SiteHeader.is-nav-open .NavOverlay-cta {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .NavOverlay-left .MenuTop > li,
  .NavOverlay-baseline,
  .NavOverlay-cta {
    transition: none !important;
  }
}
.TextImageBlock-inner {
  display: grid;
  gap: 2rem;
  padding-block: 8rem;
}
@media only screen and (min-width: 768px) {
  .TextImageBlock-inner {
    grid-template-columns: 0.55fr 0.45fr;
  }
}
.TextImageBlock-label {
  margin-bottom: 1rem;
}
.TextImageBlock-description {
  margin-top: 2rem;
}
@media only screen and (min-width: 768px) {
  .TextImageBlock-description {
    max-width: 65%;
    margin-top: 8rem;
  }
}
.TextImageBlock-actions {
  margin-top: 2rem;
}
.TextImageBlock-picture {
  display: flex;
}
.TextImageBlock-picture img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 0.75rem;
}

.SiteFooter {
  position: relative;
}
.SiteFooter-inner {
  display: grid;
  padding-block: var(--ds-spacings--xxx-large);
  padding-inline: var(--ds-spacings--standard);
  row-gap: var(--ds-spacings--xx-large);
}
.SiteFooter-topBlock {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .SiteFooter-topBlock {
    flex-direction: column;
    align-items: flex-start;
  }
}
.SiteFooter-topBlock h2 {
  margin-block-end: unset;
}
.SiteFooter-teaser {
  margin-block-start: var(--ds-spacings--standard);
}
.SiteFooter-contact {
  display: flex;
  flex-direction: column;
  gap: var(--ds-spacings--large);
}
.SiteFooter-copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--ds-color-white);
  padding-block-start: var(--ds-spacings--x-large);
  gap: var(--ds-spacings--large);
}
@media only screen and (max-width: 767px) {
  .SiteFooter-copyright {
    flex-direction: column;
    align-items: flex-start;
  }
}
.SiteFooter-right {
  display: flex;
  align-items: center;
  gap: var(--ds-spacings--large);
}
@media only screen and (max-width: 479px) {
  .SiteFooter-right {
    flex-direction: column;
    align-items: flex-start;
  }
}
.SiteFooter.-copyright .SiteFooter-inner {
  padding-block: var(--ds-spacings--small);
}
.SiteFooter ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .SiteFooter-address {
    margin-block-end: var(--ds-spacings--large);
  }
}
.SiteFooter-menuBlock ul {
  display: flex;
  gap: var(--ds-spacings--semi);
}
.SiteFooter-network ul {
  position: relative;
  display: flex;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  column-gap: var(--ds-spacings--small);
}
.SiteFooter-network ul li {
  transition: all 0.3s ease-in-out 0s;
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 2.75rem;
  height: 2.75rem;
}
.SiteFooter-network ul li::before {
  display: none;
}
.SiteFooter-network ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--ds-spacings--standard);
  width: 100%;
  height: 100%;
}
.SiteFooter-network ul li a::before {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  font-family: "fontawesome";
  font-size: 1rem;
  color: var(--sn-icon-color, var(--ds-color-primary));
}
.SiteFooter-network ul li a.facebook::before {
  content: "\f39e";
}
.SiteFooter-network ul li a.x::before {
  content: "\e61b";
}
.SiteFooter-network ul li a.youtube::before {
  content: "\f167";
}
.SiteFooter-network ul li a.instagram::before {
  content: "\f16d";
}
.SiteFooter-network ul li a.linkedin::before {
  content: "\f0e1";
}
.SiteFooter-network ul li a.tripadvisor::before {
  content: "\f262";
}
.SiteFooter-network ul li a.tiktok::before {
  content: "\e07b";
}
.SiteFooter-network ul li:hover a::before {
  color: var(--sn-icon-hover-color, var(--ds-color-secondary));
}
.SiteFooter-logo {
  display: flex;
}
.SiteFooter-logo img {
  width: 5rem;
  height: auto;
}

.scrolltop {
  position: fixed;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  padding: 1rem;
  right: 0.9375rem;
  bottom: 9.75rem;
  border-radius: 50%;
  display: none;
  opacity: 0;
  z-index: 10;
  transition: all 1s ease-in-out;
  background-color: #000032;
}
.scrolltop.is-visible {
  transition: all 0.3s ease-in-out 0s;
  display: flex;
}
.scrolltop.fade-out {
  opacity: 1;
}
.scrolltop:after {
  position: relative;
  content: url(.././dist/images/24f4cf40f40f8c9ab7ab.svg);
  inset: 0;
  width: 1.5rem;
  height: 1.5rem;
  transform: rotate(-90deg);
}

/* Popup */
#popup {
  transition: all 0.3s ease-in-out 0s;
  position: fixed;
  inset: 0;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
#popup:target, #popup.open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  overflow-y: scroll;
  height: 100%;
}
#popup > div.popup-content {
  width: 100%;
  padding: 2.5rem 1.5rem;
  background: #ffffff;
}
#popup .close-button {
  position: absolute;
  z-index: 10;
  right: 0.75rem;
  top: 0.75rem;
  width: auto;
  background: #000000;
  color: #ffffff;
  text-align: center;
  padding: 0.75rem;
  cursor: pointer;
  display: block;
  border: none;
}

:root {
  --bg-color-input: var(--ds-color-white);
  --bg-color-submit: var(--ds-color-secondary);
  --color-input: var(--ds-color-black);
  --border-color-input: var(--ds-color-tertiary);
  --border-radius-input: 0;
  --height-input: size(60);
  --color-success-input: var(--ds-color-success);
  --color-error-input: var(--ds-color-error);
  --color-warning-input: var(--ds-color-warning);
}

.wpcf7-response-output {
  border-color: var(--border-color-input);
  color: var(--color-input);
  border-radius: var(--border-radius-input);
  margin: var(--ds-spacings--standard) 0 !important;
  padding: var(--ds-spacings--standard);
  font-weight: bold;
  text-align: center;
  width: 100%;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: var(--color-error-input);
  border-color: var(--border-color-input);
  padding: var(--ds-spacings--standard);
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  background-color: var(--color-success-input);
  border-color: var(--border-color-input);
  padding: var(--ds-spacings--standard);
}

.input-file-section span.wpcf7-not-valid-tip {
  background: var(--color-warning-input);
  --color-input: var(--ds-color-white);
  font-weight: bold;
  font-size: 0.875rem;
  display: inline-block;
  padding: var(--ds-spacings--xx-small);
  margin: var(--ds-spacings--semi) 0;
  position: relative;
  left: -1.375rem;
}
.input-file-section span.wpcf7-not-valid-tip:before {
  display: none;
}

.wpcf7-validation-errors {
  color: var(--ds-color-white);
  text-align: center;
  width: 100%;
  display: block;
  padding: var(--ds-spacings--standard);
  border: none;
  position: relative;
  margin: var(--ds-spacings--medium) 0;
}
.wpcf7-validation-errors:before {
  position: relative;
  content: "";
  font-size: 1rem;
  color: var(--ds-color-white);
  display: block;
  width: 100%;
}

.wpcf7-mail-sent-ok {
  float: left;
  background: var(--color-success-input);
  color: var(--ds-color-white);
  text-align: center;
  width: 100%;
  display: block;
  padding: var(--ds-spacings--standard);
  border: none;
  position: relative;
  margin: var(--ds-spacings--medium) 0;
}
.wpcf7-mail-sent-ok:before {
  position: relative;
  content: "";
  font-size: 1.8em;
  color: var(--ds-color-white);
  display: block;
  width: 100%;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-form {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--ds-spacings--standard);
  grid-template-areas: "top" "left" "right" "bottom";
}
@media only screen and (min-width: 768px) {
  .wpcf7-form {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "top top" "left right" "bottom bottom";
  }
}
.wpcf7-form .left-form {
  grid-area: left;
}
.wpcf7-form .right-form {
  grid-area: right;
}
.wpcf7-form .top-form {
  grid-area: top;
  display: flex;
  flex-flow: row wrap;
  margin-bottom: var(--ds-spacings--standard);
  width: 100%;
}
.wpcf7-form .bottom-form {
  grid-area: bottom;
  width: 100%;
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form .wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
  color: --color-error-input;
  font-size: 0.75rem;
  font-weight: normal;
  display: block;
  margin-top: var(--ds-spacings--small);
}
.wpcf7-form .alert-section {
  color: var(--ds-color-white);
  font-weight: 700;
  margin: var(--ds-spacings--large) auto;
  width: 100%;
}
.wpcf7-form .alert-section.red {
  color: var(--ds-color-warning);
}
.wpcf7-form .required-fields-alert {
  background-color: var(--ds-color-secondary);
  color: var(--ds-color-white);
  font-weight: 700;
  padding: var(--ds-spacings--small);
}
.wpcf7-form span.choix {
  display: inline-block;
  width: 100%;
  z-index: 9;
}
.wpcf7-form span.current {
  color: var(--ds-color-primary);
}
.wpcf7-form span.current:before {
  display: none;
}
.wpcf7-form .input-file span {
  position: relative;
  display: block;
}
.wpcf7-form .input-file span:before {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  content: "";
  z-index: 5;
  bottom: 0;
  left: 0;
  height: 0.0625rem;
  width: 0;
  background-color: var(--bg-color-input);
  border: 0.0625rem solid var(--border-color-input);
}
.wpcf7-form .input-file span:focus:before, .wpcf7-form .input-file span:hover:before {
  transition: all 0.3s ease-in-out 0s;
  background: var(--bg-color-input);
  width: 100%;
}
.wpcf7-form input[type=submit] {
  margin-block: var(--ds-spacings--large);
}
.wpcf7-form .custom-file-input::-webkit-file-upload-button {
  visibility: hidden;
}
.wpcf7-form .custom-file-input {
  height: auto !important;
}
.wpcf7-form .custom-file-input:before {
  content: "Selectionner un fichier";
  color: var(--ds-color-white);
  display: inline-block;
  background: var(--bg-color-submit);
  border: 1px solid var(--border-color-input);
  border-radius: var(--border-radius-input);
  padding: var(--ds-spacings--small) var(--ds-spacings--x-small);
  outline: none;
  white-space: nowrap;
  -webkit-user-select: none;
  cursor: pointer;
  font-size: 10pt;
}
.wpcf7-form .custom-file-input:hover:before {
  border-color: var(--border-color-input);
}
.wpcf7-form .custom-file-input:active:before {
  background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9);
}

.grecaptcha-badge {
  visibility: hidden;
}

.captcha_gk {
  font-size: 0.875rem;
}
.captcha_gk a {
  opacity: 1;
  text-decoration: none;
  color: var(--ds-color-secondary);
}
.captcha_gk a:hover {
  opacity: 0.7;
}

/* Assign min-width to container */
.select2-container {
  min-width: 100%;
  margin-bottom: 0.5rem;
}

/*********************************
Author : Techhysahil
Link : http://techhysahil.com
*********************************/
.select2-container--open .select2-dropdown--below,
.select2-container--open .select2-dropdown--above {
  background: var(--ds-color-primary);
}

.select2-container--flat .select2-container--focus .select2-selection--multiple {
  border: 1px solid var(--ds-color-primary);
}
.select2-container--flat .select2-results__option--highlighted[aria-selected] {
  background: var(--ds-color-primary) !important;
  color: var(--ds-color-white);
}
.select2-container--flat .select2-results__option[aria-selected=true] {
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  opacity: 0.8;
}
.select2-container--flat .select2-selection--single {
  border-radius: 0;
}
.select2-container--flat.select2-container--open .select2-selection__arrow b {
  transform: rotate(180deg);
}
.select2-container--flat span.select2-search input {
  height: 1.875rem !important;
}

.select2-container {
  position: relative;
}
.select2-container .select2-choice {
  height: var(--height-input);
  border-radius: var(--border-radius-input);
  text-indent: 1px;
  box-shadow: none;
  background-image: none;
  padding: 1rem 1.5rem;
  font-weight: 300;
}
.select2-container .select2-choice div {
  border-left: 0.125rem solid #dce4ec;
  border-radius: 0 0.25rem 0.25rem 0;
  background-clip: padding-box;
}
.select2-container .select2-choice .select2-arrow {
  top: var(--height-input)/3;
  border: 0;
  border-radius: 0;
  background: transparent;
  background-image: none;
}
.select2-container *:focus {
  outline: 0;
}
.select2-container.select2-drop-above .select2-choice {
  border-bottom-color: #dce4ec;
  border-radius: 0;
}

.select2-drop {
  margin-top: -2px;
  border: 0.125rem solid transparent;
  border-top: 0;
  border-radius: 0 0 0.375rem 0.375rem;
  box-shadow: none;
}
.select2-drop.select2-drop-above {
  margin-top: 0.125rem;
  border-top: 0.125rem solid #dce4ec;
  border-bottom: 0;
  border-radius: 0.375rem 0.375rem 0 0;
  box-shadow: none;
}

.select2-search {
  margin-top: 0.1875rem;
}
.select2-search input {
  height: 1.625rem;
  border: 0.125rem solid #dce4ec;
}

.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
  border: 0.125rem solid #dce4ec;
  outline: none;
  box-shadow: none;
}

.select2-dropdown-open .select2-choice {
  box-shadow: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.select2-dropdown-open .select2-choice .select2-choice div {
  background: transparent;
  border-left: none;
  filter: none;
}

.select2-results {
  padding: 0;
  margin: 0.25rem 0 0 0;
}
.select2-results .select2-highlighted {
  background: var(--ds-color-primary);
  color: var(--ds-color-white);
  border-radius: 0;
}

.select2-container-multi .select2-choices {
  height: 1%;
  border: 0.125rem solid #dce4ec;
}
.select2-container-multi.select2-container-active .select2-choices {
  border: 0.125rem solid #dce4ec;
  border-radius: 0.375rem;
  box-shadow: none;
}

/****** Single SCSS *******/
.select2-container--flat .select2-selection--single {
  background: var(--ds-color-primary);
  border: 0;
  height: 2.125rem;
}
.select2-container--flat .select2-selection--single .select2-selection__rendered {
  color: var(--ds-color-white);
  line-height: 2.125rem;
}
.select2-container--flat .select2-selection--single .select2-selection__arrow {
  height: 2size 6;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 1.25rem;
}
.select2-container--flat .select2-selection--single .select2-selection__arrow b {
  border-color: var(--ds-color-white) transparent transparent transparent;
  top: 60%;
  border-style: solid;
  border-width: 0.3125rem 0.25rem 0 0.25rem;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  width: 0;
}
.select2-container--flat .select2-selection--single .select2-selection__placeholder {
  color: var(--ds-color-white);
}
.select2-container--flat .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
}

/****** Multiple SCSS *******/
.select2-container--flat .select2-selection--multiple {
  border: 1px solid var(--ds-color-primary);
}
.select2-container--flat .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: var(--ds-color-primary);
  cursor: pointer;
}
.select2-container--flat .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 0.3125rem;
  width: 100%;
}
.select2-container--flat .select2-selection--multiple .select2-selection__choice {
  background-color: var(--ds-color-primary);
  color: var(--ds-color-white);
  border: 1px solid var(--ds-color-primary);
  border-radius: 0;
  padding: 0.1875rem 0.3125rem;
  cursor: default;
  float: left;
  margin-right: 0.3125rem;
  margin-top: 0.3125rem;
}
.select2-container--flat .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--ds-color-primary);
  margin-right: 0.375rem;
  margin-left: 0.375rem;
  float: right;
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input[type=checkbox],
  input[type=radio] {
    --active: var(--ds-color-primary);
    --active-inner: var(--ds-color-white);
    --focus: 2px rgba(39, 94, 254, 0.3);
    --border: #bbc1e1;
    --border-hover: #275efe;
    --background: #fff;
    --disabled: #f6f8ff;
    --disabled-inner: #e1e6f9;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 21px;
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
  }
  input[type=checkbox]:after,
  input[type=radio]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
  }
  input[type=checkbox]:checked,
  input[type=radio]:checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: 0.3s;
    --d-t: 0.6s;
    --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);
  }
  input[type=checkbox]:disabled,
  input[type=radio]:disabled {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
  }
  input[type=checkbox]:disabled:checked,
  input[type=radio]:disabled:checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
  }
  input[type=checkbox]:disabled + label,
  input[type=radio]:disabled + label {
    cursor: not-allowed;
  }
  input[type=checkbox]:hover:not(:checked):not(:disabled),
  input[type=radio]:hover:not(:checked):not(:disabled) {
    --bc: var(--border-hover);
  }
  input[type=checkbox]:focus,
  input[type=radio]:focus {
    box-shadow: 0 0 0 var(--focus);
  }
  input[type=checkbox]:not(.switch),
  input[type=radio]:not(.switch) {
    width: 21px;
  }
  input[type=checkbox]:not(.switch):after,
  input[type=radio]:not(.switch):after {
    opacity: var(--o, 0);
  }
  input[type=checkbox]:not(.switch):checked,
  input[type=radio]:not(.switch):checked {
    --o: 1;
  }
  input[type=checkbox] + label,
  input[type=radio] + label {
    font-size: 0.875rem;
    line-height: 1.3125rem;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    margin-left: 4px;
  }
  input[type=checkbox]:not(.switch) {
    border-radius: var(--border-radius-input);
  }
  input[type=checkbox]:not(.switch):after {
    width: 5px;
    height: 9px;
    border: 2px solid var(--active-inner);
    border-top: 0;
    border-left: 0;
    left: 7px;
    top: 4px;
    transform: rotate(var(--r, 20deg));
  }
  input[type=checkbox]:not(.switch):checked {
    --r: 43deg;
  }
  input[type=checkbox].switch {
    width: 2.375rem;
    border-radius: 0.6875rem;
  }
  input[type=checkbox].switch:after {
    left: 2px;
    top: 2px;
    border-radius: 50%;
    width: var(--ds-spacings--standard);
    height: var(--ds-spacings--standard);
    background: var(--ab, var(--border));
    transform: translateX(var(--x, 0));
  }
  input[type=checkbox].switch:checked {
    --ab: var(--active-inner);
    --x: size(17);
  }
  input[type=checkbox].switch:disabled:not(:checked):after {
    opacity: 0.6;
  }
  input[type=radio] {
    border-radius: 50%;
  }
  input[type=radio]:after {
    width: 1.1875rem;
    height: 1.1875rem;
    border-radius: 50%;
    background: var(--active-inner);
    opacity: 0;
    transform: scale(var(--s, 0.7));
  }
  input[type=radio]:checked {
    --s: 0.5;
  }
}
.-themeDark {
  --bg-color-input: var(--ds-color-white);
  --color-input: var(--ds-color-black);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date],
textarea,
input[type=file],
input[type=password],
textarea,
input#regions,
input#countries {
  font-family: "Inter", sans-serif;
  position: relative;
  box-shadow: inset 0 0 rgba(0, 0, 0, 0);
  background-color: var(--bg-color-input);
  border: 1px solid var(--border-color-input);
  height: var(--height-input);
  margin-bottom: var(--ds-spacings--semi);
  padding: var(--ds-spacings--standard);
  border-radius: var(--border-radius-input);
  color: var(--color-input);
  width: 100%;
  line-height: var(--ds-spacings--medium);
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.9375rem;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=date]::placeholder,
textarea::placeholder,
input[type=file]::placeholder,
input[type=password]::placeholder,
textarea::placeholder,
input#regions::placeholder,
input#countries::placeholder {
  position: relative;
  color: var(--color-input);
}
input[type=text].wpcf7-validates-as-required,
input[type=email].wpcf7-validates-as-required,
input[type=tel].wpcf7-validates-as-required,
input[type=date].wpcf7-validates-as-required,
textarea.wpcf7-validates-as-required,
input[type=file].wpcf7-validates-as-required,
input[type=password].wpcf7-validates-as-required,
textarea.wpcf7-validates-as-required,
input#regions.wpcf7-validates-as-required,
input#countries.wpcf7-validates-as-required {
  position: relative;
}
input[type=text].wpcf7-validates-as-required::placeholder,
input[type=email].wpcf7-validates-as-required::placeholder,
input[type=tel].wpcf7-validates-as-required::placeholder,
input[type=date].wpcf7-validates-as-required::placeholder,
textarea.wpcf7-validates-as-required::placeholder,
input[type=file].wpcf7-validates-as-required::placeholder,
input[type=password].wpcf7-validates-as-required::placeholder,
textarea.wpcf7-validates-as-required::placeholder,
input#regions.wpcf7-validates-as-required::placeholder,
input#countries.wpcf7-validates-as-required::placeholder {
  position: relative;
}
input[type=text].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
input[type=date].wpcf7-not-valid,
textarea.wpcf7-not-valid,
input[type=file].wpcf7-not-valid,
input[type=password].wpcf7-not-valid,
textarea.wpcf7-not-valid,
input#regions.wpcf7-not-valid,
input#countries.wpcf7-not-valid {
  border: 1px solid var(--color-warning-input);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=date]:focus,
textarea:focus,
input[type=file]:focus,
input[type=password]:focus,
textarea:focus,
input#regions:focus,
input#countries:focus {
  border-color: var(--color-input);
  box-shadow: inset 0 0 rgba(0, 0, 0, 0);
}

textarea {
  height: 12.5rem;
  margin-bottom: var(--ds-spacings--xx-small);
}

.Modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.95);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 300ms ease-out, visibility 0s linear 300ms;
  padding-block: var(--ds-spacings--large);
}
.Modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 300ms ease-out, visibility 0s linear 0s;
}
.Modal.is-open .Modal-content {
  transform: scale(1);
}
.Modal-content {
  background-color: var(--ds-color-white);
  padding: var(--ds-spacings--small);
  max-width: 40.625rem;
  position: relative;
  margin: var(--ds-spacings--small);
  transform: scale(0.96);
  transition: transform 300ms ease-out;
}
.Modal-content img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  .Modal-content {
    margin: var(--ds-spacings--standard);
  }
}
.Modal-inner {
  display: flex;
  max-height: calc(90vh - var(--ds-spacings--standard) * 2);
  overflow-y: auto;
}
.Modal-closeBtn {
  position: absolute;
  width: 3.5rem;
  height: 3.5rem;
  right: -1rem;
  top: -1rem;
  z-index: 2;
  background-color: var(--ds-color-primary);
  border-radius: var(--ds-radius-round);
  border: 0;
  padding: var(--ds-spacings--standard);
  color: var(--ds-color-secondary);
  cursor: pointer;
}
.Modal.-team .Modal-inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "title" "description";
  gap: var(--ds-spacings--standard);
  padding: var(--ds-spacings--standard);
}
@media only screen and (min-width: 1024px) {
  .Modal.-team .Modal-inner {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "title picture" "description picture";
  }
}
.Modal.-team .Modal-title {
  grid-area: title;
}
.Modal.-team .Modal-description {
  grid-area: description;
}
.Modal.-team .Modal-picture {
  grid-area: picture;
  display: flex;
  justify-content: center;
  max-width: 100%;
}
@media only screen and (max-width: 990px) {
  .Modal.-team .Modal-picture {
    aspect-ratio: 1;
    max-width: 75%;
    margin-inline: auto;
  }
}
.Modal.-team .Modal-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--image-cover-aspect-ratio);
}
@media only screen and (max-width: 1023px) {
  .Modal.-team .Modal-title, .Modal.-team .Modal-description, .Modal.-team .Modal-picture {
    grid-column: 1/-1;
  }
}
.Modal.-testimonials {
  flex-direction: column;
}
.Modal.-testimonials .Modal-inner {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .Modal.-testimonials .Modal-inner {
    flex-direction: column;
  }
}
.Modal.-testimonials .Modal-picture {
  display: flex;
  min-height: 250px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .Modal.-testimonials .Modal-picture {
    width: 100%;
    height: 200px;
    justify-content: center;
  }
}
.Modal.-testimonials .Modal-picture img {
  object-fit: cover;
  object-position: center;
}
.Modal.-testimonials .Modal-leftContent {
  display: flex;
  flex-direction: column;
  padding: var(--ds-spacings--standard);
  flex: 1 0 65%;
}
.Modal.-slider {
  flex-direction: column;
  background-color: rgba(0, 0, 0, 0.8);
}
.Modal.-slider .Modal-inner {
  display: flex;
  flex-direction: column;
}
.Modal.-slider .Modal-picture {
  max-height: 70vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.Modal.-slider .Modal-picture img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.Modal.-slider .Modal-title {
  background-image: unset;
}
.Modal.-slider .Modal-description {
  position: absolute;
  bottom: 0;
  background-color: var(--ds-color-white);
  padding: var(--ds-spacings--standard);
}
.-themeDark .Modal {
  color: var(--ds-color-secondary);
}

.js-btn-modal {
  cursor: pointer;
}

.overlay {
  position: fixed;
  inset: 0;
  z-index: 14;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 300ms ease-out, visibility 0s linear 300ms;
}
.overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 300ms ease-out, visibility 0s linear 0s;
}

.SearchContentModal {
  position: fixed;
  inset: -100% 0 0 0;
  width: 100%;
  height: 100%;
  background-color: var(--ds-color-secondary);
  z-index: 50;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: top 0.45s cubic-bezier(0.5, 1, 0.89, 1);
}
.SearchContentModal.active {
  visibility: visible;
  top: 0;
  width: 100%;
  transition: top 0.45s cubic-bezier(0.5, 1, 0.89, 1);
}
.SearchContentModal-close {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  z-index: 5;
  background: transparent;
  color: var(--ds-color-secondary);
  border: 0;
  border-radius: var(--ds-radius-width-medium);
  width: 4rem;
  height: 4rem;
  font-size: 0;
  margin: 0;
  padding: 0;
  top: var(--ds-spacings--medium);
  right: var(--ds-spacings--medium);
  cursor: pointer;
  border: 2px solid var(--ds-color-primary);
}
.SearchContentModal-close:after {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  font-family: "Line Awesome Free";
  content: "\f00d";
  font-size: 2rem;
  color: var(--ds-color-white);
  font-weight: 900;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0);
}
.SearchContentModal-close:hover {
  transition: all 0.3s ease-in-out 0s;
  background: transparent;
  color: var(--ds-color-white);
}
.SearchContentModal-close:hover:after {
  transition: all 0.3s ease-in-out 0s;
  color: var(--ds-color-white);
  transform: translate(-50%, -50%) rotate(225deg) scale(0.7);
}
.SearchContentModal-content {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  margin: auto;
  padding-inline: var(--ds-spacings--xx-large);
}
.SearchContentModal-content form {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: auto;
}
.SearchContentModal-content form input[type=text] {
  position: relative;
  box-shadow: inset 0 0 rgba(0, 0, 0, 0);
  border-radius: 0;
  width: 100%;
  margin: 0;
  outline: none;
}
.SearchContentModal-actions {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  display: block;
  right: 0.375rem;
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0;
}
.SearchContentModal-actions input[type=submit] {
  position: relative;
  z-index: 10;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 0;
  background: var(--bg-color-submit) url(.././dist/images/da2c6dbb53535102372b.svg) no-repeat center center;
  background-size: 1.5rem;
}
.SearchContentModal-actions input[type=submit]:hover {
  background: var(--ds-color-primary) url(.././dist/images/da2c6dbb53535102372b.svg) no-repeat center center;
  background-size: 1.5rem;
}

.SearchResults {
  list-style-type: none;
  padding-left: 0;
}
.SearchResults li {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  list-style-type: none;
  background: var(--ds-color-secondary);
  margin-block-end: var(--ds-spacings--standard);
}
.SearchResults li:after {
  transition: all 0.3s ease-in-out 0s;
  position: absolute;
  content: "\f105";
  font-family: "Line Awesome Free";
  font-weight: 900;
  font-size: 1rem;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ds-color-white);
}
.SearchResults li:before {
  display: none;
}
.SearchResults li h4,
.SearchResults li p {
  color: var(--ds-color-white);
}
.SearchResults li a {
  background: transparent;
  display: inline-block;
  width: 100%;
  padding-inline: var(--ds-spacings--large);
  padding-block: var(--ds-spacings--x-large);
  text-decoration: none;
}
.SearchResults li:hover {
  background-color: var(--ds-color-secondary);
}
.SearchResults li:hover h4,
.SearchResults li:hover p {
  color: var(--ds-color-white);
}
.SearchResults li:hover:after {
  color: var(--ds-color-white);
}

.ParallaxWrapper {
  position: relative;
}
.ParallaxWrapper-section {
  position: sticky;
  top: 0;
  width: 100%;
}
.ParallaxWrapper-fixed {
  display: grid;
  gap: 2rem;
  padding-block: 8rem;
}
@media only screen and (min-width: 768px) {
  .ParallaxWrapper-fixed {
    grid-template-columns: 75% auto;
  }
}
.ParallaxWrapper-title {
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .ParallaxWrapper-description {
    max-width: 65%;
  }
}
.ParallaxWrapper-actions {
  margin-top: 2.5rem;
}
.ParallaxWrapper-sectionTags {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .ParallaxWrapper-sectionTags {
    padding-right: 2.5rem;
  }
}
.ParallaxWrapper-sectionTags h3 {
  margin-bottom: 1rem;
}
.ParallaxWrapper-sectionTags ul {
  padding: unset;
}
.ParallaxWrapper-sectionTags ul li {
  all: unset;
}
.ParallaxWrapper-section:nth-child(1) {
  background-color: #ffcd00;
  color: #000000;
  z-index: 1;
  z-index: 1;
}

.ParallaxWrapper-section:nth-child(2) {
  background-color: #b8d5ff;
  color: #000000;
  z-index: 3;
  z-index: 2;
}

.ParallaxWrapper-section:nth-child(3) {
  background-color: rgba(212, 184, 150, 0.2);
  color: #000000;
  z-index: 2;
  z-index: 3;
}

:root {
  --var-nav-bgcolor: transparent;
  --var-link-color: var(--ds-color-secondary);
  --var-link-hover-color: var(--ds-color-primary);
  --var-link-bgcolor: transparent;
  --var-submenu-bgcolor: var(--ds-color-secondary);
  --var-link-submenu-color: var(--ds-color-white);
  --var-link-submenu-hover-color: var(--ds-color-secondary);
  --var-nav-mobile-bgcolor: var(--ds-color-secondary);
  --var-link-radius: var(--ds-radius-width-large);
  --var-last-link-bgcolor: transparent;
  --var-last-link-color: var(--ds-color-secondary);
}

nav {
  background-color: var(--var-nav-bgcolor);
}
@media only screen and (min-width: 1024px) {
  nav {
    border-radius: var(--var-link-radius);
    padding-inline: var(--ds-spacings--standard);
    padding-block: var(--ds-spacings--semi);
  }
}
nav ul.SiteHeader-popupSearch, nav ul.MenuTop {
  position: relative;
  display: flex;
  margin: 0;
  padding-inline: 0;
  column-gap: var(--ds-spacings--semi);
}
@media only screen and (max-width: 1023px) {
  nav ul.SiteHeader-popupSearch, nav ul.MenuTop {
    position: fixed;
    right: -100%;
    z-index: 20;
    flex-direction: column;
    top: calc(var(--header-height) + var(--var-padding-block-header));
    display: flex;
    align-items: center;
    padding: var(--ds-spacings--xx-large) var(--ds-spacings--standard);
    width: 100%;
    height: 100%;
    will-change: right;
    background-color: var(--var-nav-mobile-bgcolor);
    transition: right 0.45s ease;
  }
  nav ul.SiteHeader-popupSearch::before, nav ul.MenuTop::before {
    position: absolute;
    background-color: var(--var-nav-mobile-bgcolor);
    content: "";
    top: calc(-100px - var(--var-padding-block-header));
    left: 0;
    width: 100%;
    height: calc(100px + var(--var-padding-block-header));
  }
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch, .SiteHeader.-burgerEverywhere nav ul.MenuTop {
  position: fixed;
  right: -100%;
  z-index: 20;
  flex-direction: column;
  top: calc(var(--header-height) + var(--var-padding-block-header));
  display: flex;
  align-items: center;
  padding: var(--ds-spacings--medium);
  width: 100%;
  height: 100%;
  will-change: right;
  background-color: var(--var-nav-mobile-bgcolor);
  transition: right 0.45s ease;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch::before, .SiteHeader.-burgerEverywhere nav ul.MenuTop::before {
  position: absolute;
  background-color: var(--var-nav-mobile-bgcolor);
  content: "";
  top: calc(-100px - var(--var-padding-block-header));
  left: 0;
  width: 100%;
  height: calc(100px + var(--var-padding-block-header));
}
nav ul.SiteHeader-popupSearch.animate, nav ul.MenuTop.animate {
  right: 0;
}
nav ul.SiteHeader-popupSearch li.nav-link, nav ul.MenuTop li.nav-link {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  list-style-type: none;
  width: 100%;
  margin: 0;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.nav-link, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.nav-link {
  padding-block: 0;
}
nav ul.SiteHeader-popupSearch li.nav-link:before, nav ul.MenuTop li.nav-link:before {
  display: none;
}
nav ul.SiteHeader-popupSearch li.nav-link button,
nav ul.SiteHeader-popupSearch li.nav-link a, nav ul.MenuTop li.nav-link button,
nav ul.MenuTop li.nav-link a {
  transition: all 0.3s ease-in-out 0s;
  display: flex;
  padding: var(--ds-spacings--semi) var(--ds-spacings--medium);
  line-height: 1;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  width: max-content;
  border-radius: var(--var-link-radius);
  font-weight: 800;
  color: var(--var-link-color);
}
nav ul.SiteHeader-popupSearch li.nav-link button:hover,
nav ul.SiteHeader-popupSearch li.nav-link a:hover, nav ul.MenuTop li.nav-link button:hover,
nav ul.MenuTop li.nav-link a:hover {
  transition: all 0.3s ease-in-out 0s;
}
nav ul.SiteHeader-popupSearch li.nav-link:hover, nav ul.MenuTop li.nav-link:hover {
  transition: background-color 0.5s ease-in-out;
  border-radius: var(--var-link-radius);
}
@media only screen and (min-width: 1024px) {
  nav ul.SiteHeader-popupSearch li.nav-link:hover, nav ul.MenuTop li.nav-link:hover {
    background: var(--var-link-bgcolor);
  }
}
nav ul.SiteHeader-popupSearch li.nav-link:hover button,
nav ul.SiteHeader-popupSearch li.nav-link:hover a, nav ul.MenuTop li.nav-link:hover button,
nav ul.MenuTop li.nav-link:hover a {
  color: var(--var-link-hover-color);
  background: transparent;
}
@media only screen and (min-width: 1024px) {
  nav ul.SiteHeader-popupSearch li, nav ul.MenuTop li {
    position: relative;
    list-style-type: none;
    height: 100%;
  }
  nav ul.SiteHeader-popupSearch li.nav-link, nav ul.MenuTop li.nav-link {
    position: relative;
    list-style-type: none;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease-in-out;
    width: max-content;
    text-align: center;
  }
  nav ul.SiteHeader-popupSearch li.nav-link:before, nav ul.MenuTop li.nav-link:before {
    display: none;
  }
  nav ul.SiteHeader-popupSearch li.nav-link button,
  nav ul.SiteHeader-popupSearch li.nav-link a, nav ul.MenuTop li.nav-link button,
  nav ul.MenuTop li.nav-link a {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    padding: var(--ds-spacings--semi) var(--ds-spacings--medium);
    line-height: 1;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    text-align: center;
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]), nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]) {
    background-color: var(--var-link-bgcolor);
    border-radius: var(--var-link-radius);
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]) > a, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]) > a {
    color: var(--var-link-hover-color);
    background: transparent;
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]):after, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=true]):after {
    background-color: var(--var-link-hover-color);
    transform: rotate(270deg);
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]) > a, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]) > a {
    color: var(--var-link-color);
    background: transparent;
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):after, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):after {
    background-color: var(--var-link-color);
    transform: rotate(90deg);
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover {
    background-color: var(--var-link-bgcolor);
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover > a, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover > a {
    color: var(--var-link-hover-color);
  }
  nav ul.SiteHeader-popupSearch li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover:after, nav ul.MenuTop li.nav-link.menu-item-has-children:has(> a[aria-expanded=false]):hover:after {
    background-color: var(--var-link-hover-color);
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children, nav ul.MenuTop li.menu-item-has-children {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children:after, nav ul.MenuTop li.menu-item-has-children:after {
    position: relative;
    content: "";
    mask-image: url(.././dist/images/e023c72bc7003f995a4e.svg);
    mask-position: center;
    mask-repeat: no-repeat;
    display: flex;
    padding-inline: var(--ds-spacings--semi);
    background-color: var(--var-link-color);
    transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
    width: 0.75rem;
    height: 0.75rem;
    margin-right: var(--ds-spacings--small);
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu, nav ul.MenuTop li.menu-item-has-children ul.submenu {
    position: absolute;
    z-index: 150;
    left: 0;
    top: calc(100% - 0px);
    margin: 0 auto;
    padding: 0;
    width: auto;
    min-width: 13.75rem;
    background: var(--var-submenu-bgcolor);
    transform: translateY(calc(var(--ds-spacings--small) * 2));
    display: flex;
    flex-direction: column;
    border-radius: var(--ds-spacings--small);
    overflow: hidden;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link {
    position: relative;
    z-index: 9;
    margin-bottom: 0;
    padding: 0;
    width: 100%;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link:after, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link:after {
    display: none;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link a, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link a {
    position: relative;
    font-size: 0.875rem;
    text-align: left;
    color: var(--var-link-color);
    width: 100%;
    background-color: transparent;
    transition: all 0.3s ease-in-out 0s;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link a:after, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link a:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.0625rem;
    transition: all 0.3s ease-in-out;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link a:hover, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link a:hover {
    color: var(--var-link-submenu-hover-color);
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link a:before, nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link a:after, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link a:before, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link a:after {
    display: none;
  }
  nav ul.SiteHeader-popupSearch li.menu-item-has-children ul.submenu li.nav-link:hover, nav ul.MenuTop li.menu-item-has-children ul.submenu li.nav-link:hover {
    border-radius: unset;
  }
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li, .SiteHeader.-burgerEverywhere nav ul.MenuTop li {
  position: relative;
  height: auto;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.nav-link, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.nav-link {
  width: 100%;
  display: block;
  text-align: left;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.nav-link button,
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.nav-link a, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.nav-link button,
.SiteHeader.-burgerEverywhere nav ul.MenuTop li.nav-link a {
  width: 100%;
  height: auto;
  justify-content: space-between;
  text-align: left;
  font-size: 1rem;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.menu-item-has-children, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.menu-item-has-children {
  display: block;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.menu-item-has-children:after, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.menu-item-has-children:after {
  display: none;
}
.SiteHeader.-burgerEverywhere nav ul.SiteHeader-popupSearch li.menu-item-has-children ul, .SiteHeader.-burgerEverywhere nav ul.MenuTop li.menu-item-has-children ul {
  position: static;
  z-index: auto;
  left: auto;
  top: auto;
  margin: 0;
  min-width: 100%;
  width: 100%;
  transform: none;
  border-radius: 0;
}
nav ul.SiteHeader-popupSearch.-mobileVersion, nav ul.MenuTop.-mobileVersion {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  height: 100dvh;
  padding: calc(100px + var(--ds-spacings--xxx-large)) var(--ds-spacings--standard);
  background-color: var(--var-nav-mobile-bgcolor);
  transform: none !important;
  gap: var(--ds-spacings--large);
}
nav ul.SiteHeader-popupSearch.-mobileVersion[hidden], nav ul.MenuTop.-mobileVersion[hidden] {
  display: none !important;
}
nav ul.SiteHeader-popupSearch.-mobileVersion li.nav-link, nav ul.MenuTop.-mobileVersion li.nav-link {
  width: 100%;
  max-width: 42rem;
  overflow: hidden;
}
nav ul.SiteHeader-popupSearch.-mobileVersion li.nav-link button,
nav ul.SiteHeader-popupSearch.-mobileVersion li.nav-link a, nav ul.MenuTop.-mobileVersion li.nav-link button,
nav ul.MenuTop.-mobileVersion li.nav-link a {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  padding: 0.35rem 0;
  font-size: 2.5rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  border-radius: 0;
  background: transparent;
  text-align: left;
  color: var(--var-link-color);
  text-decoration: none;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children, nav ul.MenuTop.-mobileVersion .menu-item-has-children {
  position: relative;
  width: 100%;
  overflow: visible;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children:after, nav ul.MenuTop.-mobileVersion .menu-item-has-children:after {
  display: none;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a, nav ul.MenuTop.-mobileVersion .menu-item-has-children > a {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  align-items: center;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a:after, nav ul.MenuTop.-mobileVersion .menu-item-has-children > a:after {
  transition: all 0.3s ease-in-out 0s;
  position: relative;
  content: "";
  right: var(--ds-spacings--standard);
  width: 0.75rem;
  height: 0.75rem;
  display: flex;
  padding-inline: var(--ds-spacings--semi);
  mask-image: url(.././dist/images/e023c72bc7003f995a4e.svg);
  mask-position: center;
  mask-repeat: no-repeat;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a[aria-expanded=true], nav ul.MenuTop.-mobileVersion .menu-item-has-children > a[aria-expanded=true] {
  color: var(--var-link-hover-color);
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a[aria-expanded=true]:after, nav ul.MenuTop.-mobileVersion .menu-item-has-children > a[aria-expanded=true]:after {
  background-color: var(--var-link-hover-color);
  transform: rotate(270deg);
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a[aria-expanded=false], nav ul.MenuTop.-mobileVersion .menu-item-has-children > a[aria-expanded=false] {
  color: var(--var-link-color);
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children > a[aria-expanded=false]:after, nav ul.MenuTop.-mobileVersion .menu-item-has-children > a[aria-expanded=false]:after {
  background-color: var(--var-link-color);
  transform: rotate(90deg);
}
nav ul.SiteHeader-popupSearch.-mobileVersion .menu-item-has-children ul, nav ul.MenuTop.-mobileVersion .menu-item-has-children ul {
  position: static;
  z-index: auto;
  left: auto;
  top: auto;
  margin: 0;
  min-width: 100%;
  width: 100%;
  transform: none;
  border-radius: 0;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .submenu,
nav ul.SiteHeader-popupSearch.-mobileVersion .sub-menu, nav ul.MenuTop.-mobileVersion .submenu,
nav ul.MenuTop.-mobileVersion .sub-menu {
  display: none;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: static;
  width: 100%;
  margin: 0;
  padding-left: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 500ms ease-in-out, opacity 0.3s ease, visibility 0.3s ease;
}
nav ul.SiteHeader-popupSearch.-mobileVersion .submenu.active,
nav ul.SiteHeader-popupSearch.-mobileVersion .sub-menu.active, nav ul.MenuTop.-mobileVersion .submenu.active,
nav ul.MenuTop.-mobileVersion .sub-menu.active {
  display: block;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  max-height: 50rem;
}
nav ul.MenuTop li.nav-link:last-child a {
  background-color: var(--var-last-link-bgcolor);
  color: var(--var-last-link-color);
}
nav ul ul {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
nav ul > li > a[aria-expanded=true] + ul {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.SiteHeader.-burgerEverywhere nav .MenuTop.animate {
  right: 0;
}

.MenuTop.-mobileVersion,
.SiteHeader.-burgerEverywhere nav .MenuTop,
.NavOverlay-left .MenuTop {
  will-change: opacity;
}
.MenuTop.-mobileVersion .menu-item,
.SiteHeader.-burgerEverywhere nav .MenuTop .menu-item,
.NavOverlay-left .MenuTop .menu-item {
  overflow: hidden;
  width: 100%;
  max-width: 42rem;
}
.MenuTop.-mobileVersion .MenuTop-itemMask,
.SiteHeader.-burgerEverywhere nav .MenuTop .MenuTop-itemMask,
.NavOverlay-left .MenuTop .MenuTop-itemMask {
  display: block;
  overflow: hidden;
  width: 100%;
}
.MenuTop.-mobileVersion .MenuTop-itemMask > a,
.SiteHeader.-burgerEverywhere nav .MenuTop .MenuTop-itemMask > a,
.NavOverlay-left .MenuTop .MenuTop-itemMask > a {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
  display: inline-flex;
}

.OpeningHours {
  --oh-dot-open: #10b981;
  --oh-dot-closed: #ef4444;
  --oh-text: inherit;
  color: var(--oh-text);
  font-size: 0.8125rem;
  /* Variant status-only */
  /* Variant compact : status + schedule côte à côte */
}
.OpeningHours-status {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-spacings--small);
  font-weight: 600;
  margin-block-end: var(--ds-spacings--small);
}
.OpeningHours-statusDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--oh-dot-closed);
  transition: background 300ms ease;
}
.OpeningHours-statusDot.-open {
  background: var(--oh-dot-open);
}
.OpeningHours-statusDot.-closed {
  background: var(--oh-dot-closed);
}
.OpeningHours-statusTime {
  font-variant-numeric: tabular-nums;
  opacity: 0.75;
}
.OpeningHours-statusLabel::before {
  content: "•   ";
}
.OpeningHours-schedule {
  margin-block-start: var(--ds-spacings--xx-small);
  font-size: 0.75rem;
  line-height: 1.6;
  opacity: 0.85;
}
.OpeningHours-row {
  display: flex;
  gap: var(--ds-spacings--medium);
}
.OpeningHours-row.-closed {
  opacity: 0.5;
}
.OpeningHours-day {
  min-width: 9ch;
  font-weight: 500;
}
.OpeningHours-time {
  font-variant-numeric: tabular-nums;
}
.OpeningHours.-variant-status-only .OpeningHours-schedule {
  display: none;
}
.OpeningHours.-variant-compact {
  display: flex;
  gap: var(--ds-spacings--standard);
  align-items: baseline;
  flex-wrap: wrap;
}
.OpeningHours.-variant-compact .OpeningHours-schedule {
  margin-block-start: 0;
}

.TopIntro {
  margin-top: calc(var(--header-height) * -1);
  background-color: var(--ds-color-white);
}
.TopIntro-picture {
  position: absolute;
  background-color: transparent;
  display: flex;
  width: 100%;
  height: 100%;
}
.TopIntro-picture img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
  position: relative;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
}
.TopIntro-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  min-height: 20rem;
  text-align: center;
}
.TopIntro-surtitle {
  font-size: var(--ds-font-size-50);
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  background-color: var(--ds-color-beige);
  width: max-content;
  margin-inline: auto;
  padding: var(--ds-spacings--small) var(--ds-spacings--medium);
  border-radius: var(--ds-radius-width-large);
}
.TopIntro-inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  align-items: flex-end;
  justify-content: flex-start;
  z-index: 2;
  padding: var(--ds-spacings--medium) var(--ds-spacings--standard);
}
.TopIntro-breadcrumbs {
  display: none;
}
.TopIntro-breadcrumbs nav {
  position: relative;
  z-index: 3;
  align-self: flex-start;
  margin-block-end: var(--ds-spacings--medium);
  padding-inline: unset;
  background-color: transparent;
}
.TopIntro-breadcrumbs nav a {
  display: unset;
}
.TopIntro-title {
  text-align: center;
}
.TopIntro-meta, .TopIntro-excerpt {
  display: flex;
  justify-content: center;
  text-align: center;
}
.TopIntro-meta .Meta {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-block-end: var(--ds-spacings--standard);
  margin-inline: auto;
}
.TopIntro.-blog .TopIntro-meta .Meta, .TopIntro.-blogIntro .TopIntro-meta .Meta {
  width: max-content;
  padding-inline: var(--ds-spacings--standard);
}
.TopIntro.-catalog {
  min-height: unset;
}
.TopIntro.-catalog .TopIntro-wrapper {
  min-height: unset;
}
.TopIntro.-catalog .TopIntro-desc {
  padding-block-start: calc(var(--header-height) + var(--ds-spacings--standard));
  padding-block-end: var(--ds-spacings--standard);
}
.TopIntro.-contact .TopIntro-inner, .TopIntro.-contactWrapper .TopIntro-inner {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: var(--ds-spacings--standard);
}
.TopIntro.-contact .TopIntro-desc, .TopIntro.-contactWrapper .TopIntro-desc {
  flex: 1 1 50%;
}
.TopIntro.-contact .TopIntro-picture, .TopIntro.-contactWrapper .TopIntro-picture {
  position: relative;
  flex: 1 1 40%;
  height: auto;
}
.TopIntro.-contact .TopIntro-picture img, .TopIntro.-contactWrapper .TopIntro-picture img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
}
.TopIntro.-contact .TopIntro-content, .TopIntro.-contactWrapper .TopIntro-content {
  margin-block-start: var(--ds-spacings--standard);
}
.TopIntro.-themeLight {
  background-color: var(--theme-light-bg);
  color: var(--theme-light-text);
  --bg-theme-color: var(--theme-light-bg);
  --text-theme-color: var(--theme-light-text);
  --btn-primary-bg: var(--ds-color-secondary);
  --btn-primary-text: var(--ds-color-primary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-white);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-secondary);
  --btn-secondary-hover-text: var(--ds-color-primary);
  --btn-simpleLink-text: var(--ds-color-secondary);
  --btn-simpleLink-hover: var(--ds-color-white);
  --btn-download-bg: var(--ds-color-secondary);
  --btn-download-text: var(--ds-color-white);
  --btn-download-hover-bg: var(--ds-color-primary);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-secondary);
  --btn-arrow-text: var(--ds-color-white);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-primary);
}
.TopIntro.-themeLight .TopIntro-picture {
  background-color: transparent;
}
.TopIntro.-themeLight .TopIntro-picture img {
  opacity: 0.4;
}
.TopIntro.-themeLight:has(img) {
  background-color: var(--ds-color-white);
}
.TopIntro.-themeDark {
  background-color: var(--theme-dark-bg);
  color: var(--theme-dark-text);
  --bg-theme-color: var(--theme-dark-bg);
  --text-theme-color: var(--theme-dark-text);
  --btn-primary-bg: var(--ds-color-primary);
  --btn-primary-text: var(--ds-color-secondary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-primary);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-white);
  --btn-secondary-hover-text: var(--ds-color-secondary);
  --btn-simpleLink-text: var(--ds-color-white);
  --btn-simpleLink-hover: var(--ds-color-primary);
  --btn-download-bg: var(--ds-color-primary);
  --btn-download-text: var(--ds-color-secondary);
  --btn-download-hover-bg: var(--ds-color-white);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-primary);
  --btn-arrow-text: var(--ds-color-secondary);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-secondary);
}
.TopIntro.-themeDark .TopIntro-picture {
  background-color: transparent;
}
.TopIntro.-themeDark .TopIntro-picture img {
  opacity: 0.35;
}
.TopIntro.-themeDark:has(img) {
  background-color: var(--ds-color-black);
}

.HeroHome {
  background-color: var(--theme-dark-bg);
  color: var(--theme-dark-text);
  --bg-theme-color: var(--theme-dark-bg);
  --text-theme-color: var(--theme-dark-text);
  --btn-primary-bg: var(--ds-color-primary);
  --btn-primary-text: var(--ds-color-secondary);
  --btn-primary-hover-bg: var(--ds-color-white);
  --btn-primary-hover-text: var(--ds-color-secondary);
  --btn-secondary-bg: var(--ds-color-primary);
  --btn-secondary-text: var(--ds-color-secondary);
  --btn-secondary-hover-bg: var(--ds-color-white);
  --btn-secondary-hover-text: var(--ds-color-secondary);
  --btn-simpleLink-text: var(--ds-color-white);
  --btn-simpleLink-hover: var(--ds-color-primary);
  --btn-download-bg: var(--ds-color-primary);
  --btn-download-text: var(--ds-color-secondary);
  --btn-download-hover-bg: var(--ds-color-white);
  --btn-download-hover-text: var(--ds-color-secondary);
  --btn-arrow-bg: var(--ds-color-primary);
  --btn-arrow-text: var(--ds-color-secondary);
  --btn-arrow-hover-bg: var(--ds-color-white);
  --btn-arrow-hover-text: var(--ds-color-secondary);
  --sn-icon-color: var(--ds-color-secondary);
  --sn-icon-hover-color: var(--ds-color-secondary);
  position: relative;
  overflow: hidden;
  padding-top: calc(var(--ds-spacings--x-wide) + var(--ds-spacings--medium));
  min-height: calc(100vh - var(--sticky-header-height, 5.65rem));
}
@media only screen and (min-width: 1024px) {
  .HeroHome {
    padding-top: calc(var(--ds-spacings--x-wide) + var(--ds-spacings--medium));
  }
}
.HeroHome[data-hero-state=pending] .HeroHome-eyebrow,
.HeroHome[data-hero-state=pending] .HeroHome-subtitle,
.HeroHome[data-hero-state=pending] .HeroHome-lede,
.HeroHome[data-hero-state=pending] .HeroHome-cta {
  opacity: 0;
  transform: translateY(20px);
}
.HeroHome[data-hero-state=pending] .HeroHome-title {
  visibility: hidden;
}
.HeroHome[data-hero-state=pending] .HeroHome-pictureMedia {
  opacity: 0.9;
  transform: scale(1.08) translateY(20px);
}
.HeroHome[data-hero-state=pending] .HeroHome-trackInner {
  opacity: 0;
  transform: translateY(50px);
}
.HeroHome[data-hero-state=pending] .TextHighlight {
  --highlight-scale: 0;
}
.HeroHome-track {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 3;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
  mix-blend-mode: overlay;
  color: currentColor;
}
@media only screen and (min-width: 1024px) {
  .HeroHome-track {
    opacity: 0.5;
  }
}
.HeroHome-trackInner {
  display: flex;
  width: max-content;
  will-change: transform, opacity;
}
.HeroHome-trackGroup {
  display: flex;
  flex-shrink: 0;
}
.HeroHome-trackGroup span {
  display: inline-block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(6rem, 15vw, 14rem);
  line-height: 1;
  letter-spacing: -0.02em;
  padding-right: 0.2em;
  white-space: nowrap;
}
.HeroHome-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-spacings--large);
  align-items: center;
}
@media only screen and (min-width: 1024px) {
  .HeroHome.-hasPortrait .HeroHome-inner {
    grid-template-columns: 1.2fr 1fr;
    gap: var(--ds-spacings--wide);
  }
}
.HeroHome-content {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1023px) {
  .HeroHome-content {
    margin-block-start: var(--ds-spacings--large);
  }
}
.HeroHome-eyebrow {
  font-family: "DM Mono", monospace;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin: 0;
  opacity: 0.65;
  will-change: transform, opacity;
}
@media only screen and (min-width: 1024px) {
  .HeroHome-eyebrow {
    font-size: 0.875rem;
  }
}
.HeroHome-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.5rem, 6vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-block-start: var(--ds-spacings--medium);
}
.HeroHome-title .TextHighlight {
  --highlight-color: var(--ds-color-primary);
}
@media only screen and (min-width: 1200px) {
  .HeroHome-title {
    font-size: clamp(2rem, 5.5vw, 3rem);
  }
}
.HeroHome-subtitle {
  text-transform: uppercase;
  font-size: clamp(1rem, 2vw, 1.5rem);
  font-weight: 100;
  color: rgba(242, 236, 228, 0.5);
  line-height: 1.3;
  letter-spacing: 0.01em;
  opacity: 0.9;
  max-width: 38em;
  margin-top: -0.5rem;
  margin-bottom: 0.5rem;
  will-change: transform, opacity;
  margin-block-start: var(--ds-spacings--standard);
}
@media only screen and (min-width: 1024px) {
  .HeroHome-subtitle {
    font-size: clamp(1rem, 0.5vw, 1.5rem);
  }
}
.HeroHome-lede {
  font-family: "Inter", sans-serif;
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 38em;
  margin: 0;
  opacity: 0.85;
  will-change: transform, opacity;
  margin-block-start: var(--ds-spacings--standard);
}
@media only screen and (min-width: 1024px) {
  .HeroHome-lede {
    font-size: 1.25rem;
  }
}
.HeroHome-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-spacings--standard);
  margin-top: var(--ds-spacings--medium);
}
@media only screen and (min-width: 768px) {
  .HeroHome-ctas {
    gap: var(--ds-spacings--medium);
  }
}
.HeroHome-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-spacings--small);
  padding: var(--ds-spacings--standard) var(--ds-spacings--large);
  border-radius: 50px;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  will-change: transform, opacity;
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease, filter 0.3s ease;
}
.HeroHome-cta:hover, .HeroHome-cta:focus-visible {
  transform: translateY(-2px);
}
.HeroHome-cta.-primary {
  border: 1px solid var(--ds-color-primary);
}
.HeroHome-cta.-primary:hover, .HeroHome-cta.-primary:focus-visible {
  filter: brightness(0.95);
  border: 1px solid var(--ds-color-white);
}
.HeroHome-cta.-secondary {
  background-color: transparent;
  color: currentColor;
  border: 1px solid currentColor;
  opacity: 0.85;
}
.HeroHome-cta.-secondary:hover, .HeroHome-cta.-secondary:focus-visible {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.06);
}
.-themeLight .HeroHome-cta.-secondary:hover, .-themeLight .HeroHome-cta.-secondary:focus-visible {
  background-color: rgba(0, 0, 0, 0.04);
}
.HeroHome-ctaArrow {
  display: inline-block;
  transition: transform 0.3s ease;
}
.HeroHome-cta:hover .HeroHome-ctaArrow, .HeroHome-cta:focus-visible .HeroHome-ctaArrow {
  transform: translateX(3px);
}
.HeroHome-picture {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
@media only screen and (max-width: 479px) {
  .HeroHome-picture {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .HeroHome-picture {
    margin: 0;
    max-width: 100%;
  }
}
.HeroHome-pictureMedia {
  position: absolute;
  inset: 0;
  overflow: hidden;
  will-change: transform, opacity;
}
.HeroHome-pictureImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.HeroHome-pictureMask {
  position: absolute;
  inset: 0;
  display: flex;
  pointer-events: none;
  z-index: 2;
}
.HeroHome-pictureMask span {
  flex: 1;
  background-color: transparent;
  transform-origin: top;
  will-change: transform;
  outline: 1px solid transparent;
  outline-offset: 0;
}
.-themeLight .HeroHome-pictureMask span {
  background-color: var(--ds-color-beige-dark, #cfc5b7);
  outline-color: var(--ds-color-beige-dark, #cfc5b7);
}
.HeroHome.-noPortrait .HeroHome-inner {
  grid-template-columns: 1fr;
  max-width: 880px;
}

:root {
  --sticky-header-height: 5.65rem;
  --bg-color-dots: var(--ds-color-white);
  --bg-color-dots-selected: var(--ds-color-black);
  --bg-color-button: var(--ds-color-white);
  --bg-color-button-hover: var(--ds-color-white);
  --color-arrow-button: var(--ds-color-black);
  --color-arrow-button-hover: var(--ds-color-black);
}
@media only screen and (min-width: 1024px) {
  :root {
    --sticky-header-height: 7.25rem;
  }
}

.HomeSlider {
  position: relative;
  width: 100%;
  margin-block-start: var(--ds-spacings--large);
  /* =========================
     SLIDE SANS MÉDIA EN FOND
  ========================== */
  /* =========================
     CONTENT
  ========================== */
  /* =========================
     TEXT ZONE
  ========================== */
  /* =========================
     IMAGE ZONE
  ========================== */
  /* =========================
     MOBILE FIXES
  ========================== */
  /* Boutons : style par défaut secondaire, avec variante primaire */
  /* =========================
     VIDÉO — AUTOPLAY MUET (fond)
  ========================== */
  /* =========================
     VIDÉO — FAÇADE CLICK-TO-PLAY
     Le <button> englobe toute la zone : clic possible partout sur l'image.
  ========================== */
  /* Iframe injectée après clic (remplace la façade) */
  /* =========================
     SPLIDE
  ========================== */
}
.-themeDark .HomeSlider {
  background-color: var(--ds-color-secondary);
}
.HomeSlider-content.is-no-media-bg {
  padding-block: var(--ds-spacings--xx-large);
}
.HomeSlider-content {
  position: relative;
  height: 100%;
  z-index: 1;
  /* =====================================
     SPLIT LAYOUT
  ====================================== */
  /* =====================================
     FULL LAYOUT
  ====================================== */
}
.HomeSlider-content h1 {
  line-height: 1.1;
  margin-bottom: 0;
}
.HomeSlider-content.is-layout-split {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "picture" "desc";
}
.HomeSlider-content.is-layout-split .HomeSlider-picture {
  grid-area: picture;
}
.HomeSlider-content.is-layout-split .HomeSlider-desc {
  grid-area: desc;
}
@media (min-width: 1024px) {
  .HomeSlider-content.is-layout-split {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "desc picture";
    align-items: stretch;
  }
}
@media only screen and (min-width: 1024px) {
  .HomeSlider-content.is-layout-split.is-image-left {
    grid-template-areas: "picture desc";
  }
}
.HomeSlider-content.is-layout-full {
  display: block;
}
.HomeSlider-content.is-layout-full .HomeSlider-picture {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.HomeSlider-content.is-layout-full .HomeSlider-desc {
  position: relative;
  z-index: 2;
  max-width: 70%;
}
.HomeSlider-desc {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  padding-block: var(--ds-spacings--xx-large);
  padding-inline: 2rem;
}
@media only screen and (min-width: 1024px) {
  .HomeSlider-desc {
    padding-inline: var(--ds-spacings--wide);
  }
}
.HomeSlider-desc.is-valign-top {
  align-items: flex-start;
}
.HomeSlider-desc.is-valign-center {
  align-items: center;
}
.HomeSlider-desc.is-valign-bottom {
  align-items: flex-end;
}
.HomeSlider-details {
  position: relative;
}
.HomeSlider-description {
  margin-top: 1rem;
}
.HomeSlider-description p {
  color: inherit;
}
.HomeSlider-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}
.HomeSlider-picture {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* COVER */
  /* CONTAIN (FIX IMPORTANT) */
}
.HomeSlider-picture img {
  display: block;
  width: 100%;
}
.HomeSlider-picture.is-cover img {
  height: 100%;
  object-fit: cover;
}
.HomeSlider-picture.is-contain img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.HomeSlider-picture.is-valign-top {
  align-self: flex-start;
}
.HomeSlider-picture.is-valign-center {
  align-self: center;
}
.HomeSlider-picture.is-valign-bottom {
  align-self: flex-end;
}
.HomeSlider-picture.is-video {
  min-height: 40vh;
}
@media only screen and (min-width: 1024px) {
  .HomeSlider-picture.is-video {
    min-height: 70vh;
  }
}
@media only screen and (max-width: 1023px) {
  .HomeSlider .HomeSlider-content.is-layout-split .HomeSlider-desc {
    align-items: flex-start;
    padding-block: var(--ds-spacings--large);
  }
  .HomeSlider .HomeSlider-content.is-layout-split .HomeSlider-picture {
    height: auto;
  }
  .HomeSlider .HomeSlider-content.is-layout-split .HomeSlider-picture img {
    height: auto;
  }
  .HomeSlider .HomeSlider-content.is-layout-split .HomeSlider-picture.is-contain img {
    max-height: 60vh;
  }
}
.HomeSlider-videoWrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.HomeSlider-videoWrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.HomeSlider-videoFacade {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  text-align: left;
  font: inherit;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  overflow: hidden;
}
.HomeSlider-videoFacade::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: background-color 0.25s ease;
}
.HomeSlider-videoFacade:hover::after, .HomeSlider-videoFacade:focus-visible::after {
  background-color: rgba(0, 0, 0, 0.35);
}
.HomeSlider-videoFacade:focus-visible {
  outline: 3px solid var(--bg-color-button);
  outline-offset: -3px;
}
.HomeSlider-videoFacade-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  pointer-events: none;
}
.HomeSlider-videoFacade:hover .HomeSlider-videoFacade-cover, .HomeSlider-videoFacade:focus-visible .HomeSlider-videoFacade-cover {
  transform: scale(1.02);
}
.HomeSlider-videoFacade-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: var(--bg-color-button);
  color: var(--color-arrow-button);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.HomeSlider-videoFacade-play svg {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 0.1875rem;
}
@media only screen and (min-width: 1024px) {
  .HomeSlider-videoFacade-play {
    width: 5rem;
    height: 5rem;
  }
  .HomeSlider-videoFacade-play svg {
    width: 2rem;
    height: 2rem;
  }
}
.HomeSlider-videoFacade:hover .HomeSlider-videoFacade-play, .HomeSlider-videoFacade:focus-visible .HomeSlider-videoFacade-play {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 0.95;
}
.HomeSlider-videoIframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.HomeSlider .splide__arrows {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding-inline: 2rem;
  z-index: 10;
}
.HomeSlider .splide__arrow {
  background: var(--bg-color-button);
  border: none;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  position: relative;
}
.HomeSlider .splide__arrow__svg {
  display: none;
}
.HomeSlider .splide__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin: auto;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  background-color: var(--color-arrow-button);
}
.HomeSlider .splide__arrow:hover::before {
  background-color: var(--color-arrow-button-hover);
}
.HomeSlider .splide__arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.HomeSlider .splide__arrow--next::before {
  transform: rotate(180deg);
}
.HomeSlider .splide__slide {
  min-height: 40vh;
}
@media only screen and (min-width: 1024px) {
  .HomeSlider .splide__slide {
    min-height: 70vh;
  }
}

.splide {
  visibility: visible;
}

.HomeSlider {
  /* =========================
     PAGINATION (DOTS)
  ========================== */
}
.HomeSlider .splide__track,
.HomeSlider .splide__list {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.HomeSlider .splide__slide {
  width: 100%;
  overflow: hidden;
}

.store-locator-section {
  position: relative;
  z-index: auto;
  overflow: hidden;
  height: 650px;
  width: 100%;
  transform: translateX(0%);
}
.store-locator-section #gksl_map {
  width: 100%;
  height: 100%;
  margin: 0;
}

.caption-map {
  background: #ffcd00;
  padding: 1rem;
  width: 100%;
}
.caption-map > div {
  list-style-type: none;
  color: #000032;
  text-align: center;
  font-weight: 500;
}
.caption-map > div .pin {
  width: 28px;
  margin-right: 1rem;
  display: inline-block;
}
.caption-map .caption-mention {
  font-style: italic;
  font-size: 0.75rem;
  text-align: right;
}

#gksl_infos {
  height: 100%;
  background: #000032;
  font-weight: 300;
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  overflow-y: auto;
  transform: translateX(100%);
  transition: 1s all;
}
#gksl_infos #gksl_infos_content {
  padding: 50px 20px;
  overflow-y: scroll;
  height: 100%;
}
#gksl_infos #gksl_infos_content .gksl_item_label {
  font-weight: bold;
}
#gksl_infos #gksl_infos_content .gksl_content-post_title {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
#gksl_infos #gksl_infos_content .gksl_content-specialties_title {
  text-transform: uppercase;
  margin-bottom: 35px;
  font-weight: 500;
}
#gksl_infos #gksl_infos_close {
  cursor: pointer;
  transition: 1s all;
  transition-delay: 1.5s;
}
#gksl_infos.visible {
  max-width: 50%;
  height: 100%;
  background: #000032;
  font-weight: 300;
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  overflow-y: auto;
  transform: translateX(0);
  transition: 1s all;
}
#gksl_infos.visible #gksl_infos_close {
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 25px;
  width: 25px;
  height: 25px;
  transform: translateX(0);
  transition: 1s all;
  transition-delay: 0.5s;
}
#gksl_infos.visible #gksl_infos_close:after {
  position: absolute;
  content: url(.././dist/images/1366783055878367b672.svg);
  width: 30px;
  top: 0;
  right: 0;
  z-index: 10;
}
#gksl_infos.visible #gksl_infos_content {
  padding: 50px 20px;
  overflow-y: scroll;
  height: 100%;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-post_title {
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 45px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-dealer_thumbnail {
  display: block;
  text-align: center;
  margin: 0 auto 35px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-dealer_address {
  margin-bottom: 35px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-phone_dealer {
  margin-bottom: 35px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-mail_dealer {
  margin-bottom: 35px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-dealer_services {
  margin-bottom: 35px;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-service_title {
  text-transform: uppercase;
  margin-bottom: 35px;
  font-weight: 500;
}
#gksl_infos.visible #gksl_infos_content .gksl_content-specialties_title {
  text-transform: uppercase;
  margin-bottom: 35px;
  font-weight: 500;
}

.map-search-form {
  background: transparent;
  padding: 30px 0;
  margin-bottom: 30px;
}
.map-search-form input[type=text] {
  height: 57px;
  width: 100%;
  font-weight: 300;
  box-shadow: inset 0 0 0 rgba(10, 10, 10, 0.1);
  border: 0;
}
.map-search-form input[type=text]:hover, .map-search-form input[type=text]:focus {
  box-shadow: inset 0 0 0 rgba(10, 10, 10, 0.1);
}
.map-search-form input[type=submit] {
  width: 280px;
  max-width: 100%;
  height: 58px;
  border: 0;
  position: relative;
  background: #000000;
  font-weight: 500;
  color: #ffffff;
  margin: 0;
  padding: 0;
  transition: all 250ms ease-in;
}
.map-search-form input[type=submit] span {
  position: relative;
  display: block;
  padding: 1.25rem 4.5rem 1.25rem 3.5rem;
}
.map-search-form input[type=submit] span:after {
  position: absolute;
  content: url(.././dist/images/c9285c98d9831e367324.svg);
  width: 22px;
  top: 17px;
  right: 35px;
  transition: all 250ms ease-in;
}
.map-search-form input[type=submit]:hover {
  transition: all 250ms ease-in;
}
.map-search-form input[type=submit]:hover span:after {
  right: 25px;
  transition: all 250ms ease-in;
}

.gm-style-iw {
  overflow: hidden !important;
}
.gm-style-iw.gm-style-iw-c {
  background-color: #ffcd00;
  max-width: 320px;
  padding: 0;
}

.gm-style .gm-style-iw-t::after {
  background: #ffcd00;
}

.gm-style-iw-d {
  overflow: hidden !important;
  margin: 0;
  padding: 1rem;
}

.gksl_item_title {
  font-weight: bold;
  color: #ffffff;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.gksl_item_content {
  margin-bottom: 0.5rem;
  color: #ffffff;
}

button.gm-ui-hover-effect {
  outline: none;
  background-color: #ffffff !important;
}

#gksl_map .gm-style-iw-parent {
  max-width: 320px;
}
#gksl_map .gm-style-iw {
  max-width: 320px !important;
  top: 0 !important;
  left: 0 !important;
  border-radius: 5px;
}
#gksl_map .gm-style-iw + div {
  right: -5px !important;
  top: -5px !important;
  border-radius: 5px !important;
  background-color: #ff4b4b !important;
}
#gksl_map .gm-style-iw + div:after {
  content: "X";
  color: #fff;
  padding: 0 3px;
}
#gksl_map .gm-style-iw + div img {
  display: none !important;
}
#gksl_map .mapCard {
  width: 240px;
  float: left;
  overflow: hidden;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 0px 5px rgba(0, 0, 0, 0.6);
  min-height: 80px;
  margin: 5px;
}
#gksl_map .mapCard img {
  float: left;
  margin-right: 15px;
  border-radius: 4px 0 0 4px;
}
#gksl_map .mapCard .text {
  display: block;
  word-break: break-word;
  padding: 5px;
}
#gksl_map .mapCard h3 {
  padding: 0;
  margin: 0;
}
#gksl_map .gm-style-iw-parent > div:first-child {
  top: auto !important;
  bottom: 0 !important;
}
#gksl_map .gm-style-iw-parent > div:first-child > div {
  top: auto !important;
  left: 245px !important;
  z-index: 1;
  transform: rotate(-90deg) !important;
  transform-origin: top left;
  bottom: 56px !important;
}
#gksl_map .gm-style-iw-parent > div:first-child > div:first-child {
  display: none;
}

.logotypes1 > div {
  display: flex;
}

.address-block {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.address-block .content .title {
  color: #000032;
}

.Blog-inner {
  display: flex;
  gap: var(--ds-spacings--medium);
}
@media only screen and (max-width: 1023px) {
  .Blog-inner {
    flex-direction: column;
  }
}
.Blog-content {
  display: grid;
}
.Blog-list {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--ds-spacings--medium);
}
@media only screen and (min-width: 1024px) {
  .Blog-single {
    display: grid;
    gap: var(--ds-spacings--medium);
    grid-template-columns: 75% 25%;
    grid-template-areas: "article aside";
  }
}
.Blog-single article {
  grid-area: article;
}
.Blog-single aside {
  grid-area: aside;
}

aside {
  background-color: var(--ds-color-white);
  margin-block-end: 2rem;
  padding: var(--ds-spacings--medium) var(--ds-spacings--standard);
}
aside ul {
  padding-left: 0;
}
aside ul li {
  margin-block-end: 1rem;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  align-items: center;
  list-style: none;
  padding-left: 0;
}
aside ul li:before {
  display: none;
}
aside ul li a {
  transition: all 0.3s ease-in-out 0s;
  text-decoration: none;
  color: var(--ds-color-secondary);
}
aside ul li a:hover {
  text-decoration: underline;
}

.posts-home {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  column-gap: var(--ds-spacings--medium);
}

.default-img-posts {
  min-height: 16.25rem;
  background-size: cover;
  background-position: center;
}

.media-content {
  position: relative;
  height: 16.25rem;
}
.media-content .image {
  background-size: cover;
  height: 100%;
  width: 100%;
}
.media-content .videoContainer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.media-content iframe {
  /* optional */
  width: 100%;
  height: 100%;
}

audio {
  width: 100%;
  border-radius: 0;
  position: relative;
  background: #f1f3f4;
}
audio:before, audio:after {
  display: none;
}

.Card {
  --bg-card-article: var(--ds-color-white);
  --text-color-card-article: var(--ds-color-secondary);
  --text-color-card-article-hover: var(--ds-color-white);
  --bg-category-card-article: var(--ds-color-secondary);
  --text-category-card-article: var(--ds-color-white);
  overflow: hidden;
  text-decoration: none;
}
.Card-inner {
  position: relative;
  display: flex;
}
.Card.-article {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  align-content: flex-start;
  transition: all 0.3s ease-in-out;
  background-color: var(--bg-card-article);
  color: var(--text-color-card-article);
  box-shadow: 0 3px 20px rgba(56, 69, 207, 0.1);
}
.Card.-article .Card-header {
  width: 100%;
}
.Card.-article .Card-picture {
  position: relative;
  width: 100%;
  height: 18.75rem;
  margin-block-end: var(--ds-spacings--standard);
  padding: 0;
  overflow: hidden;
}
.Card.-article .Card-picture img {
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: all 0.3s ease-in-out;
}
.Card.-article .Card-content {
  display: grid;
  width: 100%;
  padding: var(--ds-spacings--standard);
}
.Card.-article .Card-title {
  margin-block-end: var(--ds-spacings--standard);
  padding: 0;
}
.Card.-article .Card-title a {
  color: var(--text-color-card-article);
  text-decoration: none;
}
.Card.-article .Card-actions {
  margin-block-start: var(--ds-spacings--standard);
}
.Card.-article .Card-actions a:hover {
  background-color: var(--ds-color-primary);
  color: var(--ds-color-secondary);
}
.Card.-article:hover {
  transition: all 0.3s ease-in-out 0s;
  --bg-card-article: var(--ds-color-secondary);
  --text-color-card-article: var(--ds-color-white);
}
.Card.-article:hover .Card-picture img {
  transition: all 0.3s ease-in-out 0s;
  transform: scale(1.1);
}
.Card.-article:hover .Meta a {
  --bg-category-card-article: var(--ds-text-color-white);
  --text-category-card-article: var(--ds-color-secondary);
}
.Card.-article:hover .Meta-categoryItem {
  background-color: transparent;
  color: var(--ds-color-secondary);
}
.Card.-article:hover .Meta-date {
  color: var(--ds-color-secondary);
}

@media screen and (min-width: 64em) {
  .absolute-left, .absolute-gauche {
    position: absolute;
    top: 50%;
    left: 0;
    width: 49%;
    max-width: unset !important;
    transform: translateY(-50%);
  }
}
.absolute-left img, .absolute-gauche img {
  object-fit: cover;
  object-position: center;
  height: auto;
  width: 100%;
  border-radius: 0 10px 10px 0;
}
.absolute-left #gksl_map, .absolute-gauche #gksl_map {
  height: 100%;
}

@media screen and (min-width: 64em) {
  .absolute-right, .absolute-droite {
    position: absolute;
    top: 50%;
    right: 0;
    width: 49%;
    max-width: unset !important;
    transform: translateY(-50%);
  }
}
.absolute-right img, .absolute-droite img {
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%;
  border-radius: 10px 0 0 10px;
}
.absolute-right #gksl_map, .absolute-droite #gksl_map {
  height: 100%;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.header-cart {
  position: absolute;
  top: 2rem;
  right: 1rem;
}
.header-cart svg {
  fill: #000000;
}
.header-cart:hover svg {
  fill: #ffcd00;
}

.woocommerce, .woocommerce-page .content-area {
  width: 100%;
}
.woocommerce .products-list, .woocommerce-page .content-area .products-list {
  clear: both;
}
.HeroBanner {
  position: relative;
  display: flex;
  align-items: flex-end;
  /*background: url($path-img + 'hero-homepage.svg') center no-repeat;
  background-size: cover;*/
  min-height: 56.25rem;
}
.HeroBanner-inner {
  position: relative;
  display: flex;
}
.HeroBanner-title {
  color: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.8125rem;
  font-weight: 200;
  max-width: 55rem;
  margin-bottom: 8rem;
}
.HeroBanner-title span {
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 400;
}

.Home-inner h1 {
  text-align: center;
  padding-block: 9.125rem;
}
.Home-inner h1 span {
  font-family: "Inter", sans-serif;
  font-style: italic;
}

.HomeGallery {
  margin-block-end: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .HomeGallery {
    margin-block-end: 7rem;
  }
}
.HomeGallery-inner {
  display: grid;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .HomeGallery-inner {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "clientOne clientTwo" "clientThree clientThree" "clientFour clientFive";
    gap: 1rem;
  }
}
.HomeGallery div[class*=-client] {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .HomeGallery-clientOne {
    grid-area: clientOne;
    grid-column: 1/2;
  }
}
@media only screen and (min-width: 768px) {
  .HomeGallery-clientTwo {
    grid-area: clientTwo;
    grid-column: 2/3;
  }
}
@media only screen and (min-width: 768px) {
  .HomeGallery-clientThree {
    grid-area: clientThree;
    grid-column: 1/-1;
  }
}
@media only screen and (min-width: 768px) {
  .HomeGallery-clientFour {
    grid-area: clientFour;
    grid-column: 1/2;
  }
}
@media only screen and (min-width: 768px) {
  .HomeGallery-clientFive {
    grid-area: clientFive;
    grid-column: 2/3;
  }
}

.GreenSection {
  background-color: #000032;
  color: #ffffff;
  padding-block: 8rem;
}
.GreenSection-inner {
  display: flex;
  gap: 4rem;
}
.GreenSection-title {
  flex: 1 1 33%;
}
.GreenSection-description {
  flex: 1 1 66%;
}

.GridCourses-inner {
  display: grid;
  gap: 1rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .GridCourses-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .GridCourses-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}
.GridCourses-grid {
  display: grid;
  gap: 1rem;
  position: relative;
  opacity: 0;
  transition: height 0.2s ease-out, opacity 0.2s ease-out 0.2s;
}
@media only screen and (min-width: 768px) {
  .GridCourses-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .GridCourses-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.GridCourses-grid [data-isolde-el] {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.2s ease-out;
}

.SingleCourses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .SingleCourses {
    grid-template-columns: 0.7fr 0.3fr;
  }
}
.SingleCourses-detail > div {
  margin-bottom: 1.5rem;
}
.SingleCourses-moreInfos h3 {
  margin-bottom: 1rem;
}
.SingleCourses-moreInfos .desc {
  margin-bottom: 1.5rem;
}

.PageReferences-list {
  display: grid;
  row-gap: var(--ds-spacings--x-large);
}
@media only screen and (min-width: 768px) {
  .PageReferences-list {
    row-gap: var(--ds-spacings--x-wide);
  }
}
.PageReferences-list .Card {
  position: relative;
  text-decoration: none;
}
.PageReferences-list .Card-inner {
  display: grid;
  gap: var(--ds-spacings--large);
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .PageReferences-list .Card-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.PageReferences-list .Card .Card-picture {
  position: relative;
  overflow: hidden;
  background: transparent;
  height: 32rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .PageReferences-list .Card .Card-picture {
    height: 18rem;
  }
}
.PageReferences-list .Card .Card-picture picture {
  height: 100%;
}
.PageReferences-list .Card .Card-pictureReveal {
  position: absolute;
  inset: -2px;
  z-index: 3;
  background: var(--ds-color-tertiary, var(--ds-color-primary));
  will-change: transform, opacity;
  pointer-events: none;
}
.PageReferences-list .Card .Card-pictureImg {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.08);
  transform-origin: center center;
  will-change: transform, opacity;
}
@media only screen and (min-width: 768px) {
  .PageReferences-list .Card-content {
    padding-inline: 0 var(--ds-spacings--xx-large);
  }
}
.PageReferences-list .Card-title {
  color: var(--text-theme-color);
}
.PageReferences-list .Card p {
  color: var(--text-theme-color);
}
@media only screen and (min-width: 768px) {
  .PageReferences-list .Card:nth-child(odd) .Card-picture {
    order: 2;
  }
}
@media only screen and (min-width: 768px) {
  .PageReferences-list .Card:nth-child(odd) .Card-content {
    order: 1;
    padding-inline: var(--ds-spacings--xx-large) 0;
  }
}

.ProjectCursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  pointer-events: none;
  width: 6rem;
  height: 6rem;
  border-radius: var(--ds-radius-round);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ds-color-primary);
  backdrop-filter: blur(10px);
  padding: var(--ds-spacings--large);
  will-change: transform, opacity;
}
.ProjectCursor span {
  color: var(--ds-color-secondary);
  text-transform: uppercase;
  font-size: var(--ds-font-size-50);
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.2;
}

.SingleReference {
  overflow-x: clip;
  width: 100%;
}
.SingleReference-inner {
  display: grid;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 768px) {
  .SingleReference-inner {
    grid-template-columns: 20% 80%;
  }
}
.SingleReference .ReferenceHero {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  width: 100%;
  background-color: var(--ds-color-secondary);
  margin-block-end: var(--ds-spacings--max-wide);
}
.SingleReference .ReferenceHero-media, .SingleReference .ReferenceHero-picture {
  position: absolute;
  inset: 0;
  width: 100%;
  background-color: var(--ds-color-secondary);
}
.SingleReference .ReferenceHero-picture {
  overflow: hidden;
  clip-path: inset(0 0 0 0);
}
.SingleReference .ReferenceHero-picture::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.45) 60%, rgba(0, 0, 0, 0.82) 100%);
  pointer-events: none;
}
.SingleReference .ReferenceHero-pictureImage {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.08) translateY(20px);
  opacity: 0;
  will-change: transform, opacity;
}
.SingleReference .ReferenceHero-pictureMask {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  z-index: 2;
  pointer-events: none;
}
.SingleReference .ReferenceHero-pictureMask span {
  background: var(--reference-color, var(--ds-color-primary));
  transform: scaleY(1);
  transform-origin: center bottom;
  will-change: transform;
  outline: 1px solid var(--reference-color, var(--ds-color-primary));
  outline-offset: 0;
}
.SingleReference .ReferenceHero-label {
  background-color: var(--reference-color);
  color: var(--reference-text-color, #ffffff);
  display: flex;
  padding: var(--ds-spacings--small);
  width: max-content;
  margin-block: 0;
}
.SingleReference .ReferenceHero-content {
  position: relative;
  z-index: 3;
  min-height: 100dvh;
  width: 100%;
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--ds-spacings--x-wide);
}
.SingleReference .ReferenceHero-title, .SingleReference .ReferenceHero-teaser {
  color: #ffffff;
}
.SingleReference .ReferenceHero[data-hero-state=pending] .ReferenceHero-title,
.SingleReference .ReferenceHero[data-hero-state=pending] .ReferenceHero-label,
.SingleReference .ReferenceHero[data-hero-state=pending] .ReferenceHero-teaser {
  visibility: hidden;
}
.SingleReference .ReferenceHero-title {
  font-weight: 700;
}
.SingleReference .ReferenceHero-label, .SingleReference .ReferenceHero-teaser {
  opacity: 0;
  transform: translateY(24px);
  will-change: transform, opacity;
}
@media only screen and (min-width: 768px) {
  .SingleReference .ReferenceHero-teaser {
    max-width: 50%;
  }
}
.SingleReference-content h6 {
  color: var(--ds-color-secondary);
  display: flex;
  width: max-content;
  margin-block-end: var(--ds-spacings--semi);
  text-transform: uppercase;
  font-size: var(--ds-font-size-50);
}
.SingleReference-content ul {
  padding-left: 0;
}
.SingleReference-content ul li {
  list-style-type: none;
}
.SingleReference-leftColumn {
  --line-scale: 0;
  position: relative;
  display: grid;
  padding-right: var(--ds-spacings--large);
  gap: var(--ds-spacings--medium);
  align-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .SingleReference-leftColumn::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: var(--reference-color);
    transform: scaleY(var(--line-scale, 0));
    transform-origin: top center;
    will-change: transform;
  }
}
@media only screen and (max-width: 767px) {
  .SingleReference-leftColumn {
    order: 2;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
.SingleReference-rightColumn {
  display: grid;
  align-content: flex-start;
}
@media only screen and (min-width: 768px) {
  .SingleReference-rightColumn {
    padding-inline-start: var(--ds-spacings--x-large);
  }
}
.SingleReference-rightColumn img {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform, opacity;
}
.SingleReference-rightColumn figure,
.SingleReference-rightColumn .wp-block-image {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .SingleReference-rightColumn {
    order: 1;
  }
}
.SingleReference-rightObjectives {
  display: grid;
  margin-block-end: var(--ds-spacings--x-large);
  max-width: 70%;
}
.SingleReference-rightInfos {
  display: grid;
  margin-block: var(--ds-spacings--standard);
  width: 100%;
  gap: var(--ds-spacings--medium);
}
@media only screen and (min-width: 768px) {
  .SingleReference-rightInfos {
    grid-template-columns: repeat(2, 1fr);
  }
}
.SingleReference-mediaItem {
  display: flex;
  flex-direction: column;
}
.SingleReference-mediaItem.-full {
  grid-column: 1/-1;
}
.SingleReference-mediaItem.-split {
  grid-column: auto;
}
@media only screen and (min-width: 768px) {
  .SingleReference-mediaItem.-split:nth-child(odd) {
    margin-block-start: var(--ds-spacings--xx-large);
  }
}
.SingleReference-mediaVisual {
  margin-block-end: var(--ds-spacings--standard);
}
.SingleReference-mediaVisual img {
  display: block;
  width: 100%;
  height: auto;
}
.SingleReference-descriptionItem {
  display: grid;
  min-width: 0;
}
.SingleReference-descriptionItem h3 {
  margin-block-end: var(--ds-spacings--standard);
}
.SingleReference-descriptionItem p {
  margin-block: 0;
}

.ProjectBack {
  position: fixed;
  top: var(--ds-spacings--medium);
  left: var(--ds-spacings--medium);
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: var(--ds-spacings--semi);
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--ds-color-secondary);
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
.ProjectBack-icon {
  position: relative;
  display: flex;
  width: 1rem;
  height: 1rem;
}
.ProjectBack-icon::before {
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
  line-height: 1;
  transform: rotate(180deg);
  mask-image: url(.././dist/images/37dcb695ef18cb416058.svg);
  content: "";
  background: var(--ds-color-secondary);
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}
@media only screen and (max-width: 767px) {
  .ProjectBack {
    top: var(--ds-spacings--standard);
    left: var(--ds-spacings--standard);
  }
}

body.has-floating-project-back .ProjectBack {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

body.single-reference .SiteHeader {
  position: absolute;
}

.ReferencesPage.-metro {
  width: 100%;
  gap: 0;
}
@media only screen and (min-width: 768px) {
  .ReferencesPage.-metro {
    column-count: 2;
  }
}
@media only screen and (min-width: 1024px) {
  .ReferencesPage.-metro {
    column-count: 3;
  }
}

.grid {
  display: grid;
}
.grid-services {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 1024px) {
  .grid-services {
    grid-template-columns: repeat(4, 1fr);
  }
}
.grid-services .card-link {
  counter-increment: my-counter;
}
.grid-services .card {
  position: relative;
  height: 28.125rem;
  align-items: center;
  display: flex;
  margin-block-end: unset;
}
.grid-services .card:before {
  position: absolute;
  z-index: -2;
  background: #000000;
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
}
.grid-services .card-img {
  position: absolute;
  z-index: -1;
  inset: 0;
  height: 100%;
  opacity: 0.6;
  transform: scale(1);
  transition: all 0.6s ease-in-out;
}
.grid-services .card-heading {
  position: relative;
}
.grid-services .card-heading h3 {
  position: relative;
  color: #ffffff;
}
.grid-services .card-heading h3:before {
  content: counter(my-counter) ".";
}
.grid-services .card-content {
  color: #ffffff;
}
.grid-services .card:hover .card-img {
  transform: scale(1.1);
  transition: all 0.6s ease-in-out;
}

.ContactPage-inner {
  display: grid;
  gap: var(--ds-spacings--x-large);
}
.ContactPage-infos {
  background-color: var(--ds-color-white);
  margin-block-end: var(--ds-spacings--medium);
  padding: var(--ds-spacings--xxx-large) var(--ds-spacings--standard);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--ds-spacings--medium);
}
.ContactPage-infos > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ContactPage-infos > div > div {
  gap: var(--ds-spacings--standard);
}
.ContactPage-infos > div > div + div,
.ContactPage-infos > div > div + h3 {
  margin-block-start: var(--ds-spacings--standard);
}
.ContactPage-infos > div p {
  margin-block-start: unset;
}
.ContactPage-infos h3 {
  margin-bottom: var(--ds-spacings--medium);
}

.HomePage-title {
  color: #000032;
  text-align: center;
}
.HomePage-title span {
  color: #000032;
}
.HomePage-subtitle {
  color: #ffcd00;
  text-align: center;
}
.HomePage.-intro {
  display: grid;
  gap: 2.5rem;
  margin-block: 4rem;
}
@media only screen and (min-width: 768px) {
  .HomePage.-intro {
    grid-template-columns: repeat(2, 1fr);
  }
}
.HomePage.-intro img {
  width: 100%;
}
.HomePage.-intro .HomePage-left, .HomePage.-intro .HomePage-right {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .HomePage.-intro .HomePage-desc {
    order: 1;
  }
}
.HomePage.-intro .HomePage-subtitle {
  color: #000032;
  text-align: left;
  text-transform: uppercase;
  font-size: 0.8125rem;
}
.HomePage.-intro .HomePage-picture {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .HomePage.-intro .HomePage-picture {
    order: 2;
  }
}
.HomePage.-intro h3 span {
  color: #000032;
  display: block;
}
.HomePage.-promote {
  display: grid;
  padding-block: 1.5rem;
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .HomePage.-promote {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    padding-block: 1.5rem;
  }
}
.HomePage.-promote-inner {
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .HomePage.-promote-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.HomePage.-spot {
  display: grid;
  padding-block: 1.5rem;
  column-gap: 1.5rem;
  row-gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .HomePage.-spot {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    padding-block: 1.5rem;
  }
}
.HomePage.-spot-inner {
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .HomePage.-spot-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.HomePage.-blog {
  color: #000000;
  border: 1px solid transparent;
  padding-block: 1.5rem;
}
@media only screen and (min-width: 1024px) {
  .HomePage.-blog {
    padding-block: 5rem;
  }
}
.HomePage.-blog .HomePage-actions {
  display: flex;
  justify-content: center;
  margin-block-start: 2rem;
  margin-inline: auto;
}
.formHomepage {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .formHomepage {
    grid-template-columns: repeat(2, 1fr);
  }
}
.formHomepage .col-sm-6,
.formHomepage .col-md-6 {
  width: 100% !important;
}

.ErrorPage-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
}
.ErrorPage h1 {
  text-align: center;
  margin-block: var(--ds-spacings--x-large);
}
.ErrorPage img {
  display: flex;
  margin-inline: auto;
  margin-top: -8rem;
}

.ErrorPage-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
}
.ErrorPage h1 {
  text-align: center;
  margin-block: var(--ds-spacings--x-large);
}
.ErrorPage img {
  display: flex;
  margin-inline: auto;
  margin-top: -8rem;
}

.left-shape .effect {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 0.25s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 0.25s ease-out;
  will-change: transform, opacity;
}
.left-shape .effect.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}
.left-shape .effect-2 {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 0.75s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 0.75s ease-out;
  will-change: transform, opacity;
}
.left-shape .effect-2.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}
.left-shape .effect-3 {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 1s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 1s ease-out;
  will-change: transform, opacity;
}
.left-shape .effect-3.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}

.right-shape .effect {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 0.25s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 0.25s ease-out;
  will-change: transform, opacity;
}
.right-shape .effect.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}
.right-shape .effect-2 {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 1s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 1s ease-out;
  will-change: transform, opacity;
}
.right-shape .effect-2.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}
.right-shape .effect-3 {
  margin: 2em auto;
  max-width: 600px;
  opacity: 0;
  transform: translateY(4em) rotateZ(0deg);
  transition: transform 4s 0.75s cubic-bezier(0, 1, 0.3, 1), opacity 0.3s 0.75s ease-out;
  will-change: transform, opacity;
}
.right-shape .effect-3.is-visible {
  opacity: 1;
  transform: rotateZ(0deg);
}

.reveal-line {
  display: block;
  overflow: clip !important;
  overflow-clip-margin: 0.2em;
}

.reveal-line-inner {
  display: block;
  will-change: transform;
}

html.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  will-change: opacity, transform;
}

html.reveal-ready [data-reveal].is-inview {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.TextHighlight {
  --highlight-color: var(--ds-color-primary);
  --highlight-scale: 1;
  position: relative;
  display: inline-block;
  z-index: 1;
  white-space: nowrap;
}
.TextHighlight > span {
  position: relative;
  z-index: 1;
  white-space: nowrap;
  color: var(--highlight-color);
}

main figure,
main .wp-block-image {
  overflow: hidden;
}

.SectionDivider {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.SectionDivider-line {
  display: block;
  width: min(100%, 1600px);
  margin: 0 auto;
  height: 1px;
  background-color: var(--ds-color-primary);
  transform: scaleX(0);
  transform-origin: center;
  will-change: transform;
  opacity: 0.75;
}

.PageWrapper {
  position: relative;
}

.PageReferences-section {
  padding-block: clamp(80px, 12vw, 120px);
}
.PageReferences-section + .PageReferences-section {
  padding-top: 0;
}

.PageReferences-sectionHeader {
  max-width: 820px;
  margin-bottom: clamp(48px, 6vw, 80px);
}

.PageReferences-sectionEyebrow {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.55;
  margin-bottom: 1rem;
}

.PageReferences-sectionTitle {
  font-size: clamp(32px, 4.5vw, 48px);
  letter-spacing: -0.5px;
  line-height: 1.15;
  margin-bottom: clamp(16px, 2vw, 24px);
}

.PageReferences-sectionLede {
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.65;
  opacity: 0.75;
  max-width: 680px;
}

:root {
  --gk-overlay-color: var(--ds-color-secondary, #0d0d0d);
}

.gk-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: all;
  opacity: 1;
  background: var(--gk-overlay-color);
}

[data-gk-reveal] {
  opacity: 0;
}
[data-gk-reveal].-gk-ready {
  transition: opacity 0.6s ease, transform 0.6s ease;
}
[data-gk-reveal][data-gk-reveal=up] {
  opacity: 0;
  transform: translateY(18px);
}
[data-gk-reveal][data-gk-reveal=up].-revealed {
  opacity: 1;
  transform: none;
}
[data-gk-reveal][data-gk-reveal=fade] {
  opacity: 0;
}
[data-gk-reveal][data-gk-reveal=fade].-gk-ready {
  transition: opacity 1.2s ease;
}
[data-gk-reveal][data-gk-reveal=fade].-revealed {
  opacity: 1;
}
[data-gk-reveal][data-gk-reveal=left] {
  transform: translateX(-40px);
}
[data-gk-reveal][data-gk-reveal=scale] {
  transform: scale(0.92);
}
[data-gk-reveal][data-gk-reveal=zoom] {
  opacity: 0;
  transform: scale(1.12);
}
[data-gk-reveal][data-gk-reveal=zoom].-gk-ready {
  transition: opacity 1.2s ease, transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-gk-reveal][data-gk-reveal=zoom].-revealed {
  opacity: 1;
  transform: scale(1);
}
[data-gk-reveal][data-gk-reveal=clip] {
  opacity: 1;
  clip-path: inset(0 0 100% 0);
}
[data-gk-reveal][data-gk-reveal=clip].-gk-ready {
  transition: clip-path 1.4s cubic-bezier(0.65, 0, 0.35, 1);
}
[data-gk-reveal][data-gk-reveal=clip].-revealed {
  clip-path: inset(0 0 0% 0);
}
[data-gk-reveal].-revealed {
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 0% 0);
}

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
  background-color: transparent;
  border: none;
  font-size: 1em;
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px;
}

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline;
  list-style: none;
  padding: 0;
}

.select2-container .select2-selection--multiple .select2-selection__clear {
  background-color: transparent;
  border: none;
  font-size: 1em;
}

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  margin-left: 5px;
  padding: 0;
  max-width: 100%;
  resize: none;
  height: 18px;
  vertical-align: bottom;
  font-family: sans-serif;
  overflow: hidden;
  word-break: keep-all;
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051;
}

.select2-results {
  display: block;
}

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-results__option--selectable {
  cursor: pointer;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-search--dropdown {
  display: block;
  padding: 4px;
}

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
  display: none;
}

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0);
}

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  height: 26px;
  margin-right: 20px;
  padding-right: 0px;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  padding-bottom: 5px;
  padding-right: 5px;
  position: relative;
}

.select2-container--default .select2-selection--multiple.select2-selection--clearable {
  padding-right: 25px;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  font-weight: bold;
  height: 20px;
  margin-right: 10px;
  margin-top: 5px;
  position: absolute;
  right: 0;
  padding: 1px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 0;
  padding-left: 20px;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  cursor: default;
  padding-left: 2px;
  padding-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  background-color: transparent;
  border: none;
  border-right: 1px solid #aaa;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  color: #999;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  padding: 0 4px;
  position: absolute;
  left: 0;
  top: 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
  background-color: #f1f1f1;
  color: #333;
  outline: none;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  border-left: 1px solid #aaa;
  border-right: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__clear {
  float: left;
  margin-left: 10px;
  margin-right: auto;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em;
}

.select2-container--default .select2-results__option--group {
  padding: 0;
}

.select2-container--default .select2-results__option--disabled {
  color: #999;
}

.select2-container--default .select2-results__option--selected {
  background-color: #ddd;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #5897fb;
  color: white;
}

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  height: 26px;
  margin-right: 20px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFCCCCCC", GradientType=0);
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFEEEEEE", GradientType=0);
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE", endColorstr="#FFFFFFFF", GradientType=0);
}

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0;
  padding-bottom: 5px;
  padding-right: 5px;
}

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 0;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__display {
  cursor: default;
  padding-left: 2px;
  padding-right: 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  background-color: transparent;
  border: none;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  color: #888;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  padding: 0 4px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555;
  outline: none;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none;
}

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
  border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
  border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--classic .select2-results__option--group {
  padding: 0;
}

.select2-container--classic .select2-results__option--disabled {
  color: grey;
}

.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #3875d7;
  color: white;
}

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb;
}
