/*
 * Site-wide styles of the AFB theme that theme.json cannot express.
 * Rem base: 1rem = 10px (62.5%), on which every size of theme.json relies.
 */
html {
	font-size: 62.5%;
	/* The burger menu sets overflow: hidden on html (core .has-modal-open): keep the scrollbar room so the page does not shift. */
	scrollbar-gutter: stable;
}

/*
 * Bridge to the custom properties of the content blocks plugin (`--fbf-blocks-*`, see its README):
 * the values come from `settings.custom` in theme.json (`--wp--custom--*`).
 */
:root {
	--fbf-blocks-color-text: var(--wp--custom--color--text);
	--fbf-blocks-color-inverse: var(--wp--custom--color--inverse);
	--fbf-blocks-color-dark: var(--wp--custom--color--dark);
	--fbf-blocks-color-muted: var(--wp--custom--color--muted);
	--fbf-blocks-color-border: var(--wp--custom--color--border);
	--fbf-blocks-color-soft: var(--wp--custom--color--soft);
	--fbf-blocks-color-tint: var(--wp--custom--color--tint);
	--fbf-blocks-color-accent: var(--wp--custom--color--accent);
	--fbf-blocks-color-primary: var(--wp--custom--color--primary);
	--fbf-blocks-font-body: var(--wp--custom--font--body);
	--fbf-blocks-font-heading: var(--wp--custom--font--heading);
	--fbf-blocks-title-underline-height: var(--wp--custom--title--underline-height);
	--fbf-blocks-title-shadow-display: var(--wp--custom--title--shadow-display);
	--fbf-blocks-figures-bullet-color: var(--wp--custom--figures--bullet-color);
}

/* Breadcrumbs (yoast-seo/breadcrumbs block, no stylesheet of its own): links in the text colour, underlined on hover. */
.yoast-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.yoast-breadcrumbs a:hover,
.yoast-breadcrumbs a:focus {
	text-decoration: underline;
}

/* Breakpoint --wp--custom--breakpoint--tablet (a custom property cannot be used in a media query). */
@media (min-width: 990px) {
	:root {
		--fbf-blocks-title-shadow-display: var(--wp--custom--title--shadow-display-tablet);
	}
}

/*
 * Yoast breadcrumbs (`yoast-seo/breadcrumbs`, `breadcrumb` class: layout from the content blocks plugin):
 * links in the text colour of the trail, underlined on hover, like the former trail.
 */
.yoast-breadcrumbs.breadcrumb {
	display: block;
}

.yoast-breadcrumbs.breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.yoast-breadcrumbs.breadcrumb a:hover,
.yoast-breadcrumbs.breadcrumb a:focus-visible {
	text-decoration: underline;
}

/* Former compiled theme stylesheet: these rules used to load after the ones above, keep them last. */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
	position: relative;
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
	text-align: left;
}

[tabindex="-1"]:focus {
	outline: 0 !important;
}

h1,
h2,
h3,
h4 {
	margin-top: 0;
}

p {
	margin: 0;
}

a {
	background-color: transparent;
}

:focus {
	outline: 2px dotted darkcyan;
}

ul,
li {
	margin: 0;
}

ul ul {
	margin-bottom: 0;
}

li {
	list-style: none;
}

b,
strong {
	font-weight: bolder;
}

img {
	max-width: 100%;
}

img {
	display: inline-block;
	height: auto;
	vertical-align: middle;
	border-style: none;
}

svg {
	overflow: hidden;
	vertical-align: middle;
}

path {
	vector-effect: non-scaling-stroke;
}

figure {
	margin: 0;
}

table {
	border-collapse: collapse;
}

caption {
	text-align: left;
	caption-side: bottom;
}

th {
	text-align: inherit;
}

label {
	display: inline-block;
}

button {
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
	cursor: pointer;
}

button:focus {
	outline: 2px dotted darkcyan;
}

input,
button,
select,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type=button],
[type=submit] {
	-webkit-appearance: button;
}

input[type=checkbox] {
	box-sizing: border-box;
	padding: 0;
}

textarea {
	overflow: auto;
	resize: vertical;
}

fieldset {
	min-width: 0;
	margin: 0;
	border: 0;
	padding: 0.01em 0 0 0;
}

