/*!
Theme Name: ARTC
Author: AR-5 team
Description: Le thème principal du site ARTC.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: artc
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ARTC is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# CSS Variables
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Main Header
	- Footer
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
	- Fil d'Ariane
# plugins
	- Jetpack infinite scroll
# Custom Cards
	- Testimony Card
	- News Card
	- Event Card
	- Article Card
# Front Page Sections
	- Hero Section
	- Cards Section
	- About Section
	- Numbers Section
	- Testimonies Section
	- News Section
	- Events Section
	- Impact Section
	- Need Help Section
# Pages
	- Articles
	- Events
	- News
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# CSS Variables
--------------------------------------------------------------*/
:root {
	--artc-white: #ffffff;
	--artc-black: #000000;
	--artc-primary-highlight: #9DB2BB;
	--artc-footer-height: 699px;
	--artc-shadow-box-light: rgba(0, 0, 0, 0.4);
	--artc-shadow-card-light: rgba(255, 255, 255, 0.15);
	--artc-shadow-card-medium: rgba(255, 255, 255, 0.50);
	--artc-overlay-bottom-dark: linear-gradient(0deg, rgba(0, 0, 0, 0.70) 31.73%, rgba(255, 255, 255, 0.00) 100%);
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--artc-text-high-contrast);
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.artc-heading-1 {
	font-size: 48px;
	font-weight: 700;
	line-height: 120%;
}

.artc-heading-2 {
	font-size: 40px;
	font-weight: 700;
	line-height: normal;
}

.artc-heading-3 {
	font-size: 32px;
	font-weight: 700;
	line-height: 150%;
}

.artc-heading-4 {
	font-family: "Roboto Flex", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 125%;
}

.artc-heading-5 {
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}

.artc-label {
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
}

.artc-paragraph {
	font-size: 18px;
	line-height: 150%;
}

.artc-medium {
	font-size: 16px;
	line-height: 150%;
}

.artc-small {
	font-size: 14px;
	line-height: 150%;
}

/* Elements
--------------------------------------------- */
body {
	background: var(--artc-white);
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

input.artc-header-search__input {
	border: 0;
	border-radius: 0;
	padding: 0;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation.artc-nav ul li:hover > ul,
.main-navigation.artc-nav ul li.focus > ul {
	left: -32px;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Main Header
--------------------------------------------- */
.artc-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--artc-white);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--artc-primary-medium);
}

.artc-header__container {
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	align-self: stretch;
	align-items: center;
	height: 80px;
	--artc-branding-width: 240px;
	--artc-search-right-offset: 220px;
	--artc-actions-width: 320px;
	--artc-search-width: 40rem;
}

.artc-header__container > * {
	align-self: center;
}

.artc-header__branding {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.artc-header__logo,
.artc-header__logo a,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.artc-header__logo img,
.custom-logo {
	max-height: 48px;
	width: auto;
}

.artc-header__logo-fallback {
	text-decoration: none;
}

.artc-logo-circle {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--artc-white);
	background: linear-gradient(135deg, #006f8f 0%, #0a9bb4 100%);
	box-shadow: 0 10px 25px rgba(0, 111, 143, 0.22);
}

.artc-nav {
	display: flex;
	justify-content: center;
	min-width: 0;
	height: 100%;
	position: relative;
}

.artc-header-search {
	position: absolute;
	top: 50%;
	left: calc(var(--artc-branding-width) + 16px);
	width: var(--artc-search-width);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	transform: translateY(-50%);
	z-index: 40;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity 0.2s ease;
}

.artc-header__container.is-search-open .artc-header-search {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.artc-header__container.is-search-open .artc-nav {
	width: 0;
	min-width: 0;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.artc-header__container.is-search-open {
	grid-template-columns: auto 0 auto;
}

.artc-header__container.is-search-open .artc-header__actions {
	position: relative;
	z-index: 45;
}

.artc-header__container.is-search-open .artc-btn--search {
	background: var(--artc-bg-hover);
	border-color: var(--artc-primary-hover);
	color: var(--artc-primary-hover);
	box-shadow: 0 10px 25px rgba(8, 34, 60, 0.08);
}

.artc-header-search__form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
	min-height: 50px;
	padding: 8px 12px;
	border: 3px solid var(--artc-text-high-contrast);
	box-shadow: 0 16px 32px rgba(8, 34, 60, 0.12);
	border-radius: 12px;
}

.artc-header-search__input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 0;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--artc-text-high-contrast);
}

