/*!
 * DSFR v1.11.2 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
 */
@charset "UTF-8";

/* ¯¯¯¯¯¯¯¯¯ *\
  FOLLOW
\* ˍˍˍˍˍˍˍˍˍ */

/**
* Mixin d'ajout des icones des réseaux sociaux
**/

/**
* Mixin d'ajout des icones des réseaux sociaux
**/
.fr-follow {
  padding: 1.5rem 0;

  --title-spacing: 0 0 0.5rem;
  --text-spacing: 0 0 1rem;
  background-color: var(--background-alt-blue-france);

  --idle: transparent;
  --hover: var(--background-alt-blue-france-hover);
  --active: var(--background-alt-blue-france-active);
}

.fr-follow__newsletter .fr-input-group {
  margin-bottom: 1rem;
}

.fr-follow__newsletter .fr-hint-text {
  margin-bottom: 0;
}

.fr-follow__newsletter .fr-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; /* added line */
  border: 0;
  display: block;
}

.fr-follow__newsletter .fr-input-wrap {
  display: flex;
  flex-direction: column;
  max-width: 37.5rem;
  margin-top: 0;
}

.fr-follow__newsletter .fr-input-wrap .fr-input {
  margin-bottom: 1rem;
  margin-top: 0;
  border-radius: 0.25rem 0.25rem 0 0;
}

.fr-follow__newsletter .fr-input-wrap .fr-btn {
  justify-content: center;
  width: 100%;
  border-radius: 0;
}

.fr-follow__newsletter .fr-messages-group {
  margin-top: 1rem;
}

.fr-follow__social {
  --text-spacing: 0 0 0.75rem;
  --title-spacing: 0 0 0.75rem;
}

.fr-follow__social .fr-btns-group {
  margin-bottom: -1rem;
  width: auto;
}

.fr-follow__social .fr-btns-group .fr-btn {
  width: auto;
  max-width: 100%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  justify-content: flex-start;
}

.fr-follow__social .fr-btns-group > li {
  display: inline-flex;
  max-width: 100%;
  width: auto;
}

.fr-follow__social .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg) .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2.5rem;
  max-height: 2.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-follow__social .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg) .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
  margin-left: 0;
  margin-right: 0.5rem;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  --icon-size: 1.5rem;
  content: "";
}

.fr-follow__social .fr-btns-group--lg .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 3rem;
  max-height: 3rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-follow__social .fr-btns-group--lg .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
  margin-left: 0;
  margin-right: 0.5rem;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  --icon-size: 2rem;
  content: "";
}

.fr-follow .fr-grid-row > *:not(:first-child) {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  box-shadow: 0 -1px 0 0 var(--border-default-blue-france);
}

.fr-follow .fr-btn--dailymotion::before {
  -webkit-mask-image: url("../../icons/logo/fr--dailymotion-fill.svg");
  mask-image: url("../../icons/logo/fr--dailymotion-fill.svg");
}

.fr-follow .fr-btn--facebook::before {
  -webkit-mask-image: url("../../icons/logo/facebook-circle-fill.svg");
  mask-image: url("../../icons/logo/facebook-circle-fill.svg");
}

.fr-follow .fr-btn--github::before {
  -webkit-mask-image: url("../../icons/logo/github-fill.svg");
  mask-image: url("../../icons/logo/github-fill.svg");
}

.fr-follow .fr-btn--instagram::before {
  -webkit-mask-image: url("../../icons/logo/instagram-fill.svg");
  mask-image: url("../../icons/logo/instagram-fill.svg");
}

.fr-follow .fr-btn--linkedin::before {
  -webkit-mask-image: url("../../icons/logo/linkedin-box-fill.svg");
  mask-image: url("../../icons/logo/linkedin-box-fill.svg");
}

.fr-follow .fr-btn--mastodon::before {
  -webkit-mask-image: url("../../icons/logo/mastodon-fill.svg");
  mask-image: url("../../icons/logo/mastodon-fill.svg");
}

.fr-follow .fr-btn--snapchat::before {
  -webkit-mask-image: url("../../icons/logo/snapchat-fill.svg");
  mask-image: url("../../icons/logo/snapchat-fill.svg");
}

.fr-follow .fr-btn--telegram::before {
  -webkit-mask-image: url("../../icons/logo/telegram-fill.svg");
  mask-image: url("../../icons/logo/telegram-fill.svg");
}

.fr-follow .fr-btn--threads::before {
  -webkit-mask-image: url("../../icons/logo/threads-fill.svg");
  mask-image: url("../../icons/logo/threads-fill.svg");
}

.fr-follow .fr-btn--tiktok::before {
  -webkit-mask-image: url("../../icons/logo/fr--tiktok-fill.svg");
  mask-image: url("../../icons/logo/fr--tiktok-fill.svg");
}

.fr-follow .fr-btn--twitch::before {
  -webkit-mask-image: url("../../icons/logo/twitch-fill.svg");
  mask-image: url("../../icons/logo/twitch-fill.svg");
}

.fr-follow .fr-btn--twitter::before {
  -webkit-mask-image: url("../../icons/logo/twitter-fill.svg");
  mask-image: url("../../icons/logo/twitter-fill.svg");
}

.fr-follow .fr-btn--twitter-x::before {
  -webkit-mask-image: url("../../icons/logo/twitter-x-fill.svg");
  mask-image: url("../../icons/logo/twitter-x-fill.svg");
}