legend {
	width: 100%;
	max-width: 100%;
	padding: 0;
	line-height: inherit;
	color: inherit;
	white-space: normal;
	display: table;
	float: left;
	margin: 0;
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}

summary {
	display: list-item;
	cursor: pointer;
}

template {
	display: none;
}

[hidden] {
	display: none !important;
}

input,
select,
textarea,
button {
	font-family: inherit;
	-webkit-transform: translate3d(0, 0, 0);
	border-radius: 0;
}

input[type=email],
input[type=search],
input[type=text],
select:focus,
textarea {
	font-size: var(--wp--preset--font-size--m);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.a11y-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

.app {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	padding-top: 90px;
}

@media (min-width: 990px) {
	.app {
		padding-top: 0;
	}
}

.content {
	padding: 0 var(--wp--preset--spacing--l);
	width: 100%;
}

@media (min-width: 990px) {
	.content {
		padding: 0 var(--wp--preset--spacing--xxl);
		max-width: 1280px;
		margin: 0 auto;
	}
}

.content {
	flex: 1 0 auto;
}

.app label {
	font-size: var(--wp--preset--font-size--s);
	color: var(--wp--preset--color--grey-900);
	margin-bottom: var(--wp--preset--spacing--s);
}

.app input {
	border: 1px solid var(--wp--preset--color--afb-black);
	margin-bottom: var(--wp--preset--spacing--xs);
}

.app input:not([type=checkbox]) {
	padding: var(--wp--preset--spacing--m);
}

.app input[type=email],
.app input[type=text] {
	width: 100%;
}

.app input::-moz-placeholder {
	color: var(--wp--preset--color--grey-700);
	font-style: italic;
	font-weight: lighter;
	font-size: var(--wp--preset--font-size--xs);
}

.app input::placeholder {
	color: var(--wp--preset--color--grey-700);
	font-style: italic;
	font-weight: lighter;
	font-size: var(--wp--preset--font-size--xs);
}

@media (min-width: 990px) {
	.app input::-moz-placeholder {
		font-size: var(--wp--preset--font-size--s);
	}

	.app input::placeholder {
		font-size: var(--wp--preset--font-size--s);
	}
}

.app input:disabled {
	color: var(--wp--preset--color--grey-700);
	border: solid 1px var(--wp--preset--color--grey-700);
}

.app textarea {
	width: 100%;
	min-height: 150px;
	border: 1px solid var(--wp--preset--color--afb-black);
	padding: var(--wp--preset--spacing--m);
	margin-bottom: var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--m);
}

.app textarea::-moz-placeholder {
	color: var(--wp--preset--color--grey-700);
	font-style: italic;
	font-weight: lighter;
	font-size: var(--wp--preset--font-size--xs);
}

.app textarea::placeholder {
	color: var(--wp--preset--color--grey-700);
	font-style: italic;
	font-weight: lighter;
	font-size: var(--wp--preset--font-size--xs);
}

@media (min-width: 990px) {
	.app textarea::-moz-placeholder {
		font-size: var(--wp--preset--font-size--s);
	}

	.app textarea::placeholder {
		font-size: var(--wp--preset--font-size--s);
	}
}

.app input[type=checkbox] {
	margin-right: var(--wp--preset--spacing--m);
	margin-left: var(--wp--preset--spacing--m);
	position: relative;
	border: none;
	width: auto;
	display: inline-block;
	background-color: transparent;
	-webkit-appearance: none;
	min-height: 20px;
}

.app input[type=checkbox]::before {
	border: solid 1px var(--wp--preset--color--afb-black);
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: var(--wp--preset--color--afb-white);
}

.app input[type=checkbox]:checked::before {
	background-image: url("../svg/checkmark.svg");
	background-repeat: no-repeat;
}

.form .error {
	border: solid 1px #dc3545;
}

.form label.error,
.form span.error {
	color: #dc3545;
	border: 0;
	flex-basis: 100%;
	font-size: var(--wp--preset--font-size--s);
	font-weight: normal;
	font-weight: initial;
	margin-bottom: 0;
}

.form .success {
	color: #11b683;
	border: 0;
	font-size: var(--wp--preset--font-size--s);
	font-weight: normal;
	font-weight: initial;
	margin-bottom: 0;
}