.artc-header-search__input::placeholder {
	color: var(--artc-text-muted);
}

.artc-header-search__input:focus {
	outline: none;
	box-shadow: none;
}

.artc-header-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 10px;
	background: var(--artc-gradient-primary);
	color: var(--artc-white);
	font-weight: 700;
	padding: 0.85rem 1.1rem;
	cursor: pointer;
	white-space: nowrap;
}

.artc-header-search__submit:hover,
.artc-header-search__submit:focus-visible {
	background: linear-gradient(135deg, #0a8cb5 0%, #071427 100%);
}

.artc-search-results {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 1px;
	background: var(--artc-white);
	border: 1px solid var(--artc-border);
	border-top: none;
	box-shadow: 0 18px 40px rgba(2, 8, 23, 0.18);
	z-index: 50;
	padding: 32px 142px 0;
	max-height: 70vh;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, visibility 0.18s ease;
}

.artc-search-results[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.artc-search-results::after {
	content: "";
	display: block;
	height: 6px;
	margin: 0 -142px;
	background: var(--artc-gradient-primary);
	position: sticky;
	bottom: 0;
}

.artc-search-results__group {
	margin-bottom: 24px;
}

.artc-search-results__heading {
	font-size: 1.1rem;
	font-weight: 700;
	font-style: italic;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--artc-border-accent);
	margin: 0;
}

.artc-search-results__link {
	display: block;
	padding: 12px 0;
	text-decoration: none;
	color: var(--artc-accent);
	font-size: 0.95rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.1);
	transition: color 0.15s ease;
}

.artc-search-results__link:hover {
	color: var(--artc-primary-medium);
}

.artc-search-results__empty {
	padding: 24px 0;
	color: var(--artc-text-muted);
	font-style: italic;
	margin: 0;
}

.artc-nav__list {
	display: flex !important;
	justify-content: center;
	align-items: center;
	align-self: center;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
}

.artc-nav__list > li {
	position: static;
	display: flex;
	align-items: center;
	height: 100%;
	flex: 1 1 0;
	align-self: center;
}

.artc-nav__list > li > a {
	justify-content: center;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.75rem 16px;
	font-size: 18px;
	font-style: normal;
	text-align: center;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: var(--artc-text-high-contrast);
	transition: color 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
	border-radius: 12px;
	height: 100%;
}

.artc-nav__list > li > a:hover,
.artc-nav__list > li > a:focus-visible {
	color: var(--artc-primary-hover);
}

.artc-nav__list > li.menu-item-has-children {
	z-index: 25;
}

.artc-nav__list > li.menu-item-has-children > a::after {
	content: "";
	position: relative;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 1.8px solid currentColor;
	border-bottom: 1.8px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	transform-origin: center;
	opacity: 0.8;
}

.artc-nav__list > li > .sub-menu {
	position: absolute;
	top: 100%;
	left: -30px;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	min-width: 240px;
	height: 288px;
	padding: 55px 142px;
	margin-top: 1px;
	margin-bottom: 0;
	background: var(--artc-white);
	border: 1px solid var(--artc-border);
	border-top: none;
	border-radius: 0;
	box-shadow: 0 18px 40px rgba(2, 8, 23, 0.18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, visibility 0.18s ease;
	z-index: 20;
	width: min(1250px, 92vw);
	display: grid;
	grid-template-rows: 94px 67px;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 17px;
	column-gap: 47px;
}

.artc-nav__list > li > .sub-menu::after {
	content: "";
	grid-column: 1 / -1;
	height: 6px;
	margin: 0 -142px -43px;
	background: var(--artc-gradient-primary);
	align-self: end;
}

.artc-nav__list > li.menu-item-has-children.is-submenu-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.artc-nav__list > li.menu-item-has-children.is-submenu-open > a,
.artc-nav__list > li.menu-item-has-children.is-submenu-open > a:hover {
	background: var(--artc-gradient-primary);
	color: var(--artc-white);
	border-radius: 0;
	transition: none;
}

.artc-nav__list > li > .sub-menu > li {
	display: flex;
}

.artc-nav__list > li > .sub-menu > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	text-decoration: none;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	color: var(--artc-text-high-contrast);
	border-bottom: 2px solid var(--artc-border-accent);
}

.artc-nav__list > li > .sub-menu > li > a::after {
	content: "›";
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--artc-text-high-contrast);
	opacity: 0.7;
	margin-left: auto;
}

