
.cf7block {
}

.column {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: var(--w);
  width:var(--w, 100%);
  &.-col1 {--w:calc(var(--col)*1 + var(--gut)*0);}
  &.-col2 {--w:calc(var(--col)*2 + var(--gut)*1);}
  &.-col3 {--w:calc(var(--col)*3 + var(--gut)*2);}
  &.-col4 {--w:calc(var(--col)*4 + var(--gut)*3);}
  &.-col5 {--w:calc(var(--col)*5 + var(--gut)*4);}
  &.-col6 {--w:calc(var(--col)*6 + var(--gut)*5);}
  &.-col7 {--w:calc(var(--col)*7 + var(--gut)*6);}
  &.-col8 {--w:calc(var(--col)*8 + var(--gut)*7);}
  &.-col9 {--w:calc(var(--col)*9 + var(--gut)*8);}
  &.-col10 {--w:calc(var(--col)*10 + var(--gut)*9);}
  &.-col11 {--w:calc(var(--col)*11 + var(--gut)*10);}
  &.-col12 {--w:100%;}

  @media (max-width: 1660px) {}
  @media (max-width: 1440px) {}
  @media (max-width: 1280px) {}
  @media (max-width: 1024px) {
    &.-col1,
    &.-col2,
    &.-col3 {--w:calc(var(--col)*6 + var(--gut)*5);}
  }
  @media (max-width: 880px)  {
    &.-col4,
    &.-col5 {--w:calc(var(--col)*6 + var(--gut)*5);}
  }
  @media (max-width: 660px)  {
    &.-col1,
    &.-col2,
    &.-col3,
    &.-col4,
    &.-col5,
    &.-col6,
    &.-col7,
    &.-col8,
    &.-col9,
    &.-col10,
    &.-col11,
    &.-col12 {--w:100%;}
  }
  @media (max-width: 560px)  {}
}

.columns {
  padding-inline:var(--mar);
  display: flex;
  flex-wrap: wrap;
  align-items: var(--columns-align, flex-start);
  background: var(--bg, transparent);
  column-gap: var(--gut);
}

@media (max-width: 660px) {
  .columns > .column.-empty {
    display: none;
  }
  .columns > .column:not(.-empty) + .column {
    margin-top: var(--columns-rowgap, 32px);
  }
}

.cptgrid--wrap {}



.frise--info {
  margin-right: var(--mar);
  margin-bottom: 32px;
  position: relative;
}
.frise--linea {
  margin-top:8px;
  width: 100%;
  height:1px;
  background:currentcolor;
}
.frise--lineb {
  height:1px;
  background:currentcolor;
  margin-top:32px;
  margin-left:calc(50% - var(--col)*0.5 - var(--gut)*0.5);
  margin-right:var(--mar);
}

.frise--info-link {
  display: inline-flex;
  align-items: center;
  gap: 96px;
  color: var(--noir);
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.frise--info-link.-active {
  opacity: 1;
  pointer-events: auto;
}

.frise.-link-active .frise--track {
  cursor: pointer;
}

.frise--info-link svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.frise--track {
  position: relative;
  padding: 8px 0;
}

.frise--line {
  position: absolute;
  top: 30px;
  left: 0;
  right: var(--mar);
  height: 1px;
  background: var(--noir);
  pointer-events: none;
}

.frise--ss {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 var(--mar);
  gap: 88px;
}

.frise--dot {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  text-decoration: none;
}

.frise--dot-inner {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--noir);
  flex-shrink: 0;
}

.frise--dot-text,
.frise--dot-arrow,
.frise--more {
  display: none;
}


.frise.-vertical .frise--info {
  display: none;
}

.frise.-vertical .frise--track {
  padding: 0;
}

.frise.-vertical .frise--line {
  display: none;
}

.frise.-vertical .frise--ss {
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  gap: 0;
  position: relative;
}

.frise.-vertical .frise--ss::before {
  content: '';
  position: absolute;
  left: var(--mar);
  top: 0;
  width: 1px;
  height: var(--frise-line-h, 100%);
  background: var(--noir);
  pointer-events: none;
}

.frise.-vertical .frise--dot {
  flex-direction: row;
  align-items: center;
  gap: 20px;
  min-height: 60px;
  padding: 0 var(--mar) 0 calc(var(--mar) + 28px);
  position: relative;
  justify-content: flex-start;
}