.app .button {
	border-radius: 999em;
	padding: var(--wp--preset--spacing--m) var(--wp--preset--spacing--xl);
	display: block;
	border: 1px solid;
	text-transform: uppercase;
	text-decoration: none;
	font-size: var(--wp--preset--font-size--s);
	font-weight: 500;
}

@media (prefers-reduced-motion: no-preference) {
	.app .button {
		transition: background 0.5s;
	}
}

.required::after {
	content: "*";
}

.form__field {
	width: 100%;
	min-width: 150px;
	margin-bottom: var(--wp--preset--spacing--m);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

@media (min-width: 990px) {
	.form__field:not(:last-child) {
		margin-right: var(--wp--preset--spacing--m);
	}
}

.error404:not(body) {
	background: #dc3545;
	max-width: none;
	color: var(--wp--preset--color--afb-white);
}

.error404__inner {
	min-height: 300px;
	display: flex;
	text-align: center;
	justify-content: center;
	flex-direction: column;
}

.error404__link {
	border: 1px solid var(--wp--preset--color--afb-white);
	border-radius: 5px;
	background: transparent;
	color: var(--wp--preset--color--afb-white);
	display: inline-block;
	text-decoration: none;
	margin: var(--wp--preset--spacing--l) auto 0;
	padding: var(--wp--preset--spacing--m) var(--wp--preset--spacing--l);
}

.error404__link:hover,
.error404__link:focus {
	background: var(--wp--preset--color--afb-white);
	color: #dc3545;
	border-color: #dc3545;
}

.contentSingle__header {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--l);
}

@media (min-width: 990px) {
	.contentSingle__header {
		align-items: center;
		margin-bottom: var(--wp--preset--spacing--m);
	}

	.contentSingle__infos {
		display: flex;
	}
}

.contentSingle__time {
	font-size: var(--wp--preset--font-size--xxs);
	text-transform: uppercase;
	font-weight: bolder;
}

@media (min-width: 990px) {
	.contentSingle__time {
		font-size: var(--wp--preset--font-size--s);
		margin-right: var(--wp--preset--spacing--xl);
	}
}

.contentSingle__category {
	font-size: var(--wp--preset--font-size--xxs);
	text-transform: uppercase;
}

@media (min-width: 990px) {
	.contentSingle__category {
		font-size: var(--wp--preset--font-size--s);
	}
}

.contentSingle__heading {
	display: flex;
	align-items: center;
	padding-top: 50px;
}

.contentSingle__title {
	font-size: var(--wp--preset--font-size--xl);
	font-weight: bolder;
	margin-bottom: 0;
}

@media (min-width: 990px) {
	.contentSingle__title {
		font-size: 2.5rem;
	}
}

.contentSingle__thePostThumbnail {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contentSingle__thePostThumbnail figure {
	display: table;
}

.contentSingle__thePostThumbnail figcaption {
	display: table-caption;
	caption-side: bottom;
	text-align: center;
	font-size: var(--wp--preset--font-size--s);
}

.contentSingle__metas {
	font-style: italic;
	font-size: var(--wp--preset--font-size--xxs);
	color: var(--wp--preset--color--grey-700);
	margin-bottom: var(--wp--preset--spacing--l);
}

@media (min-width: 990px) {
	.contentSingle__metas {
		font-size: var(--wp--preset--font-size--s);
	}
}

.contentSingle__header .postActions {
	z-index: 0;
}

.contentSingle__header .postActions .postActions__like {
	display: inline-block;
}

.contentSingle__header .postActions .postActions__button {
	display: none;
}

.contentSingle__header .postActions .postActions__actionsMenu {
	position: static;
}

.contentSingle__header .postActions .postActions__actionsMenu .postActions__list {
	padding: 0;
}

.contentSingle__header .postActions .postActions__action {
	margin-right: var(--wp--preset--spacing--s);
	background-color: var(--wp--preset--color--grey-200);
	border-radius: 999em;
	padding: var(--wp--preset--spacing--s);
}

@media (min-width: 990px) {
	.contentSingle__header .postActions .postActions__action {
		padding: var(--wp--preset--spacing--m);
	}
}

.contentSingle__header .postActions .postActions__icon {
	margin: 0;
	width: 18px;
	height: 18px;
}

@media (min-width: 990px) {
	.contentSingle__header .postActions .postActions__icon {
		width: 25px;
		height: 25px;
	}
}

.contentSingle__indexNav {
	border-bottom: 1px solid var(--wp--preset--color--grey-300);
	z-index: 20;
	background: var(--wp--preset--color--afb-white);
	left: 0;
	right: 0;
}

.contentSingle .contribution {
	padding-top: var(--wp--preset--spacing--xl);
}

.contribution h1,
.contribution h2,
.contribution h3,
.contribution h4,
.contribution h5,
.contribution h6 {
	scroll-margin-top: 80px;
}

/*
 * Editorial content (post content on the front and in the editor, `.contribution` groups): sizes come from
 * settings.custom.content in theme.json. These selectors keep the specificity of the former rules, which win over
 * component classes; block styles of theme.json are wrapped in :where() and cannot.
 */
:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h2 {
	margin-bottom: 0;
	font-weight: 600;
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h2:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
	font-size: var(--wp--custom--content--heading-mobile);
}

@media (min-width: 990px) {
	:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h2:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
		font-size: var(--wp--custom--content--heading);
	}
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h3:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
	font-size: var(--wp--custom--content--heading-mobile);
}