.artc-nav__list > li > .sub-menu > li > a:hover,
.artc-nav__list > li > .sub-menu > li > a:focus-visible {
	color: var(--artc-primary-hover);
	border-bottom-color: var(--artc-accent);
}

.artc-nav__list .sub-menu .sub-menu {
	display: none !important;
}

.artc-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	flex-shrink: 0;
}

.artc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 50px;
	padding: 12px 16px;
	border-radius: 10px;
	border: 1px solid var(--artc-primary-medium);
	text-decoration: none;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.artc-btn > span {
	color: var(--artc-primary-medium);
}

.artc-btn--primary > span {
	color: var(--artc-white) !important;
}

.artc-btn--primary-bordered > span {
	color: var(--artc-white) !important;
}

.artc-btn:hover,
.artc-btn:focus-visible {
	transform: translateY(-1px);
}

.artc-btn--pill {
	border-radius: 12px;
}

.artc-btn--icon {
	width: 50px;
	padding: 0;
	font-size: 1.2rem;
}

.artc-btn--search,
.artc-btn--ghost {
	background: var(--artc-white);
	border-radius: 12px;
	border: 1px solid var(--artc-primary-medium);
}

.artc-btn--search {
	width: 50px;
	min-width: 50px;
	height: 50px;
	padding: 0;
	border-radius: 10px;
}

.artc-btn--search .artc-btn--search__icon {
	width: 20px;
	height: 20px;
}

.artc-btn--search:hover,
.artc-btn--search:focus-visible,
.artc-btn--ghost:hover,
.artc-btn--ghost:focus-visible {
	background: var(--artc-bg-hover);
	border-color: var(--artc-primary-hover);
	color: var(--artc-primary-hover);
	box-shadow: 0 10px 25px rgba(8, 34, 60, 0.08);
}

.artc-btn--primary {
	color: var(--artc-white);
	background: var(--artc-gradient-primary);
	box-shadow: 0 14px 30px rgba(12, 111, 134, 0.24);
}

.artc-btn--primary:hover,
.artc-btn--primary:focus-visible {
	color: var(--artc-white);
	box-shadow: 0 18px 32px rgba(12, 111, 134, 0.3);
}

.artc-btn--primary-bordered {
	color: var(--artc-white);
	border-color: var(--artc-white);
	background: transparent;
}

.artc-btn--primary-bordered:hover,
.artc-btn--primary-bordered:focus-visible {
	color: var(--artc-white);
	box-shadow: 0 18px 32px rgba(12, 111, 134, 0.3);
}

.artc-btn__icon {
	font-size: 0.95rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}

.artc-btn__icon-image {
	display: block;
	width: 100%;
	height: 100%;
}

.artc-nav__toggle {
	display: none;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid var(--artc-border);
	border-radius: 14px;
	background: var(--artc-white);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
}

.artc-nav__toggle-line {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 999px;
	background: var(--artc-text-high-contrast);
}

@media (max-width: 1100px) {
	.artc-header__container {
		grid-template-columns: auto auto;
	}

	.artc-nav__toggle {
		display: inline-flex;
		justify-self: end;
	}

	.artc-nav {
		grid-column: 1 / -1;
		display: none;
		justify-content: stretch;
	}

	.artc-header-search {
		left: 1rem;
		right: 1rem;
		width: calc(100% - 2rem);
		gap: 0.5rem;
	}

	.artc-nav.is-open {
		display: block;
	}

	.artc-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 1rem 0 0.25rem;
		border-top: 1px solid var(--artc-border);
	}

	.artc-nav__list > li > a {
		padding: 1rem 0;
		justify-content: space-between;
	}

	.artc-nav__list > li > .sub-menu {
		position: static;
		transform: none;
		min-width: 100%;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		display: none;
		margin: 0 0 0.75rem;
		box-shadow: none;
		border-radius: 14px;
	}

	.artc-nav__list > li.menu-item-has-children.is-submenu-open > .sub-menu {
		display: block;
	}
}

@media (max-width: 820px) {
	.artc-header__container {
		padding: 0 1rem;
		gap: 1rem;
		min-height: 80px;
	}

	.artc-header-search {
		left: 1rem;
		right: 1rem;
		width: calc(100% - 2rem);
		gap: 0.5rem;
	}

	.artc-header-search__form {
		min-height: 46px;
		padding: 6px 10px;
	}

	.artc-header__actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.artc-btn--ghost {
		order: 3;
	}
}