.frise.-vertical .frise--dot.-extra {
  display: none;
}

.frise.-vertical.-expanded .frise--dot.-extra {
  display: flex;
}

.frise.-vertical .frise--dot-inner {
  position: absolute;
  left: calc(var(--mar) - 6px);
  top: 50%;
  transform: translateY(-50%);
}

.frise.-vertical .frise--dot-text {
  display: block;
  flex: 1;
  color: var(--noir);
}

.frise.-vertical .frise--dot-arrow {
  display: flex;
  align-items: center;
  color: var(--noir);
  flex-shrink: 0;
}

.frise.-vertical .frise--dot-arrow svg {
  width: 20px;
  height: 20px;
}

.frise.-vertical .frise--more {
  display: block;
  margin: 24px var(--mar) 0;
  width: calc(100% - var(--mar) * 2);
  padding: 16px;
  background: transparent;
  border: 1px solid var(--noir);
  border-radius: 100px;
  color: var(--noir);
  cursor: pointer;
  text-align: center;
  letter-spacing: 0.08em;
}

.frise.-vertical.-expanded .frise--more {
  display: none;
}



@media (max-width: 660px) {
  .frise--lineb {
    display: none;
  }
  .frise--info {
    display: none;
  }

  .frise--track {
    padding: 0;
  }

  .frise--line {
    display: none;
  }

  .frise--ss {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 0;
    position: relative;
  }

  .frise--ss::before {
    content: '';
    position: absolute;
    left: var(--mar);
    top: 0;
    width: 1px;
    height: var(--frise-line-h, 100%);
    background: var(--noir);
    pointer-events: none;
  }

  .frise--dot {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    min-height: 60px;
    padding: 0 var(--mar) 0 calc(var(--mar) + 28px);
    position: relative;
    justify-content: flex-start;
  }

  .frise--dot.-extra {
    display: none;
  }

  .frise.-expanded .frise--dot.-extra {
    display: flex;
  }

  .frise--dot-inner {
    position: absolute;
    left: calc(var(--mar) - 6px);
    top: 50%;
    transform: translateY(-50%);
  }

  .frise--dot-text {
    display: block;
    flex: 1;
    color: var(--noir);
  }

  .frise--dot-arrow {
    display: flex;
    align-items: center;
    color: var(--noir);
    flex-shrink: 0;
  }

  .frise--dot-arrow svg {
    width: 20px;
    height: 20px;
  }

  .frise--more {
    display: block;
    margin: 24px var(--mar) 0;
    width: calc(100% - var(--mar) * 2);
    padding: 16px;
    background: transparent;
    border: 1px solid var(--noir);
    border-radius: 100px;
    color: var(--noir);
    cursor: pointer;
    text-align: center;
    letter-spacing: 0.08em;
  }

  .frise.-expanded .frise--more {
    display: none;
  }
}

.gridandfilters.-enr .gridandfilters--compgroup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gut);
}
.gridandfilters.-enr .gridandfilters--compheader {
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .gridandfilters.-enr .gridandfilters--compgroup {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 660px) {
  .gridandfilters.-enr .gridandfilters--compgroup {
    grid-template-columns: 1fr;
  }
}

.gridandfilters.-masterclass .gridandfilters--list.-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gut) var(--gut);
}

@media (max-width: 1024px) {
  .gridandfilters.-masterclass .gridandfilters--list.-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 660px) {
  .gridandfilters.-masterclass .gridandfilters--list.-grid {
    grid-template-columns: 1fr;
  }
}


.gridcards {
  padding: 0 var(--mar);
}

.gridcards--grid {
  display: grid;
  grid-template-columns: repeat(var(--gridcards-cols, 3), 1fr);
  gap: 64px var(--gut);
}

@media (max-width: 1024px) {
  .gridcards--grid {
    grid-template-columns: repeat(var(--gridcards-cols-tablet, 2), 1fr);
    gap: 48px var(--gut);
  }
}

@media (max-width: 660px) {
  .gridcards--grid {
    grid-template-columns: repeat(var(--gridcards-cols-mobile, 1), 1fr);
    gap: 40px var(--gut);
  }
}


