/* Extra bold */
@font-face {
	font-family: "Marianne";
	src: url(../../fonts/marianne/Marianne-ExtraBold.woff2) format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* Bold */
@font-face {
	font-family: "Marianne";
	src: url(../../fonts/marianne/Marianne-Bold.woff2) format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Regular */
@font-face {
	font-family: "Marianne";
	src: url(../../fonts/marianne/Marianne-Regular.woff2) format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--font-family: Marianne, Arial, sans-serif;
	font-family: var(--font-family);
	font-size: 1rem;
	line-height: 1.5rem;
	color-scheme: only light;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;

	/* Colors */
	--color-neutral-grey-500: #757575;

	/* Surface / background */
	--surface-page: #ffffff;
	--surface-primary: #ffffff;
	--surface-secondary-light: #f1f4ff;
	--surface-secondary-medium: #ced5ff;
	--surface-secondary-dark: #000091;
	--surface-secondary-tertiary-light: #f2feeb;
	--surface-secondary-tertiary-dark: #a9fb68;
	--surface-secondary-accent: #f5a668;
	--surface-secondary-neutral: #fbf5f2;
	--surface-information: #e6f2fe;
	--surface-success: #e9f4ed;
	--surface-alert: #fbede6;
	--surface-error: #fee6e6;

	/* Boutons surface / background */
	--surface-action-cta: #000091;
	--surface-action-hover-cta: #0d0fd2;
	--surface-action-pressed-cta: #00004c;
	--surface-action-cta-dark: #A9FB68;
	--surface-action-hover-cta-dark: #C9FCAC;
	--surface-action-pressed-cta-dark: #95E257;
	--surface-action: #ffffff;
	--surface-action-hover: #f1f4ff;
	--surface-action-pressed: #f1f4ff;
	--surface-focus: #00004c;
	--surface-disabled: #f1f1f1;
	--surface-highlight: #a9fb68;

	/* Texte */
	--text-heading: #00004c;
	--text-body: #000091;
	--text-body-on-dark: #ffffff;
	--text-body-secondary: #6a6a6a;
	--text-action-cta: #ffffff;
	--text-action-hover-cta: #ffffff;
	--text-action-pressed-cta: #ffffff;
	--text-action: #000091;
	--text-action-hover: #0d0fd2;
	--text-action-pressed: #00004c;
	--text-disabled: #6a6a6a;
	--text-information: #006ddd;
	--text-success: #1c8042;
	--text-alert: #983700;
	--text-error: #af0500;
	--text-on-dark-bg: #ffffff;

	/* Bordures */
	--border-primary: #0d0fd2;
	--border-secondary: #e5e8ff;
	--border-tertiary: #d4d4d4;
	--border-information: #006ddd;
	--border-success: #1c8042;
	--border-alert: #c34600;
	--border-error: #e00600;
	--border-action: #000091;
	--border-action-hover: #0d0fd2;
	--border-action-pressed: #0d0fd2;
	--border-focus: #00004c;
	--border-disabled: #d4d4d4;
	--border-highlight: #95e257;

	/* Icons */
	--icon-primary: #000091;
	--icon-secondary: #ffffff;
	--icon-information: #006ddd;
	--icon-success: #1c8042;
	--icon-alert: #c34600;
	--icon-error: #af0500;

	/* Icons dans les boutons */
	--icon-action-cta: #ffffff;
	--icon-action-hover-cta: #ffffff;
	--icon-action-pressed-cta: #ffffff;
	--icon-action: #000091;
	--icon-action-hover: #0d0fd2;
	--icon-action-pressed: #00004c;
	--icon-focus: #00004c;
	--icon-disabled: #a3a3a3;
	--icon-highlight: #006ddd;

	/* Thématiques */
	--theme-climate-change: #95a4fd;
	--theme-mobility-transportation: #f2c3a8;
	--theme-agriculture: #58e545;
	--theme-industry: #a9fb68;
	--theme-air: #ced5ff;
	--theme-energy: #fecf8e;
	--theme-buildings: #f2c05c;
	--theme-urban-planning: #cdcdf8;
	--theme-society-politics: #f5a668;
	--theme-circular-economy: #cefcaa;

	/* Border radius */
	--border-radius-sm: 0.5rem;
	--border-radius-md: 1rem;
	--border-radius-lg: 1.5rem;
	--border-radius-xl: 4rem;
	--border-radius-full: calc(infinity * 1px);

	/* Spacings */
	--spacing-xxs: 0.125rem;
	--spacing-xs: 0.25rem;
	--spacing-sm: 0.5rem;
	--spacing-md: 0.75rem;
	--spacing-lg: 1rem;
	--spacing-xl: 1.5rem;
	--spacing-2xl: 2rem;
	--spacing-3xl: 2.5rem;
	--spacing-4xl: 4rem;
	--spacing-5xl: 6rem;
	--spacing-6xl: 7.5rem;
	--spacing-7xl: 10rem;

	/* Border width */
	--border-sm: 1px;
	--border-md: 2px;
	--border-lg: 4px;

	/* Icon size */
	--icon-size-sm: 1rem;
	--icon-size-md: 1.5rem;
	--icon-size-lg: 2rem;

	/* Font size */
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-md: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.75rem;
	--text-4xl: 2.25rem;
	--text-5xl: 2.5rem;
	--text-6xl: 2.75rem;
	--text-7xl: 3rem;
	--text-8xl: 3.75rem;
	--text-9xl: 5rem;

	/* Line height */
	--text-leading-xs: 0.75rem;
	--text-leading-sm: 1rem;
	--text-leading-md: 1.125rem;
	--text-leading-lg: 1.25rem;
	--text-leading-xl: 1.5rem;
	--text-leading-2xl: 1.75rem;
	--text-leading-3xl: 2rem;
	--text-leading-4xl: 2.25rem;
	--text-leading-5xl: 2.75rem;
	--text-leading-6xl: 3.5rem;
	--text-leading-7xl: 4.125rem;
	--text-leading-8xl: 5.5rem;
}

*,
:before,
:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body {
	color: var(--text-body);
	background-color: var(--surface-page);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--text-heading);
	margin: 0
}

h1 {
	font-size: var(--text-5xl);
	font-weight: 800;
	line-height: var(--text-leading-5xl);
}

h2 {
	font-size: var(--text-4xl);
	font-weight: 800;
	line-height: var(--text-leading-5xl);
}

h3 {
	font-size: var(--text-3xl);
	font-weight: 700;
	line-height: var(--text-leading-4xl);
}

h4 {
	font-size: var(--text-xl);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

h5 {
	font-size: var(--text-lg);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

h6 {
	font-size: var(--text-md);
	font-weight: 700;
	line-height: var(--text-leading-lg);
}

ul,
ol {
	list-style: none;
}

label {
	color: var(--text-body);
}

::placeholder {
	color: var(--text-body-secondary);
}

:focus-visible {
	outline: var(--border-md) solid #0d0fd2;
	outline-offset: 2px;
}

.material-symbols-outlined {
	font-variation-settings:
		'FILL' 0,
		'wght' 400,
		'GRAD' 0,
		'opsz' 24
}

/* Materialize Overrides */

/* Inputs */

input:not([type]):not(.browser-default),
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=url]:not(.browser-default),
input[type=time]:not(.browser-default),
input[type=date]:not(.browser-default),
input[type=datetime]:not(.browser-default),
input[type=datetime-local]:not(.browser-default),
input[type=month]:not(.browser-default),
input[type=tel]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=search]:not(.browser-default),
textarea.materialize-textarea {
	color: var(--text-body);
}

input:not([type]):not(.browser-default),
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=url]:not(.browser-default),
input[type=time]:not(.browser-default),
input[type=date]:not(.browser-default),
input[type=datetime]:not(.browser-default),
input[type=datetime-local]:not(.browser-default),
input[type=month]:not(.browser-default),
input[type=tel]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=search]:not(.browser-default),
textarea.materialize-textarea {
	height: 2.5rem;
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

.input-field.outlined input:disabled,
.input-field.outlined textarea:disabled {
	color: var(--text-disabled);
	background-color: var(--surface-disabled);
	border-color: var(--border-disabled);
	cursor: not-allowed;
}

.input-field.outlined input:focus:not([readonly]),
.input-field.outlined textarea:focus:not([readonly]) {
	border: var(--border-sm) solid var(--border-action-hover);
	margin: 0;
}

.input-field.outlined input:hover:not([readonly], :disabled),
.input-field.outlined textarea:hover:not([readonly], :disabled) {
	background-color: var(--surface-action-hover);
	border-color: var(--border-action-hover);
}

.input-field.outlined input:hover:not([readonly], :disabled)+.material-symbols-outlined,
.input-field.outlined textarea:hover:not([readonly], :disabled)+.material-symbols-outlined {
	color: var(--icon-action-hover);
}

.input-field.outlined input:not([readonly], :disabled)::placeholder,
.input-field.outlined textarea:not([readonly], :disabled)::placeholder {
	transition: color .25s ease-out;
}

.input-field.outlined input:hover:not([readonly], :disabled)::placeholder,
.input-field.outlined textarea:hover:not([readonly], :disabled)::placeholder {
	color: var(--text-action-hover);
}

.input-field.outlined input,
.input-field.outlined textarea {
	background-color: var(--surface-page);
	border: var(--border-sm) solid var(--border-tertiary);
	border-radius: var(--border-radius-sm);
	min-width: 11.125rem;
	max-width: 23.75rem;
	width: 100%;
	transition: border-color .25s ease-out, background-color .25s ease-out;
}

.input-field.outlined input+.material-symbols-outlined,
.input-field.outlined textarea+.material-symbols-outlined {
	color: var(--icon-disabled);
	transition: color .25s ease-out;
}

.input-field .prefix {
	top: var(--spacing-sm);
	left: var(--spacing-sm);
}

.input-field .suffix {
	top: var(--spacing-sm);
	right: var(--spacing-sm);
}

.input-field .suffix~input,
.input-field .suffix~textarea {
	padding-right: 2.5rem;
}

.input-field input,
.input-field textarea {
	padding-inline: var(--spacing-sm);
}

/* Collapsible */

.collapsible {
	align-self: stretch;
	margin: 0;
	box-shadow: none;
	border: none;
}

.collapsible-header {
	align-items: center;
	gap: var(--spacing-md);
	color: var(--text-body);
	font-weight: 700;
	border-bottom: none;
	padding: var(--spacing-md) var(--spacing-sm);
	user-select: none;
	transition: background-color .3s ease-out;
}

.keyboard-focused .collapsible-header:focus {
	background: initial;
}

.collapsible-header::after {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--text-2xl);
	font-weight: 400;
	line-height: var(--text-leading-xl);
	margin-left: auto;
}