@media (max-width: 560px) {
	.artc-header__logo img,
	.custom-logo {
		max-height: 40px;
	}

	.artc-btn {
		min-height: 46px;
		padding: 0.8rem 1rem;
		font-size: 0.95rem;
	}

	.artc-header-search__form {
		gap: 0.5rem;
	}

	.artc-header-search__submit {
		padding: 0.8rem 0.95rem;
	}

	.artc-btn--ghost {
		width: 100%;
	}
}

/* Footer
--------------------------------------------- */
.site-footer {
	height: var(--artc-footer-height);
	background: var(--artc-primary-medium);
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.artc-front-page__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	text-align: center;
	padding: 2rem 1rem;
}

.artc-front-page__hero h1 {
	font-size: 40px;
	margin-bottom: 1rem;
}

.artc-front-page__hero p {
	font-size: 18px;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Fil d'Ariane
--------------------------------------------- */
.artc-breadcrumb {
	display: flex;
	padding: 20px 120px;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
	border-bottom: 1px solid var(--artc-primary-highlight);
}

.artc-breadcrumb__items {
	display: flex;
	height: 40px;
	align-items: center;
	gap: 10px;
}

.artc-breadcrumb__link {
	color: var(--artc-primary-medium);
	font-weight: 600;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

.artc-breadcrumb__item--current {
	color: var(--artc-primary-medium);
	font-weight: 400;
	margin: 0;
}

.artc-breadcrumb__item--sep {
	color: var(--artc-primary-medium);
	font-weight: 600;
	margin: 0;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Custom Cards
--------------------------------------------------------------*/

/* Testimony Card
--------------------------------------------- */
.artc-testimonies-card {
	display: flex;
	width: 360px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 24px;
	border-radius: 8px;
	box-shadow: 0 0 20px 0 var(--artc-shadow-card-light);
}

.artc-testimonies-card--has-image {
	background-image:
		var(--artc-overlay-bottom-dark),
		var(--artc-testimony-image);
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
}

.artc-testimonies-card__link {
	color: var(--artc-white);
	text-decoration: none;
}

.artc-testimonies-card__content {
	display: flex;
	width: 360px;
	height: 500px;
	padding: 0 20px 32px;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
}

.artc-testimonies-card__quote {
	color: var(--artc-white);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
	align-self: stretch;
}

.artc-testimonies-card__bottom-content {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	align-self: stretch;
}

.artc-testimonies-card__author {
	color: var(--artc-white);
	margin: 0;
	line-height: 1;
}

.artc-testimonies-card__chevron {
	width: 15.043px;
	height: 12.758px;
	display: block;
}

/* News Card
--------------------------------------------- */
.artc-news-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	width: 360px;
	padding: 16px;
	gap: 24px;
	border-radius: 8px;
	border: 1px solid var(--artc-primary-medium);
	overflow: hidden;
	transition: border-color 200ms ease, box-shadow 200ms ease;
}

.artc-news-card:hover {
	border-color: var(--artc-border-accent);
	box-shadow: 0 6px 18px -10px var(--artc-primary-medium);
}

.artc-news-card__link {
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex: 1 0 0;
	align-self: stretch;
}

.artc-news-card__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 4px;
}

.artc-news-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
}

.artc-news-card__body-top {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.artc-news-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
	margin: 0;
	color: var(--artc-primary-medium);
	border-bottom: 1px solid var(--artc-primary-medium);
}

.artc-news-card__title {
	color: var(--artc-primary-medium);
}

.artc-news-card__excerpt {
	color: var(--artc-text-high-contrast);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.artc-news-card__chevron {
	align-self: flex-end;
	width: 16px;
	height: 16px;
	display: block;
}

/* Event Card
--------------------------------------------- */
.artc-events-card {
	display: flex;
	width: 360px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 24px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--artc-white);
	border: 1px solid var(--artc-white);
	transition: transform 200ms ease, box-shadow 200ms ease;
	box-shadow: 0 2px 15px 0 var(--artc-shadow-card-medium);
}

.artc-events-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -12px var(--artc-shadow-box-light);
}

.artc-events-card__link {
	display: flex;
	text-decoration: none;
	color: inherit;
	flex-direction: column;
	gap: inherit;
	flex: 1 0 0;
	align-self: stretch;
}