.fr-follow .fr-btn--vimeo::before {
  -webkit-mask-image: url("../../icons/logo/vimeo-fill.svg");
  mask-image: url("../../icons/logo/vimeo-fill.svg");
}

.fr-follow .fr-btn--youtube::before {
  -webkit-mask-image: url("../../icons/logo/youtube-fill.svg");
  mask-image: url("../../icons/logo/youtube-fill.svg");
}

.fr-follow .fr-links-group {
  --ul-type: none;
  --ol-type: none;
  --ul-start: 0;
  --ol-start: 0;
  --xl-block: 0;
  --li-bottom: 0;
  --ol-content: none;
  margin: 0 -1rem -1rem -1rem;
  width: auto;
  display: flex;
  flex-wrap: wrap;
}

.fr-follow .fr-links-group .fr-btn {
  width: auto;
  max-width: 100%;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.fr-follow .fr-links-group > li {
  display: inline-flex;
  max-width: 100%;
  width: auto;
}

.fr-follow .fr-valid-text,
.fr-follow .fr-error-text {
  margin-top: 1rem;
}

.fr-follow .fr-hint-text {
  margin-top: 1rem;
}

.fr-follow__social .fr-link {
  --underline-img: none;
  --hover-tint: var(--hover);
  display: inline-flex;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2.5rem;
  max-height: 2.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
  color: var(--text-action-high-blue-france);
}

.fr-follow__social .fr-link::before {
  --icon-size: 1.5rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-follow__social .fr-links-group--lg .fr-link {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 3rem;
  max-height: 3rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-follow__social .fr-links-group--lg .fr-link::before {
  --icon-size: 2rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-follow .fr-link--facebook::before {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("../../icons/logo/facebook-circle-fill.svg");
  mask-image: url("../../icons/logo/facebook-circle-fill.svg");
  content: "";
}

.fr-follow .fr-link--twitter::before {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("../../icons/logo/twitter-fill.svg");
  mask-image: url("../../icons/logo/twitter-fill.svg");
  content: "";
}

.fr-follow .fr-link--instagram::before {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("../../icons/logo/instagram-fill.svg");
  mask-image: url("../../icons/logo/instagram-fill.svg");
  content: "";
}

.fr-follow .fr-link--linkedin::before {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("../../icons/logo/linkedin-box-fill.svg");
  mask-image: url("../../icons/logo/linkedin-box-fill.svg");
  content: "";
}

.fr-follow .fr-link--youtube::before {
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
  background-color: currentColor;
  width: var(--icon-size);
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-image: url("../../icons/logo/youtube-fill.svg");
  mask-image: url("../../icons/logo/youtube-fill.svg");
  content: "";
}

.fr-follow .fr-input {
  background-color: var(--background-default-grey);

  --idle: transparent;
  --hover: var(--background-default-grey-hover);
  --active: var(--background-default-grey-active);
}

.fr-follow__title {
  color: var(--text-title-grey);
}

.fr-follow__newsletter-legal {
  color: var(--text-mention-grey);
}

.fr-follow__social .fr-btn {
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
  color: var(--text-action-high-blue-france);
}

.fr-follow__social .fr-btn:disabled,
.fr-follow__social a.fr-btn:not([href]) {
  color: var(--text-disabled-grey);
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
}

.fr-follow__social .fr-link:disabled,
.fr-follow__social a.fr-link:not([href]) {
  color: var(--text-disabled-grey);
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
}
@media (min-width: 36em) {
  /*! media sm */
  .fr-follow__newsletter .fr-input-group {
    margin-bottom: 0.5rem;
  }

  .fr-follow__newsletter .fr-input-wrap .fr-btn {
    width: auto;
    border-radius: 0 0.25rem 0 0;
  }

  .fr-follow__newsletter .fr-input-wrap {
    flex-direction: row;
  }

  .fr-follow__newsletter .fr-input-wrap .fr-input {
    margin-bottom: 0;
    border-radius: 0.25rem 0 0 0;
  }

  .fr-follow__newsletter .fr-messages-group {
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 48em) {
  /*! media md */
  .fr-follow {
    padding: 2rem 0;
  }

  .fr-follow .fr-grid-row > * > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
  }

  .fr-follow .fr-grid-row > *:not(:first-child) {
    padding-left: 8.3333333333%;
    padding-top: 0;
    margin-top: 0;
    box-shadow: -1px 0 0 0 var(--border-default-blue-france);
  }

  .fr-follow .fr-grid-row > *:not(:last-child) {
    padding-right: 8.3333333333%;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > .fr-follow__newsletter {
    --text-spacing: 0;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > .fr-follow__newsletter > * {
    max-width: 50%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > .fr-follow__newsletter > :first-child {
    padding-right: 0.75rem;
    padding-left: 0;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > .fr-follow__newsletter > :last-child {
    padding-right: 0;
    padding-left: 0.75rem;
  }

  .fr-follow .fr-grid-row > *:first-child:last-child > .fr-follow__social {
    --title-spacing: 0;
  }

  .fr-follow .fr-hint-text {
    margin-top: 0.5rem;
  }
}
@media (min-width: 62em) {
  /*! media lg */
}
@media (min-width: 78em) {
  /*! media xl */
}
