/*
@font-face {
    font-family: 'Urbani';
    src: url('../fonts/Urbani/Ultralight-Italic/Urbani-UltraLightItalic.eot');
    src: url('../fonts/Urbani/Ultralight-Italic/Urbani-UltraLightItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Urbani/Ultralight-Italic/Urbani-UltraLightItalic.woff') format('woff'),
         url('../fonts/Urbani/Ultralight-Italic/Urbani-UltraLightItalic.ttf') format('truetype'),
         url('../fonts/Urbani/Ultralight-Italic/Urbani-UltraLightItalic.svg#Urbani-UltraLightItalic') format('svg');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}
*/
/************************************
 * Grids
 */
/************************************
 * Breakpoints
 */
/************************************
 * Transitions
 */
/************************************
 * Paths
 */
/************************************
 * Fonts
 */
/*** LOCAL FONTS ***/
/*** FONTS ***/
/*** VARIABLES TO USE ***/
/************************************
 * Font Sizes
 */
/************************************
 * COLORS
 */
/************************************
 * THEME
 */
/**
 * Font-size calcul
 */
/**
* Trigger hover effect on different pseudo-classes
* depending on touch or no-touch device
* => no-touch > on hover and on focus (by default, can be disable)
* => touch > on active, and when a class is added on the targeted element (optionnal)
*
* @param $focus (boolean) set to false to disable the hover effect on focus (no-touch only)
* @param $touchClass (string) the hover effect will be set if the targeted element has this class
*/
/**
* Set an item to 100% of its parent's width and height
*/
/**
* Set an item to 100% of the window width (and 100% of its parent height)
* even if located in a limited width wrapper
*/
/**
* Set an item to 100% of the window width
* even if located in a limited width wrapper,
* but keep it in the flow
*/
/**
* To call on an <img> tag.
* Set the image size to adapt to its parent
*/
/**
* Like img-cover(), but for responsive img with <picture>
* /!\ To call on <picture>, or <img> parent.
*/
/**
* Floating form items
* if $class2 equals 'empty', the next item is cleared
*/
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/**
Convert em value into px
 */
/**
Fluid font-size between 2 breakpoints.
Font-size must be in px, use em2px() function to convert from em.
*/
/**
Fluid value between 2 breakpoints (can be use for other than font-size)
(Font-size must be in px, use em2px() function to convert from em)
*/
/*
Fluid value - clamp version (2023)
@see https://www.smashingmagazine.com/2022/10/fluid-typography-clamp-sass-functions/
 */
/**
 * Animated placeholder for images or divs (FB like)
 */
/*** SPECIFIC TO CURRENT PROJECT ***/
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
These "retina group" variables are mappings for the naming and pairing of normal and retina sprites.

The list formatted variables are intended for mixins like `retina-sprite` and `retina-sprites`.
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `retina-sprite` mixin sets up rules and a media query for a sprite/retina sprite.
  It should be used with a "retina group" variable.

The media query is from CSS Tricks: https://css-tricks.com/snippets/css/retina-display-media-query/

$icon-home-group: ('icon-home', $icon-home, $icon-home-2x, );