.artc-events-card__image img {
	display: block;
	width: 440px;
	height: 263px;
	aspect-ratio: 87 / 52;
	object-fit: cover;
}

.artc-events-card__body {
	display: flex;
	padding: 0 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
	flex: 1 0 0;
}

.artc-events-card__spacer {
	display: flex;
	padding: 0 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
	/* margin-top below is set per case (0 / 1 / 2 meta rows) so the pill
	   stays half-overlapping the image regardless of its content height.
	   Formula: -(card gap) - (meta height / 2). */
}

/* Two meta rows (date + location): full negative margin. */
.artc-events-card__spacer:has(.artc-events-card__meta-item:nth-of-type(2)) {
	margin-top: -65px;
}

/* One meta row (only date OR only location): half the lift. */
.artc-events-card__spacer:has(.artc-events-card__meta-item):not(:has(.artc-events-card__meta-item:nth-of-type(2))) {
	margin-top: -45px;
}

/* No meta rendered at all: just cancel the card's gap above the spacer. */
.artc-events-card__spacer:not(:has(.artc-events-card__meta-item)) {
	margin-top: -24px;
}

.artc-events-card__meta-icon-box {
	display: flex;
	width: 20px;
	height: 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.artc-events-card__meta-icon-calendar {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	aspect-ratio: 1/1;
}

.artc-events-card__meta-icon-location {
	width: 20px;
	height: 20px;
	aspect-ratio: 1/1;
}

.artc-events-card__meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	align-self: stretch;
	padding: 4px 8px;
	border-radius: 8px;
	margin: 0;
	border: 1px solid var(--artc-primary-medium);
	background: var(--artc-primary-medium);
}

.artc-events-card__meta-item {
	color: var(--artc-white);
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}

.artc-events-card__meta-item-text {
	flex: 1 0 0;
}

.artc-events-card__title {
	margin: 0;
	color: var(--artc-primary-medium);
	align-self: stretch;
}

.artc-events-card__excerpt {
	color: var(--artc-text-high-contrast);
	margin: 0;
	align-self: stretch;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.artc-events-card__body_bottom {
	display: flex;
	padding: 0 16px 24px 0;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	align-self: stretch;
	margin-top: auto;
}

.artc-events-card__link-text {
	color: var(--artc-primary-medium);
}

.artc-events-card__chevron {
	width: 16px;
	height: 16px;
	display: block;
}

/* Article Card
--------------------------------------------- */
.artc-article-card {
	display: flex;
	width: 360px;
	padding: 16px;
	flex-direction: column;
	align-items: flex-end;
	gap: 24px;
	border-radius: 8px;
	border: 1px solid var(--artc-primary-medium);
	background: var(--artc-white);
}

.artc-article-card:hover {
	border-color: var(--artc-border-accent);
	box-shadow: 0 6px 18px -10px var(--artc-primary-medium);
}

.artc-article-card__link {
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex: 1 0 0;
	align-self: stretch;
}

.artc-article-card__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* Image position modifiers (shared between News and Article cards).
   Driven by the ACF `image_position` field on artc_news / artc_article.
   Default is `center` (browser default for object-position) — applied
   when no modifier class is present. */
.artc-news-card__image--top img,
.artc-article-card__image--top img {
	object-position: top;
}

.artc-news-card__image--bottom img,
.artc-article-card__image--bottom img {
	object-position: bottom;
}

.artc-article-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
}

.artc-article-card__title {
	color: var(--artc-primary-medium);
	align-self: stretch;
	margin: 0;
}

.artc-article-card__excerpt {
	color: var(--artc-text-high-contrast);
	margin: 0;
	max-height: 108px;
	align-self: stretch;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.artc-article-card__chevron {
	align-self: flex-end;
	width: 16px;
	height: 16px;
	display: block;
}


/*--------------------------------------------------------------
# Front Page Sections
--------------------------------------------------------------*/

/* Hero Section
--------------------------------------------- */
.artc-hero {
	width: 100%;
}

.artc-hero__banner {
	position: relative;
	min-height: 550px;
	display: flex;
	align-items: center;
	background-color: var(--artc-bg-hover);
	overflow: hidden;
}

.artc-hero__banner:has(.artc-hero__banner-bg) {
	min-height: 0;
	display: block;
}

.artc-hero__banner-bg {
	display: block;
	width: 100%;
	height: auto;
	z-index: 0;
}

.artc-hero__banner-content {
	position: absolute;
	z-index: 2;
	left: 312px;
	top: 50%;
	transform: translateY(-50%);
	padding: 40px 32px;
	display: flex;
	width: 545px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 48px;
	border-radius: 8px;
	background: var(--artc-gradient-primary) lightgray -169.243px -142.855px / 167.044% 157.25% no-repeat;
	background-blend-mode: multiply;
	box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.25);
}