.collapsible-header .material-symbols-outlined {
	font-size: var(--text-xl);
}

.collapsible-body {
	padding: 0;
	border-bottom: none;
}

/* */

/* Utility Classes */

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.underline {
	text-decoration-line: underline;
}

/* Components */

#banner-section {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-sm);
	color: var(--text-action-cta);
	background-color: var(--surface-action-cta);
	--button-close-focus: #ffffff;
}

#banner-section.banner-secondary {
	color: var(--text-body);
	background-color: var(--color-lightgray);
	--button-close-focus: var(--border-action);
}

#banner-section.banner-tertiary {
	color: var(--text-body);
	background-color: var(--surface-highlight);
	--button-close-focus: var(--border-action);
}

#banner-section .banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacing-sm);
	max-width: 90rem;
	width: 100%;
	padding: 0.5rem 1rem;
}

#banner-section .banner .content {
	display: flex;
	align-items: center;
	gap: var(--Number-Mapped-spacing-spacing-xxs, 0.25rem);
	flex: 1 0 0;
}

#banner-section .banner .content .title,
#banner-section .banner .content .description {
	font-size: var(--text-xs);
	font-weight: 700;
	line-height: normal;
}

#banner-section .banner .content .title {
	text-transform: uppercase;
	white-space: nowrap;
}

#banner-section .banner #banner-button-close {
	color: inherit;
	background: none;
	font-size: var(--icon-size-md);
	border: none;
	padding: 0;
	flex-shrink: 0;
	cursor: pointer;
}

/* Buttons */

.button-cta,
.button-primary,
.button-pagination {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-sm);
	min-height: 2.5rem;
	max-width: 100%;
	font-size: var(--text-sm);
	font-weight: 700;
	line-height: var(--text-leading-sm);
	text-transform: uppercase;
	padding: var(--spacing-sm) var(--spacing-lg);
	flex-shrink: 0;
	border-radius: var(--border-radius-xl);
	border: none;
	cursor: pointer;
	transition: background-color .3s ease-out, border-color .3s ease-out, color .3s ease-out;
}

.button-cta:disabled,
.button-cta.dark:disabled,
.button-primary:disabled,
.button-secondary:disabled,
.button-navigation:disabled {
	color: var(--text-disabled);
	pointer-events: none;
	user-select: none;
}

.button-cta:disabled .material-symbols-outlined,
.button-primary:disabled .material-symbols-outlined,
.button-secondary:disabled .material-symbols-outlined,
.button-navigation:disabled .material-symbols-outlined {
	color: var(--icon-disabled);
}

/* Button CTA dark */

.button-cta.dark {
	color: var(--text-body);
	background: var(--surface-secondary-tertiary-dark);
	max-width: 100%;
}

.button-cta.dark:hover {
	background: var(--surface-action-hover-cta-dark);
}

.button-cta.dark:active {
	background: var(--surface-action-pressed-cta-dark);
}

/* Button CTA */

.button-cta {
	color: var(--text-action-cta);
	background: var(--surface-action-cta);
}

.button-cta:hover {
	background: var(--surface-action-hover-cta);
}

.button-cta:active {
	background: var(--surface-action-pressed-cta);
}

.button-cta:disabled {
	background: var(--surface-disabled);
}

/* Button primary */

.button-primary {
	color: var(--text-action);
	background: var(--surface-action);
	border: var(--border-md) solid var(--border-action);
	padding: calc(var(--spacing-sm) - 2px) var(--spacing-lg);
}

.button-primary:hover {
	color: var(--text-action-hover);
	background: var(--surface-action-hover);
	border-color: var(--border-action-hover);
}

.button-primary:active {
	color: var(--text-action-pressed);
	background: var(--surface-action-pressed);
	border-color: var(--border-action-pressed);
}

.button-primary:disabled {
	background: var(--surface-primary);
	border-color: var(--border-disabled);
}

/* Button pagination */

.button-pagination {
	color: var(--text-action);
	background: var(--surface-action);
	padding: calc(var(--spacing-sm) - 2px) var(--spacing-md);
	min-width: 2.5rem;
	border: none;
}

.button-pagination.current {
	border: var(--border-md) solid var(--border-primary);
}

/* Button secondary */

.button-secondary {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-sm);
	height: 2.25rem;
	max-width: 100%;
	color: var(--text-action);
	font-weight: 700;
	font-size: var(--text-sm);
	background: transparent;
	padding-block: var(--spacing-sm) var(--spacing-xs);
	border: 0;
	border-bottom: var(--border-md) solid var(--border-action);
	flex-shrink: 0;
	cursor: pointer;
	transition: border-color .3s ease-out, color .3s ease-out;
}

