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

/* ¯¯¯¯¯¯¯¯¯ *\
  BUTTON
\* ˍˍˍˍˍˍˍˍˍ */
.village-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-village-primary);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.village-btns-group--sm.village-btns-group--icon-left .village-btn[class^=village-icon-],
.village-btns-group--sm.village-btns-group--icon-left .village-btn[class*=" village-icon-"],
.village-btns-group--sm.village-btns-group--icon-left .village-btn[class^=village-fi-],
.village-btns-group--sm.village-btns-group--icon-left .village-btn[class*=" village-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;
}

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

.village-btns-group--sm.village-btns-group--icon-right .village-btn[class^=village-icon-],
.village-btns-group--sm.village-btns-group--icon-right .village-btn[class*=" village-icon-"],
.village-btns-group--sm.village-btns-group--icon-right .village-btn[class^=village-fi-],
.village-btns-group--sm.village-btns-group--icon-right .village-btn[class*=" village-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;
}

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

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

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

.village-btns-group:not(.village-btns-group--sm):not(.village-btns-group--lg) .village-btn:not([class^=village-icon-]):not([class*=" village-icon-"]):not([class^=village-fi-]):not([class*=" village-fi-"]) {
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
}

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

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

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

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

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

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

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

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

.village-btns-group--lg .village-btn:not([class^=village-icon-]):not([class*=" village-icon-"]):not([class^=village-fi-]):not([class*=" village-fi-"]) {
  font-size: 1.125rem;
  line-height: 1.75rem;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
}

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

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

.village-btns-group--lg.village-btns-group--icon-left .village-btn[class^=village-icon-],
.village-btns-group--lg.village-btns-group--icon-left .village-btn[class*=" village-icon-"],
.village-btns-group--lg.village-btns-group--icon-left .village-btn[class^=village-fi-],
.village-btns-group--lg.village-btns-group--icon-left .village-btn[class*=" village-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;
}

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

.village-btns-group--lg.village-btns-group--icon-right .village-btn[class^=village-icon-],
.village-btns-group--lg.village-btns-group--icon-right .village-btn[class*=" village-icon-"],
.village-btns-group--lg.village-btns-group--icon-right .village-btn[class^=village-fi-],
.village-btns-group--lg.village-btns-group--icon-right .village-btn[class*=" village-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;
}

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

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

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

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

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

.village-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: "";
}

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

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

.village-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: "";
}

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

.village-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: "";
}

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

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

.village-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/village--theme-fill.svg");
  mask-image: url("../../icons/system/village--theme-fill.svg");
  content: "";
}

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

.village-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: "";
}

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

.village-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: "";
}

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

.village-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: "";
}

.village-btn:disabled,
a.village-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);
}

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

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

.village-btn--secondary:disabled,
a.village-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;
}

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

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

.village-btn--tertiary:disabled,
a.village-btn--tertiary:not([href]),
a.village-btn--account:not([href]),
.village-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;
}

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

  --hover: inherit;
  --active: inherit;
  color: var(--text-action-high-village-primary);
}

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

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

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

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

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

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

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

  .village-btns-group--inline-lg.village-btns-group--right.village-btns-group--inline-reverse {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}
@media (min-width: 78em) {
  /*! media xl */
}