.artc-hero__heading {
	color: var(--artc-white);
	align-self: stretch;
	margin: 0;
}

.artc-hero__text {
	color: var(--artc-white);
	align-self: stretch;
	margin: 0;
}

.artc-hero__ctas {
	display: flex;
	gap: 20px;
	align-self: stretch;
	align-items: flex-start;
}

/* Cards Section
--------------------------------------------- */
.artc-cards {
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}

.artc-cards__title {
	color: var(--artc-text-high-contrast);
	text-align: center;
}

.artc-cards__grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	gap: 20px;
	align-self: stretch;
	flex-wrap: wrap;
}

.artc-cards__card {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 24px 20px;
	gap: 24px;
	width: 360px;
	min-height: 400px;
	border: 1px solid var(--artc-primary-medium);
	border-radius: 8px;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.artc-cards__card:hover {
	box-shadow: 0 8px 24px rgba(8, 34, 60, 0.1);
	transform: translateY(-2px);
}

.artc-cards__card-image {
	display: flex;
	height: 120px;
	width: 100%;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	align-self: stretch;
	margin: 0;
}

.artc-cards__card-image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	margin: 0;
}

.artc-cards__card-title {
	color: var(--artc-primary-medium);
	text-align: center;
	width: 100%;
	margin: 0;
}

.artc-cards__card-desc {
	color: var(--artc-text-high-contrast);
	text-align: center;
	width: 100%;
	margin: 0;
	flex: 1;
}

.artc-cards__card-arrow {
	align-self: flex-end;
	width: 16px;
	height: 16px;
	display: block;
}

@media (max-width: 768px) {
	.artc-hero__banner {
		min-height: 400px;
	}

	.artc-hero__banner-content {
		padding: 40px 24px;
		max-width: 100%;
	}

	.artc-cards {
		padding: 32px 24px;
	}

	.artc-cards__grid {
		gap: 16px;
	}
}

/* About Section
--------------------------------------------- */
.artc-about {
	background: var(--artc-yellow-bg);
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-about__title {
	color: var(--artc-text-high-contrast);
	text-align: center;
	margin: 0;
}

.artc-about__grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

/* Numbers Section
--------------------------------------------- */
.artc-numbers {
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}

.artc-numbers__cards {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 40px;
	margin: 0 auto;
}

.artc-numbers__heading {
	color: var(--artc-text-high-contrast);
	text-align: center;
	margin: 0;
}

.artc-numbers__card {
	display: flex;
	padding: 32px 0px;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	flex: 1 0 0;
	border-radius: 8px;
	border: 1px solid var(--artc-primary-medium);
	background-color: var(--artc-white);
}

.artc-numbers__card-title {
	color: var(--artc-text-high-contrast);
	text-align: center;
	margin: 0;
}

.artc-numbers__card-year {
	color: var(--artc-text-high-contrast);
	text-align: center;
	display: block;
}

.artc-numbers__card-body {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) 1.4fr;
	align-items: center;
	gap: 24px;
}

.artc-numbers__chart {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 381px;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
}

.artc-numbers__donut {
	width: 100%;
	height: auto;
	display: block;
}

.artc-numbers__chart-icon {
	position: absolute;
	width: 32px;
	height: 32px;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.artc-numbers__total {
	position: absolute;
	display: inline-flex;
	align-items: baseline;
}

.artc-numbers__items {
	display: flex;
	max-width: 329px;
	justify-content: center;
	align-items: center;
	align-content: center;
	margin: 0;
	padding: 0;
	gap: 32px;
	flex-wrap: wrap;
}

.artc-numbers__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 16px;
}

.artc-numbers__item-icon {
	width: 20px;
	height: 20px;
	margin-bottom: 4px;
}

.artc-numbers__item-amount {
	color: var(--artc-text-high-contrast);
	text-align: center;
}

.artc-numbers__item-label {
	color: var(--artc-text-high-contrast);
	text-align: center;
}

.artc-numbers__item-sublabel {
	color: var(--artc-text-high-contrast);
	font-style: italic;
	text-align: center;
}