@media (min-width: 990px) {
	:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h3:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
		font-size: var(--wp--custom--content--heading);
	}
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h4 {
	font-weight: 600;
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h4:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
	font-size: var(--wp--custom--content--subheading);
}

@media (min-width: 990px) {
	:is(.contribution, .wp-block-post-content:where(:not(.homePage))) h4:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
		font-size: var(--wp--custom--content--subheading);
	}
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) p {
	margin-bottom: var(--wp--preset--spacing--l);
	font-weight: 400;
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) p:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
	font-size: var(--wp--custom--content--text-mobile);
}

@media (min-width: 990px) {
	:is(.contribution, .wp-block-post-content:where(:not(.homePage))) p:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
		font-size: var(--wp--custom--content--text);
	}
}

.contribution ul {
	list-style-type: disc;
	list-style-type: initial;
	margin: 0;
	margin: initial;
	margin-bottom: var(--wp--preset--spacing--xs);
}

.contribution ul ul {
	margin-left: var(--wp--preset--spacing--l);
	margin-bottom: var(--wp--preset--spacing--xs);
}

.contribution ul li {
	list-style: disc;
}

.contribution ol {
	margin: 0;
	margin: initial;
}

.contribution ol:not([type]) {
	list-style-type: decimal;
}

.contribution ol ol {
	margin-left: var(--wp--preset--spacing--l);
	margin-bottom: var(--wp--preset--spacing--xs);
}

.contribution ol > li {
	list-style-type: inherit;
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) li {
	font-weight: 300;
}

:is(.contribution, .wp-block-post-content:where(:not(.homePage))) li:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
	font-size: var(--wp--custom--content--text-mobile);
}

@media (min-width: 990px) {
	:is(.contribution, .wp-block-post-content:where(:not(.homePage))) li:not([class*=font-size]):not(:is(.card, .smallCard, .titleWithShadowText) *):not(.publication__type) {
		font-size: var(--wp--custom--content--text);
	}
}

.contribution tbody tr td {
	padding: var(--wp--preset--spacing--l);
}

.category {
	position: relative;
}

.category__description {
	margin-bottom: var(--wp--preset--spacing--xl);
}

@media (min-width: 990px) {
	.category__wrapper {
		position: relative;
		display: flex;
		align-items: flex-start;
		flex-direction: row-reverse;
	}
}

.category__content {
	width: 100%;
}

.category__result {
	width: 100%;
}

@media (min-width: 990px) {
	.category__result {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: var(--wp--preset--spacing--l);
	}
}

.category__count {
	font-size: var(--wp--preset--font-size--xs);
	margin-bottom: var(--wp--preset--spacing--s);
}

@media (min-width: 990px) {
	.category__count {
		font-size: var(--wp--preset--font-size--l);
	}
}

.category__header {
	display: flex;
	align-items: center;
	flex-direction: column;
}

@media (min-width: 990px) {
	.category__header {
		flex-direction: row;
	}
}

.category__count--desktop {
	display: inline-block;
}

@media (min-width: 990px) {
	.category__count--desktop {
		display: inline-block;
		margin-bottom: var(--wp--preset--spacing--m);
	}
}

.category__seeMore {
	margin: 0 auto var(--wp--preset--spacing--xl);
}