.button-secondary:hover {
	color: var(--text-action-hover);
	border-color: var(--border-action-hover);
}

.button-secondary:active {
	color: var(--text-action-pressed);
	border-color: var(--border-action-pressed);
}

.button-secondary:disabled {
	border-color: var(--border-disabled);
}

/* Button navigation */

.button-navigation {
	display: inline-flex;
	align-items: center;
	max-width: 15rem;
	font-size: var(--text-xs);
	font-weight: 700;
	line-height: var(--text-leading-xs);
	color: var(--text-body);
	background-color: var(--surface-action);
	border-radius: var(--border-radius-sm);
	padding: 0 var(--spacing-md) 0 0;
	border: none;
	cursor: pointer;
	transition: background-color .3s ease-out, box-shadow .3s ease-out;
}

.button-navigation.active {
	box-shadow: inset 0 0 0 1px var(--border-action);
}

.button-navigation:has(:only-child) {
	padding-right: 0;
}

.button-navigation .material-symbols-outlined {
	padding: var(--spacing-sm);
}

.button-navigation:hover {
	background-color: var(--surface-action-hover);
}

.button-navigation:active {
	background-color: var(--surface-action-pressed);
	box-shadow: inset 0 0 0 1px var(--border-action-pressed);
}

.button-navigation:disabled {
	background-color: var(--surface-disabled);
	box-shadow: inset 0 0 0 1px var(--border-disabled);
}

/* Tuiles */

.tuile {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	color: var(--text-heading);
	background-color: var(--surface-page);
	padding: var(--spacing-xl);
	border-radius: var(--border-radius-md);
}

.tuile.horizontal {
	flex-direction: row;
	align-items: center;
	gap: var(--spacing-lg);
	background-color: var(--surface-secondary-light);
}

.tuile .icon-container {
	display: flex;
}

.tuile img {
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	object-fit: cover;
	border-radius: var(--border-radius-full);
}

.tuile .material-symbols-outlined {
	color: var(--icon-primary);
	font-size: var(--icon-size-lg);
	margin-left: auto;
}

.tuile .content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.tuile .content .title {
	font-size: var(--text-lg);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

.tuile .content .description {
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

/* Key Numbers */

.key-number {
	--bg-key-number: var(--surface-page);
	position: relative;
	display: flex;
	gap: var(--spacing-lg);
	flex: 1 0 0;
	min-width: 17rem;
	background-color: var(--bg-key-number);
	padding: var(--spacing-xl);
	border-radius: var(--border-radius-md);
	border: var(--border-sm) solid var(--border-secondary);
	overflow: hidden;
}

.key-number::after {
	content: "";
	position: absolute;
	right: -4.25rem;
	bottom: -2.5rem;
	height: 10.25rem;
	width: 10.25rem;
	border-radius: var(--border-radius-full);
	background-color: var(--surface-page);
	opacity: 0.2;
}

.key-number.variant-green {
	--bg-key-number: var(--surface-secondary-tertiary-dark);
}

.key-number.variant-orange {
	--bg-key-number: var(--surface-secondary-accent);
}

.key-number.variant-blue {
	--bg-key-number: var(--surface-secondary-medium);
}

.key-number .number {
	color: var(--text-heading);
	font-size: var(--text-7xl);
	font-weight: 700;
	line-height: var(--text-leading-6xl);
}

.key-number .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--spacing-sm);
	color: var(--text-body);
	z-index: 1;
}

.key-number .content .title {
	font-size: var(--text-md);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

.key-number .content .description {
	color: var(--text-body);
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

.key-number .content a {
	color: var(--text-action);
	font-size: var(--text-sm);
	text-decoration-line: underline;
}

/* Card */

.card-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: var(--border-radius-md);
	border: var(--border-sm) solid var(--border-secondary);
	box-shadow: 0 4px 10px 0 rgba(79, 102, 173, 0.04);
	overflow: hidden;
}

.card-wrapper .card-image {
	position: relative;
}

.card-wrapper .card-image .material-symbols-outlined {
	position: absolute;
	top: 0;
	right: 0;
	color: var(--icon-action);
	background-color: var(--surface-primary);
	padding: var(--spacing-sm);
	border-left: var(--border-sm) solid var(--border-secondary);
	border-bottom: var(--border-sm) solid var(--border-secondary);
}

.card-wrapper .card-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 16/9;
}

.card-wrapper .card-content {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	flex: 1;
	background-color: var(--surface-primary);
	padding: var(--spacing-xl);
}

.card-wrapper .card-content .card-indicator {
	position: absolute;
	top: 0;
	right: 0;
	color: var(--text-heading);
	background-color: var(--surface-secondary-light);
	font-size: var(--text-xs);
	font-weight: 700;
	line-height: var(--text-leading-xs);
	padding: 0.375rem;
	border-bottom-left-radius: var(--border-radius-sm);
}

.card-wrapper .card-content .card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.card-wrapper .card-content .card-header .card-date {
	color: var(--text-body);
	font-size: var(--text-xs);
	line-height: var(--text-leading-xs);
}

.card-wrapper .card-content .card-body {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
}

.card-wrapper .card-content .card-body ul {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm)
}

.card-wrapper .card-content .card-body ul li {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	line-height: 1.25;
	font-size: var(--text-xs);
	color: var(--text-body);
}

.card-wrapper .card-content .card-body ul li span {
	font-size: var(--text-sm);
	color: var(--icon-primary);
}

.card-wrapper .card-content .card-body .card-info {
	display: inline-block;
	color: var(--text-body);
	font-size: var(--text-xs);
	line-height: var(--text-leading-xs);
}

.card-wrapper .card-content .card-body .card-title {
	color: var(--text-heading);
	font-size: var(--text-lg);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

.card-wrapper .card-content .card-body .card-subtitle {
	color: var(--text-heading);
	font-size: var(--text-md);
}

.card-wrapper .card-content .card-body .card-description {
	color: var(--text-body);
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card-wrapper .card-content .card-footer {
	display: inline-flex;
	margin-top: auto;
}

.card-wrapper .card-content .card-footer .material-symbols-outlined {
	color: var(--icon-primary);
	font-size: var(--icon-size-lg);
	margin-left: auto;
}

.card-answer {
	display: flex;
	flex-direction: column;
	background-color: var(--surface-page);
	gap: var(--spacing-lg);
}

/* Badge */

span.badge {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 0.625rem;
	height: auto;
	min-width: 1.75rem;
	color: var(--text-heading);
	background-color: var(--bg-background-badge, var(--surface-secondary-light));
	font-size: var(--text-xs);
	font-weight: 700;
	line-height: var(--text-leading-xs);
	border-radius: var(--border-radius-full);
	padding: var(--spacing-sm);
	margin: 0;
	float: unset;
}

span.badge.outlined {
	--bg-background-badge: var(--surface-primary);
	outline: var(--border-sm) solid var(--border-secondary);
}

span.badge.brand {
	--bg-background-badge: var(--surface-secondary-tertiary-dark);
}

span.badge.full {
	--bg-background-badge: var(--surface-primary);
	border: var(--border-sm) solid var(--border-secondary);
}

span.badge.essential {
	--bg-background-badge: var(--surface-secondary-light);
	height: 1.5rem;
	border-radius: 0 0 0 var(--border-radius-sm);
	padding: var(--spacing-xs) var(--spacing-sm);
}

span.badge.alert {
	--bg-background-badge: var(--surface-secondary-accent);
}

/* Highlighting */

.card-highlighting {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
	padding: var(--spacing-lg);
	border-radius: var(--border-radius-md);
	background-color: var(--surface-secondary-tertiary-dark);
	overflow: hidden;
}

.card-highlighting::after {
	content: "";
	position: absolute;
	right: -8rem;
	top: 50%;
	height: 15.875rem;
	width: 15.875rem;
	border-radius: var(--border-radius-full);
	background-color: var(--surface-page);
	opacity: 0.2;
	transform: translateY(-50%);
}

.card-highlighting .content {
	flex: 1;
	z-index: 1;
}

.card-highlighting .content .title {
	color: var(--text-heading);
	font-weight: 700;
}

.card-highlighting .buttons-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: var(--spacing-sm);
	z-index: 1;
}

/* Breadcrumb */

.breadcrumb-container ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-xs);
	margin-bottom: -1.5rem;
	list-style: none;
	overflow-wrap: break-word;
}