.icon-home {
  @include retina-sprite($icon-home-group);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
/*
The `retina-sprites` mixin generates a CSS rule and media query for retina groups
  This yields the same output as CSS retina template but can be overridden in SCSS

@include retina-sprites($retina-groups);
*/
/**
 * SVG Sprites
 */
.block-multifocus__timeline {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}
.block-multifocus__timeline .container {
  position: relative;
}
.block-multifocus__timeline--items {
  position: relative;
}
.block-multifocus__timeline--items:before {
  position: absolute;
  content: "";
  left: 50%;
  top: 135px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: calc(var(--timeline-height, 0%) - 135px);
  width: 1px;
  background-color: var(--c-main);
  -webkit-transition: height 0.1s ease-out;
  transition: height 0.1s ease-out;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--items:before {
    display: none;
  }
}
.block-multifocus__timeline--item {
  position: relative;
}
.block-multifocus__timeline--item:not(:last-of-type) {
  padding-bottom: clamp(150px, 5.32vw + 97.87px, 200px);
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--item:not(:last-of-type) {
    padding-bottom: 30px;
  }
}
.block-multifocus__timeline--item:first-of-type .block-multifocus__timeline--midpoint--mobile:after {
  height: 45px;
}
.block-multifocus__timeline--item:nth-child(even) .block-multifocus__timeline--content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--item:nth-child(even) .block-multifocus__timeline--content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.block-multifocus__timeline--item:nth-child(even) .block-multifocus__timeline--number {
  text-align: right;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--item:nth-child(even) .block-multifocus__timeline--number {
    text-align: right;
  }
}
.block-multifocus__timeline--item:nth-child(even) .block-multifocus__timeline--description {
  text-align: right;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--item:nth-child(odd) .block-multifocus__timeline--number {
    text-align: left;
  }
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--item:nth-child(odd) .block-multifocus__timeline--text {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 981px) {
  .block-multifocus__timeline--item:last-of-type .block-multifocus__timeline--content {
    max-width: 375px;
    margin-inline: auto;
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
  .block-multifocus__timeline--item:last-of-type .block-multifocus__timeline--content .block-multifocus__timeline--image {
    padding-bottom: 0;
    -webkit-margin-before: 100px;
            margin-block-start: 100px;
  }
  .block-multifocus__timeline--item:last-of-type .block-multifocus__timeline--content .block-multifocus__timeline--text {
    width: 100%;
  }
  .block-multifocus__timeline--item:last-of-type .block-multifocus__timeline--content .block-multifocus__timeline--number {
    text-align: center;
  }
  .block-multifocus__timeline--item:last-of-type .block-multifocus__timeline--content .block-multifocus__timeline--description {
    position: relative;
  }
}
.block-multifocus__timeline--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(0px, 3.56vw + -13.35px, 55px);
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.block-multifocus__timeline--text {
  position: relative;
  width: clamp(280px, 7.12vw + 253.3px, 390px);
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    width: 100%;
  }
  .block-multifocus__timeline--text .block-multifocus__timeline--number {
    width: calc(50% - 46px);
  }
}
.block-multifocus__timeline--midpoint, .block-multifocus__timeline--midpoint--mobile {
  position: absolute;
  width: clamp(15px, 1.17vw + 10.63px, 33px);
  height: clamp(15px, 1.17vw + 10.63px, 33px);
  border-radius: 50%;
  background-color: var(--c-main);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.block-multifocus__timeline--midpoint--mobile, .block-multifocus__timeline--midpoint--mobile--mobile {
  display: none;
  bottom: 10px;
}
.block-multifocus__timeline--midpoint--mobile:after, .block-multifocus__timeline--midpoint--mobile--mobile:after {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 2px;
  height: 70px;
  background-color: var(--c-main);
  bottom: 0;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--midpoint, .block-multifocus__timeline--midpoint--mobile {
    display: none;
  }
  .block-multifocus__timeline--midpoint--mobile, .block-multifocus__timeline--midpoint--mobile--mobile {
    display: block;
  }
}
.block-multifocus__timeline--midpoint:before, .block-multifocus__timeline--midpoint--mobile:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  width: clamp(40px, 3.11vw + 28.35px, 88px);
  height: clamp(40px, 3.11vw + 28.35px, 88px);
  border: 1px solid var(--c-main);
}
.block-multifocus__timeline--image {
  width: clamp(350px, 5.11vw + 299.96px, 398px);
  padding-bottom: 20px;
  background-color: #ffffff;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-block: 15px;
    width: clamp(350px, 7.93vw + 320.25px, 398px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 480px) {
  .block-multifocus__timeline--image {
    width: 100%;
  }
}
.block-multifocus__timeline--image img {
  width: 100%;
  height: auto;
}
.block-multifocus__timeline--number {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: clamp(50px, 3.24vw + 37.86px, 100px);
  color: var(--c-main);
  margin-bottom: clamp(0px, 0.97vw + -3.64px, 15px);
  line-height: 1;
}
.block-multifocus__timeline--description, .block-multifocus__timeline--description--mobile {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 0.32vw + 12.79px, 19px);
  color: var(--c-secondary);
  position: absolute;
}
.block-multifocus__timeline--description--mobile, .block-multifocus__timeline--description--mobile--mobile {
  position: relative;
  display: none;
  width: 90%;
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 980px) {
  .block-multifocus__timeline--description, .block-multifocus__timeline--description--mobile {
    display: none;
  }
  .block-multifocus__timeline--description--mobile, .block-multifocus__timeline--description--mobile--mobile {
    display: block;
  }
}
/*# sourceMappingURL=block-timeline.css.map */
