/*
Theme Name: ASGPF
Description:
Version: 1.0
Author: BABAWEB
Author URI: https://www.babaweb.fr/
*/

@import url('https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');

/* Fonts */
@font-face {
  font-family: 'icons';
  src: url('assets/fonts/icons/icons.eot?81317296');
  src: url('assets/fonts/icons/icons.eot?81317296#iefix') format('embedded-opentype'),
    url('assets/fonts/icons/icons.woff2?81317296') format('woff2'),
    url('assets/fonts/icons/icons.woff?81317296') format('woff'),
    url('assets/fonts/icons/icons.ttf?81317296') format('truetype'),
    url('assets/fonts/icons/icons.svg?81317296#icons') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 0;
  margin: 0;
  background: none;
  text-align: inherit;
  text-decoration: none;
  font: inherit;
  color: inherit;
  list-style: none;
  outline: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
}

a,
button {
  overflow: visible;
  cursor: pointer;
}

/* Accessibility */
.screen-reader-text,
.screen-reader-response {
  display: block;
  width: 0;
  height: 0;

  position: absolute;

  opacity: 0;
  overflow: hidden;
}

:root {
  --header-height: 100px;
  --viewport-height: 100vh;

  /* Text size */

  --text--2xs: .55rem; /* 8.8px */
  --text--xs: .65rem; /* 10.4px */

  --text--sm: 0.875rem; /* 14px -> ref size */
  --text--base: 1rem; /* 16px */

  --text--md: 1.125rem; /* 18px */
  --text--2md: 1.25rem; /* 20px */
  --text--3md: 1.375rem; /* 22px */
  --text--4md: 1.625rem; /* 26px */

  --text--lg: 1.875rem; /* 30px */
  --text--2lg: 2rem; /* 32px */
  --text--3lg: 2.1875rem; /* 35px */

  --text--xl: 6rem; /* 96px */
  --text--2xl: 9.375rem; /* 150px */
  --text--3xl: 12.5rem; /* 200px */

  --text--graphic--1: 10.75vw;
  --text--graphic--2: 12vw;
  --text--graphic--3: 13.25vw;
  --text--graphic--4: 13.5vw;


  --text--h1: var(--text--2lg);
  --text--h2: var(--text--4md);
  --text--h3: var(--text--3md);
  --text--h4: var(--text--2md);
  --text--h5: var(--text--base);
  --text--h6: var(--text--sm);

  /* Text family */
  --display-font: 'Urbanist';
  --heading-font: 'Urbanist';
  --content-font: 'Urbanist';

  /* Colors */
  --black: #000;
  --black-alpha: #0000001a;
  --white: #FFF;
  --white-alpha: #ffffff80;

  --grey-bckgrnd: #F6F7FF;
  --grey-bckgrnd-alpha: #f6f7ff33;
  --disabled-grey: #D8D8D8;
  --alt-disabled-grey: #B4B4B4;
  --light-grey-text: #989898;
  --grey-text: #7E8794;
  --green: #64B462;
  --red: #cf2828;
  --blue: #1E53A3;
  --blue-alpha: #1e54a433;
  --blue-alpha-alt: #1e54a41a;
  --dark-blue: #113162;
  --light-blue: #7DAEF7;
  --vivid-blue: #0396D7;

  /* Spaces */
  --width--l: 1430px;
  --width--m: 1310px;
  --width--r: 1260px;
  --width--s: 1200px;
  --width--xs: 1100px;
  --width--main-text: 790px;

  --lat-pad: 3.75em;

  /* Backgrounds */
  --motif: url('./assets/medias/background-motif.svg');
  --motif-to-bottom: url('./assets/medias/background-motif-to-bottom.svg');
  --motif-to-left: url('./assets/medias/background-motif-to-left.svg');
}

.grecaptcha-badge {
  visibility: collapse !important;
}

body {
  display: flex;
  width: 100%;
  min-height: var(--viewport-height);

  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;

  font-family: var(--content-font), sans-serif;
  font-size: var(--text--sm);
  font-weight: 500;
  line-height: 1.5;
  color: var(--grey-text);

  background: var(--grey-bckgrnd);
}

/* Icons */
[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  -webkit-font-Soothing: antialiased;
  -moz-osx-font-Soothing: grayscale;
}

.icon-plus:before { content: '\e800'; } /* '' */
.icon-paper-plane:before { content: '\e801'; } /* '' */
.icon-calendar:before { content: '\e802'; } /* '' */
.icon-line-start-circle:before { content: '\e803'; } /* '' */
.icon-arrow-right:before { content: '\e804'; } /* '' */
.icon-arrow-left:before { content: '\e805'; } /* '' */

/* Text */
b,
strong {
  font-weight: 800;
}

em,
i {
  font-style: italic;
}

u {
  text-decoration: underline;
}

sup,
sub {
  font-size: .5em;
  line-height: 1;
}

.formatted {
  font-size: var(--text--base);
  font-weight: 600;
  line-height: 1.75;
  color: var(--dark-blue);
}
.formatted ol,
.formatted ul {
  padding: 0 0 0 1em;
}
.formatted .wp-block-list li {
  position: relative;
}
.formatted ul li::before {
  content: '';
  display: block;
  border-radius: 1em;
  background-color: var(--blue);
  height: .375em;
  width: .375em;
  position: absolute;
  left: -1em;
  top: 0.7em;
}
.formatted ol {
  counter-reset: num;
}
.formatted ol.wp-block-list > li::before {
  counter-increment: num;
  content: counter(num);
  position: absolute;
  left: -1em;
  top: 0.7em;
  line-height: .4;
  color: var(--blue);
  font-weight: 700;
}
.formatted ul ul li::before,
.formatted ol ul li::before {
  background-color: var(--green);
}
.formatted ul.wp-block-list ol li::before,
.formatted ol.wp-block-list ol li::before {
  color: var(--green);
}
.formatted .wp-block-image,
.formatted .wp-block-video,
.formatted .wp-block-embed__wrapper {
  margin-top: 1.875em;
  border-radius: .625em;
  overflow: hidden;
}
.formatted .wp-block-video video {
  width: 100%;
}
.formatted .wp-block-embed__wrapper {
  position: relative;
}
.formatted .wp-block-embed__wrapper::before {
  content: '';
  display: block;
  padding-top: 66%;
}
.formatted .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.h1,
.formatted h1 {
  font-size: var(--text--h1);
}

.h2,
.formatted h2 {
  font-size: var(--text--h2);
}

.h3,
.formatted h3 {
  font-size: var(--text--h3);
}

.h4,
.formatted h4 {
  font-size: var(--text--h4);
}

.h5,
.formatted h5 {
  font-size: var(--text--h5);
}
.h6,
.formatted h6 {
  font-size: var(--text--h6);
}

.formatted h1,
.formatted h2,
.formatted h3,
.formatted h4,
.formatted h5,
.formatted h6 {
  color: var(--blue);
}

.h1,
.formatted h1,
.h2,
.formatted h2,
.h3,
.formatted h3,
.h4,
.formatted h4,
.h5,
.formatted h5,
.h6,
.formatted h6 {
  font-family: var(--heading-font), sans-serif;
}

.formatted p:not(:first-child),
.formatted ul:not(:first-child),
.formatted ol:not(:first-child),
.formatted h2:not(:first-child),
.formatted h3:not(:first-child),
.formatted h4:not(:first-child) {
  margin-top: 1em;
}

.formatted ol,
.formatted ul {
  padding: 0 0 0 1em;
}

.formatted a:not([class]) {
  color: var(--green);
  text-decoration: underline;
}

.formatted a:not([class]):hover {
  opacity: 0.75;
}

.formatted img,
.formatted iframe {
  display: block;
  max-width: 100%;
  width: 100%;
}

.formatted img {
  height: auto;
}

.title {
  font-weight: 700;
  font-size: var(--text--2lg);
  line-height: 1.25;
}

.sup-title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Buttons */
.btn {
  padding: 1.15em 2.15em;
  display: inline-flex;
  align-items: center;
  color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  border-radius: 10em;
  transition: 0.1s ease-out;
}

.btn .icon {
  margin-right: 0.715em;
}