.breadcrumb-container ol li {
	display: inline-flex;
}

.breadcrumb-container ol li a,
.breadcrumb-container ol li span {
	color: var(--text-body);
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

.breadcrumb-container ol li:not(:last-child) a {
	text-decoration-line: underline;
	text-underline-offset: 2px;
}

.breadcrumb-container ol li .material-symbols-outlined {
	display: block;
	font-size: var(--icon-size-sm);
	color: var(--icon-primary);
}

/* Header */

.header {
	background-color: var(--surface-page);
	box-shadow: 0 0 12px 0 rgba(49, 49, 49, 0.16);
	z-index: 99;
}

.header .section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 90rem;
	width: 100%;
	margin-inline: auto;
	padding: var(--spacing-lg) var(--spacing-4xl);
	border-bottom: var(--border-sm) solid var(--border-secondary);
}

.header .section-header .brand-header {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
	padding: var(--spacing-lg) 0;
}

.header .section-header .brand-header img {
	max-height: 4.5rem;
	height: auto;
	width: auto;
	object-fit: contain;
}

.header .section-header .brand-header img:nth-child(2) {
	padding-inline: var(--spacing-lg);
}

.header #user-menu {
	left: auto;
	max-height: 100%;
	max-width: 24.125rem;
	width: 100%;
	padding: 2.375rem 2.1875rem;
}

#user-menu[popover]:-internal-popover-in-top-layer::backdrop {
	background-color: rgba(0, 0, 0, 0.2);
}

.header #user-menu .content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--spacing-md);
}

.header #user-menu .content hr {
	border-color: var(--border-secondary)
}

.header #user-menu .content #user-menu-close {
	position: absolute;
	top: var(--spacing-lg);
	right: var(--spacing-lg);
	color: var(--icon-primary);
	background: none;
	font-size: var(--icon-size-md);
	border: none;
	padding: 0;
	flex-shrink: 0;
	cursor: pointer;
}

.header #user-menu .content header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-sm);
	text-align: center;
}

.header #user-menu .content header .user-avatar {
	height: 5.5rem;
	width: 5.5rem;
}

.header #user-menu .content header h3 {
	font-size: var(--text-xl);
	line-height: var(--text-leading-2xl);
}

.header #user-menu .content header p {
	color: var(--text-body-secondary);
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

.button-user-menu {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	color: var(--text-body);
	font-weight: 700;
	border: none;
	padding: var(--spacing-md) var(--spacing-sm);
	transition: background-color .3s ease-out;
}

.button-user-menu.level-2 {
	font-size: var(--text-sm);
	font-weight: 400;
}

.button-user-menu:hover,
.button-user-menu:active {
	background-color: var(--surface-secondary-light);
}

.header #menu-header .search-header {
	display: none;
	margin: var(--spacing-lg);
}

.header #menu-header .search-header input {
	max-width: 100%;
}

.header #menu-header nav ul {
	display: flex;
	justify-content: center;
}

.nav-entry {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	font-size: var(--text-xs);
	font-weight: 700;
	line-height: var(--text-leading-xs);
	color: var(--text-heading);
	background-color: var(--surface-action);
	padding: var(--spacing-lg);
	text-transform: uppercase;
	transition: background-color .3s ease-out;
}

.nav-entry:hover,
.nav-entry.active {
	background-color: var(--surface-action-hover);
}

.header .section-header .actions-header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	gap: var(--spacing-sm);
	padding-block: var(--spacing-md);
}

.header .section-header .actions-header-mobile {
	display: none;
	padding: var(--spacing-sm) var(--spacing-sm) 0 0;
}

.header .section-header .actions-header .shortcut-header {
	display: flex;
	gap: var(--spacing-sm);
}

.button-header {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.5rem;
	width: 2.5rem;
	color: var(--text-body);
	background: none;
	border: none;
	cursor: pointer;
	padding: var(--spacing-sm);
	transition: background-color .3s ease-out;
}

.button-header.border {
	border: var(--border-sm) solid var(--border-secondary);
}

.button-header:hover {
	background-color: rgba(0, 0, 0, 0.04);
}

.header .section-header .search-header {
	max-width: 18rem;
	width: 100%;
}

/* Main */

main {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--spacing-3xl);
	max-width: 90rem;
	width: 100%;
	margin-inline: auto;
	padding: var(--spacing-lg) var(--spacing-4xl) var(--spacing-3xl);
}

.layout {
	display: flex;
}

.full-width-section {
	margin-inline: calc(-1 * var(--spacing-4xl));
}

.wrapper {
	max-width: 54.25rem;
	margin-inline: auto;
}

@media (max-width: 1200px) {
	.wrapper {
		max-width: 100%;
	}
}

.wrapper strong {
	font-weight: 700;
}

.wrapper> :is(h1, h2, h3, h4, h5, h6) {
	margin-bottom: var(--spacing-md);
}

.wrapper h2:not(:first-child) {
	margin-top: var(--spacing-3xl);
}

.wrapper>h3:not(:first-child),
.wrapper>h4:not(:first-child),
.wrapper>h5:not(:first-child) {
	margin-top: var(--spacing-2xl);
}

.wrapper>h6:not(:first-child) {
	margin-top: var(--spacing-md);
}

.wrapper .card-highlighting {
	margin-top: var(--spacing-3xl);
}

/* Header Page */
.row.header-page {
	display: grid;
}

.header-page {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--spacing-xl);
	background-color: var(--surface-secondary-dark);
	border-radius: var(--border-radius-md);
	padding: var(--spacing-3xl);
}

.header-page .header-page-image {
	max-height: 17.375rem;
	max-width: 17.375rem;
}

.header-page .header-page-image.icon {
	width: 6.625rem;
	height: 6.625rem;
	padding: var(--spacing-md);
	order: 1;
}

.header-page .header-page-image img {
	display: block;
	height: 100%;
	width: 100%;
	border-radius: var(--border-radius-sm);
}

.header-page .header-page-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-lg);
	flex: 1 0 0;
}

.header-page .header-page-content .date {
	color: var(--text-on-dark-bg);
	font-size: var(--text-xs);
	line-height: var(--text-leading-xs);
}

.header-page .header-page-content .title {
	color: var(--text-on-dark-bg);
}

.header-page .header-page-content .subtitle {
	color: var(--text-on-dark-bg);
	font-size: var(--text-xl);
	font-weight: 700;
	line-height: var(--text-leading-2xl);
}

.header-page .header-page-content .description {
	color: var(--text-on-dark-bg);
	font-size: var(--text-md);
	line-height: var(--text-leading-xl);
}

.header-page .header-page-content .satisfactionrate {
	display: flex;
	gap: var(--spacing-md);
	color: var(--text-on-dark-bg);
	align-items: center;
}

