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

/* ¯¯¯¯¯¯¯¯¯ *\
  BUTTON
\* ˍˍˍˍˍˍˍˍˍ */
.fr-btn {
  --text-spacing: 0;
  --title-spacing: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;

  --underline-img: none;
  --hover-tint: var(--hover);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  background-color: var(--background-action-high-blue-france);

  --idle: transparent;
  --hover: var(--background-action-high-blue-france-hover);
  --active: var(--background-action-high-blue-france-active);
  color: var(--text-inverted-blue-france);
}

.fr-btn::before,
.fr-btn::after {
  display: block;
}

.fr-btn[target=_blank] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn[target=_blank]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btn--align-on-content {
  margin-left: -1rem;
  margin-right: -1rem;
}

.fr-btn[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  overflow: hidden;
  white-space: nowrap;
  max-width: 2.5rem;
  max-height: 2.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
.fr-btn[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
.fr-btn[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
.fr-btn[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
  --icon-size: 1.5rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--icon-left[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--icon-left[class^=fr-icon-]::before,
.fr-btn--icon-left[class*=" fr-icon-"]::before,
.fr-btn--icon-left[class^=fr-fi-]::before,
.fr-btn--icon-left[class*=" fr-fi-"]::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  margin-right: 0.5rem;
}

.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
  margin-left: -0.875rem;
  margin-right: -1rem;
}

.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--icon-right[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--icon-right[class^=fr-icon-]::after,
.fr-btn--icon-right[class*=" fr-icon-"]::after,
.fr-btn--icon-right[class^=fr-fi-]::after,
.fr-btn--icon-right[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btn--icon-right[class^=fr-icon-]::before,
.fr-btn--icon-right[class*=" fr-icon-"]::before,
.fr-btn--icon-right[class^=fr-fi-]::before,
.fr-btn--icon-right[class*=" fr-fi-"]::before {
  content: none;
}

.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
  margin-left: -1rem;
  margin-right: -0.875rem;
}

.fr-btn--sm {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
}

.fr-btn--sm[target=_blank] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--sm[target=_blank]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btn--sm.fr-btn--align-on-content {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.fr-btn--sm[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn--sm[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn--sm[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn--sm[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  overflow: hidden;
  white-space: nowrap;
  max-width: 2rem;
  max-height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn--sm[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
.fr-btn--sm[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
.fr-btn--sm[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
.fr-btn--sm[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
  --icon-size: 1rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btn--sm.fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn--sm.fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn--sm.fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn--sm.fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.fr-btn--sm.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--sm.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--sm.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--sm.fr-btn--icon-left[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--sm.fr-btn--icon-left[class^=fr-icon-]::before,
.fr-btn--sm.fr-btn--icon-left[class*=" fr-icon-"]::before,
.fr-btn--sm.fr-btn--icon-left[class^=fr-fi-]::before,
.fr-btn--sm.fr-btn--icon-left[class*=" fr-fi-"]::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  margin-right: 0.5rem;
}

.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
  margin-left: -0.625rem;
  margin-right: -0.75rem;
}

.fr-btn--sm.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--sm.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--sm.fr-btn--icon-right[class^=fr-icon-]::after,
.fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"]::after,
.fr-btn--sm.fr-btn--icon-right[class^=fr-fi-]::after,
.fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btn--sm.fr-btn--icon-right[class^=fr-icon-]::before,
.fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"]::before,
.fr-btn--sm.fr-btn--icon-right[class^=fr-fi-]::before,
.fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"]::before {
  content: none;
}

.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
  margin-left: -0.75rem;
  margin-right: -0.625rem;
}

.fr-btn--lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
}

.fr-btn--lg[target=_blank] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--lg[target=_blank]::after {
  content: "";

  --icon-size: 1.5rem;
  margin-right: -0.1875rem;
  margin-left: 0.5rem;
}

.fr-btn--lg.fr-btn--align-on-content {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.fr-btn--lg[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn--lg[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn--lg[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn--lg[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  overflow: hidden;
  white-space: nowrap;
  max-width: 3rem;
  max-height: 3rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn--lg[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
.fr-btn--lg[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
.fr-btn--lg[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
.fr-btn--lg[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
  --icon-size: 2rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btn--lg.fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
.fr-btn--lg.fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
.fr-btn--lg.fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
.fr-btn--lg.fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.fr-btn--lg.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--lg.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--lg.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--lg.fr-btn--icon-left[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--lg.fr-btn--icon-left[class^=fr-icon-]::before,
.fr-btn--lg.fr-btn--icon-left[class*=" fr-icon-"]::before,
.fr-btn--lg.fr-btn--icon-left[class^=fr-fi-]::before,
.fr-btn--lg.fr-btn--icon-left[class*=" fr-fi-"]::before {
  --icon-size: 1.5rem;
  margin-left: -0.1875rem;
  margin-right: 0.5rem;
}

.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
  margin-left: -1.3125rem;
  margin-right: -1.5rem;
}

.fr-btn--lg.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--lg.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"] {
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--lg.fr-btn--icon-right[class^=fr-icon-]::after,
.fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"]::after,
.fr-btn--lg.fr-btn--icon-right[class^=fr-fi-]::after,
.fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1.5rem;
  margin-right: -0.1875rem;
  margin-left: 0.5rem;
}

.fr-btn--lg.fr-btn--icon-right[class^=fr-icon-]::before,
.fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"]::before,
.fr-btn--lg.fr-btn--icon-right[class^=fr-fi-]::before,
.fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"]::before {
  content: none;
}

.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
.fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
  margin-left: -1.5rem;
  margin-right: -1.3125rem;
}

.fr-btns-group {
  --ul-type: none;
  --ol-type: none;
  --ul-start: 0;
  --ol-start: 0;
  --xl-block: 0;
  --li-bottom: 0;
  --ol-content: none;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;

  /**
  * fr-btns-group--inline : aligne les boutons horizontalement dans tout les cas
  * fr-btns-group--inline-(sm/md/lg) : permet de passer en horizontal à partir de la valeur du breakpoint appliqué (sm, md, lg)
  */

  /**
  * fr-btns-group--left : (Défaut) aligne les boutons sur la gauche (en lecture L-t-R)
  */

  /**
  * fr-btns-group--right : aligne les boutons sur la droite
  */

  /**
  * fr-btns-group--center : aligne les boutons au centre du conteneur
  */

  /**
  * fr-btns-group--center : aligne les boutons au centre du conteneur
  */

  /**
  * fr-btns-group--equisized : Fixe la largeur des boutons à celle du plus grand. Géré en grande partie en JS.
  */

  /**
  * fr-btns-group--sm : Fixe les boutons à la taille SM
  */

  /**
  * fr-btns-group--md : (défaut) Fixe les boutons à la taille MD
  */

  /**
  * fr-btns-group--lg : Fixe les boutons à la taille LG (sans modfifieur => MD)
  */
}

.fr-btns-group > li,
.fr-btns-group > div {
  width: 100%;
  max-width: 100%;
}

.fr-btns-group .fr-btn {
  width: calc(100% - 1rem);
  margin: 0 0.5rem 1rem;
  justify-content: center;
}

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

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

.fr-btns-group--inline.fr-btns-group--right.fr-btns-group--inline-reverse {
  flex-direction: row-reverse;
  justify-content: flex-start;
}

.fr-btns-group--left,
.fr-btns-group--left li {
  justify-content: flex-start;
  text-align: left;
}

.fr-btns-group--right,
.fr-btns-group--right li {
  justify-content: flex-end;
  text-align: right;
}

.fr-btns-group--center,
.fr-btns-group--center li {
  justify-content: center;
  text-align: center;
}

.fr-btns-group--between,
.fr-btns-group--between li {
  justify-content: space-between;
  text-align: center;
}

.fr-btns-group--equisized {
  --equisized-width: auto;
}

.fr-btns-group--equisized .fr-btn {
  justify-content: center;
  width: var(--equisized-width);
}

.fr-btns-group--sm .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
}

.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"] {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2rem;
  max-height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  justify-content: flex-start;
}

.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 1rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  margin-right: 0.5rem;
}

.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
  content: none;
}

.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;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[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;
  justify-content: flex-start;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 1.5rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  margin-right: 0.5rem;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 0.5rem;
}

.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
.fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
  content: none;
}

.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;
}

.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[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;
  justify-content: flex-start;
}

.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 2rem;
  margin-left: 0;
  margin-right: 0.5rem;
}

.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
  --icon-size: 1.5rem;
  margin-left: -0.1875rem;
  margin-right: 0.5rem;
}

.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
  content: "";

  --icon-size: 1.5rem;
  margin-right: -0.1875rem;
  margin-left: 0.5rem;
}

.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
.fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
  content: none;
}

.fr-fieldset__element > .fr-btns-group {
  margin-bottom: -1rem;
}

.fr-btn--close {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
  display: flex;
  margin-left: auto;
}

.fr-btn--close::after {

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 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%;
  -webkit-mask-image: url("../../icons/system/close-line.svg");
  mask-image: url("../../icons/system/close-line.svg");
  content: "";
}

.fr-btn--close::before {
  content: none;
}

.fr-btn--tooltip {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2rem;
  max-height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn--tooltip::before {
  --icon-size: 1rem;
  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%;
  -webkit-mask-image: url("../../icons/system/question-line.svg");
  mask-image: url("../../icons/system/question-line.svg");
  content: "";
}

.fr-btn--fullscreen {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--fullscreen::after {

  --icon-size: 1rem;
  margin-right: -0.125rem;
  margin-left: 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%;
  -webkit-mask-image: url("../../icons/media/fullscreen-line.svg");
  mask-image: url("../../icons/media/fullscreen-line.svg");
  content: "";
}

.fr-btn--fullscreen::before {
  content: none;
}

.fr-btn--display {
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--display::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  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%;
  -webkit-mask-image: url("../../icons/system/fr--theme-fill.svg");
  mask-image: url("../../icons/system/fr--theme-fill.svg");
  content: "";
}

.fr-btn--account {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--account::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  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%;
  -webkit-mask-image: url("../../icons/user/account-circle-fill.svg");
  mask-image: url("../../icons/user/account-circle-fill.svg");
  content: "";
}

.fr-btn--team {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--team::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  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%;
  -webkit-mask-image: url("../../icons/user/team-line.svg");
  mask-image: url("../../icons/user/team-line.svg");
  content: "";
}

.fr-btn--briefcase {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: initial;
  max-width: 100%;
  max-height: none;
}

.fr-btn--briefcase::before {
  --icon-size: 1rem;
  margin-left: -0.125rem;
  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%;
  -webkit-mask-image: url("../../icons/business/briefcase-fill.svg");
  mask-image: url("../../icons/business/briefcase-fill.svg");
  content: "";
}

.fr-btn--sort {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2rem;
  max-height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn--sort::before {
  --icon-size: 1rem;
  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%;
  -webkit-mask-image: url("../../icons/system/arrow-up-down-line.svg");
  mask-image: url("../../icons/system/arrow-up-down-line.svg");
  content: "";
  transition: transform 0.3s;
}

.fr-btn--sort[aria-sort=descending]::before {
  transform: rotate(-180deg);
}

.fr-btn--sort[aria-sort=ascending],
.fr-btn--sort[aria-sort=descending] {
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  max-width: 2rem;
  max-height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.fr-btn--sort[aria-sort=ascending]::before,
.fr-btn--sort[aria-sort=descending]::before {
  --icon-size: 1rem;
  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%;
  -webkit-mask-image: url("../../icons/system/arrow-up-line.svg");
  mask-image: url("../../icons/system/arrow-up-line.svg");
  content: "";
}

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

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

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

  --hover: inherit;
  --active: inherit;
  color: var(--text-action-high-blue-france);
  box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);
}

.fr-btn--secondary:disabled,
a.fr-btn--secondary:not([href]) {
  color: var(--text-disabled-grey);
  box-shadow: inset 0 0 0 1px var(--border-disabled-grey);
  background-color: transparent;

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

.fr-btn--tertiary,
.fr-btn--sort,
.fr-btn--account {
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
  color: var(--text-action-high-blue-france);
  box-shadow: inset 0 0 0 1px var(--border-default-grey);
}

.fr-btn--tertiary:disabled,
a.fr-btn--tertiary:not([href]),
a.fr-btn--sort:not([href]),
a.fr-btn--account:not([href]),
.fr-btn--sort:disabled,
.fr-btn--account:disabled {
  color: var(--text-disabled-grey);
  box-shadow: inset 0 0 0 1px var(--border-disabled-grey);
  background-color: transparent;

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

.fr-btn--tertiary-no-outline,
.fr-btn--close,
.fr-btn--display,
.fr-btn--fullscreen,
.fr-btn--tooltip,
.fr-btn--briefcase,
.fr-btn--team {
  background-color: transparent;

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

.fr-btn--tertiary-no-outline:disabled,
a.fr-btn--tertiary-no-outline:not([href]),
a.fr-btn--close:not([href]),
a.fr-btn--display:not([href]),
a.fr-btn--fullscreen:not([href]),
a.fr-btn--tooltip:not([href]),
a.fr-btn--briefcase:not([href]),
a.fr-btn--team:not([href]),
.fr-btn--close:disabled,
.fr-btn--display:disabled,
.fr-btn--fullscreen:disabled,
.fr-btn--tooltip:disabled,
.fr-btn--briefcase:disabled,
.fr-btn--team:disabled {
  color: var(--text-disabled-grey);
  background-color: transparent;

  --hover: inherit;
  --active: inherit;
}
@media (min-width: 36em) {
  /*! media sm */
  .fr-btns-group--inline-sm .fr-btn {
    width: auto;
    max-width: 100%;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

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

  .fr-btns-group--inline-sm.fr-btns-group--right.fr-btns-group--inline-reverse {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}
@media (min-width: 48em) {
  /*! media md */
  .fr-btns-group--inline-md .fr-btn {
    width: auto;
    max-width: 100%;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

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

  .fr-btns-group--inline-md.fr-btns-group--right.fr-btns-group--inline-reverse {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}
@media (min-width: 62em) {
  /*! media lg */
  .fr-btns-group--inline-lg .fr-btn {
    width: auto;
    max-width: 100%;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

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

  .fr-btns-group--inline-lg.fr-btns-group--right.fr-btns-group--inline-reverse {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}
@media (min-width: 78em) {
  /*! media xl */
}
@media (-ms-high-contrast: active), (forced-colors: active) {
  .fr-btn::before,
  .fr-btn::after {
    background-color: buttontext;
  }

  .fr-btn:disabled::before,
  .fr-btn:disabled::after,
  a.fr-btn:not([href])::before,
  a.fr-btn:not([href])::after {
    background-color: graytext;
  }

  .fr-btn:disabled,
  a.fr-btn:not([href]) {
    border-color: graytext;
    color: graytext;
  }

  a[href].fr-btn::before,
  a[href].fr-btn::after {
    background-color: linktext;
  }

  button.fr-btn {
    border: 1px solid buttontext;
  }

  .fr-btn--close::after {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--tooltip::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--fullscreen::after {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--display::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--account::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--team::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--briefcase::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--sort::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }

  .fr-btn--sort[aria-sort=ascending]::before,
  .fr-btn--sort[aria-sort=descending]::before {
    forced-color-adjust: none;
    background-color: buttontext;
  }
}