.gridcards.-slider .ioss--ss {
  display: flex;
}
.gridcards.-slider .ioss--ssitem {
  width: calc((100% - var(--gut) * var(--gridcards-gap-count, 2)) / var(--gridcards-cols, 3));
}
.gridcards.-slider .ioss--ssitem:not(:last-child) {
  margin-right: var(--gut);
}

.gridcards.-slider {
  --ioss-arrow-inset: var(--mar);
}

.gridcards--progress { display: none !important; }

.gridcards.-slider .ioss--arrow svg {
  width: 36px;
}

@media (max-width: 1024px) {
  .gridcards.-slider .ioss--ss {
    display: flex;
  }
  .gridcards.-slider .ioss--arrow svg {
    width: 34px;
  }
  .gridcards.-slider .ioss--ssitem {
    width: calc((100% - var(--gut) * var(--gridcards-gap-count-tablet, 1)) / var(--gridcards-cols-tablet, 2));
  }
}

@media (max-width: 660px) {
  .gridcards.-slider .ioss--ss {
    display: flex;
  }
  .gridcards.-slider .ioss--ssitem {
    width: calc((85% - var(--gut) * var(--gridcards-gap-count-mobile, 0)) / var(--gridcards-cols-mobile, 1));
  }

  .gridcards.-slider .ioss--arrow {
    width: calc(var(--col) * 3 + var(--gut) * 2);
  }
  .gridcards.-slider .ioss--arrow svg {
    flex: none;
    width: 30px;
    height: auto;
  }
  .gridcards.-slider .ioss--prev { padding-left: var(--mar); }
  .gridcards.-slider .ioss--next { padding-right: var(--mar); }
}

.gridcustom {
  padding: 0 var(--mar);
}

.gridcustom--grid {
  display: flex;
  flex-wrap: wrap;
  gap: 64px var(--gut);
}

.gridcustom--item.-size-2 {width: calc(var(--col) * 2 + var(--gut) * 1);}
.gridcustom--item,
.gridcustom--item.-size-3 {width: calc(var(--col) * 3 + var(--gut) * 2);}
.gridcustom--item.-size-4 {width: calc(var(--col) * 4 + var(--gut) * 3);}
.gridcustom--item.-size-5 {width: calc(var(--col) * 5 + var(--gut) * 4);}
.gridcustom--item.-size-6 {width: calc(var(--col) * 6 + var(--gut) * 5);}

@media (max-width: 1024px) {
  .gridcustom--grid {
    gap: 48px var(--gut);
  }

  .gridcustom--item.-size-2 {width: calc(var(--col) * 2 + var(--gut) * 1);}
  .gridcustom--item,
  .gridcustom--item.-size-3 {width: calc(var(--col) * 3 + var(--gut) * 2);}
  .gridcustom--item.-size-4 {width: calc(var(--col) * 4 + var(--gut) * 3);}
  .gridcustom--item.-size-5 {width: calc(var(--col) * 5 + var(--gut) * 4);}
  .gridcustom--item.-size-6 {width: calc(var(--col) * 6 + var(--gut) * 5);}
}

@media (max-width: 660px) {
  .gridcustom--grid {
    gap: 40px var(--gut);
  }
  .gridcustom--item.-size-2 {width: 100%;}
  .gridcustom--item,
  .gridcustom--item.-size-3 {width: 100%;}
  .gridcustom--item.-size-4 {width: 100%;}
  .gridcustom--item.-size-5 {width: 100%;}
  .gridcustom--item.-size-6 {width: 100%;}
}


.gridcustom.-slider {
  --ioss-arrow-inset: var(--mar);
}
.gridcustom.-slider .ioss--ss {
  display: flex;
}
.gridcustom.-slider .gridcustom--item {
  flex-shrink: 0;
  margin-right: var(--gut);
}

.gridcustom.-imgauto.-slider .ioss--ss {
  align-items: center;
}

.gridcustom.-slider .gridcustom--item.-size-2 {width: calc(var(--col) * 2 + var(--gut) * 1);}
.gridcustom.-slider .gridcustom--item,
.gridcustom.-slider .gridcustom--item.-size-3 {width: calc(var(--col) * 3 + var(--gut) * 2);}
.gridcustom.-slider .gridcustom--item.-size-4 {width: calc(var(--col) * 4 + var(--gut) * 3);}
.gridcustom.-slider .gridcustom--item.-size-5 {width: calc(var(--col) * 5 + var(--gut) * 4);}
.gridcustom.-slider .gridcustom--item.-size-6 {width: calc(var(--col) * 6 + var(--gut) * 5);}