.header-page .header-page-content .material-symbols-outlined.favorite {
	background-color: var(--surface-secondary-tertiary-dark);
	color: var(--icon-primary);
	border-radius: var(--border-radius-full);
	padding: var(--spacing-sm);
}

.header-page .header-page-content .buttons-container {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	flex-wrap: wrap;
}

/* FAQ */
.faq-all-filters {
	border-bottom: var(--border-sm) solid var(--border-secondary);
}

.faq-all-filters ul li button {
	border: none;
	background-color: transparent;
	transition: none;
}

.faq-all-filters ul li button:hover {
	color: var(--text-action);
	background-color: color-mix(in srgb, var(--surface-action-cta-dark), transparent 50%);
	border-bottom: solid var(--surface-action-cta-dark);
	border-radius: 0;
}

.faq:not(.allFilters) ul li:not(:last-child) {
	border-bottom: var(--border-sm) solid var(--border-secondary);
	padding-bottom: var(--spacing-lg);
}

.btn-item {
	color: var(--text-action);
	background: transparent;
	text-align: left;
	line-height: 1.9;
	border: none;
	cursor: pointer;
	font-weight: 600;
}

.container-questions {
	display: flex;
	flex-direction: column;
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
	padding: var(--spacing-lg) var(--spacing-2xl);
	gap: var(--spacing-lg);
}

.container-questions li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

.container-questions li:hover .btn-item {
	text-decoration: underline;
}

/* FIN FAQ */

/* FAQ page réponse */
.return-faq {
	width: fit-content;
}

.faq-answer-content {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.question-answer,
.other-questions {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
}

.question-answer ul:not(.faq-all-filters ul),
.wrapper ul:not(.faq-all-filters ul, .collapsible.video-transcript) {
	list-style: disc;
	margin-left: var(--spacing-3xl);
}

.question-answer ol {
	list-style: decimal;
	margin-left: var(--spacing-lg);
}

.wrapper .card-highlighting.faq {
	margin-top: 0;
}

/* FIN FAQ page réponse */

/* Formation accueil */
.intro-formation {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
}

.info-formation {
	display: flex;
	flex-direction: column;
	background-color: var(--surface-information);
	padding: var(--spacing-2xl) var(--spacing-3xl);
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
	gap: var(--spacing-lg);
}

.info-formation .icon-title {
	display: flex;
	gap: var(--spacing-sm);
}

.info-formation .button-cta {
	width: fit-content;
}

.container-two-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-lg);
}

.search-filters {
	padding: var(--spacing-xl);
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
}

.card .card-content {
	padding: 0;
}

.card.horizontal {
	background-color: var(--surface-secondary-light);
	box-shadow: none;
	align-items: center;
	padding: var(--spacing-xl);
	gap: var(--spacing-lg);
}

.card-horizontal .card-stacked .card-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.card.horizontal .card-image img {
	max-width: 3.75rem;
	max-height: 3.75rem;
}

.card.horizontal a span.icon-arrow-theme {
	font-size: var(--icon-size-lg);
	color: var(--icon-primary);
}

/* FIN Formation accueil */

/* Page d'une formation */
li.hub.formation {
	display: flex;
	background-color: var(--surface-secondary-medium);
	padding: var(--spacing-sm) var(--spacing-sm);
	gap: var(--spacing-xs);
}

.header-page.formation .header-page-content>div,
.header-page.formation .header-page-content>p {
	color: var(--surface-page);
}

.anchorBar {
	background-color: var(--surface-secondary-light);
	border-bottom: var(--border-sm) solid var(--border-secondary);
	width: 100vw;
	margin-left: calc(50% - 50.5vw);
	margin-right: calc(50% - 50vw);
}

.anchorBar .content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 95rem;
	margin: 0 auto;
	padding: 0 var(--spacing-6xl);
}

.anchorBar .content ul {
	display: flex;
}

.anchorBar .content ul li {
	border-bottom: var(--border-lg) solid transparent;
}

.anchorBar .content ul li:hover {
	border-bottom: var(--border-lg) solid var(--border-highlight);
}

.anchorBar .content ul li a {
	display: flex;
	gap: var(--spacing-sm);
	padding: var(--spacing-2xl) var(--spacing-xl);
	color: var(--text-heading);
	font-weight: 600;
}

.anchorBar .content ul li a .material-symbols-outlined {
	color: var(--icon-primary);
}

.anchorBar .content .button-cta {
	height: fit-content;
}

@media (max-width: 1200px) {
	.anchorBar .content {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 0 var(--spacing-4xl) var(--spacing-lg);
	}
}

@media (max-width: 600px) {
	.anchorBar .content {
		padding: var(--spacing-lg);
		align-items: center;
	}
}

.wrapper.formation,
.wrapper.formation .for-who,
.wrapper.formation .objectifs,
.wrapper.formation .programme,
.wrapper.formation .sessions {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xl);
}

.wrapper.formation p,
.wrapper.formation ul li,
.wrapper.formation a,
.wrapper.formation div {
	color: var(--text-heading);
}

.wrapper.formation .title {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
}

.wrapper.formation .card-highlighting a {
	color: var(--surface-action);
}

span.material-symbols-outlined.circled {
	background-color: var(--surface-secondary-medium);
	padding: var(--spacing-sm);
	border-radius: var(--border-radius-full);
}

.wrapper.formation :is(h2, h3) {
	margin: 0 0 var(--spacing-lg) 0;
}

.wrapper.formation .title {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
}

span.material-symbols-outlined.circled {
	background-color: var(--surface-secondary-medium);
	padding: var(--spacing-sm);
	border-radius: var(--border-radius-full);
}

.download-training-sheet {
	display: flex;
	align-items: center;
	width: 100%;
	background-color: transparent;
	justify-content: space-between;
	border: var(--border-sm) solid var(--border-secondary);
	font-weight: 600;
	padding: var(--spacing-lg);
	border-radius: var(--border-radius-md);
	margin-top: var(--spacing-lg);
	cursor: pointer;
}

.download-training-sheet .btn-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-xs);
	text-align: left;
}

.download-training-sheet .btn-text p,
.download-training-sheet span {
	color: var(--text-body) !important;
}

.download-training-sheet .btn-text .addi-info {
	display: flex;
	gap: var(--spacing-sm);
	color: var(--text-body-secondary);
	font-size: 12px;
	font-weight: 100;
}

.price-detail {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.tuile-formation {
	background-color: var(--surface-secondary-light);
	border-radius: var(--border-radius-md);
	padding: var(--spacing-xl);
	border: var(--border-sm) solid var(--border-secondary);
  	background-image: radial-gradient(
    	circle at 92% 92%,
    	rgba(206, 213, 255, 0.2) 20%,
    	transparent 10%
  	);
}

.tuile-formation .content {
	display: flex;
	flex-direction: column;
	align-items: start;
	height: 100%;
	gap: var(--spacing-sm);
}

.tuile-formation button {
	margin-top: auto;
}

.tuile-formation .info {
	padding-bottom: var(--spacing-lg);
}

.tuile-formation span.badge {
	color: var(--text-body);
}
/* FIN Page d'une formation */

/* Recherche formation */
/* SELECT2 */
.select2-container--default .select2-selection--multiple, 
.select2-container--default .select2-selection--single, 
.select2-container--default.select2-container--focus .select2-selection--multiple{
	border: var(--border-sm) solid var(--border-tertiary) !important;
	border-radius: var(--spacing-sm) !important;
}

span.select2-search.select2-search--inline {
	vertical-align: sub;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: var(--text-action) !important;
	background-color: var(--surface-action-hover) !important;
}

.input-field textarea:focus:not([readonly]) {
	border-bottom: none !important;
	padding-top: 0 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--surface-secondary-dark) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
    position: unset !important;
}