.btn:hover {
  color: var(--white);
  background-color: var(--dark-blue);
}

.btn:hover .icon {
  color: var(--white);
}

.btn--inverse {
  border: 1px solid var(--white);
  color: var(--white);
  backdrop-filter: blur(20px);
}

.btn--inverse:hover {
  color: var(--dark-blue);
  background-color: var(--white);
}
.btn--inverse:hover .icon {
  color: var(--dark-blue);
}

.btn--large {
  padding: 2.85em 4.285em;
}

.btn--borderless {
  padding: 0;
  border: 0;
}
.btn--borderless:hover {
  background: transparent;
  border: 0;
}

.btn--grey {
  color: var(--disabled-grey);
  border: 1px solid var(--disabled-grey);
}

.btn--grey .text{
  color: var(--alt-disabled-grey);
}

.btn--grey:hover {
  background-color: transparent;
  border: 1px solid var(--dark-blue);

}

.btn--grey:hover .text,
.btn--grey:hover .icon {
  color: var(--dark-blue);
}

.btn-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  color: var(--dark-blue);
  height: var(--circle-size);
  width: var(--circle-size);
}

.btn-circle .icon {
  margin: unset;
}

.btn-circle::before,
.btn-circle::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 20em;
  height: 100%;
  width: 100%;
}

.btn-circle::before {
  border: 1px solid var(--dark-blue);
  background-color: var(--white);
}

.btn-circle::after {
  background-color: var(--dark-blue);
  opacity: 0;
  transform: scale(0.25);
  transition: 0.1s ease-out;
}

.btn-circle:hover {
  color: var(--white);
}

.btn-circle:hover::after {
  transform: scale(1);
  opacity: 1;
}

.btn-circle--s {
  --circle-size: 9.3em;
}

.btn-circle--m {
  --circle-size: 13.6em;
}

.btn-circle--l {
  --circle-size: 14.3em;
}

.btn-wrapper{
  display: flex;
  justify-content: center;
}

/* Images */
.media--contain,
.media--cover {
  position: relative;

  overflow: hidden;
}

.media--contain img,
.media--cover img,
.media--contain video,
.media--cover video {
  display: block;
  width: auto;
  height: auto;

  position: absolute;
  top: -10000%;
  left: -10000%;
  bottom: -10000%;
  right: -10000%;

  margin: auto;
}

.media--contain img,
.media--contain video {
  max-width: 100%;
  max-height: 100%;
}

.media--cover img,
.media--cover video {
  min-width: 1000%;
  min-height: 1000%;

  transform: scale(.1);
}

/* Sliders */
.slick-list,
.slick-track {
  display: flex;

  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}

.slick-list {
  width: 100%;

  overflow: hidden;
}

/* Global */
.svg-background {
  position: relative;
}

.svg-background::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--motif);
  background-size: 100% 100%;
  z-index: -1;
}

.svg-background--banner::before {
  height: unset;
  padding-top: 35%;
}

.background-text {
  text-transform: uppercase;
  font-weight: 900;
  line-height: 0.7;
  -webkit-text-stroke: 1px var(--white);
  text-stroke: 1px var(--white);
  color: transparent;
  opacity: .1;
  pointer-events: none;
}

.btn-block {
  margin-top: 2.857em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.857em;
  max-width: 450px;
}

.btn-block::after {
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  background-color: var(--white);
}

.btn-block .btn {
  flex: 0 0 auto;
}

.sublist {
  margin-bottom: 120px;
}

.sublist .grid {
  margin-top: 2.857em;
}

.sublist-heading {
  padding: 0.72em 1.075em;
  color: var(--white);
}

.sublist-heading::before {
  background-image: var(--motif-to-bottom);
  background-color: var(--blue);
}

.sublist > .btn,
.sublist > .form > .btn,
.btn-wrapper > .btn{
  margin: auto;
  margin-top: 4.285em;
  display: flex;
}

.radius {
  border-radius: .7143em;
}
.radius--br {
  border-radius: .7143em;
  border-bottom-right-radius: 4.285em;
}
.radius--tr-bl {
  border-radius: .7143em;
  border-top-right-radius: 4.285em;
  border-bottom-left-radius: 4.285em;
}
.radius--tl-br {
  border-radius: .7143em;
  border-top-left-radius: 4.285em;
  border-bottom-right-radius: 4.285em;
}

.container{
  width: 100%;
  padding-left: var(--lat-pad);
  padding-right: var(--lat-pad);
}

.content{
  width: 100%;
  margin: auto;
}

.content--l{
  max-width: var(--width--l);
}

.content--m{
  max-width: var(--width--m);
}

.content--r{
  max-width: var(--width--r);
}

.content--s{
  max-width: var(--width--s);
}

.content--xs{
  max-width: var(--width--xs);
}

.content--main-text{
  max-width: var(--width--main-text);
}

.content--aside-main{
  display: flex;
  gap: 130px;
  margin-top: 4.285em;
}

.content--aside-main .aside {
  flex: 0 0 280px;
  color: var(--dark-blue);
}

.content--aside-main .main {
  margin: auto;
}

.content--aside-main .aside .text {
  margin-top: 1.25em;
  font-size: var(--text--base);
}

.grid {
  --columns-numbers: 1;
  --columns-gap: 2.143em;
  display: flex;
  flex-wrap: wrap;
  gap: 4.285em var(--columns-gap);
}

.grid--2-col {
  --columns-numbers: 2;
}

.grid--3-col {
  --columns-numbers: 3;
}

.grid--4-col {
  --columns-numbers: 4;
}

.grid [class^=item] {
  width: calc( (100% - ( var(--columns-gap) * ( var(--columns-numbers) - 1) ) ) / var(--columns-numbers) );
}

.grid--masonry {
  display: block;
  columns: 3;
  column-gap: 2.143em;
}

.form {
  width: 100%;
}

/* Navigations */
.navigation-list {
  display: flex;
}