.gridcustom.-slider .gridcustom--item:last-child {
  margin-right: 0;
}

@media (max-width: 1024px) {
  .gridcustom.-slider .ioss--ss {
    display: flex;
  }

  .gridcustom.-slider .gridcustom--item.-size-2 {width: calc(var(--col) * 3 + var(--gut) * 2);}
  .gridcustom.-slider .gridcustom--item,
  .gridcustom.-slider .gridcustom--item.-size-3 {width: calc(var(--col) * 4 + var(--gut) * 3);}
  .gridcustom.-slider .gridcustom--item.-size-4 {width: calc(var(--col) * 6 + var(--gut) * 5);}
  .gridcustom.-slider .gridcustom--item.-size-5 {width: calc(var(--col) * 6 + var(--gut) * 5);}
  .gridcustom.-slider .gridcustom--item.-size-6 {width: calc(var(--col) * 6 + var(--gut) * 5);}
}

@media (max-width: 660px) {
  .gridcustom.-slider .ioss--ss {
    display: flex;
  }

  .gridcustom.-slider .gridcustom--item.-size-2 {width: calc(var(--col) * 6 + var(--gut) * 5);}
  .gridcustom.-slider .gridcustom--item,
  .gridcustom.-slider .gridcustom--item.-size-3 {width: calc(var(--col) * 8 + var(--gut) * 7);}
  .gridcustom.-slider .gridcustom--item.-size-4 {width: calc(var(--col) * 11 + var(--gut) * 10);}
  .gridcustom.-slider .gridcustom--item.-size-5 {width: calc(var(--col) * 11 + var(--gut) * 10);}
  .gridcustom.-slider .gridcustom--item.-size-6 {width: calc(var(--col) * 11 + var(--gut) * 10);}
}

.herohome {
}

.herohome--in {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.herohome--row {
  display: flex;
  align-items: baseline;
  gap: var(--gut);
}

.herohome--line {
  display: block;
  height: 1px;
  transform-origin: var(--p, 0%) 0;
  transition:1.6s var(--outP5);
}

.herohome--row:hover .herohome--line {
  transform: scaleX(0.7);
}


.herohome--line .bstroke {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: var(--p, 0%) 0;
}

.herohome--text {
  margin: 0;
  white-space: nowrap;
}

.herohome--text-serif {
  font-style: italic;
}

.herohome--row-1 {
  padding-left: 0;
  .herohome--line {
    width: calc(var(--mar)*1 + var(--col) * 2 + var(--gut)*1);
  }
}

.herohome--row-2 {
  padding-left: calc(var(--mar)*1 + var(--col)*1 + var(--gut));
  .herohome--line {
    width: calc(var(--col) * 5 + var(--gut) * 4);
  }
}

.herohome--row-3 {
  align-self: end;
  padding-right: 0;
  .herohome--line {
    width: calc(var(--mar)*1 + var(--col)*6 + var(--gut)*5);
  }
}

.herohome--row-4 {
  padding-left: calc(var(--mar)*1 + var(--col) * 4 + var(--gut) * 4);
  .herohome--line {
    width: calc(var(--col) * 3.5 + var(--gut) * 2);
  }
}

@media (max-width: 660px) {
  .herohome--in {
    gap: 10px;
  }
  .herohome--text {
    white-space: normal;
  }

  .herohome--row-1 {
    .herohome--line {
      width: calc(var(--mar)*1 + var(--col) * 2 + var(--gut)*1);
    }
  }

  .herohome--row-2 {
    padding-left: 0;
    .herohome--line {
      width: calc(var(--mar)*1 + var(--col) * 3 + var(--gut)*2);
    }
  }

  .herohome--row-3 {
    align-self: flex-start;
    padding-left: var(--mar);
    .herohome--line {
      display: none;
    }
  }

  .herohome--row-4 {
    align-self: flex-end;
    padding-left: 0;
    padding-right: var(--mar);
    .herohome--line {
      width: calc(var(--col) * 3 + var(--gut) * 2);
    }
  }
}


.imgdraw {}

.imgdraw--imgc {
  width: 100%;
  overflow: hidden;
  opacity: 0;
}

.imgdraw--img {
  width: 100%;
  height: auto;
  display: block;
}

.jury {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:0 var(--gut);
}

.jury--col {
  border-top: 1px solid currentColor;
}

.jury--row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--gut);
  padding: 20px 0;
  border-bottom: 1px solid currentColor;
  align-items: start;
}