.select2-stage-filters :focus-visible,
.select2-container--default.select2-container--focus .select2-selection--multiple,
#modal1 .stage-searchbar input:focus,
#modal2 .stage-searchbar input:focus {
	outline: var(--border-md) solid var(--surface-secondary-dark) !important;
	outline-offset: 0;
}

.select2-stage-filters .input-rg2a.placeholder-style  {
    color: var(--text-disabled);
}

div.input-field.label-select2-hide > label {
    display: block !important;
    top: -24px !important;     
    left: 0.1rem !important; 
    font-size: 0.8rem !important;
    color: var(--text-action) !important; 
    pointer-events: none; 
}

div.input-field.label-select2-hide {
    margin-top: 1.5rem; 
}
/* FIN SELECT2 */
/* FIN Recherche formation */

.page-content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xl);
}

.container-formation .content .title {
	display: flex;
	gap: var(--spacing-md);
}

.container-formation .search {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	order: 1;
}

.container-formation .search .card {
	display: flex;
	flex-direction: column;
	box-shadow: none;
	border: var(--border-sm) solid var(--border-secondary);
	padding: var(--spacing-xl);
	gap: var(--spacing-xl);
	width: 100%;
	border-radius: var(--border-radius-md);
	background-color: transparent;
}

.container-formation .search .card .chip {
	background-color: transparent;
	color: var(--text-action);
	border-radius: 9999px;
	padding: 0;
	width: 100%;
	float: left;
}

.container-formation .search .card .chip .chip-content {
	background-color: var(--surface-action-hover);
	display: flex;
	padding: 0.5rem 1rem;
	max-width: 100%;
	border-radius: 9999px;
}

.container-formation .search .card .chip .chip-content span {
	text-transform: uppercase;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
}

.chip .close {
	color: var(--text-action);
}

.container-formation .content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xl);
	order: 2;
}

.container-search-result {
	display: flex;
	flex-direction: column;
}

.card-panel {
	box-shadow: none;
	background-color: transparent;
	height: 100%;
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
}

.card-panel .contenu {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
}

.card-panel img {
	display: none;
}

.card-panel .info {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.card-panel .info li {
	display: flex;
	gap: var(--spacing-md);
}

.title-card-stage a {
	color: var(--text-heading)
}

.formation-by {
	color: #535353;
}

.badge.theme {
	width: fit-content;
	max-width: 100%;
}

li.hub {
	background-color: var(--surface-secondary-light);
	padding: 0.5rem 0.25rem;
}

.input.select {
	background-color: transparent;
	box-shadow: none;
}

.input-rg2a {
	background-color: transparent;
	color: var(--text-body);
	border: var(--border-sm) solid var(--border-tertiary);
	border-radius: var(--border-radius-sm);
	padding: 0.5rem;
	max-height: 2.5rem;
}

.input-rg2a:required:invalid {
	color: var(--text-disabled);
}

.input-rg2a option {
	color: var(--text-body);
}

/* FIN Recherche de formation */

/* Parcours thématiques - menu à gauche */
.menu-thematique {
	display: flex;
	flex-direction: column;
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
	list-style: none;
	max-height: 29.75rem;
	overflow-y: auto;
}

.menu-thematique .collapsible-header {
	padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-2xl);
	background-color: transparent;
	border: none;
	text-align: start;
	align-items: flex-start;
}

.menu-thematique .collapsible-body li:first-child {
	border-top: var(--border-sm) solid var(--border-secondary);
}

.menu-thematique li:not(:last-child) {
	border-bottom: var(--border-sm) solid var(--border-secondary);
}

.menu-thematique li.active .collapsible-header {
	background-color: var(--surface-secondary-light);
}

.active .collapsible-header::after {
	color: var(--icon-action-pressed);
}

.menu-thematique .collapsible-body a {
	color: var(--color-blue);
}

.menu-thematique ul li:not(:has(a.active)) {
	padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-3xl);
}

.menu-thematique ul li a {
	color: var(--text-body);
}

.menu-thematique ul li a.active {
	font-weight: 700;
	padding: var(--spacing-md) var(--spacing-lg) var(--spacing-md) var(--spacing-2xl);
}

.menu-thematique li {
	display: flex;
	flex-direction: column;
}

.menu-thematique li div {
	line-height: 1.3;
}

/* scroll bar */
.menu-thematique::-webkit-scrollbar {
	width: 0.438rem;
}

.menu-thematique::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 1.5rem;
}

.menu-thematique::-webkit-scrollbar-thumb {
	background: var(--surface-secondary-medium);
	border-radius: 1.5rem;
}

/* FIN scroll bar */

/* Responsive */
.container-menu .menu-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--surface-secondary-light);
    border: var(--border-sm) solid var(--border-secondary);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-lg);
}

.container-menu .menu-mobile-content {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.container-menu .menu-mobile.active .rotate-icon {
    transform: rotate(180deg);
}

.container-menu .menu-mobile.active {
    border-radius: var(--border-radius-md) var(--border-radius-md) 0 0;
    border-bottom-color: transparent;
}

@media only screen and (max-width: 992px) {
    #menu_thematique:not(.hide-on-med-and-down) {
        border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
    }
}

/* FIN Responsive */
/* FIN Parcours thématiques - menu à gauche */

.video-wrapper {
	width: 33.3125rem;
	aspect-ratio: 16 / 9;
}

@media (max-width: 1200px) {
	.sous-theme-video {
		flex-direction: column;
	}

	.video-wrapper {
		width: 100%;
	}
}

.img-resource {
	width: 100%;
	border-radius: var(--border-radius-sm);
}

/* Parcours thématiques - SOUS THEMATIQUE */
.sous-theme-video {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacing-3xl);
}

.sous-theme-video .presentation {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sous-theme-video .presentation p {
	color: var(--text-heading);
}

.container-video {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: var(--spacing-xl) var(--spacing-lg);
	gap: var(--spacing-lg);
	border: var(--border-sm) solid var(--border-secondary);
	border-radius: var(--border-radius-md);
}

.video-transcript .collapsible-header {
	background-color: var(--surface-secondary-light);
	border-radius: var(--border-radius-md);
	border-bottom: 2px solid var(--border-secondary);
	padding: var(--spacing-xl) var(--spacing-lg);
}

.video-transcript .collapsible-header .material-symbols-outlined {
	font-size: var(--icon-size-md);
}

.video-transcript .collapsible-body p {
	padding: var(--spacing-lg);
	padding-bottom: 0;
}

/* Puzzle */

.puzzle-container {
	display: flex;
	gap: 5px;
}

.puzzle {
	--arrow-height: 3.75rem;
	--arrow-width: 1rem;
	--bg-puzzle-piece: var(--surface-page);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	flex: 1;
	background-color: var(--bg-puzzle-piece);
	padding: var(--spacing-lg);
	gap: var(--spacing-sm);
	border-radius: var(--border-radius-md);
}

.puzzle:not(:last-child)::before,
.puzzle:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.puzzle:not(:last-child)::before {
	right: calc(var(--arrow-width) * -1);
	width: var(--arrow-width);
	height: var(--arrow-height);
	background-color: var(--bg-puzzle-piece);
	z-index: 2;
}

.puzzle:not(:last-child)::after {
	right: calc(var(--arrow-width) * -1 - 6px);
	width: calc(var(--arrow-width) + 6px);
	height: calc(var(--arrow-height) + 20px);
	background-color: var(--surface-primary);
	z-index: 1;
}

.puzzle.tertiary-dark {
	--bg-puzzle-piece: var(--surface-secondary-tertiary-dark)
}

.puzzle.accent {
	--bg-puzzle-piece: var(--surface-secondary-accent)
}

.puzzle.secondary-medium {
	--bg-puzzle-piece: var(--surface-secondary-medium)
}

.puzzle p {
	color: var(--text-heading);
	font-weight: 700;
	text-align: center;
}

.puzzle .material-symbols-outlined {
	color: var(--icon-primary);
}

/* Niveaux ressources */

.block-level {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xl);
	background-color: var(--bg-block-level);
	padding: var(--spacing-4xl) var(--spacing-2xl);
	border-radius: var(--spacing-lg);
	overflow: hidden;
	margin-inline: unset;
	z-index: 1;
}

