@lab-anssi/ui-kit 1.61.2 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/README.md +102 -21
  2. package/dist/assets/assets.d.ts +1 -0
  3. package/dist/assets/assets.js +1 -0
  4. package/dist/assets/dsfr-icons.css +1 -0
  5. package/dist/composants/Alerte.svelte +83 -0
  6. package/dist/composants/Alerte.svelte.d.ts +32 -0
  7. package/dist/composants/AncresParcours.svelte +132 -0
  8. package/dist/composants/AncresParcours.svelte.d.ts +11 -0
  9. package/dist/composants/BandeauPage.svelte +218 -0
  10. package/dist/composants/BandeauPage.svelte.d.ts +58 -0
  11. package/dist/composants/BlocFonctionnalites.svelte +570 -0
  12. package/dist/composants/BlocFonctionnalites.svelte.d.ts +105 -0
  13. package/dist/composants/Bouton.svelte +156 -0
  14. package/dist/composants/Bouton.svelte.d.ts +36 -0
  15. package/dist/composants/CentreAide.svelte +223 -0
  16. package/dist/composants/CentreAide.svelte.d.ts +41 -0
  17. package/dist/composants/FiltresCatalogue.svelte +147 -0
  18. package/dist/composants/FiltresCatalogue.svelte.d.ts +15 -0
  19. package/dist/composants/Icone.svelte +42 -0
  20. package/dist/composants/Icone.svelte.d.ts +7 -0
  21. package/dist/composants/Lien.svelte +233 -0
  22. package/dist/composants/Lien.svelte.d.ts +39 -0
  23. package/dist/composants/MultiSelect.svelte +931 -0
  24. package/dist/composants/MultiSelect.svelte.d.ts +51 -0
  25. package/dist/composants/Reactions.svelte +360 -0
  26. package/dist/composants/Reactions.svelte.d.ts +23 -0
  27. package/dist/composants/ResumePssi.svelte +92 -0
  28. package/dist/composants/ResumePssi.svelte.d.ts +6 -0
  29. package/dist/composants/Tag.svelte +113 -0
  30. package/dist/composants/Tag.svelte.d.ts +35 -0
  31. package/dist/composants/blog/BandeauTitre.svelte +150 -0
  32. package/dist/composants/blog/BandeauTitre.svelte.d.ts +29 -0
  33. package/dist/composants/blog/CarteArticle.svelte +69 -0
  34. package/dist/composants/blog/CarteArticle.svelte.d.ts +8 -0
  35. package/dist/composants/blog/IconeChevronBas.svelte +22 -0
  36. package/dist/composants/blog/IconeChevronBas.svelte.d.ts +26 -0
  37. package/dist/composants/blog/IconeMenuLateral.svelte +15 -0
  38. package/dist/composants/blog/IconeMenuLateral.svelte.d.ts +26 -0
  39. package/dist/composants/blog/ListeArticles.svelte +62 -0
  40. package/dist/composants/blog/ListeArticles.svelte.d.ts +9 -0
  41. package/dist/composants/blog/ListeDeroulante.svelte +57 -0
  42. package/dist/composants/blog/ListeDeroulante.svelte.d.ts +10 -0
  43. package/dist/composants/blog/PageCrisp.svelte +244 -0
  44. package/dist/composants/blog/PageCrisp.svelte.d.ts +8 -0
  45. package/dist/composants/blog/SommaireBureau.svelte +64 -0
  46. package/dist/composants/blog/SommaireBureau.svelte.d.ts +9 -0
  47. package/dist/composants/blog/SommaireMobile.svelte +115 -0
  48. package/dist/composants/blog/SommaireMobile.svelte.d.ts +9 -0
  49. package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte +184 -0
  50. package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte.d.ts +34 -0
  51. package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte +16 -0
  52. package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte.d.ts +26 -0
  53. package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte +12 -0
  54. package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte.d.ts +26 -0
  55. package/dist/composants/carrousel-tuiles/Tuile.svelte +72 -0
  56. package/dist/composants/carrousel-tuiles/Tuile.svelte.d.ts +10 -0
  57. package/dist/composants/icones/Fleche.svelte +25 -0
  58. package/dist/composants/icones/Fleche.svelte.d.ts +6 -0
  59. package/dist/composants/icones/LienExterne.svelte +20 -0
  60. package/dist/composants/icones/LienExterne.svelte.d.ts +6 -0
  61. package/dist/composants/marelle/Etape.svelte +165 -0
  62. package/dist/composants/marelle/Etape.svelte.d.ts +32 -0
  63. package/dist/composants/marelle/Marelle.svelte +97 -0
  64. package/dist/composants/marelle/Marelle.svelte.d.ts +44 -0
  65. package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte +158 -0
  66. package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte.d.ts +3 -0
  67. package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte +125 -0
  68. package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte.d.ts +7 -0
  69. package/dist/composants/pied-de-page/NavigationPiedDePage.svelte +62 -0
  70. package/dist/composants/pied-de-page/NavigationPiedDePage.svelte.d.ts +6 -0
  71. package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte +96 -0
  72. package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte.d.ts +6 -0
  73. package/dist/composants/suite-cyber/LiensSuiteCyber.svelte +99 -0
  74. package/dist/composants/suite-cyber/LiensSuiteCyber.svelte.d.ts +14 -0
  75. package/dist/composants/suite-cyber/SuiteCyber.svelte +296 -0
  76. package/dist/composants/suite-cyber/SuiteCyber.svelte.d.ts +6 -0
  77. package/dist/composants/vitrines-produits/briques/Brique.svelte +50 -0
  78. package/dist/composants/vitrines-produits/briques/Brique.svelte.d.ts +9 -0
  79. package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte +144 -0
  80. package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte.d.ts +29 -0
  81. package/dist/composants/vitrines-produits/briques/BriqueHero.svelte +246 -0
  82. package/dist/composants/vitrines-produits/briques/BriqueHero.svelte.d.ts +31 -0
  83. package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte +50 -0
  84. package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte.d.ts +25 -0
  85. package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte +14 -0
  86. package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte.d.ts +9 -0
  87. package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte +148 -0
  88. package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte.d.ts +37 -0
  89. package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte +139 -0
  90. package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte.d.ts +36 -0
  91. package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte +18 -0
  92. package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte.d.ts +26 -0
  93. package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte +168 -0
  94. package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte.d.ts +13 -0
  95. package/dist/directives/actions.svelte.d.ts +32 -0
  96. package/dist/directives/actions.svelte.js +158 -0
  97. package/dist/dsfr/DsfrAccordion.svelte +889 -0
  98. package/dist/dsfr/DsfrAccordion.svelte.d.ts +40 -0
  99. package/dist/dsfr/DsfrAlert.svelte +2097 -0
  100. package/dist/dsfr/DsfrAlert.svelte.d.ts +36 -0
  101. package/dist/dsfr/DsfrBadge.svelte +532 -0
  102. package/dist/dsfr/DsfrBadge.svelte.d.ts +41 -0
  103. package/dist/dsfr/DsfrBadgesGroup.svelte +610 -0
  104. package/dist/dsfr/DsfrBadgesGroup.svelte.d.ts +25 -0
  105. package/dist/dsfr/DsfrBreadcrumb.svelte +657 -0
  106. package/dist/dsfr/DsfrBreadcrumb.svelte.d.ts +25 -0
  107. package/dist/dsfr/DsfrButton.svelte +1821 -0
  108. package/dist/dsfr/DsfrButton.svelte.d.ts +68 -0
  109. package/dist/dsfr/DsfrButtonsGroup.svelte +1896 -0
  110. package/dist/dsfr/DsfrButtonsGroup.svelte.d.ts +36 -0
  111. package/dist/dsfr/DsfrCallout.svelte +242 -0
  112. package/dist/dsfr/DsfrCallout.svelte.d.ts +46 -0
  113. package/dist/dsfr/DsfrCard.svelte +10223 -0
  114. package/dist/dsfr/DsfrCard.svelte.d.ts +102 -0
  115. package/dist/dsfr/DsfrCheckbox.svelte +1280 -0
  116. package/dist/dsfr/DsfrCheckbox.svelte.d.ts +69 -0
  117. package/dist/dsfr/DsfrCheckboxesGroup.svelte +1532 -0
  118. package/dist/dsfr/DsfrCheckboxesGroup.svelte.d.ts +73 -0
  119. package/dist/dsfr/DsfrConnect.svelte +511 -0
  120. package/dist/dsfr/DsfrConnect.svelte.d.ts +15 -0
  121. package/dist/dsfr/DsfrContainer.svelte +894 -0
  122. package/dist/dsfr/DsfrContainer.svelte.d.ts +31 -0
  123. package/dist/dsfr/DsfrContent.svelte +1140 -0
  124. package/dist/dsfr/DsfrContent.svelte.d.ts +60 -0
  125. package/dist/dsfr/DsfrDropdown.svelte +335 -0
  126. package/dist/dsfr/DsfrDropdown.svelte.d.ts +73 -0
  127. package/dist/dsfr/DsfrFooter.svelte +2370 -0
  128. package/dist/dsfr/DsfrFooter.svelte.d.ts +77 -0
  129. package/dist/dsfr/DsfrHeader.svelte +4162 -0
  130. package/dist/dsfr/DsfrHeader.svelte.d.ts +131 -0
  131. package/dist/dsfr/DsfrHighlight.svelte +294 -0
  132. package/dist/dsfr/DsfrHighlight.svelte.d.ts +33 -0
  133. package/dist/dsfr/DsfrInput.svelte +1270 -0
  134. package/dist/dsfr/DsfrInput.svelte.d.ts +86 -0
  135. package/dist/dsfr/DsfrLabel.svelte +438 -0
  136. package/dist/dsfr/DsfrLabel.svelte.d.ts +65 -0
  137. package/dist/dsfr/DsfrLink.svelte +1007 -0
  138. package/dist/dsfr/DsfrLink.svelte.d.ts +66 -0
  139. package/dist/dsfr/DsfrLogo.svelte +228 -0
  140. package/dist/dsfr/DsfrLogo.svelte.d.ts +11 -0
  141. package/dist/dsfr/DsfrMessagesGroup.svelte +260 -0
  142. package/dist/dsfr/DsfrMessagesGroup.svelte.d.ts +46 -0
  143. package/dist/dsfr/DsfrModal.svelte +2983 -0
  144. package/dist/dsfr/DsfrModal.svelte.d.ts +56 -0
  145. package/dist/dsfr/DsfrNavigation.svelte +7626 -0
  146. package/dist/dsfr/DsfrNotice.svelte +2948 -0
  147. package/dist/dsfr/DsfrNotice.svelte.d.ts +37 -0
  148. package/dist/dsfr/DsfrPagination.svelte +1036 -0
  149. package/dist/dsfr/DsfrPagination.svelte.d.ts +35 -0
  150. package/dist/dsfr/DsfrQuote.svelte +646 -0
  151. package/dist/dsfr/DsfrQuote.svelte.d.ts +29 -0
  152. package/dist/dsfr/DsfrRadio.svelte +1307 -0
  153. package/dist/dsfr/DsfrRadio.svelte.d.ts +37 -0
  154. package/dist/dsfr/DsfrRadiosGroup.svelte +1629 -0
  155. package/dist/dsfr/DsfrRadiosGroup.svelte.d.ts +76 -0
  156. package/dist/dsfr/DsfrRange.svelte +1329 -0
  157. package/dist/dsfr/DsfrRange.svelte.d.ts +77 -0
  158. package/dist/dsfr/DsfrSearch.svelte +2015 -0
  159. package/dist/dsfr/DsfrSearch.svelte.d.ts +51 -0
  160. package/dist/dsfr/DsfrSegmented.svelte +422 -0
  161. package/dist/dsfr/DsfrSegmented.svelte.d.ts +34 -0
  162. package/dist/dsfr/DsfrSelect.svelte +1068 -0
  163. package/dist/dsfr/DsfrSelect.svelte.d.ts +86 -0
  164. package/dist/dsfr/DsfrShare.svelte +2228 -0
  165. package/dist/dsfr/DsfrShare.svelte.d.ts +40 -0
  166. package/dist/dsfr/DsfrSideMenu.svelte +1211 -0
  167. package/dist/dsfr/DsfrSideMenu.svelte.d.ts +34 -0
  168. package/dist/dsfr/DsfrSkipLink.svelte +990 -0
  169. package/dist/dsfr/DsfrSkipLink.svelte.d.ts +13 -0
  170. package/dist/dsfr/DsfrStepper.svelte +340 -0
  171. package/dist/dsfr/DsfrStepper.svelte.d.ts +18 -0
  172. package/dist/dsfr/DsfrTable.svelte +829 -0
  173. package/dist/dsfr/DsfrTable.svelte.d.ts +202 -0
  174. package/dist/dsfr/DsfrTabnav.svelte +1149 -0
  175. package/dist/dsfr/DsfrTabnav.svelte.d.ts +36 -0
  176. package/dist/dsfr/DsfrTabs.svelte +926 -0
  177. package/dist/dsfr/DsfrTabs.svelte.d.ts +28 -0
  178. package/dist/dsfr/DsfrTag.svelte +1269 -0
  179. package/dist/dsfr/DsfrTag.svelte.d.ts +59 -0
  180. package/dist/dsfr/DsfrTagsGroup.svelte +1351 -0
  181. package/dist/dsfr/DsfrTagsGroup.svelte.d.ts +37 -0
  182. package/dist/dsfr/DsfrTextarea.svelte +1385 -0
  183. package/dist/dsfr/DsfrTextarea.svelte.d.ts +72 -0
  184. package/dist/dsfr/DsfrTile.svelte +7645 -0
  185. package/dist/dsfr/DsfrTile.svelte.d.ts +79 -0
  186. package/dist/dsfr/DsfrToggle.svelte +1453 -0
  187. package/dist/dsfr/DsfrToggle.svelte.d.ts +56 -0
  188. package/dist/dsfr/DsfrTooltip.svelte +396 -0
  189. package/dist/dsfr/DsfrTooltip.svelte.d.ts +36 -0
  190. package/dist/dsfr/DsfrTranscription.svelte +2962 -0
  191. package/dist/dsfr/DsfrTranscription.svelte.d.ts +39 -0
  192. package/dist/dsfr/DsfrTranslate.svelte +1384 -0
  193. package/dist/dsfr/DsfrTranslate.svelte.d.ts +19 -0
  194. package/dist/dsfr/DsfrUser.svelte +736 -0
  195. package/dist/dsfr/DsfrUser.svelte.d.ts +65 -0
  196. package/dist/index.d.ts +79 -0
  197. package/dist/index.js +79 -0
  198. package/dist/styles/apparence-bouton.scss +154 -0
  199. package/dist/styles/dsfr-icons.css +1 -0
  200. package/dist/styles/dsfr-icons.scss +4 -0
  201. package/dist/styles/dsfr-variables.scss +28 -0
  202. package/dist/styles/mixins-dsfr.scss +226 -0
  203. package/dist/styles/mixins.scss +51 -0
  204. package/dist/types/commun.d.ts +63 -0
  205. package/dist/types/commun.js +1 -0
  206. package/dist/types/global.d.ts +24 -0
  207. package/dist/types/global.js +9 -0
  208. package/dist/types/index.d.ts +2 -0
  209. package/dist/types/index.js +1 -0
  210. package/dist/ui-kit-components.json +142 -100
  211. package/dist/utilitaires/createFormValidation.svelte.d.ts +34 -0
  212. package/dist/utilitaires/createFormValidation.svelte.js +183 -0
  213. package/dist/utilitaires/icons-stylesheet.d.ts +370 -0
  214. package/dist/utilitaires/icons-stylesheet.js +33 -0
  215. package/dist/utilitaires/index.d.ts +14 -0
  216. package/dist/utilitaires/index.js +26 -0
  217. package/dist/web-types.json +149 -101
  218. package/dist/webcomponents/lab-anssi-ui-kit.iife.js +36 -9
  219. package/dist/webcomponents/lab-anssi-ui-kit.jsx.d.ts +42 -24
  220. package/package.json +49 -43
  221. package/dist/index.html +0 -0