@media (max-width: 768px) {
	.artc-numbers {
		padding: 40px 16px;
	}

	.artc-numbers__cards {
		flex-direction: column;
	}

	.artc-numbers__card-body {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* Testimonies Section
--------------------------------------------- */
.artc-testimonies {
	background: var(--artc-gradient-primary);
	color: var(--artc-white);
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-testimonies__title {
	text-align: center;
	color: var(--artc-white);
	margin: 0;
	align-self: stretch;
}

.artc-testimonies__grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

.artc-testimonies__actions {
	display: flex;
	padding: 0 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

/* News Section
--------------------------------------------- */
.artc-news {
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-news__title {
	color: var(--artc-text-high-contrast);
	text-align: center;
	margin: 0;
}

.artc-news__grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

/* Events Section
--------------------------------------------- */
.artc-events {
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
	background: var(--artc-gradient-primary);
}

.artc-events__title {
	text-align: center;
	color: var(--artc-white);
	margin: 0;
	align-self: stretch;
}

.artc-events__grid {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

.artc-events__actions {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
}

/* Impact Section
--------------------------------------------- */
.artc-impact {
	background: var(--artc-white);
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-impact__title {
	color: var(--artc-text-high-contrast);
	text-align: center;
	margin: 0;
}

.artc-impact__grid {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

/* Need Help Section
--------------------------------------------- */
.artc-need-help {
	width: 100%;
	min-height: 219px;
	background-color: var(--artc-yellow-bg);
}

.artc-need-help__content {
	width: 100%;
	min-height: 219px;
	display: flex;
	padding: 48px 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	align-self: stretch;
}

.artc-need-help__heading {
	color: var(--artc-black);
	text-align: center;
	margin: 0;
}

.artc-need-help__subtitle {
	color: var(--artc-black);
	text-align: center;
	margin: 0;
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/

/* Articles
--------------------------------------------- */
.artc-articles-archive__section {
	display: flex;
	padding: 24px 0;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-articles-archive__header {
	display: flex;
	padding: 0 120px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.artc-articles-archive__title {
	color: var(--artc-text-high-contrast);
}

.artc-articles-archive__filters {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	align-self: stretch;
}

.artc-articles-archive__select {
	display: flex;
	width: 244px;
	height: 51px;
	padding: 12px 16px;
	justify-content: space-between;
	align-items: center;
	border-radius: 12px;
	border: 1px solid var(--artc-primary-medium);
}

.artc-articles-archive__select:focus-visible {
	outline: 2px solid var(--artc-primary-medium);
	outline-offset: 2px;
}

.artc-articles-archive__grid {
	display: flex;
	padding: 0 120px;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	row-gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

/* Events
--------------------------------------------- */
.artc-events-archive__section {
	display: flex;
	padding: 24px 120px;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-events-archive__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.artc-events-archive__header--headings {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-self: stretch;
}

.artc-events-archive__title {
	color: var(--artc-text-high-contrast);
}

.artc-events-archive__filters {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}

.artc-events-archive__select {
	display: flex;
	width: 244px;
	height: 51px;
	padding: 12px 16px;
	justify-content: space-between;
	align-items: center;
	border-radius: 12px;
	border: 1px solid var(--artc-primary-medium);
}

.artc-events-archive__select:focus-visible {
	outline: 2px solid var(--artc-primary-medium);
	outline-offset: 2px;
}

.artc-events-archive__grid {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
	row-gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

.artc-events-archive__section .artc-events-card {
	border: 1px solid var(--artc-primary-medium);
}

/* News
--------------------------------------------- */
.artc-news-archive__section {
	display: flex;
	padding: 24px 0;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	align-self: stretch;
}

.artc-news-archive__header {
	display: flex;
	padding: 0 120px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.artc-news-archive__title {
	color: var(--artc-text-high-contrast);
}

.artc-news-archive__filters {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	align-self: stretch;
}

.artc-news-archive__select {
	display: flex;
	width: 244px;
	height: 51px;
	padding: 12px 16px;
	justify-content: space-between;
	align-items: center;
	border-radius: 12px;
	border: 1px solid var(--artc-primary-medium);
}

.artc-news-archive__select:focus-visible {
	outline: 2px solid var(--artc-primary-medium);
	outline-offset: 2px;
}

.artc-news-archive__grid {
	display: flex;
	padding: 0 120px;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	row-gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
	text-align: center;
}