@media (max-width: 1024px) {
  .jury {
    column-gap: var(--gut);
  }
}

@media (max-width: 660px) {
  .jury {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
  .jury--col:not(:first-child) {
    border-top: none;
  }
}


.keydata {
}

.keydata--in {
  display: flex;
  flex-wrap: wrap;
}

.keydata--label {
  margin-bottom: 10px;

  .keydata & {
    font-size:16px;
  }
}
.keydata--line {
  width:100%;
}
.keydata--value {
  .keydata & {
    font-size:60px;
  }
}


.keydata--item {
  &:nth-child(1) {
    padding-bottom:28px;
    padding-top:28px;
    margin-left:var(--mar);
    width: calc(var(--col)*3 + var(--gut)*2);
    text-align: right;
  }

  &:nth-child(2) {
    margin-left:calc(var(--col)*2 + var(--gut)*3);
    width: calc(var(--col)*7 + var(--gut)*6 + var(--mar));
    text-align: left;
  }

  &:nth-child(3) {
    margin-left:0;
    width: calc(var(--mar) + var(--col)*6 + var(--gut)*5);
    text-align: right;
    margin-right:50%;
    padding-bottom:6px;
  }

  &:nth-child(4) {
    padding-top:48px;
    margin-left:var(--mar);
    width: calc(var(--col)*4 + var(--gut)*3);
    text-align: right;
  }

  &:nth-child(5) {
    margin-left:calc(var(--gut)*4 + var(--col)*3);
    width: calc(var(--col)*5 + var(--gut)*4 + var(--mar));
  }
}

@media (max-width: 660px) {
  .keydata--in {
    padding-inline: var(--mar);
  }

  .keydata--item {
    &:nth-child(1),
    &:nth-child(2),
    &:nth-child(3),
    &:nth-child(4),
    &:nth-child(5) {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      padding-top: 0;
      padding-bottom: 0;
    }

    &:not(:first-child) {
      margin-top: 24px;
    }
  }

  .keydata--value {
    .keydata & {
      font-size: 46px;
    }
  }
  .keydata--label {
    .keydata & {
      font-size: 14px;
    }
  }
}

.laureat {}

.laureat--row {
  position: relative;
  display: grid;
  grid-template-columns: calc(var(--col) * 6 + var(--gut) * 5) 1fr;
  column-gap: var(--gut);
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid currentColor;
  transition: background .25s;
}
.laureat--row.-bold .laureat--titre,
.laureat--row.-bold .laureat--nom {
  font-weight: 700;
}

.laureat--row.-has-link:hover {
  background: #fff;
}

.laureat--rowlink {
  position: absolute;
  inset: 0;
}

.laureat--titre {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
}

.laureat--lien {
  display: inline-flex;
  flex-shrink: 0;
}

.laureat--lien svg {
  display: block;
  width: 16px;
  height: 16px;
}

.laureat--people {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.laureat--person {
  display: flex;
  flex-direction: column;
}

@media (max-width: 1024px) {
  .laureat--row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 660px) {
  .laureat--row {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}

.markup {
  &.-center { text-align: center; }
  &.-right  { text-align: right; }
}

.media {
  img,
  video {
    display: block;
    height: auto;
    width: 100%;
  }

  .videoplyr {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
  }

  .videoplyr--poster {
    position: absolute;
    inset: -8px;
    object-fit: cover;
    display: block;
    opacity: 0.5;
    width: calc(100% + 16px);height: calc(100% + 16px);
  }
}

.media.-fullscreen {
  img,
  video {
    height: var(--vh);
    object-fit: cover;
  }

  .videoplyr {
    height: var(--vh);
    aspect-ratio: unset;
  }
}

.media.-hero {
  img,
  video {
    height: calc(var(--vh) - var(--secondBlocHeight, 0px));
    object-fit: cover;
  }

  .videoplyr {
    height: calc(var(--vh) - var(--secondBlocHeight, 0px));
    aspect-ratio: unset;
  }
}

.media.-fullscreen .videoplyr,
.media.-hero .videoplyr {
  .plyr,
  .plyr__video-wrapper,
  .plyr__video-embed {
    height: 100%;
    aspect-ratio: unset;
  }

  video {
    height: 100%;
    object-fit: cover;
  }
}
.secheader--bande {
  background: var(--blanc);
  padding-block: 64px;
}

@media (max-width: 1024px) {
  .secheader--bande {
    padding-block: 48px;
  }
}

@media (max-width: 660px) {
  .secheader--bande {
    padding-block: 32px;
  }
}

.sec--mediatexte .media img,
.sec--mediatexte .media video {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  /*
  ** Le retrait et l'espace en trop sont des colonnes vides (cnlb_column_spacer),
  ** toujours en première ou dernière position de la ligne. La règle générique
  ** qui fait grandir les colonnes étroites à mi-largeur dès la tablette
  ** (voir .column, @media 1024/880) les fait grandir elles aussi : un retrait
  ** d'1 colonne combiné à un visuel de 2 colonnes tombent alors ensemble dans
  ** cette règle, et le visuel se retrouve à 50% de la ligne — bien plus large
  ** que prévu — pendant que le texte, lui, ne bouge qu'à partir de 880px.
  ** On les retire de la mise en page dès la tablette : visuel et texte
  ** s'empilent chacun sur toute la largeur, sans ce décalage.
  */
  .sec--mediatexte .column.-empty {
    display: none;
  }
}

.sectableau {
  display: block;
  width: 100%;
}

.sectableau--ligne {
  display: flex;
  gap: var(--gut);
  align-items: baseline;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--noir);
}

.sectableau--ligne + .sectableau--ligne {
  margin-top: 40px;
}

.sectableau--cell {
  min-width: 0;
}

.sectableau--cell.-c1 {
  width: calc(var(--col) * 2 + var(--gut) * 1);
  flex: none;
}

.sectableau--cell.-c2 {
  width: calc(var(--col) * 2 + var(--gut) * 1);
  flex: none;
}

.sectableau--cell.-c3 {
  width: calc(var(--col) * 6 + var(--gut) * 5);
  flex: none;
}

.sectableau--vide {
  margin: 0 var(--mar);
  padding: 32px;
  border: 1px dashed rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  text-align: center;
  font-size: 13px;
  opacity: 0.6;
}

@media (max-width: 1024px) {
  .sectableau--ligne + .sectableau--ligne {
    margin-top: 32px;
  }
}

@media (max-width: 660px) {
  .sectableau--ligne {
    flex-direction: column;
    gap: 4px;
    align-items: stretch;
    padding-bottom: 12px;
  }

  .sectableau--ligne + .sectableau--ligne {
    margin-top: 24px;
  }

  .sectableau--cell.-c1,
  .sectableau--cell.-c2,
  .sectableau--cell.-c3 {
    width: 100%;
  }

  .sectableau--cell:empty {
    display: none;
  }
}

.columns.sectrio--in {
  align-items: stretch;
}

.sectrio--in > .column {
  display: flex;
  flex-direction: column;
}

.sectrio--in > .column > .space {
  flex: none;
}

.sectrio--in > .column > .ctac {
  margin-top: auto;
}

.sliderlogo {
  padding: 0 var(--mar);
}

.sliderlogo--item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-width: 200px;
  max-height: 80px;
  margin-right: 50px;
}

.sliderlogo--item:last-child {
  margin-right: 0;
}

.sliderlogo--img {
  display: block;
  width: auto;
  height: auto;
  max-width: 200px;
  max-height: 80px;
}

@media (max-width: 660px) {
  .sliderlogo--item {
    margin-right: 32px;
  }
}

.slidermedia .fadeslider--track {
  aspect-ratio: 16 / 9;
}

.space {
  margin-top: var(--spaceDesktopMargin, 0);
  height: var(--spaceDesktopHeight, 0);
  background: var(--bg, transparent);
  width: 100%;
  position: relative;
  display: block;
}

@media (max-width: 1024px) {
  .space {
    margin-top: var(--spaceTabletMargin, var(--spaceDesktopMargin, 0));
    height: var(--spaceTabletHeight, var(--spaceDesktopHeight, 0));
  }
}

@media (max-width: 660px) {
  .space {
    margin-top: var(--spaceMobileMargin, var(--spaceTabletMargin, var(--spaceDesktopMargin, 0)));
    height: var(--spaceMobileHeight, var(--spaceTabletHeight, var(--spaceDesktopHeight, 0)));
  }
}

.timeline {
  margin: 0 var(--mar);
  position: relative;
  --spaceblock:0px;
  padding: var(--spaceblock) calc(var(--col) + var(--gut));
}
@media (max-width: 1024px) {
  .timeline {
    --spaceblock:128px;
    padding: var(--spaceblock) 0;
  }
}
@media (max-width: 660px) {
  .timeline {
    --spaceblock:32px;
  }
}

.timeline--stroke {
  position: absolute;
  left: 50%;
  top: var(--spaceblock);
  top:1em;
  bottom: var(--spaceblock);
  width: 1px;
  background: currentColor;
  /*&::before,
  &::after {
    content:"";
    height:var(--spaceblock);
    position:absolute;
    left:0;
    width: 100%;
    background:red;
  }
  &::before {
    top:calc(var(--spaceblock)*-1);

    background:linear-gradient(180deg,transparent 0%, currentcolor 100%);
  }
  &::after {
    bottom:calc(var(--spaceblock)*-1);

    background:linear-gradient(180deg,currentcolor 0%, transparent 100%);
  }*/
}
@media (max-width: 660px) {
  .timeline--stroke {
    left: 0;
  }
}

.timeline--item {
  width: calc(var(--col) * 5 + var(--gut) * 4);
}
@media (max-width: 1024px) {
  .timeline--item {
    width: calc(var(--col) * 6 + var(--gut) * 5);
  }
}
@media (max-width: 660px) {
  .timeline--item {
    width: 100%;
  }
}
.timeline--item:nth-child(even) {
  margin-left: auto;
}
@media (max-width: 660px) {
  .timeline--item:not(:first-child) {
    margin-bottom: 32px;
  }
}

.timeline--item--headline {
  position: relative;
  --dotsize:18px;
  display: flex;
  align-items: baseline;
}
@media (max-width: 660px) {
  .timeline--item--headline {
    --dotsize:12px;
  }
}

@media (min-width: 661px) {
  .timeline--item:not(:first-child) {
    margin-top:-24px;
  }
  .timeline--item--strokedot {
    position: relative;
    display: flex;
    flex: 1;
    height: 1px;
    min-width: 48px;
    --decal:calc(var(--gut)*0.5 + var(--dotsize)*0.5);
  }
  .timeline--item:nth-child(odd) .timeline--item--strokedot {
    order: 2;
    transform: translateX(var(--decal));
  }
  .timeline--item:nth-child(even) .timeline--item--strokedot {
    flex: none;
    width: calc(var(--col) + var(--decal));
    transform: translateX(calc(var(--decal) * -1));
  }
  .timeline--item--dot {
    width: var(--dotsize);
    height: var(--dotsize);
    background: currentcolor;
    display: block;
    border-radius: 50%;
    position: absolute;
    bottom: calc(var(--dotsize) * -0.5);
  }
  .timeline--item:nth-child(odd) .timeline--item--dot {
    right: 0;
  }
  .timeline--item:nth-child(even) .timeline--item--dot {
    left: 0;
  }
  .timeline--item:nth-child(odd) .timeline--item--stroke {
    transform-origin: 100% 0;
    margin-right:calc(var(--dotsize)*0.5);
  }
  .timeline--item:nth-child(even) .timeline--item--stroke {
    transform-origin: 0 0;
    margin-left:calc(var(--dotsize)*0.5);
  }
  .timeline--item--stroke {
    width: 100%;
    height: 1px;
    background: currentcolor;
  }

}
@media (max-width: 660px) {
  .timeline--item--strokedot {
    position: relative;
    display: flex;
    flex: none;
    height: 1px;
    width: calc(var(--col) * 2 + var(--gut));
    margin-right: var(--gut);
    transform: translateX(calc(var(--dotsize) * -0.5));
  }
  .timeline--item--dot {
    width: var(--dotsize);
    height: var(--dotsize);
    background: currentcolor;
    display: block;
    border-radius: 50%;
    position: absolute;
    bottom: calc(var(--dotsize) * -0.5);
  }
  .timeline--item--stroke {
    width: 100%;
    height: 1px;
    background: currentcolor;
  }
}
.timeline--item--text {
  margin-top: 32px;
  width: calc(var(--col) * 4 + var(--gut) * 3);
}
@media (max-width: 1024px) {
  .timeline--item--text {
    width: calc(var(--col) * 5 + var(--gut) * 4);
    margin-top: 24px;
  }
}
.timeline--item:nth-child(even) .timeline--item--text {
  margin-left: calc(var(--col) + var(--gut));
}
@media (max-width: 660px) {
  .timeline--item--text {
    margin-top: 16px;
    margin-left: calc(var(--col) + var(--gut));
    width: calc(var(--col) * 11 + var(--gut) * 10);
  }
}
.timeline--item--ctac {
  margin-top: 24px;
  width: calc(var(--col) * 4 + var(--gut) * 3);
}

.timeline--item:nth-child(even) .timeline--item--ctac {
  margin-left: calc(var(--col) + var(--gut));
}

@media (max-width: 1024px) {
  .timeline--item--ctac {
    width: calc(var(--col) * 5 + var(--gut) * 4);
    margin-top: 20px;
  }
}

@media (max-width: 660px) {
  .timeline--item--ctac,
  .timeline--item:nth-child(even) .timeline--item--ctac {
    width: 100%;
    margin-left: 0;
  }
}

.title {
  &.-center { text-align: center; }
  &.-right  { text-align: right; }

  &.-stroke {
    display: flex;
    align-items: baseline;
    gap: var(--gut);
  }

  &.-textwrap-normal  { text-wrap: wrap; }
  &.-textwrap-pretty  { text-wrap: pretty; }
  &.-textwrap-balance { text-wrap: balance; }
}

.title--stroke {
  flex: 1;
  height: 1px;
  /*background-color: transparent;*/
}


.sec {
  display: block;
  position: relative;
}

.seccontent {
  display: block;
}

.seccontent > * + * {
  margin-top: 20px;
}

.seccontent > .space + *,
.seccontent > * + .space {
  margin-top: 0;
}

.seccontent > * + .title {
  margin-top: 40px;
}

.seccontent > .space + .title {
  margin-top: 0;
}

.seccontent > .title + .title {
  margin-top: 8px;
}

.seccontent > * + .ctac {
  margin-top: 32px;
}

.seccontent--trait {
  display: block;
  width: 100%;
}

.sectrio--in .column + .column {
  margin-top: 0;
}

@media (max-width: 660px) {
  .sectrio--in .column + .column {
    margin-top: var(--columns-rowgap, 32px);
  }
}

.seccontent > * + .seccontent--tableau {
  margin-top: 32px;
}

.sectable {
  width: 100%;
  overflow-x: auto;
}

.sectable--table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.sectable--cell {
  padding: 0 0 12px;
  border-bottom: 1px solid var(--noir);
  text-align: left;
  vertical-align: baseline;
  font-weight: inherit;
  white-space: nowrap;
}

.sectable--cell:first-child {
  white-space: normal;
  padding-right: var(--gut);
  width: 100%;
}

.sectable--cell + .sectable--cell {
  padding-left: var(--gut);
}

.sectable--cell.-right {
  text-align: right;
}

.sectable--cell.-head {
  border-bottom-color: var(--noir);
  font-weight: 500;
  padding-bottom: 10px;
}

.sectable--row + .sectable--row .sectable--cell {
  padding-top: 14px;
}

.sectable tbody .sectable--row:last-child .sectable--cell {
  border-bottom: 1px solid var(--noir);
}

@media (max-width: 660px) {
  .sectable--cell + .sectable--cell {
    padding-left: 12px;
  }
}

.sec.bg--blanc {
  padding-block-end: 64px;
}

@media (max-width: 1024px) {
  .sec.bg--blanc {
    padding-block-end: 48px;
  }
}

@media (max-width: 660px) {
  .sec.bg--blanc {
    padding-block-end: 32px;
  }
}