@@ -0,0 +1,1629 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-radios-group",
4
+ props: {
5
+ id: { attribute: "id", type: "String", reflect: true },
6
+ legend: { attribute: "legend", type: "String" },
7
+ radios: { attribute: "radios", type: "Object" },
8
+ hint: { attribute: "hint", type: "String" },
9
+ size: { attribute: "size", type: "String" },
10
+ inline: { attribute: "inline", type: "Boolean" },
11
+ name: { attribute: "name", type: "String", reflect: true },
12
+ disabled: { attribute: "disabled", type: "Boolean", reflect: true },
13
+ value: { attribute: "value", type: "String", reflect: true },
14
+ status: { attribute: "status", type: "String" },
15
+ errorMessage: { attribute: "error-message", type: "String" },
16
+ validMessage: { attribute: "valid-message", type: "String" },
17
+ form: { attribute: "form", type: "String", reflect: true },
18
+ required: { attribute: "required", type: "Boolean" },
19
+ legendSize: { attribute: "legend-size", type: "String" },
20
+ legendWeight: { attribute: "legend-weight", type: "String" },
21
+ },
22
+ extend: (customElementConstructor) => {
23
+ return class extends customElementConstructor {
24
+ static formAssociated = true;
25
+
26
+ constructor() {
27
+ super();
28
+ this.internals = this.attachInternals();
29
+ }
30
+ };
31
+ },
32
+ }}
33
+ />
34
+
35
+ <script lang="ts">import { setThemeable } from "../utilitaires";
36
+ import { createFormValidation } from "../utilitaires/createFormValidation.svelte";
37
+ import DsfrMessagesGroup from "./DsfrMessagesGroup.svelte";
38
+ let { id, legend, radios, hint, size = "md", rich: _rich, hasPictogram: _hasPictogram, inline, name, disabled, value = $bindable(), status = "default", errorMessage, validMessage, form, required, internals, legendSize, legendWeight, onvaluechanged } = $props();
39
+ let hostElement = $host();
40
+ setThemeable(hostElement);
41
+ let firstRadioElement;
42
+ // Création de l'état de validation partagé
43
+ const formValidation = createFormValidation();
44
+ // Détermine si l'utilisateur a pris la main sur le status
45
+ const isUserControlled = $derived(status !== "default");
46
+ // Status et message calculés à afficher
47
+ const computedStatus = $derived(isUserControlled ? status : formValidation.localStatus);
48
+ const computedErrorMessage = $derived(isUserControlled ? errorMessage : formValidation.localErrorMessage);
49
+ /**
50
+ * Gère l'événement change du groupe de radios.
51
+ * Met à jour la valeur et déclenche l'événement 'valuechanged'.
52
+ */
53
+ function handleChange() {
54
+ onvaluechanged?.(value);
55
+ hostElement?.dispatchEvent(new CustomEvent("valuechanged", {
56
+ detail: value,
57
+ bubbles: true
58
+ }));
59
+ }
60
+ /**
61
+ * Capture la référence du premier input radio pour la validation.
62
+ */
63
+ function captureFirstRadio(node) {
64
+ if (!firstRadioElement) {
65
+ firstRadioElement = node;
66
+ }
67
+ }
68
+ /**
69
+ * Définit un message de validité personnalisé pour le groupe de radios.
70
+ * Met à jour le message de validité personnalisé et déclenche la vérification de validité.
71
+ *
72
+ * @param {string} message - Le message de validité personnalisé à définir
73
+ */
74
+ export function setCustomValidity(message) {
75
+ formValidation.setCustomValidity(message);
76
+ }
77
+ // Configure la validation avec les références nécessaires
78
+ // Pour un groupe de radios, on utilise le premier input radio comme référence
79
+ // car c'est lui qui porte l'état de validité (required)
80
+ $effect(() => {
81
+ formValidation.setup(internals, firstRadioElement, hostElement, () => {
82
+ value = "";
83
+ });
84
+ });
85
+ // Synchronise la valeur du formulaire et met à jour la validité
86
+ $effect(() => {
87
+ formValidation.syncFormValue(value, isUserControlled);
88
+ });
89
+ // Quand l'utilisateur prend la main sur le status, on efface les erreurs de validation natives
90
+ $effect(() => {
91
+ if (isUserControlled) {
92
+ internals?.setValidity({});
93
+ }
94
+ });
95
+ // Attache les event listeners pour la validation
96
+ $effect(() => {
97
+ return formValidation.attachListeners();
98
+ });
99
+ </script>
100
+
101
+ <fieldset
102
+ class={["fr-fieldset", `fr-fieldset--${computedStatus}`]}
103
+ aria-labelledby={`${id}-legend ${id}-messages`}
104
+ {id}
105
+ {disabled}
106
+ {form}
107
+ >
108
+ <legend class="fr-fieldset__legend--regular fr-fieldset__legend" id={`${id}-legend`}>
109
+ <span
110
+ class={[legendSize && `fr-text--${legendSize}`, legendWeight && `fr-text--${legendWeight}`]}
111
+ >
112
+ {legend}
113
+ </span>
114
+
115
+ {#if hint}
116
+ <span class="fr-hint-text">{hint}</span>
117
+ {/if}
118
+ </legend>
119
+
120
+ {#each radios as radio (radio.id)}
121
+ <div class={["fr-fieldset__element", inline && "fr-fieldset__element--inline"]}>
122
+ <div class={["fr-radio-group", `fr-radio-group--${size}`]}>
123
+ <input
124
+ type="radio"
125
+ id={radio.id}
126
+ {name}
127
+ value={radio.value || radio.id}
128
+ bind:group={value}
129
+ onchange={handleChange}
130
+ onblur={formValidation.handleBlur}
131
+ oninvalid={formValidation.handleInvalid}
132
+ use:captureFirstRadio
133
+ disabled={radio.disabled}
134
+ {form}
135
+ {required}
136
+ />
137
+ <label class="fr-label" for={radio.id}>
138
+ {radio.label}
139
+ {#if radio.hint}
140
+ <span class="fr-hint-text">{radio.hint}</span>
141
+ {/if}
142
+ </label>
143
+ </div>
144
+ </div>
145
+ {/each}
146
+
147
+ <slot name="messages-group">
148
+ {#if computedStatus !== "default"}
149
+ <DsfrMessagesGroup
150
+ {id}
151
+ status={computedStatus}
152
+ errorMessage={isUserControlled ? errorMessage : computedErrorMessage}
153
+ {validMessage}
154
+ context="fieldset"
155
+ />
156
+ {/if}
157
+ </slot>
158
+ </fieldset>
159
+
160
+ <style>@charset "UTF-8"; /*!
161
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
162
+ */ /* ¯¯¯¯¯¯¯¯¯ *\
163
+ FORM
164
+ \* ˍˍˍˍˍˍˍˍˍ */
165
+ .fr-label {
166
+ display: block;
167
+ font-size: 1rem;
168
+ line-height: 1.5rem;
169
+ color: var(--text-label-grey);
170
+ }
171
+
172
+ .fr-label + .fr-input,
173
+ .fr-label + .fr-input-wrap,
174
+ .fr-label + .fr-select {
175
+ margin-top: 0.5rem;
176
+ }
177
+
178
+ .fr-hint-text {
179
+ display: block;
180
+ font-size: 0.75rem;
181
+ line-height: 1.25rem;
182
+
183
+ --text-spacing: 0 0 1rem;
184
+ }
185
+
186
+ .fr-hint-text + .fr-hint-text {
187
+ margin-top: 0.25rem;
188
+ }
189
+
190
+ .fr-fieldset {
191
+ position: relative;
192
+ margin: 0 -0.75rem 1rem;
193
+ padding: 0 0.25rem;
194
+ display: flex;
195
+ flex-direction: row;
196
+ align-items: last baseline;
197
+ flex-wrap: wrap;
198
+ border: 0;
199
+ }
200
+
201
+ .fr-fieldset__legend {
202
+ padding-bottom: 1rem;
203
+ padding-left: 0.75rem;
204
+ padding-right: 0.75rem;
205
+ margin-left: -0.25rem;
206
+ margin-right: -0.25rem;
207
+ font-size: 1rem;
208
+ line-height: 1.5rem;
209
+ font-weight: 700;
210
+ width: 100%;
211
+ color: var(--text-label-grey);
212
+ }
213
+
214
+ .fr-fieldset__legend--regular {
215
+ font-weight: 400;
216
+ }
217
+
218
+ .fr-fieldset__legend .fr-hint-text {
219
+ margin-top: 0.5rem;
220
+ font-weight: 400;
221
+ }
222
+
223
+ .fr-fieldset--valid,
224
+ .fr-fieldset--error,
225
+ .fr-fieldset--info {
226
+ background-repeat: no-repeat;
227
+ background-position: 0 -2.25rem;
228
+ background-size: 2px calc(100% + 1.25rem);
229
+ }
230
+
231
+ .fr-fieldset--valid .fr-fieldset__legend,
232
+ .fr-fieldset--error .fr-fieldset__legend,
233
+ .fr-fieldset--info .fr-fieldset__legend {
234
+ background-repeat: no-repeat;
235
+ background-position: 0 0;
236
+ background-size: 2px 100%;
237
+ }
238
+
239
+ .fr-fieldset__element {
240
+ flex: 1 1 100%;
241
+ max-width: 100%;
242
+ padding-left: 0.5rem;
243
+ padding-right: 0.5rem;
244
+ margin-bottom: 1rem;
245
+ }
246
+
247
+ .fr-fieldset__element--inline {
248
+ flex: 0 0 auto;
249
+ }
250
+
251
+ .fr-fieldset__element--inline-grow,
252
+ .fr-fieldset__element--inline\@md.fr-fieldset__element--inline-grow {
253
+ flex-grow: 1;
254
+ }
255
+
256
+ .fr-fieldset__element.fr-fieldset__element--year {
257
+ flex: 0 0 8rem;
258
+ }
259
+
260
+ .fr-fieldset__element--year:not(.fr-fieldset__element--inline) {
261
+ margin-right: calc(100% - 8rem);
262
+ }
263
+
264
+ .fr-fieldset__element.fr-fieldset__element--postal {
265
+ flex: 0 0 16rem;
266
+ }
267
+
268
+ .fr-fieldset__element--postal:not(.fr-fieldset__element--inline) {
269
+ margin-right: calc(100% - 16rem);
270
+ }
271
+
272
+ .fr-fieldset__element.fr-fieldset__element--number {
273
+ flex: 0 0 6rem;
274
+ }
275
+
276
+ .fr-fieldset__element--number:not(.fr-fieldset__element--inline) {
277
+ margin-right: calc(100% - 6rem);
278
+ }
279
+
280
+ .fr-fieldset__legend > h1:last-child::after,
281
+ .fr-fieldset__legend > h2:last-child::after,
282
+ .fr-fieldset__legend > h3:last-child::after,
283
+ .fr-fieldset__legend > h4:last-child::after,
284
+ .fr-fieldset__legend > h5:last-child::after,
285
+ .fr-fieldset__legend > h6:last-child::after,
286
+ .fr-fieldset__legend > p:last-child::after,
287
+ .fr-fieldset__legend > .fr-fieldset:last-child::after,
288
+ .fr-fieldset__element > h1:last-child::after,
289
+ .fr-fieldset__element > h2:last-child::after,
290
+ .fr-fieldset__element > h3:last-child::after,
291
+ .fr-fieldset__element > h4:last-child::after,
292
+ .fr-fieldset__element > h5:last-child::after,
293
+ .fr-fieldset__element > h6:last-child::after,
294
+ .fr-fieldset__element > p:last-child::after,
295
+ .fr-fieldset__element > .fr-fieldset:last-child::after {
296
+ content: "";
297
+ display: block;
298
+ margin-bottom: -1rem;
299
+ }
300
+
301
+ .fr-fieldset > .fr-messages-group {
302
+ flex: 1 1 100%;
303
+ padding-left: 0.5rem;
304
+ padding-right: 0.5rem;
305
+ }
306
+
307
+ .fr-fieldset > .fr-messages-group > .fr-message:last-child {
308
+ margin-bottom: 1rem;
309
+ }
310
+
311
+ .fr-message {
312
+ --comma: ", ";
313
+ --content: var(--comma);
314
+ display: flex;
315
+ flex-direction: row;
316
+ align-items: flex-start;
317
+ font-size: 0.75rem;
318
+ line-height: 1.25rem;
319
+ margin: 0 0 0.25rem 0;
320
+ }
321
+
322
+ .fr-message::after {
323
+ content: var(--content);
324
+ position: absolute;
325
+ width: 1px;
326
+ height: 1px;
327
+ padding: 0;
328
+ margin: -1px;
329
+ overflow: hidden;
330
+ clip: rect(0, 0, 0, 0);
331
+ white-space: nowrap; /* added line */
332
+ border: 0;
333
+ display: block;
334
+ }
335
+
336
+ .fr-message:last-child {
337
+ --comma: ". ";
338
+ margin-bottom: 0;
339
+ }
340
+
341
+ .fr-message--error::before,
342
+ .fr-message--valid::before,
343
+ .fr-message--warning::before,
344
+ .fr-message--info::before {
345
+ flex: 0 0 auto;
346
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
347
+ background-color: currentColor;
348
+ width: var(--icon-size);
349
+ height: var(--icon-size);
350
+ -webkit-mask-size: 100% 100%;
351
+ mask-size: 100% 100%;
352
+ --icon-size: 1rem;
353
+ content: "";
354
+ display: inline-block;
355
+ margin-right: 0.25rem;
356
+ margin-top: 0.125rem;
357
+ }
358
+
359
+ .fr-message--error::before {
360
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
361
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
362
+ }
363
+
364
+ .fr-message--valid::before {
365
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
366
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
367
+ }
368
+
369
+ .fr-message--info::before {
370
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
371
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
372
+ }
373
+
374
+ .fr-message--warning::before {
375
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
376
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
377
+ }
378
+
379
+ .fr-select-group--valid label,
380
+ .fr-input-group--valid label,
381
+ .fr-range-group--valid label,
382
+ .fr-upload-group--valid label {
383
+ color: var(--text-default-success);
384
+ }
385
+
386
+ .fr-select-group--error label,
387
+ .fr-input-group--error label,
388
+ .fr-range-group--error label,
389
+ .fr-upload-group--error label {
390
+ color: var(--text-default-error);
391
+ }
392
+
393
+ .fr-select-group--info label,
394
+ .fr-input-group--info label,
395
+ .fr-range-group--info label,
396
+ .fr-upload-group--info label {
397
+ color: var(--text-default-info);
398
+ }
399
+
400
+ .fr-select-group--disabled label,
401
+ .fr-select-group--disabled .fr-hint-text,
402
+ .fr-input-group--disabled label,
403
+ .fr-input-group--disabled .fr-hint-text,
404
+ .fr-range-group--disabled label,
405
+ .fr-range-group--disabled .fr-hint-text,
406
+ .fr-upload-group--disabled label,
407
+ .fr-upload-group--disabled .fr-hint-text {
408
+ color: var(--text-disabled-grey);
409
+ }
410
+
411
+ .fr-label--error {
412
+ color: var(--text-default-error);
413
+ }
414
+
415
+ .fr-label--success {
416
+ color: var(--text-default-success);
417
+ }
418
+
419
+ .fr-label--info {
420
+ color: var(--text-default-info);
421
+ }
422
+
423
+ .fr-label--disabled,
424
+ .fr-label--disabled .fr-hint-text {
425
+ color: var(--text-disabled-grey);
426
+ }
427
+
428
+ .fr-hint-text,
429
+ .fr-message {
430
+ color: var(--text-mention-grey);
431
+ }
432
+
433
+ .fr-message--error {
434
+ color: var(--text-default-error);
435
+ }
436
+
437
+ .fr-message--valid {
438
+ color: var(--text-default-success);
439
+ }
440
+
441
+ .fr-message--info {
442
+ color: var(--text-default-info);
443
+ }
444
+
445
+ .fr-message--warning {
446
+ color: var(--text-default-warning);
447
+ }
448
+
449
+ .fr-fieldset:disabled .fr-label,
450
+ .fr-fieldset:disabled .fr-hint-text,
451
+ .fr-fieldset:disabled .fr-fieldset__legend {
452
+ color: var(--text-disabled-grey);
453
+ }
454
+
455
+ .fr-fieldset input:disabled + label,
456
+ .fr-fieldset input:disabled + label .fr-hint-text,
457
+ .fr-fieldset input:disabled + label + .fr-hint-text {
458
+ color: var(--text-disabled-grey);
459
+ }
460
+
461
+ .fr-fieldset--error,
462
+ .fr-fieldset--error .fr-fieldset__legend {
463
+ background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
464
+ }
465
+
466
+ .fr-fieldset--error .fr-fieldset__legend,
467
+ .fr-fieldset--error .fr-label {
468
+ color: var(--text-default-error);
469
+ }
470
+
471
+ .fr-fieldset--valid,
472
+ .fr-fieldset--valid .fr-fieldset__legend {
473
+ background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));
474
+ }
475
+
476
+ .fr-fieldset--valid .fr-fieldset__legend,
477
+ .fr-fieldset--valid .fr-label {
478
+ color: var(--text-default-success);
479
+ }
480
+
481
+ .fr-fieldset--info,
482
+ .fr-fieldset--info .fr-fieldset__legend {
483
+ background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
484
+ }
485
+
486
+ .fr-fieldset--info .fr-fieldset__legend,
487
+ .fr-fieldset--info .fr-label {
488
+ color: var(--text-default-info);
489
+ }
490
+
491
+ .fr-select-group:not(:last-child),
492
+ .fr-input-group:not(:last-child) {
493
+ margin-bottom: 1.5rem;
494
+ }
495
+
496
+ .fr-select-group .fr-label .fr-hint-text,
497
+ .fr-input-group .fr-label .fr-hint-text {
498
+ margin-top: 0.25rem;
499
+ }
500
+
501
+ .fr-fieldset--inline .fr-fieldset__content {
502
+ display: flex;
503
+ align-items: baseline;
504
+ justify-content: flex-start;
505
+ flex-wrap: wrap;
506
+ margin: -0.75rem 0.5rem 0 0.5rem;
507
+ }
508
+
509
+ .fr-fieldset--inline .fr-checkbox-group {
510
+ display: inline-flex;
511
+ margin-bottom: 0;
512
+ }
513
+
514
+ .fr-fieldset--inline .fr-checkbox-group:first-child {
515
+ margin-top: 0;
516
+ }
517
+
518
+ .fr-fieldset--inline .fr-checkbox-group:not(:last-child) {
519
+ margin-right: 1.25rem;
520
+ }
521
+
522
+ .fr-fieldset--inline .fr-checkbox-group:last-child {
523
+ margin-bottom: 0;
524
+ }
525
+
526
+ .fr-fieldset--inline .fr-radio-group {
527
+ display: inline-flex;
528
+ }
529
+
530
+ .fr-fieldset--inline .fr-radio-group:not(:last-child) {
531
+ margin-right: 1.75rem;
532
+ }
533
+
534
+ .fr-fieldset--inline .fr-radio-group:first-child {
535
+ margin-top: 0;
536
+ }
537
+
538
+ .fr-fieldset--inline .fr-radio-group:last-child {
539
+ margin-bottom: 0;
540
+ }
541
+
542
+ .fr-fieldset__content {
543
+ position: relative;
544
+ margin: 0 0.5rem;
545
+ width: 100%;
546
+ }
547
+
548
+ .fr-fieldset__content .fr-radio-group:first-child,
549
+ .fr-fieldset__content .fr-checkbox-group:first-child {
550
+ margin-top: -0.75rem;
551
+ }
552
+
553
+ .fr-fieldset__content .fr-radio-group label,
554
+ .fr-fieldset__content .fr-checkbox-group label {
555
+ padding: 0.75rem 0;
556
+ }
557
+
558
+ .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] + label::before,
559
+ .fr-fieldset__content .fr-checkbox-group input[type=checkbox] + label::before {
560
+ top: 0.75rem;
561
+ }
562
+
563
+ .fr-fieldset__content + .fr-error-text,
564
+ .fr-fieldset__content + .fr-valid-text,
565
+ .fr-fieldset__content + .fr-info-text {
566
+ margin-top: 0;
567
+ margin-left: 0.5rem;
568
+ margin-bottom: 1rem;
569
+ }
570
+
571
+ .fr-error-text,
572
+ .fr-valid-text,
573
+ .fr-info-text {
574
+ display: flex;
575
+ flex-direction: row;
576
+ align-items: center;
577
+ font-size: 0.75rem;
578
+ line-height: 1.25rem;
579
+ margin-top: 1rem;
580
+ margin-bottom: 0;
581
+ }
582
+
583
+ .fr-error-text::before,
584
+ .fr-valid-text::before,
585
+ .fr-info-text::before {
586
+ flex: 0 0 auto;
587
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
588
+ background-color: currentColor;
589
+ width: var(--icon-size);
590
+ height: var(--icon-size);
591
+ -webkit-mask-size: 100% 100%;
592
+ mask-size: 100% 100%;
593
+ --icon-size: 1rem;
594
+ content: "";
595
+ display: inline-block;
596
+ margin-right: 0.25rem;
597
+ }
598
+
599
+ .fr-error-text + .fr-error-text,
600
+ .fr-error-text + .fr-valid-text,
601
+ .fr-error-text + .fr-info-text,
602
+ .fr-valid-text + .fr-error-text,
603
+ .fr-valid-text + .fr-valid-text,
604
+ .fr-valid-text + .fr-info-text,
605
+ .fr-info-text + .fr-error-text,
606
+ .fr-info-text + .fr-valid-text,
607
+ .fr-info-text + .fr-info-text {
608
+ margin-top: 0.25rem;
609
+ }
610
+
611
+ .fr-error-text::before {
612
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
613
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
614
+ }
615
+
616
+ .fr-valid-text::before {
617
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
618
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
619
+ }
620
+
621
+ .fr-info-text::before {
622
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
623
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
624
+ }
625
+
626
+ .fr-error-text {
627
+ color: var(--text-default-error);
628
+ }
629
+
630
+ .fr-valid-text {
631
+ color: var(--text-default-success);
632
+ }
633
+
634
+ .fr-info-text {
635
+ color: var(--text-default-info);
636
+ }
637
+
638
+ .fr-fieldset--valid .fr-fieldset__content::before {
639
+ box-shadow: inset 2px 0 0 0 var(--border-plain-success);
640
+ }
641
+
642
+ .fr-fieldset--error .fr-fieldset__content::before {
643
+ box-shadow: inset 2px 0 0 0 var(--border-plain-error);
644
+ }
645
+
646
+ .fr-fieldset--info .fr-fieldset__content::before {
647
+ box-shadow: inset 2px 0 0 0 var(--border-plain-info);
648
+ }
649
+ @media (min-width: 36em) {
650
+ /*! media sm */
651
+ }
652
+ @media (min-width: 48em) {
653
+ /*! media md */
654
+ .fr-fieldset__element--inline\@md {
655
+ flex: 0 0 auto;
656
+ }
657
+
658
+ .fr-fieldset__element--year.fr-fieldset__element--inline\@md {
659
+ margin-right: 0;
660
+ }
661
+
662
+ .fr-fieldset__element--postal.fr-fieldset__element--inline\@md {
663
+ margin-right: 0;
664
+ }
665
+
666
+ .fr-fieldset__element--number.fr-fieldset__element--inline\@md {
667
+ margin-right: 0;
668
+ }
669
+ }
670
+ @media (min-width: 62em) {
671
+ /*! media lg */
672
+ }
673
+ @media (min-width: 78em) {
674
+ /*! media xl */
675
+ }
676
+ @media (-ms-high-contrast: active), (forced-colors: active) {
677
+ .fr-fieldset:disabled .fr-label,
678
+ .fr-fieldset:disabled .fr-hint-text,
679
+ .fr-fieldset:disabled .fr-fieldset__legend {
680
+ color: graytext;
681
+ }
682
+
683
+ .fr-fieldset input:disabled + label,
684
+ .fr-fieldset input:disabled + label .fr-hint-text,
685
+ .fr-fieldset input:disabled + label + .fr-hint-text {
686
+ color: graytext;
687
+ }
688
+
689
+ .fr-message--error::before,
690
+ .fr-message--error::after,
691
+ .fr-message--valid::before,
692
+ .fr-message--valid::after,
693
+ .fr-message--warning::before,
694
+ .fr-message--warning::after,
695
+ .fr-message--info::before,
696
+ .fr-message--info::after {
697
+ forced-color-adjust: none;
698
+ background-color: canvastext;
699
+ }
700
+
701
+ .fr-error-text::before,
702
+ .fr-valid-text::before,
703
+ .fr-info-text::before {
704
+ forced-color-adjust: none;
705
+ background-color: canvastext;
706
+ }
707
+ }
708
+ /*!
709
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
710
+ */
711
+ .fr-radio-group {
712
+ position: relative;
713
+ max-width: max-content;
714
+ }
715
+
716
+ .fr-radio-group input[type=radio] {
717
+ position: absolute;
718
+ margin: 0;
719
+ width: 1.5rem;
720
+ height: 1.5rem;
721
+ opacity: 0;
722
+ }
723
+
724
+ .fr-radio-group input[type=radio] + label {
725
+ display: flex;
726
+ flex-direction: column;
727
+ align-items: flex-start;
728
+ justify-content: flex-start;
729
+ padding-left: 2rem;
730
+ background-position: calc(-0.25rem + 1px) calc(-0.25rem + 1px), calc(-0.25rem + 1px) calc(-0.25rem + 1px);
731
+ background-size: 1.875rem 1.875rem, 1.875rem 1.875rem;
732
+ background-repeat: no-repeat, no-repeat;
733
+ background-image: radial-gradient(transparent 10px, var(--border-action-high-blue-france) 11px, transparent 12px);
734
+ }
735
+
736
+ .fr-radio-group input[type=radio] + label::before {
737
+ content: "";
738
+ width: 1.5rem;
739
+ height: 1.5rem;
740
+ position: absolute;
741
+ top: 0;
742
+ border-radius: 1.5rem;
743
+ margin-left: -2rem;
744
+ }
745
+
746
+ .fr-radio-group input[type=radio] + label .fr-hint-text {
747
+ margin: 0;
748
+ width: 100%;
749
+ }
750
+
751
+ .fr-radio-group--sm input[type=radio] {
752
+ width: 1rem;
753
+ height: 1rem;
754
+ top: 0.25rem;
755
+ }
756
+
757
+ .fr-radio-group--sm input[type=radio] + label {
758
+ padding-left: 1.5rem;
759
+ background-position: 0 0.25rem, 0 0.25rem;
760
+ background-size: 1rem 1rem, 1rem 1rem;
761
+ background-image: radial-gradient(transparent 6px, var(--border-action-high-blue-france) 7px, transparent 8px);
762
+ }
763
+
764
+ .fr-radio-group--sm input[type=radio] + label::before {
765
+ top: 0.25rem;
766
+ width: 1rem;
767
+ height: 1rem;
768
+ border-radius: 0.5rem;
769
+ margin-left: -1.5rem;
770
+ }
771
+
772
+ .fr-radio-rich {
773
+ position: relative;
774
+ display: flex;
775
+ flex-direction: row;
776
+ align-items: center;
777
+ max-width: 100%;
778
+ }
779
+
780
+ .fr-radio-rich input[type=radio] {
781
+ width: 1rem;
782
+ height: 1rem;
783
+ left: 1rem;
784
+ top: calc(50% - 0.5rem);
785
+ }
786
+
787
+ .fr-radio-rich input[type=radio] + label {
788
+ padding-left: 2.75rem;
789
+ margin-left: 0;
790
+ align-self: stretch;
791
+ width: 100%;
792
+ padding-top: 0.75rem;
793
+ padding-bottom: 0.75rem;
794
+ padding-right: 1rem;
795
+ display: flex;
796
+ flex-direction: column;
797
+ align-items: stretch;
798
+ justify-content: center;
799
+ background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%, 1rem 1rem, 1rem 1rem;
800
+ background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
801
+ background-position: 0 0, 100% 0, 0 100%, 0 0, 1rem 50%, 1rem 50%;
802
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-action-high-blue-france) 7px, transparent 8px);
803
+ background-color: var(--background-default-grey);
804
+
805
+ --idle: transparent;
806
+ --hover: var(--background-default-grey-hover);
807
+ --active: var(--background-default-grey-active);
808
+ }
809
+
810
+ .fr-radio-rich input[type=radio] + label::before {
811
+ content: "";
812
+ display: block;
813
+ position: absolute;
814
+ top: 0;
815
+ right: 0;
816
+ bottom: 0;
817
+ left: 0;
818
+ width: 100%;
819
+ height: 100%;
820
+ margin-left: 0;
821
+ border-radius: 0;
822
+ }
823
+
824
+ .fr-radio-rich input[type=radio] + label .fr-hint-text {
825
+ margin-left: 0;
826
+ }
827
+
828
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover {
829
+ background-color: var(--hover-tint);
830
+ }
831
+
832
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:active {
833
+ background-color: var(--active-tint);
834
+ }
835
+
836
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label {
837
+ --hover-tint: var(--hover);
838
+ --active-tint: var(--active);
839
+ }
840
+
841
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover + .fr-radio-rich__pictogram {
842
+ background-color: var(--hover);
843
+ }
844
+
845
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:active + .fr-radio-rich__pictogram {
846
+ background-color: var(--active);
847
+ }
848
+
849
+ .fr-radio-rich__pictogram {
850
+ display: flex;
851
+ flex-direction: row;
852
+ align-items: center;
853
+ justify-content: center;
854
+ margin-left: -1px;
855
+ padding: 0.25rem;
856
+ width: 5.5rem;
857
+ min-width: 5.5rem;
858
+ min-height: 5.5rem;
859
+ align-self: stretch;
860
+ pointer-events: none;
861
+ background-size: 100% 1px, 100% 1px, 1px 100%, 1px calc(100% - 0.5rem);
862
+ background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
863
+ background-position: 0 0, 0 100%, 100% 0, 0 0.25rem;
864
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
865
+ background-color: var(--background-default-grey);
866
+
867
+ --idle: transparent;
868
+ --hover: var(--background-default-grey-hover);
869
+ --active: var(--background-default-grey-active);
870
+ }
871
+
872
+ .fr-radio-rich__pictogram img,
873
+ .fr-radio-rich__pictogram svg {
874
+ max-width: 3.5rem;
875
+ max-height: 3.5rem;
876
+ }
877
+
878
+ .fr-control > .fr-radio-rich.fr-radio-group {
879
+ margin-top: 0;
880
+ margin-bottom: 0;
881
+ }
882
+
883
+ .fr-radio-group input[type=radio]:disabled + label {
884
+ background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px);
885
+ }
886
+
887
+ .fr-radio-group input[type=radio]:checked + label {
888
+ background-image: radial-gradient(transparent 10px, var(--border-active-blue-france) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
889
+ }
890
+
891
+ .fr-radio-group input[type=radio]:checked:disabled + label {
892
+ background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px), radial-gradient(var(--background-disabled-grey) 5px, transparent 6px);
893
+ }
894
+
895
+ .fr-fieldset--error .fr-radio-group input[type=radio] + label {
896
+ background-image: radial-gradient(transparent 10px, var(--border-plain-error) 11px, transparent 12px);
897
+ }
898
+
899
+ .fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {
900
+ background-image: radial-gradient(transparent 10px, var(--border-plain-error) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
901
+ }
902
+
903
+ .fr-fieldset--valid .fr-radio-group input[type=radio] + label {
904
+ background-image: radial-gradient(transparent 10px, var(--border-plain-success) 11px, transparent 12px);
905
+ }
906
+
907
+ .fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {
908
+ background-image: radial-gradient(transparent 10px, var(--border-plain-success) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
909
+ }
910
+
911
+ .fr-fieldset--info .fr-radio-group input[type=radio] + label {
912
+ background-image: radial-gradient(transparent 10px, var(--border-plain-info) 11px, transparent 12px);
913
+ }
914
+
915
+ .fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {
916
+ background-image: radial-gradient(transparent 10px, var(--border-plain-info) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
917
+ }
918
+
919
+ .fr-fieldset .fr-radio-group input[type=radio]:disabled + label {
920
+ background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px);
921
+ }
922
+
923
+ .fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {
924
+ background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px), radial-gradient(var(--background-disabled-grey) 5px, transparent 6px);
925
+ }
926
+
927
+ .fr-radio-group--sm input[type=radio]:disabled + label {
928
+ background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
929
+ }
930
+
931
+ .fr-radio-group--sm input[type=radio]:checked + label {
932
+ background-image: radial-gradient(transparent 6px, var(--border-active-blue-france) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
933
+ }
934
+
935
+ .fr-radio-group--sm input[type=radio]:checked:disabled + label {
936
+ background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
937
+ }
938
+
939
+ .fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {
940
+ background-image: radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px);
941
+ }
942
+
943
+ .fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {
944
+ background-image: radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
945
+ }
946
+
947
+ .fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {
948
+ background-image: radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px);
949
+ }
950
+
951
+ .fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {
952
+ background-image: radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
953
+ }
954
+
955
+ .fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {
956
+ background-image: radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px);
957
+ }
958
+
959
+ .fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {
960
+ background-image: radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
961
+ }
962
+
963
+ .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {
964
+ background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
965
+ }
966
+
967
+ .fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {
968
+ background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
969
+ }
970
+
971
+ .fr-radio-rich input[type=radio]:disabled + label {
972
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
973
+ }
974
+
975
+ .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {
976
+ fill: var(--text-disabled-grey);
977
+ }
978
+
979
+ .fr-radio-rich input[type=radio]:checked + label {
980
+ background-image: linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(transparent 6px, var(--border-active-blue-france) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
981
+ }
982
+
983
+ .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {
984
+ background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
985
+ }
986
+
987
+ .fr-radio-rich input[type=radio]:checked:disabled + label {
988
+ background-image: linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
989
+ }
990
+
991
+ .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {
992
+ background-image: linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
993
+ }
994
+
995
+ .fr-fieldset--error .fr-radio-rich input[type=radio] + label {
996
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px);
997
+ }
998
+
999
+ .fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {
1000
+ background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
1001
+ }
1002
+
1003
+ .fr-fieldset--valid .fr-radio-rich input[type=radio] + label {
1004
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px);
1005
+ }
1006
+
1007
+ .fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {
1008
+ background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
1009
+ }
1010
+
1011
+ .fr-fieldset--info .fr-radio-rich input[type=radio] + label {
1012
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px);
1013
+ }
1014
+
1015
+ .fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {
1016
+ background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
1017
+ }
1018
+
1019
+ .fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {
1020
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
1021
+ }
1022
+
1023
+ .fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {
1024
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
1025
+ }
1026
+
1027
+ .fr-fieldset .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] {
1028
+ top: 0.75rem;
1029
+ }
1030
+
1031
+ .fr-fieldset .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] + label {
1032
+ background-position: calc(-0.25rem + 1px) calc(0.5rem + 1px), calc(-0.25rem + 1px) calc(0.5rem + 1px);
1033
+ }
1034
+
1035
+ .fr-fieldset .fr-fieldset__content .fr-radio-group--sm:not(.fr-radio-rich) input[type=radio] {
1036
+ top: 1rem;
1037
+ }
1038
+
1039
+ .fr-fieldset .fr-fieldset__content .fr-radio-group--sm:not(.fr-radio-rich) input[type=radio] + label {
1040
+ background-position: calc(-0.125rem + 1px) calc(1rem - 1px), calc(-0.125rem + 1px) calc(1rem - 1px);
1041
+ }
1042
+
1043
+ .fr-fieldset .fr-fieldset__content .fr-radio-rich {
1044
+ margin-top: 0.5rem;
1045
+ margin-bottom: 1rem;
1046
+ }
1047
+
1048
+ .fr-fieldset .fr-fieldset__content .fr-radio-rich input[type=radio] + label {
1049
+ min-height: 5.5rem;
1050
+ }
1051
+
1052
+ .fr-fieldset .fr-fieldset__content .fr-radio-rich:last-child {
1053
+ margin-bottom: 0.75rem;
1054
+ }
1055
+
1056
+ .fr-fieldset .fr-fieldset__content .fr-radio-rich:first-child {
1057
+ margin-top: 0;
1058
+ }
1059
+
1060
+ .fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:not(:last-child) {
1061
+ margin-right: 0.75rem;
1062
+ margin-bottom: 0.5rem;
1063
+ }
1064
+
1065
+ .fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:first-child {
1066
+ margin-top: 0.75rem;
1067
+ }
1068
+
1069
+ .fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:first-child .fr-radio-rich__img {
1070
+ top: 1rem;
1071
+ }
1072
+
1073
+ .fr-fieldset--inline .fr-fieldset__content .fr-radio-rich__img {
1074
+ top: 0.75rem;
1075
+ }
1076
+
1077
+ .fr-fieldset--inline .fr-hint-text + .fr-fieldset__content .fr-radio-rich:first-child {
1078
+ margin-top: 1.5rem;
1079
+ }
1080
+
1081
+ .fr-radio-rich__img {
1082
+ display: flex;
1083
+ flex-direction: row;
1084
+ align-items: center;
1085
+ justify-content: center;
1086
+ margin-left: -1px;
1087
+ padding: 0.25rem;
1088
+ width: 5.5rem;
1089
+ min-width: 5.5rem;
1090
+ align-self: stretch;
1091
+ pointer-events: none;
1092
+ background-size: 100% 1px, 100% 1px, 1px 100%, 1px calc(100% - 0.5rem);
1093
+ background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
1094
+ background-position: 0 0, 0 100%, 100% 0, 0 0.25rem;
1095
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
1096
+ background-color: var(--background-default-grey);
1097
+
1098
+ --idle: transparent;
1099
+ --hover: var(--background-default-grey-hover);
1100
+ --active: var(--background-default-grey-active);
1101
+ }
1102
+
1103
+ .fr-radio-rich__img img,
1104
+ .fr-radio-rich__img svg {
1105
+ max-width: 3.5rem;
1106
+ max-height: 3.5rem;
1107
+ }
1108
+
1109
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover + .fr-radio-rich__img {
1110
+ background-color: var(--hover);
1111
+ }
1112
+
1113
+ .fr-radio-rich input[type=radio]:not(:disabled) ~ label:active + .fr-radio-rich__img {
1114
+ background-color: var(--active);
1115
+ }
1116
+
1117
+ .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__img svg * {
1118
+ fill: var(--text-disabled-grey);
1119
+ }
1120
+
1121
+ .fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__img {
1122
+ background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
1123
+ }
1124
+
1125
+ .fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__img {
1126
+ background-image: linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
1127
+ }
1128
+ @media (min-width: 36em) {
1129
+ /*! media sm */
1130
+ }
1131
+ @media (min-width: 48em) {
1132
+ /*! media md */
1133
+ }
1134
+ @media (min-width: 62em) {
1135
+ /*! media lg */
1136
+ }
1137
+ @media (min-width: 78em) {
1138
+ /*! media xl */
1139
+ }
1140
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1141
+ .fr-radio-group input[type=radio] {
1142
+ opacity: 1;
1143
+ }
1144
+
1145
+ .fr-radio-group input[type=radio]:disabled + label {
1146
+ color: graytext;
1147
+ }
1148
+
1149
+ .fr-radio-group input[type=radio] + label::before {
1150
+ display: none;
1151
+ }
1152
+
1153
+ .fr-radio-rich input[type=radio]:disabled + label {
1154
+ outline: 1px solid;
1155
+ }
1156
+
1157
+ .fr-radio-rich input[type=radio]:disabled + label::before {
1158
+ background-color: transparent;
1159
+ }
1160
+
1161
+ .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram {
1162
+ outline: 1px solid graytext;
1163
+ }
1164
+
1165
+ .fr-radio-rich input[type=radio] + label {
1166
+ outline: 1px solid;
1167
+ }
1168
+
1169
+ .fr-radio-rich__pictogram {
1170
+ outline: 1px solid;
1171
+ }
1172
+
1173
+ .fr-radio-rich__img {
1174
+ outline: 1px solid;
1175
+ }
1176
+ }
1177
+ :root {
1178
+ --text-spacing: 0 0 1.5rem;
1179
+ --title-spacing: 0 0 1.5rem;
1180
+ --display-spacing: 0 0 2rem;
1181
+ }
1182
+
1183
+ .fr-h6 {
1184
+ font-weight: 700 !important;
1185
+ font-size: 1.125rem !important;
1186
+ line-height: 1.5rem !important;
1187
+ }
1188
+ @media (min-width: 48em) {
1189
+ .fr-h6 {
1190
+ font-size: 1.25rem !important;
1191
+ line-height: 1.75rem !important;
1192
+ }
1193
+ }
1194
+ .fr-h6 {
1195
+ margin: var(--title-spacing);
1196
+ }
1197
+
1198
+ .fr-h5 {
1199
+ font-weight: 700 !important;
1200
+ font-size: 1.25rem !important;
1201
+ line-height: 1.75rem !important;
1202
+ }
1203
+ @media (min-width: 48em) {
1204
+ .fr-h5 {
1205
+ font-size: 1.375rem !important;
1206
+ line-height: 1.75rem !important;
1207
+ }
1208
+ }
1209
+ .fr-h5 {
1210
+ margin: var(--title-spacing);
1211
+ }
1212
+
1213
+ .fr-h4 {
1214
+ font-weight: 700 !important;
1215
+ font-size: 1.375rem !important;
1216
+ line-height: 1.75rem !important;
1217
+ }
1218
+ @media (min-width: 48em) {
1219
+ .fr-h4 {
1220
+ font-size: 1.5rem !important;
1221
+ line-height: 2rem !important;
1222
+ }
1223
+ }
1224
+ .fr-h4 {
1225
+ margin: var(--title-spacing);
1226
+ }
1227
+
1228
+ .fr-h3 {
1229
+ font-weight: 700 !important;
1230
+ font-size: 1.5rem !important;
1231
+ line-height: 2rem !important;
1232
+ }
1233
+ @media (min-width: 48em) {
1234
+ .fr-h3 {
1235
+ font-size: 1.75rem !important;
1236
+ line-height: 2.25rem !important;
1237
+ }
1238
+ }
1239
+ .fr-h3 {
1240
+ margin: var(--title-spacing);
1241
+ }
1242
+
1243
+ .fr-h2 {
1244
+ font-weight: 700 !important;
1245
+ font-size: 1.75rem !important;
1246
+ line-height: 2.25rem !important;
1247
+ }
1248
+ @media (min-width: 48em) {
1249
+ .fr-h2 {
1250
+ font-size: 2rem !important;
1251
+ line-height: 2.5rem !important;
1252
+ }
1253
+ }
1254
+ .fr-h2 {
1255
+ margin: var(--title-spacing);
1256
+ }
1257
+
1258
+ .fr-h1 {
1259
+ font-weight: 700 !important;
1260
+ font-size: 2rem !important;
1261
+ line-height: 2.5rem !important;
1262
+ }
1263
+ @media (min-width: 48em) {
1264
+ .fr-h1 {
1265
+ font-size: 2.5rem !important;
1266
+ line-height: 3rem !important;
1267
+ }
1268
+ }
1269
+ .fr-h1 {
1270
+ margin: var(--title-spacing);
1271
+ }
1272
+
1273
+ .fr-display--xs {
1274
+ font-weight: 700 !important;
1275
+ font-size: 2.5rem !important;
1276
+ line-height: 3rem !important;
1277
+ }
1278
+ @media (min-width: 48em) {
1279
+ .fr-display--xs {
1280
+ font-size: 3rem !important;
1281
+ line-height: 3.5rem !important;
1282
+ }
1283
+ }
1284
+ .fr-display--xs {
1285
+ margin: var(--display-spacing);
1286
+ }
1287
+
1288
+ .fr-display--sm {
1289
+ font-weight: 700 !important;
1290
+ font-size: 3rem !important;
1291
+ line-height: 3.5rem !important;
1292
+ }
1293
+ @media (min-width: 48em) {
1294
+ .fr-display--sm {
1295
+ font-size: 3.5rem !important;
1296
+ line-height: 4rem !important;
1297
+ }
1298
+ }
1299
+ .fr-display--sm {
1300
+ margin: var(--display-spacing);
1301
+ }
1302
+
1303
+ .fr-display--md {
1304
+ font-weight: 700 !important;
1305
+ font-size: 3.5rem !important;
1306
+ line-height: 4rem !important;
1307
+ }
1308
+ @media (min-width: 48em) {
1309
+ .fr-display--md {
1310
+ font-size: 4rem !important;
1311
+ line-height: 4.5rem !important;
1312
+ }
1313
+ }
1314
+ .fr-display--md {
1315
+ margin: var(--display-spacing);
1316
+ }
1317
+
1318
+ .fr-display--lg {
1319
+ font-weight: 700 !important;
1320
+ font-size: 4rem !important;
1321
+ line-height: 4.5rem !important;
1322
+ }
1323
+ @media (min-width: 48em) {
1324
+ .fr-display--lg {
1325
+ font-size: 4.5rem !important;
1326
+ line-height: 5rem !important;
1327
+ }
1328
+ }
1329
+ .fr-display--lg {
1330
+ margin: var(--display-spacing);
1331
+ }
1332
+
1333
+ .fr-display--xl {
1334
+ font-weight: 700 !important;
1335
+ font-size: 4.5rem !important;
1336
+ line-height: 5rem !important;
1337
+ }
1338
+ @media (min-width: 48em) {
1339
+ .fr-display--xl {
1340
+ font-size: 5rem !important;
1341
+ line-height: 5.5rem !important;
1342
+ }
1343
+ }
1344
+ .fr-display--xl {
1345
+ margin: var(--display-spacing);
1346
+ }
1347
+
1348
+ .fr-text--alt {
1349
+ font-family: "Spectral", georgia, serif !important;
1350
+ }
1351
+
1352
+ .fr-text--xs {
1353
+ font-size: 0.75rem !important;
1354
+ line-height: 1.25rem !important;
1355
+ margin: var(--text-spacing);
1356
+ }
1357
+
1358
+ .fr-text--sm {
1359
+ font-size: 0.875rem !important;
1360
+ line-height: 1.5rem !important;
1361
+ margin: var(--text-spacing);
1362
+ }
1363
+
1364
+ .fr-text--md {
1365
+ font-size: 1rem !important;
1366
+ line-height: 1.5rem !important;
1367
+ margin: var(--text-spacing);
1368
+ }
1369
+
1370
+ .fr-text--lg {
1371
+ font-size: 1.125rem !important;
1372
+ line-height: 1.75rem !important;
1373
+ margin: var(--text-spacing);
1374
+ }
1375
+
1376
+ .fr-text--xl, .fr-text--lead {
1377
+ font-size: 1.25rem !important;
1378
+ line-height: 2rem !important;
1379
+ margin: var(--text-spacing);
1380
+ }
1381
+
1382
+ .fr-text--light {
1383
+ font-weight: 300 !important;
1384
+ }
1385
+
1386
+ .fr-text--regular {
1387
+ font-weight: 400 !important;
1388
+ }
1389
+
1390
+ .fr-text--bold {
1391
+ font-weight: 700 !important;
1392
+ }
1393
+
1394
+ .fr-text--heavy {
1395
+ font-weight: 900 !important;
1396
+ }
1397
+
1398
+ input,
1399
+ select,
1400
+ textarea {
1401
+ -webkit-appearance: none;
1402
+ -moz-appearance: none;
1403
+ appearance: none;
1404
+ font-family: "Marianne", arial, sans-serif;
1405
+ text-rendering: optimizeLegibility;
1406
+ -webkit-font-smoothing: antialiased;
1407
+ -moz-osx-font-smoothing: grayscale;
1408
+ -webkit-text-size-adjust: 100%;
1409
+ border-radius: 0;
1410
+ border: 0;
1411
+ background-color: transparent;
1412
+ margin: 0;
1413
+ }
1414
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1415
+ input,
1416
+ select,
1417
+ textarea {
1418
+ border: 1px solid;
1419
+ }
1420
+ }
1421
+
1422
+ input[type=search] {
1423
+ -webkit-appearance: none;
1424
+ -moz-appearance: none;
1425
+ appearance: none;
1426
+ }
1427
+
1428
+ input[type=checkbox],
1429
+ input[type=radio],
1430
+ input[type=range] {
1431
+ -webkit-appearance: auto;
1432
+ -moz-appearance: auto;
1433
+ appearance: auto;
1434
+ }
1435
+
1436
+ input::-webkit-contacts-auto-fill-button,
1437
+ input::-webkit-credentials-auto-fill-button {
1438
+ margin-left: 1rem;
1439
+ margin-right: -1px;
1440
+ width: 1.25rem;
1441
+ height: 1.25rem;
1442
+ -webkit-mask-size: 1.25rem 1.25rem;
1443
+ }
1444
+
1445
+ input[type=range]:focus::-webkit-slider-thumb {
1446
+ outline-offset: 2px;
1447
+ outline-width: 2px;
1448
+ outline-color: #0a76f6;
1449
+ }
1450
+
1451
+ input[type=range]:focus::-moz-range-thumb {
1452
+ outline-offset: 2px;
1453
+ outline-width: 2px;
1454
+ outline-color: #0a76f6;
1455
+ }
1456
+
1457
+ input[type=range]:focus::-ms-thumb {
1458
+ outline-offset: 2px;
1459
+ outline-width: 2px;
1460
+ outline-color: #0a76f6;
1461
+ }
1462
+
1463
+ a:focus, button:focus, input:focus, input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before, input[type=button]:focus, input[type=image]:focus, input[type=reset]:focus, input[type=submit]:focus, select:focus, textarea:focus, [tabindex]:focus, video:focus[controls], audio:focus[controls], [contenteditable]:not([contenteditable=false]):focus, details:focus, details > summary:first-of-type:focus {
1464
+ outline-offset: 2px;
1465
+ outline-width: 2px;
1466
+ outline-color: #0a76f6;
1467
+ }
1468
+
1469
+ input[type=range]:focus::-webkit-slider-thumb {
1470
+ outline-style: solid;
1471
+ }
1472
+
1473
+ input[type=range]:focus::-moz-range-thumb {
1474
+ outline-style: solid;
1475
+ }
1476
+
1477
+ input[type=range]:focus::-ms-thumb {
1478
+ outline-style: solid;
1479
+ }
1480
+
1481
+ a:focus, button:focus, input:focus, input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before, input[type=button]:focus, input[type=image]:focus, input[type=reset]:focus, input[type=submit]:focus, select:focus, textarea:focus, [tabindex]:focus, video:focus[controls], audio:focus[controls], [contenteditable]:not([contenteditable=false]):focus, details:focus, details > summary:first-of-type:focus {
1482
+ outline-style: solid;
1483
+ }
1484
+
1485
+ input[type=range]:focus:not(:focus-visible)::-webkit-slider-thumb {
1486
+ outline-style: none;
1487
+ }
1488
+
1489
+ input[type=range]:focus:not(:focus-visible)::-moz-range-thumb {
1490
+ outline-style: none;
1491
+ }
1492
+
1493
+ input[type=range]:focus:not(:focus-visible)::-ms-thumb {
1494
+ outline-style: none;
1495
+ }
1496
+
1497
+ a:focus:not(:focus-visible), button:focus:not(:focus-visible), input:focus:not(:focus-visible), input[type=checkbox]:focus:not(:focus-visible) + label::before, input[type=radio]:focus:not(:focus-visible) + label::before, input[type=button]:focus:not(:focus-visible), input[type=image]:focus:not(:focus-visible), input[type=reset]:focus:not(:focus-visible), input[type=submit]:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible), [tabindex]:focus:not(:focus-visible), video:focus:not(:focus-visible)[controls], audio:focus:not(:focus-visible)[controls], [contenteditable]:not([contenteditable=false]):focus:not(:focus-visible), details:focus:not(:focus-visible), details > summary:first-of-type:focus:not(:focus-visible) {
1498
+ outline-style: none;
1499
+ }
1500
+
1501
+ input[type=range]:focus-visible::-webkit-slider-thumb {
1502
+ outline-style: solid;
1503
+ }
1504
+
1505
+ input[type=range]:focus-visible::-moz-range-thumb {
1506
+ outline-style: solid;
1507
+ }
1508
+
1509
+ input[type=range]:focus-visible::-ms-thumb {
1510
+ outline-style: solid;
1511
+ }
1512
+
1513
+ a:focus-visible, button:focus-visible, input:focus-visible, input[type=checkbox]:focus-visible + label::before, input[type=radio]:focus-visible + label::before, input[type=button]:focus-visible, input[type=image]:focus-visible, input[type=reset]:focus-visible, input[type=submit]:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, video:focus-visible[controls], audio:focus-visible[controls], [contenteditable]:not([contenteditable=false]):focus-visible, details:focus-visible, details > summary:first-of-type:focus-visible {
1514
+ outline-style: solid;
1515
+ }
1516
+
1517
+ @media (hover: hover) and (pointer: fine) {
1518
+ :root {
1519
+ --brighten: -1;
1520
+ }
1521
+ a[href]:hover, button:not(:disabled):hover, input[type=button]:not(:disabled):hover, input[type=image]:not(:disabled):hover, input[type=reset]:not(:disabled):hover, input[type=submit]:not(:disabled):hover {
1522
+ background-color: var(--hover-tint);
1523
+ }
1524
+ a[href]:active, button:not(:disabled):active, input[type=button]:not(:disabled):active, input[type=image]:not(:disabled):active, input[type=reset]:not(:disabled):active, input[type=submit]:not(:disabled):active {
1525
+ background-color: var(--active-tint);
1526
+ }
1527
+ a[href]:hover, a[href]:active {
1528
+ --underline-hover-width: var(--underline-max-width);
1529
+ }
1530
+ }
1531
+ button, input[type=button], input[type=image], input[type=reset], input[type=submit] {
1532
+ --hover-tint: var(--hover);
1533
+ --active-tint: var(--active);
1534
+ }
1535
+
1536
+ a {
1537
+ --hover-tint: var(--idle);
1538
+ --active-tint: var(--active);
1539
+ }
1540
+
1541
+ a, button, input[type=checkbox], input[type=checkbox] + label, input[type=radio], input[type=radio] + label, input[type=file], input[type=range], input[type=button], input[type=image], input[type=reset], input[type=submit], select, video[controls], audio[controls], details, details > summary:first-of-type {
1542
+ cursor: pointer;
1543
+ }
1544
+
1545
+ input[type=range]:disabled::-webkit-slider-thumb, input[type=range]:disabled::-webkit-slider-thumb:active {
1546
+ cursor: not-allowed;
1547
+ }
1548
+
1549
+ input[type=range]:disabled::-moz-range-thumb, input[type=range]:disabled::-moz-range-thumb:active {
1550
+ cursor: not-allowed;
1551
+ }
1552
+
1553
+ input[type=range]:disabled::-ms-thumb, input[type=range]:disabled::-ms-thumb:active {
1554
+ cursor: not-allowed;
1555
+ }
1556
+
1557
+ a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, input[type=file]:disabled, input[type=range]:disabled, input[type=button]:disabled, input[type=image]:disabled, input[type=reset]:disabled, input[type=submit]:disabled, select:disabled, textarea:disabled, video:not([href])[controls], audio:not([href])[controls] {
1558
+ cursor: not-allowed;
1559
+ }
1560
+
1561
+ input[type=range]::-webkit-slider-thumb {
1562
+ cursor: grab;
1563
+ }
1564
+
1565
+ input[type=range]::-moz-range-thumb {
1566
+ cursor: grab;
1567
+ }
1568
+
1569
+ input[type=range]::-ms-thumb {
1570
+ cursor: grab;
1571
+ }
1572
+
1573
+ input[type=range]::-webkit-slider-thumb:active {
1574
+ cursor: grabbing;
1575
+ }
1576
+
1577
+ input[type=range]::-moz-range-thumb:active {
1578
+ cursor: grabbing;
1579
+ }
1580
+
1581
+ input[type=range]::-ms-thumb:active {
1582
+ cursor: grabbing;
1583
+ }
1584
+
1585
+ /**
1586
+ * Override de l'opacité chrome sur un élément disabled
1587
+ */
1588
+ a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, select:disabled, textarea:disabled, video:not([href]), audio:not([href]) {
1589
+ opacity: 1;
1590
+ }
1591
+
1592
+ *,
1593
+ *::before,
1594
+ *::after {
1595
+ box-sizing: inherit;
1596
+ }
1597
+
1598
+ :root {
1599
+ box-sizing: border-box;
1600
+ }
1601
+
1602
+ input,
1603
+ select,
1604
+ textarea,
1605
+ label,
1606
+ button,
1607
+ a {
1608
+ -webkit-tap-highlight-color: transparent;
1609
+ }
1610
+
1611
+ :host {
1612
+ display: block;
1613
+ text-rendering: optimizeLegibility;
1614
+ -webkit-font-smoothing: antialiased;
1615
+ -moz-osx-font-smoothing: grayscale;
1616
+ -webkit-text-size-adjust: 100%;
1617
+ font-size: 1rem;
1618
+ line-height: 1.5rem;
1619
+ background-color: var(--background-default-grey);
1620
+ --idle: transparent;
1621
+ --hover: var(--background-default-grey-hover);
1622
+ --active: var(--background-default-grey-active);
1623
+ color: var(--text-default-grey);
1624
+ background-color: transparent;
1625
+ }
1626
+
1627
+ .fr-fieldset {
1628
+ box-sizing: border-box;
1629
+ }</style>