.navigation-link {
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

/* Header */
.header {
  background: var(--white);
  width: 100%;
  padding: 10px var(--lat-pad);
  position: relative;
  z-index: 10;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin: auto;
  width: 100%;
  max-width: var(--width--s);
}

.header .homepage-link .logo-container {
  height: 80px;
}

.header .homepage-link .logo {
  height: 100%;
}

.header .navigation {
  margin-right: -1.25em;
}

.header-inner > .navigation {
  margin-left: 2.5rem;
}

.header .navigation-item {
  display: inline-flex;
}

.header .navigation-link {
  padding: 0.75em 1.25em;
  border-radius: 2em;
  color: var(--black);
}

.header .navigation-item--current .navigation-link,
.header .navigation-item--current .navigation-link:hover {
  background-color: var(--blue);
  color: var(--white);
}

.header .navigation-link:hover {
  background: var(--grey-bckgrnd);
}

.header .navigation-mobile {
  display: none;
}

.header .mobile-navigation-container {
  display: flex;
  height: calc(100vh - 100%);
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: var(--white);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition:
    transform .15s ease-in-out,
    opacity .15s ease-in-out;
}

.header .mobile-navigation-container .navigation {
  width: 100%;
}

.header .mobile-navigation-container .navigation-list {
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  justify-content: center;
}

.header .mobile-navigation-container .navigation-item + .navigation-item {
  margin-top: 1em;
}

.js-css-mobile-menu--open{
  overflow-y: hidden;
}

/* Trigram */
.mobile-trigram{
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.mobile-trigram::before{
  content: '';
  display: block;
  position: absolute;
  border-radius: 2rem;
  width: 3.75rem;
  height: 3.75rem;
}
.icon-trigram{
  display: block;
  position: relative;
  width: 1.875rem;
  opacity: 1;
}
.icon-trigram,
.icon-trigram::before,
.icon-trigram::after{
  transition: 0.2s;
  height: 3px;
  background: var(--dark-blue);
  border-radius: 2px;
  transform: translate(0, 0) rotate(0deg);
}
.icon-trigram::before,
.icon-trigram::after{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
}
.icon-trigram::before{
  top: -10px;
}
.icon-trigram::after{
  bottom: -10px;
}
.js-css-mobile-menu--open .icon-trigram{
  background: transparent;
}
.js-css-mobile-menu--open .icon-trigram::before{
  transform: translate(0%, 10px) rotate(45deg);
}
.js-css-mobile-menu--open .icon-trigram::after{
  transform: translate(0px, -10px) rotate(-45deg) scale(1, 1);
}

/* Footer */
.footer {
  margin-top: auto;
  width: 100%;
}

.footer .top {
  background: var(--white);
  padding: 2.1875em var(--lat-pad);
}

.footer .top-inner {
  max-width: var(--width--xs);
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer .top-inner .text {
  font-weight: 400;
  color: var(--dark-blue);
}

.footer .top-inner .text .link {
  color: var(--blue);
}

.footer .homepage-link {
  height: 150px;
  width: 320px;
}

.footer .homepage-link .logo-container::before {
  content: '';
  display: block;
  padding-top: 47.5%;
}

.footer .bottom {
  background: var(--blue);
  display: flex;
  justify-content: center;
  padding: 1.5625em var(--lat-pad);
}

.footer .navigation-list {
  display: flex;
  gap: 5em;
}

.footer .navigation-link {
  color: var(--white);
}

/* HERO */
.container--hero {
  padding: var(--lat-pad);
}

.container--hero::before {
  background-color: var(--blue);
}

.container--hero .heading {
  text-align: center;
  max-width: 650px;
  margin: auto;
}

.container--hero .sup-title {
  margin-bottom: 1.25em ;
  color: var(--vivid-blue);
  display: inline-block;
}

.container--hero .title {
  color: var(--white);
}

.container--hero--tall {
  padding-bottom: 33vw;
}

/* BLOCK-CTA */
.block-cta {
  padding: 4.285em;
  padding-bottom: 0;
  background-color: var(--white-alpha);
  backdrop-filter: blur(10px);
  border: 1px solid var(--disabled-grey);
}
.block-cta > .title {
  color: var(--dark-blue);
}
.block-cta > .text {
  margin-top: 0.715em;
  margin-bottom: 1.785em;
}
.block-cta .btn-circle {
  margin: auto;
  margin-bottom: calc( (var(--circle-size) / 2) * -1 );
  /* Calc permet au bouton de dépasser du block vers le bas */
}

/* ITEM-LINE */
.item-line {
  display: flex;
  align-items: center;
  gap: 2.143em;
  padding-top: 2.143em;
  margin-bottom: 2.143em;
  border-top: 1px solid var(--disabled-grey);
}
.item-line .date {
  background-color: var(--blue);
  color: var(--white);
  flex: 0 0 175px;
  height: 175px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.item-line .day-month {
  font-weight: 900;
  font-size: var(--text--2lg);
}
.item-line .year-icon{
  display: flex;
  align-items: flex-start;
}
.item-line .year {
  font-weight: 600;
  font-size: var(--text--2md);
  line-height: .5;
}
.item-line .date .icon {
  color: var(--dark-blue);
  font-size: var(--text--3lg);
  line-height: 0.75;
  margin-left: 0.3em;
  margin-top: 0.15em;
}
.item-line .left {
  display: flex;
  align-items: center;
  gap: 2.143em;
  width: 100%;
}
.item-line .center {
  color: var(--dark-blue);
  width: 100%;
}
.item-line .sup-title {
  font-weight: 500;
}
.item-line .title {
  font-size: var(--text--2md);
  font-weight: 700;
}
.item-line .btn-block {
  width: 100%;
  flex-shrink: 2;
}
.item-line .btn-block::after {
  background-color: var(--dark-blue);
}

/* ITEM-IMAGE-TITLE */
.item-image-title {
  display: flex;
  position: relative;
}
.item-image-title .figure {
  width: 100%;
  background-color: var(--dark-blue);
}
.item-image-title .figure::before {
  content: '';
  display: block;
  padding-top: 82%;
}
.item-image-title .inner{
  position: absolute;
  bottom: 2.5rem;
  width: 100%;
  max-width: 60%;
}
.item-image-title .title {
  font-size: var(--text--base);
  padding-left: 2.5em;
  padding-right: 1.25em;
  padding-top: .5em;
  padding-bottom: .5em;
  background: var(--white);
  color: var(--dark-blue);
  display: inline-block;
}
.item-image-title--link .picture{
  transition: 0.2s;
}
.item-image-title--link:hover .picture{
  transform: scale(.11);
}

/* ITEM-FILE */
.item-file {
  padding-top: 2.143em;
  border-top: 1px solid var(--disabled-grey);
}
.item-file .infos {
  display: flex;
  align-items: flex-start;
}
.item-file .date {
  background: linear-gradient(to right, var(--white), var(--grey-bckgrnd));
  color: var(--blue);
  display: flex;
  flex-direction: column;
  flex: 0 0 105px;
  margin-right: 1.43em;
  padding-left: 0.714em;
}
.item-file .icon-calendar {
  color: var(--dark-blue);
}
.item-file .day-month {
  font-size: var(--text--md);
  font-weight: 900;
}
.item-file .year {
  font-size: var(--text--base);
  font-weight: 600;
}
.item-file .heading {
  color: var(--dark-blue);
}
.item-file .location {
  font-size: var(--text--base);
}
.item-file .year-location {
  color: var(--blue);
  display: flex;
}
.item-file .year-location .year{
  font-weight: 600;
}
.item-file .year-location .location{
  font-weight: 700;
  display: flex;
  align-items: center;
}
.item-file .year-location .location::before{
  content: '';
  display: block;
  height: 1px;
  width: 1.428em;
  background-color: var(--dark-blue);
  margin: 0 0.714em;
}
.item-file .title {
  font-size: var(--text--2md);
}
.item-file .btn {
  display: inline-flex;
  flex: 0 0 auto;
}
.item-file .btn-block {
  margin-top: 2.143em;
}
.item-file .btn-block::after {
  background-color: var(--dark-blue);
}

/* ITEM-CARD */
.item-card {
  border: 1px solid var(--disabled-grey);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.item-card .figure {
  flex: 0 0 250px;
}
.item-card .figure::before {
  content: '';
  display: block;
  padding-top: 66%;
}
.item-card .infos {
  display: flex;
  flex-direction: column;
  padding: 2.143em;
  background: var(--white);
  transition: 0.1s ease-out;
  height: 100%;
}
.item-card .category {
  font-weight: 600;
  margin-bottom: .714em;
  display: inline-block;
  color: var(--blue);
}
.item-card .title {
  margin-bottom: 1em;
  font-size: var(--text--2md);
  color: var(--dark-blue);
}
.item-card .text {
  margin-bottom: 2.143em;
}
.item-card .text:last-child {
  margin-bottom: 0;
}
.item-card .date {
  color: var(--dark-blue);
  margin-top: auto;
}
.item-card .icon {
  color: var(--blue);
  margin-right: .714em;
}
.item-card .btn {
  align-self: flex-start;
  margin-top: auto;
}
.item-card--link:hover .infos {
  background-color: var(--dark-blue);
}
.item-card--link:hover .title,
.item-card--link:hover .icon,
.item-card--link:hover .category,
.item-card--link:hover .date {
  color: var(--white);
}

.item-card--pictureless .title {
  color: var(--green);
}

.item-card--pictureless .date {
  font-size: var(--text--2md);
  font-weight: 600;
  color: var(--green);
}

.item-card--pictureless .text {
  margin-bottom: 75px;
}

.item-card--link.item-card--pictureless:hover .infos{
  background-color: var(--green);
}

.item-card--link:hover .title,
.item-card--link:hover .text,
.item-card--link:hover .date {
  color: var(--white);
}

/* ITEM-TEXT */
.item-text {
  color: var(--dark-blue);
  display: flex;
  flex-direction: column;
}
.item-text .country {
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
}
.item-text .name {
  font-weight: 700;
}
.item-text .status {
  font-weight: 500;
}
.item-text .email {
  text-decoration: underline;
}
.item-text .still-active {
  font-style: italic;
  color: var(--light-grey-text);
}

/* SLIDER-ITEM */
.slider-item {
  position: relative;
  width: 700px !important;
  margin-right: 130px;
}
.slider-item .figure {
  width: 100%;
  border-radius: .714em;
}
.slider-item .video {
  width: 100%;
  height: 100%;
}
.slider-item .figure::before {
  content: '';
  display: block;
  padding-top: 70%;
}
.slider-item .figure-placeholder{
  width: 100%;
  padding-top: 70%;
  border-radius: .714em;
  background-color: var(--dark-blue);
}
.slider-item .inner {
  position: absolute;
  bottom: 4.643em;
  left: 0;
  width: 100%;
  max-width: 345px;
}
.slider-item .inner .category,
.slider-item .inner .short-text {
  padding-left: 2.5em;
  padding-right: 1.25em;
  padding-top: .5em;
  padding-bottom: .5em;
  font-size: var(--text--base);
}
.slider-item .inner .category {
  background: var(--green);
  color: var(--white);
  margin-bottom: 0.875em;
  display: inline-flex;
}
.slider-item .inner .short-text {
  background: var(--white);
  color: var(--dark-blue);
  font-weight: 700;
}

/* VIDEO */
.figure--video {
  position: relative;
  overflow: hidden;
}
.figure--video .video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  object-fit: cover;
}

/* FIGURE-PORTRAIT */
.figure--portrait::before {
  content: '';
  padding-top: 160%;
  display: block;
}
.figure--portrait {
  border-radius: 500px;
}
.figure--portrait--gradient::before {
  background: linear-gradient(to bottom, transparent, transparent, var(--grey-bckgrnd) 95%);
  z-index: 1;
  position: relative;
}

/* SECTION-HEADING */
.section-heading {
  color: var(--white);
  max-width: 790px;
}

/* QUOTE */
.quote {
  max-width: 560px;
  width: 100%;
  font-size: var(--text--base);
  color: var(--white);
  margin: 0 2.5rem;
}
.quote .blockquote {
  font-weight: 800;
  font-style: italic;
  line-height: 1.75;
}
.quote .quote-author {
  margin: auto;
  margin-top: 1.25em;
  padding-top: 1.25em;
  text-align: center;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--white);
  letter-spacing: 0.07em;
}
.quote .quote-author .name {
  font-weight: 700;
}
.quote .quote-author .status {
  font-weight: 400;
}

/* PAGES */

/* HOMEPAGE */
.container--landing-cta {
  padding-bottom: 150px;
}

.container--landing-cta .figure{
  width: 100%;
}

.container--landing-cta .figure::before{
  content: '';
  display: block;
  padding-top: 42%;
}

.container--landing-cta .cta-row{
  display: flex;
  gap: 4.285em;
  padding: 0 4.285em;
  margin-top: -4.285em;
}

.container--quote-main-portrait {
  position: relative;
}
.container--quote-main-portrait::before {
  background-image: var(--motif-to-left);
  background-color: var(--dark-blue);
}
.container--quote-main-portrait .figure {
  width: 130px;
  flex: 0 0 130px;
}
.container--quote-main-portrait .background-text-decoration {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.container--quote-main-portrait .background-text {
  font-size: var(--text--graphic--2);
  font-family: var(--display-font), sans-serif;
}
.container--quote-main-portrait .content {
  padding: 105px 0;
  padding-left: 4.285em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.container--quote-main-portrait .quote {
  color: var(--white);
}
.container--quote-main-portrait .quote-author {
  border-top: 1px solid var(--blue);
}
.container--quote-main-portrait .btn-circle {
  color: var(--white);
  flex: 0 0 var(--circle-size);
}
.container--quote-main-portrait .btn-circle::before {
  border: 1px solid var(--blue);
  background-color: var(--blue-alpha);
  backdrop-filter: blur(5px);
}
.container--quote-main-portrait .btn-circle::after {
  background-color: var(--blue);
}
.container--blog-short-list .content {
  margin-top: 120px;
}
.container--blog-short-list .section-heading .title {
  color: var(--dark-blue);
}
.container--blog-short-list .section-heading .sup-title {
  color: var(--blue);
}
.container--blog-short-list .sublist {
  text-align: center;
}
.container--blog-short-list .grid {
  margin-top: 2.143em;
  gap: 2.143em;
}
.container--blog-short-list .item-card{
  text-align: left;
}
.container--blog-short-list .item-card:first-of-type {
  width: 100%;
  display: flex;
  flex-direction: row;
  border-radius: .7143em;
  border-top-right-radius: 4.285em;
}
.container--blog-short-list .item-card:first-of-type .figure{
  flex: 0 0 50%;
}
.container--blog-short-list .item-card:first-of-type .figure::before{
  padding-top: 400px;
}
.container--blog-short-list .item-card:first-of-type .infos{
  width: 100%;
}
.container--blog-short-list .btn {
  display: inline-flex;
}

.container--activities .content {
  padding: 130px 5.714em;
  display: flex;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.container--activities .content::before {
  background-color: var(--vivid-blue);
  z-index: -2;
}
.container--activities .blur{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: calc(100% - (450px + 5.714em));
  background-color: var(--black-alpha);
  backdrop-filter: blur(10px);
  z-index: -2;
}
.container--activities .left .text-content {
  padding-right: 5em;
  color: var(--white);
}
.container--activities .left .sup-title {
  margin-bottom: .357em;
  color: var(--dark-blue);
}
.container--activities .left .title {
  margin-bottom: .625em;
}
.container--activities .left .text {
  font-size: var(--text--base);
}
.container--activities .left .btn-block::after {
  background-color: var(--dark-blue);
}
.container--activities .left .btn {
  background-color: var(--blue-alpha);
  border: 1px solid var(--dark-blue);
}
.container--activities .left .btn:hover {
  background-color: var(--dark-blue);
  color: var(--white);
}
.container--activities .left .btn:hover i {
  color: var(--white);
}
.container--activities .left {
  flex: 0 0 450px;
}
.container--activities .right {
  display: flex;
  align-items: center;
  padding-left: 5em;
}
.container--activities .background-text-decoration {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  font-family: var(--display-font), sans-serif;
}
.container--activities .background-text {
  font-size: var(--text--graphic--1);
}
.container--activities .right .text-content {
  margin-right: 4.285em;
  color: var(--white);
}
.container--activities .right .sup-title {
    margin-bottom: .357em;
    color: var(--dark-blue);
    display: inline-block;
}
.container--activities .right .title {
  font-size: var(--text--2md);
  margin-bottom: 1em;
}
.container--activities .right .text {
  font-size: var(--text--base);
}
.container--activities .right .btn-circle {
  flex: 0 0 var(--circle-size);
  color: var(--white);
}
.container--activities .right .btn-circle::before {
  background-color: var(--blue-alpha);
}

.container--portrait {
  position: relative;
  overflow: hidden;
}
.container--portrait .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 140px;
  padding-bottom: 240px;
}
.container--portrait .left {
  color: var(--dark-blue);
  width: 300px;
  z-index: 1;
}
.container--portrait .left .title {
  margin-bottom: .15em;
}
.container--portrait .left .sub-title {
  color: var(--blue);
  margin-bottom: 1.43em;
  display: inline-block;
}
.container--portrait .left > .text {
  font-size: var(--text--base);
  margin-bottom: 2.5em;
}
.container--portrait .right {
  width: 530px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.container--portrait .right .ornament {
  position: absolute;
}
.container--portrait .right .ornament--tilt {
  height: 270px;
  width: 270px;
  border-radius: 60px;
  transform: rotate(45deg);
  background-color: var(--dark-blue);
  top: -20px;
  left: -70px;
}
.container--portrait .right .ornament--square {
  width: 100%;
  height: 100%;
  border-radius: 60px;
  opacity: 0.1;
  background-color: var(--blue);
  top: 125px;
  left: 130px;
}
.container--portrait .right .ornament--blur {
  background-color: var(--blue-alpha-alt);
  backdrop-filter: blur(10px);
  width: 100px;
  height: 240px;
  border-radius: 50px;
  left: 2.143em;
  bottom: -2.5em;
}
.container--portrait .right .figure {
  width: 100%;
  border-radius: 50%;
}
.container--portrait .right .figure::before {
  content: '';
  display: block;
  padding-top: 100%;
}
.container--portrait .background-text-decoration {
  position: absolute;
  font-family: var(--display-font), sans-serif;
}
.container--portrait .background-text-decoration .background-text {
  opacity: 1;
  font-size: var(--text--graphic--3);
  -webkit-text-stroke: 1px var(--disabled-grey);
  text-stroke: 1px var(--disabled-grey);
}
.container--portrait .background-text-decoration--back {
  right: 50px;
  top: 40px;
}
.container--portrait .background-text-decoration--front {
  left: 50px;
  bottom: 130px;
}

/* ABOUT */
.container--portrait-long .content {
  padding-bottom: 120px;
}
.container--portrait-long .heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.container--portrait-long .background-text {
  text-align: center;
  color: var(--grey-bckgrnd-alpha);
  opacity: 1;
  font-size: var(--text--graphic--4);
  font-family: var(--display-font), sans-serif;
  white-space: nowrap;
  -webkit-text-stroke: 1px var(--dark-blue);
  text-stroke: 1px var(--dark-blue);
}
.container--portrait-long .background-text--back {
  position: relative;
  z-index: -1;
}
.container--portrait-long .background-text--front {
  z-index: 2;
}

.container--portrait-long .figure--portrait {
  width: 200px;
  margin-top: -105px;
  margin-bottom: -105px;
}
.container--portrait-long .quote {
  max-width: 800px;
  margin: auto;
  color: var(--dark-blue);
}
.container--portrait-long .quote-author {
  margin-top: 2.5em;
  border-top: 1px solid var(--dark-blue);
  max-width: 560px;
}

.container--team::before{
  background-color: var(--green);
  background-image: var(--motif-to-bottom);
}

.container--team .content {
  padding-top: 120px;
}

.container--team .sup-title{
  color: var(--green);
}

.container--team .grid{
  margin-top: 2.857em;
  gap: 2.143em;
  justify-content: center;
}

.container--team .item-card figure::before{
  padding-top: 100%;
}

.container--team .controls {
  display: none;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin-top: 2.143em;
}
.container--team .slick-initialized + .controls {
  display: flex;
}
.container--team .grid.slick-initialized {
  margin-left: calc(-1 * var(--lat-pad));
  width: calc(100% + (2 * var(--lat-pad)));
}
.container--team .slick-slide + .slick-slide {
  margin-left: 2.857em;
}
.container--team .slick-slide {
  width: calc(100vw - (2 * var(--lat-pad)));
  max-width: 400px;
}

.container--members-cta{
  margin-top: -4.285em;
}
.container--members-cta::before{
  background-color: var(--blue);
  background-image: var(--motif-to-bottom);
}
.container--members-cta .content{
  padding-top: 285px;
  padding-bottom: 120px;
}

.container--statut {
  padding-top: 5em;
  padding-bottom: 4.285em;
}
.container--statut .content {
  background-color: var(--white);
  padding: 2.143em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
}
.container--statut .left {
  color: var(--dark-blue);
  display: flex;
  flex-direction: column;
  width: 40.75%;
}
.container--statut .left .sup-title {
  display: inline-block;
  margin-bottom: .357em;
}
.container--statut .left .title {
  margin-bottom: .625em;
}
.container--statut .left .description-list {
  font-size: var(--text--base);
}
.container--statut .left .description-item {
  margin-bottom: 1em;
  margin-left: 1.6em;
  position: relative;
}
.container--statut .left .description-item::before {
  content: '\e803';
  font-family: 'icons';
  position: absolute;
  left: -2.8em;
  top: .6em;
  font-size: var(--text--2xs);
}
.container--statut .left .btn {
  margin: auto;
  margin-top: 4.285em;
  color: var(--blue);
  border: 1px solid var(--blue);
}
.container--statut .left .btn:hover {
  color: var(--white);
  border: 1px solid var(--dark-blue);
}
.container--statut .right {
  width: 48.75%;
}
.container--statut .right .figure {
  width: 100%;
}
.container--statut .right .figure::before{
  content: '';
  display: block;
  padding-top: 62.4%;
}
.container--statut .background-text {
  position: absolute;
  bottom: 20px;
  right: 25px;
  font-size: var(--text--3xl);
  font-family: var(--display-font), sans-serif;
  -webkit-text-stroke: 1px var(--black);
  text-stroke: 1px var(--black);
  z-index: 1;
}

.container--meetings-short-list {
  min-height: 640px;
}
.container--meetings-short-list::before {
  background-image: var(--motif-to-bottom);
  background-color: var(--white);
  padding-top: 33%;
}
.container--meetings-short-list::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top right, var(--white), var(--white), var(--white), transparent);
  z-index: -1;
}
.container--meetings-short-list .content {
  padding-top: 5.714em;
}
.container--meetings-short-list .section-heading{
  color: var(--dark-blue);
  margin-bottom: 2.143em;
}
.container--meetings-short-list .sublist {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.container--meetings-short-list .sublist .grid {
  width: 100%;
  gap: 0;
}
.container--partners-block .content {
  color: var(--white);
  padding: 120px 115px;
  margin-top: -4.285em;
  overflow: hidden;
}
.container--partners-block .content::before {
  background-color: var(--vivid-blue);
}
.container--partners-block .top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.285em;
}
.container--partners-block .top .left {
  margin-right: 2.857em;
}
.container--partners-block .top .left .sup-title{
  color: var(--dark-blue);
}
.container--partners-block .top .left .figure{
  width: 150px;
  margin-top: 1.43em;
}
.container--partners-block .top .left .figure::before{
  padding-top: 66%;
  content: '';
  display: block;
}
.container--partners-block .top .right {
  width: 100%;
  max-width: 890px;
  font-size: var(--text--2md);
}
.container--partners-block .bottom {
  display: flex;
}
.container--partners-block .partners-list {
  width: 50%;
}
.container--partners-block .partners-list + .partners-list {
  margin-left: 2.857em;
}
.container--partners-block .partners-list .sup-title {
  margin-bottom: 1.285em
}
.container--partners-block .partners-list .list {
  font-size: var(--text--base);
}
.container--partners-block .partners-list .item {
  position: relative;
  padding-left: 1.5em;
}
.container--partners-block .partners-list .item::before {
  font-family: 'icons';
  font-size: var(--text--xs);
  content: '\e803';
  color: var(--blue);
  position: absolute;
  line-height: 2.5em;
  left: 0;
}
.container--partners-block .partners-list .link {
  display: inline-block;
  text-decoration: underline;
  margin-bottom: 0.3125em;
}

.container--bottom-cta .content {
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
  margin-bottom: 120px;
}
.container--bottom-cta .bottom-cta-link {
  width: 480px;
  padding: 5.714em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.container--bottom-cta .bottom-cta-link + .bottom-cta-link {
  margin-left: 4.285em;
}
.container--bottom-cta .bottom-cta-link::before {
  background-color: var(--blue);
}
.container--bottom-cta .bottom-cta-link .text {
  color: var(--white);
  font-weight: 700;
  font-style: italic;
  font-size: var(--text--2lg);
  line-height: 1.15;
  display: flex;
  text-align: center;
  white-space: pre-line;
  text-transform: uppercase;
}
.container--bottom-cta .bottom-cta-link .text-decoration {
  -webkit-text-stroke: 1px var(--black);
  text-stroke: 1px var(--black);
  color: transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.1;
  font-size: var(--text--xl);
  font-weight: 900;
  font-family: var(--display-font), sans-serif;
  letter-spacing: 0.05em;
  line-height: .7;
  text-transform: uppercase;
}

/* ACTIVITIES */
.container--internship-short-list {
  overflow: hidden;
}
.container--internship-short-list::before {
  background-color: var(--green);
  background-image: var(--motif-to-bottom);
  min-height: 455px;
}
.container--internship-short-list .content {
  padding: 80px 0;
}
.container--internship-short-list .title {
  color: var(--white);
  margin-bottom: 0.625em;
}
.container--internship-short-list .text {
  color: var(--white);
  width: 100%;
  max-width: 585px;
}
.container--seminars-short-list {
  margin-bottom: 120px;
}
.slider-container {
  margin-top: 4.285em;
}
.slider-container .slick-list {
  overflow: visible;
}
.slider-container .slider-items {
  display: flex; /* utile quand slick n'est pas encore chargé */
}
.slider-container .controls {
  display: flex;
  justify-content: center;
  margin-top: 4.285em;
}
.controls .dots{
  margin: 0 2.857em;
}
.controls .slick-dots {
  display: flex;
  gap: 0.714em;
}
.controls .slider-left,
.controls .slider-right {
  color: var(--dark-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.controls .slider-left::before,
.controls .slider-right::before {
  position: absolute;
  content: '';
  display: block;
  height: 2.857em;
  width: 2.857em;
}

.controls .slick-dots [role=presentation] button {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  visibility:hidden;
  position:relative;
}

.controls .slick-dots [role=presentation] button::before {
  content:'';
  visibility:visible;
  height: 1.43em;
  width: 1.43em;
  border-radius:10px;
  display:block;
  position:absolute;
}

.controls .slick-dots [role=presentation] button::after {
  content:'';
  visibility:visible;
  height: 0.57em;
  width: 0.57em;
  border-radius: 10px;
  display: block;
  position: absolute;
  background: var(--disabled-grey);
}

.controls .slick-dots .slick-active[role=presentation] button::after {
  background: var(--blue);
}

.container--training-short-list::before,
.container--recommendation-short-list::before {
  background-image: var(--motif-to-bottom);
}

.container--training-short-list .content,
.container--recommendation-short-list .content {
  padding-top: 245px;
}

.container--training-short-list{
  margin-bottom: 120px;
}

.container--training-short-list::before {
  background-color: var(--blue);
  min-height: 670px;
}
.container--training-short-list .grid{
  margin-top: 80px;
}

.grid--masonry .item-image-title {
  margin-bottom: 2.143em;
}
.grid--masonry .item-image-title:nth-child(1n) .figure::before {
  padding-top: 82%;
}
.grid--masonry .item-image-title:nth-child(2n) .figure::before {
  padding-top: 98%;
}
.grid--masonry .item-image-title:nth-child(3n) .figure::before {
  padding-top: 115%;
}
.grid--masonry .item-image-title:nth-child(4n) .figure::before {
  padding-top: 88%;
}
.grid--masonry .item-image-title:nth-child(5n) .figure::before {
  padding-top: 66%;
}
.grid--masonry .item-image-title:nth-child(6n) .figure::before {
  padding-top: 87%;
}

.container--recommendation-short-list {
  margin-bottom: 120px;
}

.container--recommendation-short-list::before {
  background-color: var(--green);
  min-height: 670px;
}

.container--recommendation-short-list .grid {
  margin-top: 80px;
  gap: 2.143em;
}

/* SEMINARS */
.container--seminars-list {
  margin-top: 4.285em;
}

/* MEETINGS */
.container--meetings-list {
  margin-top: 4.285em;
}

/* MEMBERS */
.container--members-list {
  margin-top: 80px;
}
.container--members-list .sublist {
  margin-bottom: 80px;
}
.container--members-list .sublist-heading {
  text-transform: uppercase;
}
.container--members-list .sublist-heading::before {
  background-color: var(--green);
}
.letters-nav {
  margin-bottom: 2.857em;
}
.letters-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.letters-link {
  font-size: var(--text--2lg);
  font-weight: 700;
  color: var(--black);
  text-transform: uppercase;
  padding: 0.25em;
}

/* PUBLICATIONS */
.container--publications-filters {
  background-color: var(--white);
}
.container--publications-filters .content{
  margin: 2.143em auto;
}
.container--publications-list .sublist > .btn{
  margin-top: 120px ;
}

.ajax-filters {
  display: flex;
  gap: 2.143em;
}
.filter-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.filter-legend {
  color: var(--disabled-grey);
  font-weight: 700;
  text-transform: uppercase;
}
.filter-inputs-container{
  margin-top: 1.43em;
}
.filter-input {
  display: none;
}
.filter-btn {
  font-weight: 600;
  color: var(--blue);
  padding: .357em 1em;
  border: 1px solid var(--blue);
  border-radius: 2em;
  margin-right: .714em;
  margin-bottom: .714em;
  display: inline-block;
}
.filter-btn:hover {
  cursor: pointer;
}
.filter-input:checked + .filter-btn {
  background-color: var(--blue);
  color: var(--white);
}

/* ACTUALITIES */
.container--actualities-list .grid {
  gap: var(--columns-gap);
}

/* CONTACT */
.wpcf7 {
  margin-top: 1.785em;
  padding-bottom: 120px;
}
.wpcf7-form {
  position: relative;
}
.wpcf7-form-control-wrap {
  position: relative;
}
.form-row{
  display: flex;
  gap: 2.143em;
  margin-bottom: 2.143em;
}
.form-row p {
  width: 100%;
}
.form-item .name{
  display: inline-block;
  margin-bottom: 0.714em;
  color: var(--dark-blue);
}
.wpcf7-form .btn{
  margin: auto;
}
.wpcf7-text,
.wpcf7-textarea {
  width: 100%;
  padding: 1em 1.785em;
  border: 1px solid var(--dark-blue);
  border-radius: 20em;
  color: var(--dark-blue);
}
.wpcf7-textarea {
  border-radius: 1.43em;
}
.wpcf7-not-valid {
  border: 1px solid var(--red);
}
.wpcf7-not-valid-tip {
  position: absolute;
  left: 1.785em;
  top: 2.5em;
  color: var(--red);
}
[data-name=message] .wpcf7-not-valid-tip {
  top: 1.6em;
}
.wpcf7-response-output {
  position: absolute;
  bottom: -5.5em;
  padding: 1.25em;
  color: var(--white);
  border-radius: 1.43em;
  margin: auto;
  width: 100%;
  text-align: center;
}
[data-status="invalid"] .wpcf7-response-output,
[data-status="unaccepted"] .wpcf7-response-output {
  background: var(--red);
}
[data-status="sent"] .wpcf7-response-output {
  background: var(--green);
}

.wpcf7-acceptance {
  margin-bottom: 2.143em;
  display: block;
}

.wpcf7-acceptance label{
  display: flex;
  align-items: center;
}
.wpcf7-acceptance label input::before{
  content: '';
  display: block;
  height: 1.25em;
  width: 1.25em;
  border: 1px solid var(--light-grey-text);
  margin-right: 1.25em;
}
.wpcf7-acceptance label input:hover::before,
.wpcf7-acceptance label input:focus::before{
  border: 1px solid var(--dark-blue);
}
.wpcf7-acceptance label input:checked::before{
  background: var(--dark-blue);
}

/* SINGLE - PAGE */
.container--main-page-content {
  margin-top: 4.285em;
  margin-bottom: 8.571em;
}
.container--hero-single {
  color: var(--white);
}
.container--hero-single::before {
  background-color: var(--blue);
}
.container--hero-single .content {
  margin-top: 1.428em;
  margin-bottom: 5.357em;
}
.container--hero-single .content .btn,
.container--hero-single .content .btn .icon {
  color: var(--light-blue);
}
.container--hero-single .content .btn:hover,
.container--hero-single .content .btn:hover .icon {
  color: var(--white);
}
.container--hero-single .content .top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.428em;
}

.container--recommendations-list .grid {
  --columns-gap: 2.143em;
  gap: var(--columns-gap);
}

.no-item {
  font-size: var(--text--3md);
  text-align: center;
  margin-top: 1.5em;
}

/* Tablet */
@media (max-width: 1279px) {
  .header-inner > .navigation {
    display: none;
  }
  .mobile-trigram {
    display: flex;
  }
  .js-css-mobile-menu--open .mobile-navigation-container {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
  }

  .container--landing-cta .cta-row {
    flex-wrap: wrap;
    justify-content: center;
  }
  .block-cta {
    padding: 2.855em;
    padding-bottom: 0;
    width: calc((100% - 4.285em) / 2);
  }
  .block-cta .text {
    margin-bottom: 1.4285em;
  }

  /* Activities */
  .container--activities .right {
    flex-direction: column;
  }
  .container--activities .right .btn-circle {
    margin-top: 2.857em;
  }
  .container--activities .right .text-content {
    margin-right: 0;
  }
  .container--activities .content {
    padding: 4.285em;
  }
  .container--activities .blur {
    width: calc(100% - (370px + 4.285em));
  }

  .container--statut .content {
    flex-direction: column;
    padding-bottom: 0;
  }
  .container--statut .left {
    width: 100%;
  }
  .container--statut .right {
    width: calc(100% + (2.143em * 2));
    margin-left: -2.143em;
    margin-top: 4.285em;
  }
  .container--statut .background-text {
    bottom: unset;
    top: 630px;
    right: 0;
    font-size: var(--text--2xl);
  }

  /* Portrait */
  .container--portrait .right {
    width: 50%;
  }

  .container--partners-block .content {
    padding: 4.285em;
  }

  .container--activities .left {
    flex: 0 0 370px;
  }

  .content--aside-main {
    gap: 80px;
  }
  .content--aside-main .aside {
    flex: 0 0 250px;
  }

  .container--training-short-list .grid--masonry {
    columns: 2;
    margin-top: 4.285em;
  }
  .container--training-short-list .content {
    padding-top: 200px;
  }
  .item-image-title .inner {
    max-width: 75%;
  }
  .item-image-title .title {
    padding-left: 1.25em;
  }

  .container--recommendation-short-list .grid {
    margin-top: 4.285em;
  }

  .container--recommendations-list .grid {
    --columns-numbers: 2;
  }
}

@media (max-width: 1050px) {
  :root {
    --lat-pad: 2.5em;
  }
  .container--main-page-content {
    margin-top: 2.85em;
  }
  .container--blog-short-list .grid {
    --columns-numbers: 1;
  }
  .container--blog-short-list .item-card {
    flex-direction: row;
  }
  .container--blog-short-list .item-card:first-of-type {
    border-top-right-radius: unset;
    border-radius: 0.7143em;
    border-bottom-right-radius: 4.2855em;
  }
  .container--blog-short-list .item-card:first-of-type .figure::before {
    padding-top: 66%;
  }
  .container--blog-short-list .item-card .figure {
    flex: 0 0 50%;
  }

  .ajax-filters {
    flex-direction: column;
    gap: 2.857em;
  }
  .container--publications-list .grid {
    --columns-numbers: 2;
  }

  .container--meetings-list .grid {
    --columns-numbers: 2;
  }

  .container--seminars-list .grid {
    --columns-numbers: 2;
  }

  .container--seminars-short-list .grid {
    margin-top: 0;
  }

  .content--aside-main {
    flex-direction: column;
    gap: 4.285em;
  }
  .content--aside-main .aside {
    flex: unset;
    max-width: 650px;
  }

  .container--seminars-short-list {
    margin-bottom: 4.285em;
  }
  .container--internship-short-list .content {
    padding: 4.285em 0;
  }

  .container--recommendation-short-list .grid {
    --columns-numbers: 2;
  }

  .container--actualities-list .grid {
    --columns-numbers: 2;
  }

  .container--recommendations-list .grid {
    --columns-numbers: 2;
  }

  .wpcf7 {
    margin-top: 0;
  }
}

@media (max-width: 950px) {

  :root{
    /* Spaces */
    --lat-pad: 1.25em;

    --text--graphic--1: 20vw;
    --text--graphic--2: 18vw;
    --text--graphic--4: 19.25vw;
  }

  .item-line .btn-block {
    gap: 1.43em;
  }

  .container--landing-cta {
    padding-top: 60px;
    padding-bottom: 100px;
  }
  .container--landing-cta .figure::before {
    padding-top: 60%;  
  }
  .container--landing-cta .cta-row {
    gap: 5.714em;
    flex-direction: column;
    margin: auto;
    margin-top: -4.285em;
    padding: 0;
    max-width: 550px;
  }
  .block-cta {
    width: 100%;
  }

  .container--quote-main-portrait .content {
    flex-direction: column;
    justify-content: space-between;
    padding-left: 0;
    margin: auto;
    width: 100%;
    max-width: 550px;
    padding: 13.5vw 0;
  }
  .container--quote-main-portrait .figure {
    margin-bottom: 1.4285em;
    flex: 0 0 210px;
  }
  .container--quote-main-portrait .btn-circle {
    margin-top: 4.2855em;
  }
  .container--partners-block .top {
    flex-direction: column;
  }
  .container--partners-block .top .left {
    margin-right: 0;
    margin-bottom: 2.857em;
  }

  /* Activities */
  .container--activities .content {
    flex-direction: column;
    margin: auto;
    max-width: 700px;
  }
  .container--activities .left {
    padding-right: 1.4285em;
    margin-bottom: 4.285em;
    flex: unset;
  }
  .container--activities .left .text-content {
    padding-right: 0;
  }
  .container--activities .left .btn-block {
    margin-top: 1.4285em;
    max-width: unset;
  }
  .container--activities .right {
    padding-left: 0;
    padding-right: 1.4285em;
    flex-direction: column;
    position: relative;
  }
  .container--activities .right::before {
    content: '';
    display: block;
    position: absolute;
    top: -2.14285em;
    left: -5.714em;
    height: calc(100% + 7em);
    width: calc(100% + 11.428em);
    background-color: var(--black-alpha);
    backdrop-filter: blur(10px);
    z-index: -2;
  }
  .container--activities .blur {
    display: none;
  }

  .container--portrait {
    margin-top: 100px;
    margin-bottom: 60px;
  }
  .container--portrait .content {
    flex-direction: column;
    padding: 0;
    margin-top: 1.5em;
  }
  .container--portrait .left {
    width: 100%;
    max-width: 750px;
    align-self: flex-start;
  }
  .container--portrait .left .title {
    font-size: var(--text--lg);
  }
  .container--portrait .left > .text {
    margin-bottom: 1.43em;
  }
  .container--portrait .left .sub-title {
    font-weight: 700;
  }
  .container--portrait .right {
    width: calc(100% + (2 * var(--lat-pad)));
    overflow: hidden;
  }
  .container--portrait .right .figure {
    max-width: 530px;
    width: calc(100% + 4.2856em);
    margin: 0 -2.1428em;
    margin-top: 1.43em;
    margin-bottom: 5.714em;
  }
  .container--portrait .right .ornament--blur {
    bottom: 0.5em;
    height: 220px;
  }
  .container--portrait .right .ornament--square {
    width: 450px;
    height: 450px;
    left: 230px;
    top: 135px;
  }
  .container--portrait .background-text-decoration--back {
    right: 0;
    top: 2px;
    z-index: -1;
  }
  .container--portrait .background-text-decoration--back .background-text {
    white-space: nowrap;
  }
  .container--portrait .right .ornament--tilt {
    top: 35px;
    left: -90px;
  }
  .container--portrait .right .ornament--square {
    left: unset;
    right: -10%;
  }
  .container--portrait .background-text-decoration--front {
    left: 0;
    bottom: -1.2em;
  }
  .container--portrait .background-text-decoration--front .background-text {
    line-height: 1.25em;
  }

  .container--team .grid {
    --columns-numbers: 2;
  }

  .container--bottom-cta .content {
    flex-direction: column;
    width: 100%;
    max-width: 480px;
  }
  .container--bottom-cta .bottom-cta-link {
    width: 100%;
  }
  .container--bottom-cta .bottom-cta-link + .bottom-cta-link {
    margin-left: 0;
    margin-top: 1.785em;
  }

  .container--meetings-list,
  .container--seminars-list,
  .container--members-list {
    padding-left: 0;
    padding-right: 0;
  }
  .container--meetings-list .grid,
  .container--seminars-list .grid,
  .container--members-list .grid {
    padding: 0 1.43em;
  }
  .container--meetings-list .sublist,
  .container--seminars-list .sublist,
  .container--members-list .sublist {
    margin-bottom: 4.285em;
  }
  .container--members-list .sublist-heading {
    font-size: var(--text--lg);
    padding: 1.25rem;
  }
  .sublist-heading {
    font-size: var(--text--4md);
    padding: 0.925em .75em;
  }

  .container--training-short-list {
    margin-bottom: 4.285em;
  }
}

/* Mobile */
@media (max-width: 767px) {

  .formatted p:not(:first-child),
  .formatted ul:not(:first-child),
  .formatted ol:not(:first-child),
  .formatted h2:not(:first-child),
  .formatted h3:not(:first-child),
  .formatted h4:not(:first-child) {
    margin-top: .5em;
  }

  .btn--large {
    padding: 1.43em 2.85em;
  }

  .sublist {
    margin-bottom: 80px;
  }

  .sublist > .btn,
  .sublist > .form > .btn,
  .btn-wrapper > .btn {
    margin-top: 2.857em;
  }

  .item-line {
    position: relative;
    margin-bottom: 0;
    padding-bottom: 2.857em;
    flex-wrap: wrap;
  }
  .item-line .btn-block {
    margin-top: 0;
    margin-left: auto;
  }
  .item-line .date {
    color: var(--blue);
    background: transparent;
    flex: 0 0 auto;
    align-items: flex-start;
    height: auto;
  }
  .item-line .date .icon {
    display: none;
  }

  /* Header */
  .header .homepage-link .logo-container {
    height: 60px;
  }

  /* HERO */
  .container--hero {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .container--landing-cta .cta-row {
    margin-top: 2.855em;
  }
  .quote {
    margin: 0;
  }
  .title {
    font-size: var(--text--4md);
  }

  .container--blog-short-list .content {
    margin-top: 60px;
  }
  .container--blog-short-list .grid {
    --columns-numbers: 1;
    --columns-gap: 1.4285em;
    gap: 1.4285em;
  }
  .container--blog-short-list .item-card {
    flex-direction: column;
  }
  .container--blog-short-list .item-card .figure {
    flex: unset;
    max-height: 300px;
  }
  .container--blog-short-list .item-card:first-of-type {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .container--blog-short-list .item-card:first-of-type .figure {
    flex: 0 0 250px;
  }
  .container--blog-short-list .item-card:first-of-type .figure::before {
    padding-top: 66%;
  }

  .container--partners-block .top .right {
    font-weight: 700;
  }
  .container--partners-block .bottom {
    flex-direction: column;
  }
  .container--partners-block .partners-list {
    width: 100%;
  }
  .container--partners-block .partners-list + .partners-list {
    margin-top: 2.857em;
    margin-left: 0;
  }
  .container--partners-block .content {
    padding: 2.143em 1.43em;
    padding-bottom: 4.285em;
    margin-top: 0;
  }

  /* Homepage */
  .page-template-index .container--hero {
    padding-bottom: 0;
  }
  .page-template-index .container--hero::before {
    min-height: 370px;
  }

  /* Activities */
  .container--activities .content {
    padding: 4.285em 1.4285em;
    padding-bottom: 2.857em;
  }
  .container--activities .right::before {
    left: -1.4285em;
    width: calc(100% + 2.857em);
  }

  .container--portrait-long .heading {
    padding-bottom: 2.857em;
    padding-top: 4.285em;
  }
  .container--portrait-long .figure--portrait {
    margin-top: -50px;
    margin-bottom: -50px;
  }
  .container--portrait-long .figure--portrait::before {
    padding-top: 165%;
  }
  .container--portrait-long .content {
    padding-bottom: 4.285em;
  }

  .container--statut {
    padding: 0;
  }
  .container--statut .content {
    padding: var(--lat-pad);
    padding-top: 4.285em;
    padding-bottom: 0;
  }
  .container--statut .right {
    margin-top: 6.4285em;
    margin-left: calc(-1 * var(--lat-pad));
    width: 100vw;
  }

  .container--meetings-short-list .content {
    padding-top: 4.285em;
  }
  .container--meetings-short-list .sublist .grid {
    margin-top: 2.143em;
    gap: 0;
  }

  .container--team .grid {
    --columns-numbers: 1;
  }
  .container--team::before {
    padding-top: unset;
    height: 670px;
  }
  .container--team .item-card .figure {
    flex: unset;
    max-height: 450px;
  }
  .container--team .item-card .infos {
    height: auto;
  }
  .container--team .content {
    padding-top: 4.285em;
  }

  .container--members-cta{
    margin-top: 4.285em;
  }
  .container--members-cta .content{
    padding-top: 260px;
    padding-bottom: 4.285em;
  }
  .container--members-cta .btn-block {
    margin-top: 4.285em;
  }

  .container--bottom-cta .content {
    margin-top: 60px;
  }

  .container--publications-list .grid {
    --columns-numbers: 1;
    --columns-gap: 2.143em;
    gap: var(--columns-gap);
    margin-top: 4.285em;
  }

  .container--meetings-list .grid,
  .container--seminars-list .grid{
    --columns-numbers: 1;
    --columns-gap: 2.875em;
    gap: var(--columns-gap);
  }
  .container--meetings-list .item-file .btn-block,
  .container--seminars-list .item-file .btn-block {
    max-width: unset;
  }
  .container--members-list .grid {
    --columns-numbers: 2;
    --columns-gap: 2.857em;
    gap: var(--columns-gap);
  }
  .container--members-list {
    margin-top: 2.143em;
  }

  .sublist .grid {
    margin-top: 1.43em;
  }

  .letters-link {
    font-size: var(--text--2md);
    padding: 0.5em;
  }
  .letters-nav {
    margin-bottom: 2.143em;
  }
  .container--internship-short-list .slick-slide {
    width: calc(100vw - (2 * var(--lat-pad)));
    margin-right: 80px;
  }
  .container--internship-short-list .slick-slide .slider-item {
    width: 100% !important;
  }
  .container--internship-short-list .title {
    margin-bottom: .77em;
  }

  /* SLIDER-ITEM */
  .slider-item .inner {
    position: relative;
    max-width: unset;
    bottom: 0;
  }
  .slider-item .inner .short-text,
  .slider-item .inner .category {
    padding: .5em 1.25em;
    font-size: var(--text--base);
  }
  .slider-item .inner .short-text {
    border-bottom-left-radius: .714em;
    border-bottom-right-radius: .714em;
  }
  .slider-item .inner .category {
    position: absolute;
    bottom: calc(100% + 1em);
    margin-bottom: 0;
    max-width: 345px;
  }
  .slider-item .figure,
  .slider-item .figure-placeholder {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .slider-item .figure-placeholder,
  .slider-item .figure::before {
    padding-top: 65%;
  }
  .slider-container .controls {
    margin-top: 1.43em;
  }

  .item-file .btn-block {
    margin-top: 1.43em;
  }

  .container--seminars-short-list .grid {
    --columns-numbers: 1;
    --columns-gap: 2.143em;
    gap: var(--columns-gap);
  }
  .container--training-short-list .grid--masonry {
    columns: 1;
    column-gap: 1.43em;
  }
  .container--training-short-list .item-image-title {
    margin-bottom: 1.43em;
  }

  .container--recommendation-short-list .content {
    padding-top: 310px;
  }
  .container--recommendation-short-list .grid {
    --columns-numbers: 1;
  }

  .container--actualities-list .grid {
    --columns-numbers: 1;
    --columns-gap: 1.43em;
  }

  .container--recommendations-list .grid {
    --columns-numbers: 1;
    --columns-gap: 1.43em;
  }

  .page-template-page_contact .aside .title {
    font-size: var(--text--lg);
  }

  /* Footer */
  .footer .top-inner {
    flex-direction: column;
    align-items: center;
    gap: 1.43em;
  }
  .footer .homepage-link {
    height: 100px;
    width: 215px;
    margin-right: 0;
  }
  .footer .homepage-link .logo-container {
    height: 100%;
  }
  .footer .navigation-list {
    gap: 0;
    flex-direction: column;
  }
  .footer .navigation-item {
    display: inline-flex;
    justify-content: center;
  }
  .footer .navigation-link {
    padding: .3125em;
  }
}

@media (max-width: 550px) {
  .container--members-list .grid {
    --columns-numbers: 1;
  }

  /* Contact */
  .form-row {
    flex-direction: column;
    gap: 1.43em;
    margin-bottom: 1.43em;
  }
  .wpcf7-form > p:last-of-type {
    display: flex;
  }
}