.wp-block .postActions,
.app .postActions {
	position: relative;
	z-index: 1;
	margin-right: 0;
	margin-left: auto;
}

.wp-block .postActions .postActions__actionsMenu,
.app .postActions .postActions__actionsMenu {
	position: absolute;
	right: 0;
	top: 0;
}

.wp-block .postActions .postActions__actionsMenu .postActions__list,
.app .postActions .postActions__actionsMenu .postActions__list {
	display: flex;
	background-color: var(--wp--preset--color--afb-white);
	padding: var(--wp--preset--spacing--m);
	border-radius: 999em;
	list-style-type: none;
}

.wp-block .postActions .postActions__actionsMenu .postActions__list li,
.app .postActions .postActions__actionsMenu .postActions__list li {
	display: flex;
	font-size: inherit;
	list-style: none;
}

.wp-block .postActions__icon,
.app .postActions__icon {
	margin: 0 var(--wp--preset--spacing--s);
	width: 28px;
	height: 28px;
	fill: var(--wp--preset--color--grey-900);
}

@media (min-width: 990px) {
	.wp-block .postActions__icon,
	.app .postActions__icon {
		width: 18px;
		height: 18px;
	}
}

.wp-block .postActions__action,
.app .postActions__action {
	position: relative;
	top: 0;
	display: inline-block;
}

@media (prefers-reduced-motion: no-preference) {
	.wp-block .postActions__action,
	.app .postActions__action {
		transition: top 0.2s ease-in-out;
	}
}

.wp-block .postActions__action:hover,
.wp-block .postActions__action:focus,
.app .postActions__action:hover,
.app .postActions__action:focus {
	top: -0.4rem;
}

.wp-block .postActions__action .postActions__icon--active,
.app .postActions__action .postActions__icon--active {
	display: none;
}

.wp-block .postActions__action .postActions__icon--inactive,
.app .postActions__action .postActions__icon--inactive {
	display: inline-block;
}

.wp-block .postActions__action[aria-checked=true] .postActions__icon--active,
.app .postActions__action[aria-checked=true] .postActions__icon--active {
	display: inline-block;
}

.wp-block .postActions__action[aria-checked=true] .postActions__icon--inactive,
.app .postActions__action[aria-checked=true] .postActions__icon--inactive {
	display: none;
}

.wp-block .postActions__like,
.app .postActions__like {
	display: none;
	font-style: italic;
	font-size: var(--wp--preset--font-size--xxs);
	color: var(--wp--preset--color--grey-700);
	margin: auto var(--wp--preset--spacing--xs);
}

@media (min-width: 990px) {
	.wp-block .postActions__like,
	.app .postActions__like {
		font-size: var(--wp--preset--font-size--s);
	}
}

.wp-block .postActions__label,
.app .postActions__label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

.wp-block .postActions__action--big,
.app .postActions__action--big {
	height: 32px;
	min-width: 32px;
	line-height: 32px;
	margin-right: var(--wp--preset--spacing--xs);
	margin-bottom: var(--wp--preset--spacing--xs);
	background-color: var(--wp--preset--color--grey-200);
	border-radius: 999em;
}

@media (min-width: 990px) {
	.wp-block .postActions__action--big,
	.app .postActions__action--big {
		height: 45px;
		min-width: 45px;
		line-height: 45px;
	}
}

.wp-block .postActions__action--big .postActions__icon,
.app .postActions__action--big .postActions__icon {
	width: 18px;
	height: 18px;
}

@media (min-width: 990px) {
	.wp-block .postActions__action--big .postActions__icon,
	.app .postActions__action--big .postActions__icon {
		width: 25px;
		height: 25px;
	}
}