.block-level::after {
	content: "";
	position: absolute;
	top: 230px;
	left: 0;
	height: 45.5rem;
	width: 22.5rem;
	background-color: var(--bg-icon-block-level);
	opacity: 0.4;
	z-index: -1;
	clip-path: path("M0 0C10.9859 2.65405 21.099 9.54218 27.5547 20.665L71.7627 96.834C81.7317 114.01 101.972 122.38 121.16 117.261L206.086 94.6035C238.806 85.8741 268.709 115.832 259.92 148.536L237.315 232.646C232.14 251.905 240.563 272.236 257.842 282.191L333.829 325.973C363.208 342.9 363.208 385.295 333.829 402.222L257.842 446.003C240.563 455.958 232.14 476.29 237.315 495.548L259.92 579.659C268.709 612.363 238.806 642.321 206.086 633.592L121.16 610.935C101.972 605.815 81.7317 614.184 71.7627 631.36L27.5547 707.529C21.099 718.652 10.9859 725.539 0 728.193V0Z");
}

.block-level.level-2 {
	--bg-block-level: var(--surface-secondary-tertiary-light);
	--bg-icon-block-level: var(--surface-secondary-tertiary-dark);
}

.block-level.level-3 {
	--bg-block-level: var(--surface-secondary-neutral);
	--bg-icon-block-level: var(--surface-secondary-accent);
}

.block-level.level-4 {
	--bg-block-level: var(--surface-secondary-light);
	--bg-icon-block-level: var(--surface-secondary-medium);
}

.block-level header .level-title {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
	margin-bottom: var(--spacing-lg);
}

.block-level .collapsible .collapsible-header {
	width: fit-content;
	cursor: auto;
}

.block-level .collapsible .collapsible-header::after {
	content: '';
}

.block-level .collapsible span.badge {
	margin-left: 0;
}

.block-level .collapsible .active span.badge:not(.new) {
	color: var(--text-heading);
}

.autres-sujets,
.passer-a-laction {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xl);
	padding: var(--spacing-2xl) 0;
	border-top: var(--border-sm) solid var(--border-secondary);
}

.passer-a-laction .container-links {
	display: flex;
	flex-direction: column;
	background-color: var(--surface-secondary-light);
	padding: var(--spacing-2xl);
	gap: var(--spacing-sm);
	border-radius: var(--border-radius-md);
}

.passer-a-laction .container-links .link {
	display: flex;
	gap: var(--spacing-sm);
}

.passer-a-laction .container-links .link a {
	cursor: pointer;
	text-decoration: underline;
	color: var(--text-heading);
}

/* Carousel */

.carousel-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
}

.carousel-wrapper .carousel-container {
	display: flex;
	gap: var(--spacing-xl);
	width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.carousel-wrapper .carousel-container>* {
	flex: 0 0 20.438rem;
	scroll-snap-align: start;
}

.carousel-wrapper .carousel-buttons {
	display: inline-flex;
	gap: var(--spacing-lg);
	margin-inline: auto;
	user-select: none;
}

/* FIN Parcours thématiques - SOUS THEMATIQUE */
hr {
	border: var(--border-sm) solid var(--border-secondary);
}

.open_in_new {
	vertical-align: bottom;
}

@media (max-width: 1200px) {
	.wrapper .ademe-academie-subfolder {
		display: block;
	}

	.wrapper .ademe-academie-subfolder>article{
		margin-bottom: var(--spacing-lg);
	}
}

.search-field {
	width: fit-content;
}

.home-hero {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--spacing-4xl);
	background-color: var(--surface-secondary-dark);
	padding: var(--spacing-4xl);
	border-radius: var(--border-radius-lg);
}

.home-hero .content-hero {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	flex: 1 1 calc(20rem * 2 + var(--spacing-lg));
}

.home-hero .content-hero .hero-title {
	color: var(--text-on-dark-bg);
}

.home-hero .content-hero .hero-subtitle {
	color: var(--text-on-dark-bg);
	font-size: var(--text-xl);
	font-weight: 700;
	line-height: var(--text-leading-2xl);
}

.home-hero .content-hero .tuiles-hero {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-lg);
	margin-top: var(--spacing-xl);
}

.home-hero .image-hero img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--border-radius-lg);
}

.home-cta-account {
	display: flex;
	align-items: center;
	gap: var(--spacing-4xl);
	background-color: var(--surface-secondary-tertiary-dark);
	max-width: 68.375rem;
	width: 100%;
	margin-inline: auto;
	padding: var(--spacing-2xl);
	border-radius: var(--border-radius-lg);
}

.home-cta-account .content-cta-account {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xl);
	flex: 1 1 0;
}

.home-cta-account .content-cta-account ul {
	color: var(--text-heading);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	list-style: inside disc;
}

.home-cta-account .content-cta-account ul li::marker {
	color: var(--surface-secondary-dark);
}

.home-cta-account .content-cta-account .buttons-cta-account {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xl);
}

.home-cta-account .image-cta-account {
	max-width: 23rem;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.home-cta-account .image-cta-account img {
	display: block;
	max-width: 100%;
	height: auto;
}

.home-news {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: var(--spacing-3xl);
	background-color: var(--surface-secondary-light);
	border-radius: var(--border-radius-lg);
	padding: var(--spacing-4xl);
}

.home-news h2,
.autres-sujets h2,
.passer-a-laction h2 {
	background-color: var(--surface-secondary-tertiary-dark);
	width: fit-content;
}

.pagination-container {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-lg);
	margin-inline: auto;
}

.pagination-numbers {
	display: inline-flex;
	gap: var(--spacing-xs);
}

.home-choose-academie {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xl);
}

.home-choose-academie .title-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
}

.home-choose-academie .key-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
}

.container-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-xl);
}

.container-icon-title {
	display: flex;
	gap: var(--spacing-lg);
	margin-top: var(--spacing-2xl);
}

/* Footer */

.footer {
	background-color: var(--surface-page);
}

.footer .section-footer {
	max-width: 90rem;
	margin-inline: auto;
	border-top: var(--border-sm) solid var(--border-secondary);
}

.footer .section-footer .content {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--spacing-sm);
	padding: var(--spacing-xl) var(--spacing-4xl) var(--spacing-sm);
	border-bottom: var(--border-sm) solid var(--border-secondary);
}

.footer .section-footer .content .left-content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
}

.footer .section-footer .content .left-content .copyright {
	color: var(--text-body-secondary);
	font-size: var(--text-sm);
	line-height: var(--text-leading-md);
}

.footer .section-footer .content .left-content .brand-footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
}

.footer .section-footer .content .left-content .brand-footer img {
	height: auto;
	width: auto;
	object-fit: contain;
}

.footer .section-footer .content .left-content .brand-footer img#republique-francaise-logo,
.footer .section-footer .content .left-content .brand-footer img#ademe-logo {
	max-height: 5.25rem;
}

.footer .section-footer .content .left-content .brand-footer img#ademe-logo {
	padding-inline: var(--spacing-xl);
}

.footer .section-footer .content .left-content .brand-footer img#ademe-academie-logo {
	max-height: 4.5rem;
}

.footer .section-footer .content .left-content .brand-footer img#qualiopi-logo {
	max-height: 4rem;
}

.footer .section-footer .content .right-content {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: var(--spacing-lg);
	max-width: 36.75rem;
	width: 100%;
}

.footer .section-footer .content .right-content p {
	font-size: var(--text-sm);
}

.footer .section-footer .content .right-content ul {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--spacing-xs) var(--spacing-xl);
}

.footer .section-footer .content .right-content ul .content-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xxs);
	color: var(--text-body);
	font-size: var(--text-sm);
	font-weight: 700;
	line-height: var(--text-leading-xl);
}

.footer .section-footer .content .right-content ul .content-link .material-symbols-outlined {
	font-size: var(--icon-size-sm);
}

.footer .section-footer .legal-notices {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	padding: var(--spacing-lg) var(--spacing-4xl);
}

.footer .section-footer .legal-notices ul {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
}

.footer .section-footer .legal-notices ul li {
	display: flex;
	align-items: stretch;
}

.footer .section-footer .legal-notices ul li a {
	color: var(--text-body);
	font-size: var(--text-xs);
	line-height: var(--text-leading-lg);
}

.footer .section-footer .legal-notices ul li a:hover {
	color: var(--text-action-hover);
	text-decoration-line: underline;
	text-underline-offset: 2px;
}

.footer .section-footer .legal-notices ul li::before,
.footer .section-footer .legal-notices ul li:last-child::after {
	content: "";
	display: inline-block;
	align-self: center;
	height: 1rem;
	width: 1px;
	background-color: var(--icon-disabled);
	margin-right: 1rem;
}

.footer .section-footer .legal-notices ul li:last-child::after {
	margin-left: 1rem;
	margin-right: 0;
}

.footer .section-footer .legal-notices .licence-ecoconception {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.footer .section-footer .legal-notices .licence-ecoconception p {
	font-size: var(--text-xs);
	line-height: var(--text-leading-lg);
}

.footer .section-footer .legal-notices .licence a {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	white-space: nowrap;
}

.footer .section-footer .legal-notices .licence a span:first-child,
.footer .section-footer .legal-notices .ecoconception a span {
	color: var(--text-body);
	text-decoration-line: underline;
	text-underline-offset: 2px;
}

.footer .section-footer .legal-notices .licence .material-symbols-outlined {
	color: var(--color-neutral-grey-500);
	font-size: var(--icon-size-sm);
}

/* 62rem = 992px, taille d'écran medium pour les classes materialize */
@media (max-width: 62rem) {

	/* Header */
	.header #menu-header {
		position: absolute;
		display: flex;
		flex-direction: column;
		background-color: var(--surface-page);
		width: 100%;
	}

	.header #menu-header[data-state="closed"] {
		display: none;
	}

	.header #menu-header .search-header {
		display: block;
	}

	.header #menu-header nav ul {
		flex-direction: column;
		gap: var(--spacing-sm);
	}

	.header .section-header .actions-header {
		padding-right: var(--spacing-sm);
	}

	/* Page sous-thématique */
	.collapsible .voir-plus .button-secondary {
		border-bottom: none;
		text-decoration: underline;
	}
}

@media (max-width: 60rem) {
	.home-cta-account {
		flex-direction: column;
		align-items: flex-start;
	}

	.container-cards {
		grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	}
}

@media screen and (max-width: 51.5rem) {
	h1 {
		font-size: 2rem;
		line-height: 2.375rem;
	}

	h2 {
		font-size: 1.625rem;
		line-height: 2.375rem;
	}

	h3 {
		font-size: 1.5rem;
		line-height: 2rem;
	}

	.container-two-cards {
		grid-template-columns: repeat(1, 1fr);
	}

	/* Header */
	.header .section-header {
		padding: 0 0 0 var(--spacing-sm);
	}

	.header .section-header .brand-header {
		gap: 0;
	}

	.header .section-header .brand-header img {
		max-height: 3.25rem;
	}

	.header .section-header .brand-header img:nth-child(2) {
		padding-inline: var(--spacing-sm);
	}

	.header .section-header .brand-header img:last-child {
		max-height: 2.75rem;
	}

	.header .section-header .actions-header .shortcut-header {
		gap: 0;
	}

	.header .section-header .actions-header-mobile {
		display: inline-flex;
	}

	main {
		padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-3xl);
	}

	.full-width-section {
		margin-inline: calc(-1 * var(--spacing-xl));
	}

	.header-page,
	.home-hero {
		padding: var(--Space-4, 2rem) var(--Space-3, 1.5rem);
	}

	.header-page {
		flex-direction: column-reverse;
		align-items: start;
	}

	.home-cta-account {
		padding: var(--spacing-xl);
	}

	.home-news {
		padding: var(--spacing-4xl) var(--spacing-xl);
	}

	.button-navigation {
		padding: 0;
	}

	.puzzle-container {
		flex-direction: column;
	}

	.puzzle {
		flex-direction: row;
		gap: var(--spacing-lg);
		padding: var(--spacing-xl) var(--spacing-lg);
	}

	.puzzle p {
		text-align: left;
	}

	.puzzle .material-symbols-outlined {
		margin-left: auto;
	}

	.puzzle:not(:last-child)::before,
	.puzzle:not(:last-child)::after {
		top: auto;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		clip-path: polygon(0 0, 50% 100%, 100% 0);
	}

	.puzzle:not(:last-child)::before {
		bottom: calc(var(--arrow-width) * -1);
		width: var(--arrow-height);
		height: var(--arrow-width);
	}

	.puzzle:not(:last-child)::after {
		bottom: calc(var(--arrow-width) * -1 - 6px);
		width: calc(var(--arrow-height) + 20px);
		height: calc(var(--arrow-width) + 6px);
	}

	.block-level {
		padding: var(--spacing-4xl) var(--spacing-xl);
	}

	/* Footer */
	.footer .section-footer .content {
		padding: var(--spacing-lg);
	}

	.footer .section-footer .content .left-content {
		padding: var(--spacing-sm) var(--spacing-lg) 0;
	}

	.footer .section-footer .content .right-content {
		padding: var(--spacing-lg);
		gap: var(--spacing-xl);
	}

	.footer .section-footer .legal-notices {
		gap: var(--spacing-xl);
		padding: var(--spacing-lg) var(--spacing-2xl);
	}

	.footer .section-footer .legal-notices ul {
		gap: var(--spacing-lg) var(--spacing-sm);
	}
}

@media screen and (max-width: 30rem) {
	.header-page {
		flex-direction: column-reverse;
	}

	.home-hero .content-hero .tuiles-hero {
		grid-template-columns: 1fr;
	}

	.card-highlighting {
		flex-direction: column;
		padding: var(--spacing-2xl);
	}
}

@media screen and (max-width: 22.5rem) {

	/* Header */
	.header .section-header {
		padding: 0 0 0 var(--spacing-lg);
	}

	.header .section-header .brand-header {
		gap: unset;
	}

	main {
		padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-3xl);
	}

	.footer .section-footer .content {
		padding: var(--spacing-lg) 0;
	}

	.footer .section-footer .content .left-content {
		gap: var(--spacing-xl);
		padding-inline: var(--spacing-xl);
	}

	.footer .section-footer .content .right-content,
	.footer .section-footer .legal-notices {
		padding: var(--spacing-lg) var(--spacing-xl);
	}
}