.page__header {
	margin-bottom: var(--wp--preset--spacing--xxl);
	padding: var(--wp--preset--spacing--s) var(--wp--preset--spacing--l);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.page__header .titleWithShadowText__shadow {
	z-index: 0;
}

.page__header .breadcrumb {
	display: block;
	padding-top: var(--wp--preset--spacing--m);
}

@media (min-width: 990px) {
	.page__header .breadcrumb {
		width: 100%;
		margin: 0 auto;
	}
}

.figureAndStudies {
	margin-bottom: var(--wp--preset--spacing--xxl);
}

.figureAndStudies__header {
	width: 100vw;
	position: relative;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	background: var(--wp--preset--color--grey-200);
	padding: var(--wp--preset--spacing--xl) 0;
}

.figureAndStudies__header > * {
	max-width: calc(1280px - 128px);
	margin-left: auto;
	margin-right: auto;
}

.contribution .figureAndStudies .figureAndStudies__heading,
.figureAndStudies .figureAndStudies__heading {
	text-align: center;
	font-size: 4rem;
	font-family: "Neue Haas", "Arial", sans-serif;
	font-weight: normal;
}

@media (min-width: 990px) {
	.contribution .figureAndStudies .figureAndStudies__heading,
	.figureAndStudies .figureAndStudies__heading {
		font-size: 8rem;
	}
}

.figureAndStudies__subheading {
	text-align: center;
	font-size: var(--wp--preset--font-size--l);
}

.figureAndStudies__inner {
	max-width: 1300px;
	padding: 0 var(--wp--preset--spacing--l);
}

.figureAndStudies__form {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	padding-top: var(--wp--preset--spacing--xxl);
}

@media (min-width: 990px) {
	.figureAndStudies__form {
		flex-wrap: nowrap;
	}
}

.figureAndStudies__form::before {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 2rem;
	content: "";
	height: 4px;
	display: block;
	width: 60px;
	background: var(--wp--preset--color--afb-dark-red);
}

.figureAndStudies__form .form__field[hidden] {
	display: none;
}

.app .figureAndStudies__form .form__select {
	background-color: var(--wp--preset--color--grey-200);
	border: solid 1px var(--wp--preset--color--afb-black);
	line-height: 1.5;
}

.app .figureAndStudies__form .form__select:focus-visible {
	outline: 2px solid var(--wp--preset--color--afb-black);
	outline-offset: 2px;
}

/*
 * Fixed 54px height (no matching preset): without it the button stretched to
 * the flex line, which includes the fields' bottom margin (62px on desktop),
 * or shrank to its padding box (47px) once wrapped.
 */
.app .figureAndStudies__form .contact__button {
	flex-shrink: 0;
	align-self: flex-start;
	height: 5.4rem;
	padding-block: 0;
}

/* Center the button on the 50px selects sitting on the same line. */
@media (min-width: 990px) {
	.app .figureAndStudies__form .contact__button {
		margin-top: -0.2rem;
	}
}

.contribution .figureAndStudies__disclaimer,
.figureAndStudies__disclaimer {
	font-size: var(--wp--preset--font-size--s);
	font-style: italic;
	text-align: center;
}

h1,
h2,
h3,
h4 {
	font-weight: normal;
}

.contentSingle__title {
	font-family: "Neue Haas", "Arial", sans-serif;
	font-weight: bold;
}

.contribution b,
strong {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--l);
}

@media (min-width: 990px) {
	.contribution b,
	strong {
		font-size: var(--wp--preset--font-size--xl);
	}
}

.contribution h2 {
	margin-bottom: 0;
	font-size: var(--wp--preset--font-size--s);
	font-family: "Neue Haas", "Arial", sans-serif;
	font-weight: 600;
}

@media (min-width: 990px) {
	.contribution h2 {
		font-size: 2.8rem;
	}
}

.contribution h3 {
	font-size: var(--wp--preset--font-size--xs);
}

@media (min-width: 990px) {
	.contribution h3 {
		font-size: var(--wp--preset--font-size--l);
	}
}

.page__header {
	background: var(--wp--preset--color--afb-medium-blue);
}

.app .button {
	background: var(--wp--preset--color--afb-dark-red);
	color: var(--wp--preset--color--afb-white);
	border-color: var(--wp--preset--color--afb-dark-red);
}

.app .button:hover,
.app .button:focus {
	background: var(--wp--preset--color--afb-dark-red);
	box-shadow: 0 5px 10px -3px var(--wp--preset--color--afb-dark-red);
}

.app .button:disabled {
	background: var(--wp--preset--color--afb-pale-red);
	color: var(--wp--preset--color--afb-dark-red);
	border-color: var(--wp--preset--color--afb-pale-red);
}

.app .button:disabled:hover,
.app .button:disabled:focus {
	box-shadow: none;
}

.error404__title {
	font-family: "Neue Haas", "Arial", sans-serif;
}

.category__count {
	font-weight: 300;
}

.capsule__link {
	position: relative;
}

.capsule__link::before {
	content: "";
	position: absolute;
	border-top: 10px solid transparent;
	border-left: 10px solid var(--wp--preset--color--afb-medium-blue);
	border-bottom: 10px solid transparent;
	left: -1px;
}

.capsule__link::after {
	content: "";
	position: absolute;
	border-top: 10px solid transparent;
	border-right: 10px solid var(--wp--preset--color--afb-medium-blue);
	border-bottom: 10px solid transparent;
	right: -1px;
}

:where(.wp-block, .app) .card__head .card__time {
	font-weight: bold;
}

:where(.wp-block, .app) .titleWithShadowText {
	font-weight: normal;
	margin-bottom: var(--wp--preset--spacing--xxl);
	padding: var(--wp--preset--spacing--xxl) 0 var(--wp--preset--spacing--xl) 0;
	font-size: var(--wp--preset--font-size--xl);
}

:where(.wp-block, .app) .titleWithShadowText .titleWithShadowText__subtitle {
	font-weight: lighter;
}

:where(.wp-block, .app) .titleWithShadowText.titleWithShadowText--backgroundColor {
	margin-bottom: 0;
}

/*
 * The shadow sits under the title text (z-index -1). The title opens its own stacking context so that the
 * shadow stays above the background of its container: without it, the shadow of a title on a coloured
 * section (`--white` variant, e.g. "Thèmes" on the home page) went below that background and vanished.
 */
.app .titleWithShadowText:not(.titleWithShadowText--backgroundColor) {
	isolation: isolate;
}

.app .titleWithShadowText:not(.titleWithShadowText--backgroundColor) .titleWithShadowText__shadow {
	z-index: -1;
}

body {
	font-family: "Neue Haas", "Arial", sans-serif;
	font-weight: lighter;
	color: var(--wp--preset--color--grey-900);
}

html,
body {
	overflow-x: clip;
}

.app .form__select {
	appearance: none;
	width: 100%;
	min-height: 50px;
	padding: var(--wp--preset--spacing--m) var(--wp--preset--spacing--xxl) var(--wp--preset--spacing--m) var(--wp--preset--spacing--l);
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--afb-white) url("../svg/dropdown.svg") no-repeat right 1.2rem center/12px 12px;
	color: var(--wp--preset--color--grey-900);
	font: inherit;
	font-size: var(--wp--preset--font-size--m);
	cursor: pointer;
}

.app select.capsule--mobile {
	appearance: none;
	position: relative;
	width: 70%;
	margin: var(--wp--preset--spacing--m) 15% var(--wp--preset--spacing--l);
	padding: var(--wp--preset--spacing--m) var(--wp--preset--spacing--xxl) var(--wp--preset--spacing--m) var(--wp--preset--spacing--xl);
	border: 1px solid var(--wp--preset--color--afb-white);
	border-radius: 999em;
	background: transparent url("../svg/dropdown--white.svg") no-repeat right 1.2rem center/15px 15px;
	color: var(--wp--preset--color--afb-white);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

.app select.capsule--mobile option {
	color: var(--wp--preset--color--grey-900);
	background: var(--wp--preset--color--afb-white);
}

.app .postActions:not(.postActions--single) .postActions__actionsMenu {
	display: none;
}

.contentSingle__sourceMedia {
	display: inline-block;
	margin-right: var(--wp--preset--spacing--s);
	vertical-align: middle;
}

.contentSingle__sourceMedia img {
	display: inline-block;
	height: 2.4rem;
	width: auto;
	max-width: 12rem;
	-o-object-fit: contain;
	object-fit: contain;
	vertical-align: middle;
}

.sitemap__list,
.contribution .sitemap__list {
	margin-bottom: var(--wp--preset--spacing--xl);
	padding-left: var(--wp--preset--spacing--l);
}

.sitemap__list ul,
.contribution .sitemap__list ul {
	padding-left: var(--wp--preset--spacing--l);
}

.contribution :is(.is-layout-flex, .is-layout-grid) > * {
	margin-top: 0;
	margin-bottom: 0;
}

.contribution > .aligncenter,
.homePage > .aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.app .contribution [class*=font-size] :is(p, li):not([class*=font-size]) {
	font-size: inherit;
}
