/* Accessibility display settings */

:root {
	--accessibility-panel-height: 0px;
	--accessibility-panel-duration: 280ms;
	--accessibility-panel-easing: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
	transition: none;
}

body.accessibility-panel-visible {
	transition: padding-top var(--accessibility-panel-duration) var(--accessibility-panel-easing);
}

body.accessibility-panel-visible::before {
	content: "";
	position: fixed;
	top: var(--admin-bar-offset, 0px);
	left: 0;
	right: 0;
	z-index: 119;
	height: var(--accessibility-panel-height);
	background: #2b2d3b;
	pointer-events: none;
	transform: translateY(-100%);
	transition: transform var(--accessibility-panel-duration) var(--accessibility-panel-easing);
	will-change: transform;
}

body.accessibility-panel-open::before {
	transform: translateY(0);
}

body.accessibility-panel-open {
	padding-top: var(--accessibility-panel-height);
}

body.accessibility-panel-open.has-scrolled-header-offset {
	padding-top: calc(var(--accessibility-panel-height) + var(--header-layout-offset, 88px));
}

body.home.accessibility-panel-open .site-header:not(.is-scrolled),
body.accessibility-panel-open .site-header.is-scrolled {
	top: calc(var(--admin-bar-offset, 0px) + var(--accessibility-panel-height));
}

.site-header {
	transition: top var(--accessibility-panel-duration) var(--accessibility-panel-easing), background-color 260ms ease, color 260ms ease, box-shadow 260ms ease, padding 260ms ease;
}

.site-header__tool,
.site-footer__accessibility {
	border: 0;
	background: transparent;
	cursor: pointer;
}

.site-header__tool {
	margin: 0;
	padding: 0;
	color: inherit;
}

.site-header__tool:hover,
.site-header__tool:focus-visible,
.site-footer__accessibility:hover,
.site-footer__accessibility:focus-visible {
	background: transparent;
}

.site-header__tool:focus-visible,
.site-footer__accessibility:focus-visible {
	outline: 2px solid var(--color-accent);
	outline-offset: 4px;
}

.site-footer__accessibility {
	margin: 0;
	padding: 0;
	border-radius: 0;
	text-align: left;
}

.accessibility-panel[hidden] {
	display: none;
}

.accessibility-panel {
	position: fixed;
	top: var(--admin-bar-offset, 0px);
	left: 0;
	right: 0;
	z-index: 140;
	border-bottom: 1px solid #3c4054;
	background: #2b2d3b;
	color: #ffffff;
	box-shadow: 0 10px 28px rgba(23, 28, 45, 0.14);
	transform: translateY(-100%);
	transition: transform var(--accessibility-panel-duration) var(--accessibility-panel-easing);
	will-change: transform;
}

.accessibility-panel.is-open {
	transform: translateY(0);
}

.accessibility-panel.is-closing {
	pointer-events: none;
}

.accessibility-panel__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
	margin: 0 auto;
	padding: 12px 32px;
	color: #ffffff;
}

.accessibility-panel__inner:focus {
	outline: none;
}

.accessibility-panel__header {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: 0;
}

.accessibility-panel__icon {
	display: block;
	width: 24px;
	height: 24px;
}

.accessibility-panel__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	margin: 0 0 0 auto;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: #ffffff;
	cursor: pointer;
}

.accessibility-panel__close span,
.accessibility-panel__close span::before {
	content: "";
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.accessibility-panel__close span {
	transform: rotate(45deg);
}

.accessibility-panel__close span::before {
	transform: rotate(90deg);
}

.accessibility-panel__close:hover,
.accessibility-panel__close:focus-visible {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

.accessibility-panel__form {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex: 1 1 auto;
	min-width: 0;
}

.accessibility-panel__controls {
	display: flex;
	align-items: center;
	gap: 32px;
	min-width: 0;
}

.accessibility-panel__group {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.accessibility-panel__group[hidden] {
	display: none;
}

.accessibility-panel__label {
	margin: 0;
	padding: 0;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 15px;
	line-height: 20px;
	color: #ffffff;
	white-space: nowrap;
}

.accessibility-panel__options {
	display: flex;
	align-items: center;
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 4px;
	overflow: hidden;
}

.accessibility-panel__option {
	position: relative;
	display: flex;
	min-width: 0;
}

.accessibility-panel__option input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	clip-path: inset(50%);
}

.accessibility-panel__option span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	min-height: 36px;
	padding: 8px 12px;
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.35);
	background: transparent;
	color: #ffffff;
	font-family: var(--font-ui);
	font-size: 15px;
	line-height: 20px;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.accessibility-panel__option:first-child span {
	border-left: 0;
}

.accessibility-panel__option input:checked + span {
	background: var(--color-accent);
	color: #ffffff;
}

.accessibility-panel__option input:focus-visible + span {
	outline: 2px solid var(--color-accent);
	outline-offset: -4px;
}

.accessibility-panel__font {
	font-weight: var(--fw-bold);
}

.accessibility-panel__font--normal {
	font-size: 18px !important;
	line-height: 20px !important;
}

.accessibility-panel__font--large {
	font-size: 22px !important;
	line-height: 20px !important;
}

.accessibility-panel__font--xlarge {
	font-size: 26px !important;
	line-height: 20px !important;
}

.accessibility-panel__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	margin: 0;
}

.accessibility-panel__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 4px;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 15px;
	line-height: 20px;
	white-space: nowrap;
	cursor: pointer;
}

.accessibility-panel__button--secondary {
	background: transparent;
	color: #ffffff;
}

.accessibility-panel__button:hover,
.accessibility-panel__button:focus-visible {
	border-color: var(--color-accent);
	background: var(--color-accent);
	color: #ffffff;
}

.accessibility-font-large {
	--fs-h1: 62px;
	--lh-h1: 72px;
	--fs-h2: 34px;
	--lh-h2: 42px;
	--fs-h3: 24px;
	--lh-h3: 32px;
	--fs-h4: 20px;
	--lh-h4: 28px;
	--fs-body: 20px;
	--lh-body: 32px;
	--fs-nav: 18px;
	--lh-nav: 26px;
	--fs-small: 16px;
	--lh-small: 20px;
}

.accessibility-font-xlarge {
	--fs-h1: 68px;
	--lh-h1: 78px;
	--fs-h2: 38px;
	--lh-h2: 46px;
	--fs-h3: 28px;
	--lh-h3: 36px;
	--fs-h4: 22px;
	--lh-h4: 30px;
	--fs-body: 22px;
	--lh-body: 36px;
	--fs-nav: 20px;
	--lh-nav: 28px;
	--fs-small: 18px;
	--lh-small: 24px;
}

.accessibility-font-large .site-header__menu a,
.accessibility-font-large .site-footer__contact-block a,
.accessibility-font-large .site-footer__nav a,
.accessibility-font-large .site-footer__brand p,
.accessibility-font-large .site-footer__subscribe p,
.accessibility-font-large .site-footer__contact-block h3,
.accessibility-font-large .site-footer__nav-group h3,
.accessibility-font-large .site-footer__subscribe h3,
.accessibility-font-large .site-footer__form input,
.accessibility-font-large .site-footer__form button,
.accessibility-font-large .site-footer__agree span,
.accessibility-font-large .site-footer__copy,
.accessibility-font-large .site-footer__policy,
.accessibility-font-large .site-footer__accessibility,
.accessibility-font-large .front-hero__button,
.accessibility-font-large .services__button,
.accessibility-font-large .partners .partners__filter,
.accessibility-font-large .inmm-form__control,
.accessibility-font-large .inmm-form__submit,
.accessibility-font-large .press-center__tab {
	font-size: 18px;
	line-height: 24px;
}

.accessibility-font-xlarge .site-header__menu a,
.accessibility-font-xlarge .site-footer__contact-block a,
.accessibility-font-xlarge .site-footer__nav a,
.accessibility-font-xlarge .site-footer__brand p,
.accessibility-font-xlarge .site-footer__subscribe p,
.accessibility-font-xlarge .site-footer__contact-block h3,
.accessibility-font-xlarge .site-footer__nav-group h3,
.accessibility-font-xlarge .site-footer__subscribe h3,
.accessibility-font-xlarge .site-footer__form input,
.accessibility-font-xlarge .site-footer__form button,
.accessibility-font-xlarge .site-footer__agree span,
.accessibility-font-xlarge .site-footer__copy,
.accessibility-font-xlarge .site-footer__policy,
.accessibility-font-xlarge .site-footer__accessibility,
.accessibility-font-xlarge .front-hero__button,
.accessibility-font-xlarge .services__button,
.accessibility-font-xlarge .partners .partners__filter,
.accessibility-font-xlarge .inmm-form__control,
.accessibility-font-xlarge .inmm-form__submit,
.accessibility-font-xlarge .press-center__tab {
	font-size: 20px;
	line-height: 28px;
}

.accessibility-font-large .front-hero__lead,
.accessibility-font-large .wp-singular .entry-content .lead,
.accessibility-font-large .editor-styles-wrapper .lead {
	font-size: 26px;
	line-height: 36px;
}

.accessibility-font-xlarge .front-hero__lead,
.accessibility-font-xlarge .wp-singular .entry-content .lead,
.accessibility-font-xlarge .editor-styles-wrapper .lead {
	font-size: 28px;
	line-height: 40px;
}

.accessibility-font-large .front-hero__title {
	font-size: 68px;
	line-height: 78px;
}

.accessibility-font-xlarge .front-hero__title {
	font-size: 72px;
	line-height: 84px;
}

.accessibility-font-large :where(
	.press-center__date,
	.press-center__tag,
	.press-center__all-link,
	.wp-singular .entry-content .inmm-card-grid__eyebrow,
	.wp-singular .entry-content .inmm-card-grid__description,
	.wp-singular .entry-content .inmm-work-steps__number,
	.wp-singular .entry-content .inmm-work-steps__stage-description,
	.wp-singular .entry-content .docs-list__meta,
	.wp-singular .entry-content .links-list__url,
	.wp-singular .entry-content .inmm-disclosure__meta,
	.cookie-banner__text,
	.cookie-banner__button
) {
	font-size: 18px;
	line-height: 24px;
}

.accessibility-font-xlarge :where(
	.press-center__date,
	.press-center__tag,
	.press-center__all-link,
	.wp-singular .entry-content .inmm-card-grid__eyebrow,
	.wp-singular .entry-content .inmm-card-grid__description,
	.wp-singular .entry-content .inmm-work-steps__number,
	.wp-singular .entry-content .inmm-work-steps__stage-description,
	.wp-singular .entry-content .docs-list__meta,
	.wp-singular .entry-content .links-list__url,
	.wp-singular .entry-content .inmm-disclosure__meta,
	.cookie-banner__text,
	.cookie-banner__button
) {
	font-size: 20px;
	line-height: 28px;
}

.accessibility-font-large :where(
	.activities__text,
	.activities__card-title,
	.services__text,
	.services__description p,
	.services__details dt,
	.services__details dd,
	.press-center__news-title,
	.press-center__message,
	.wp-singular .entry-content .inmm-card-grid__title,
	.wp-singular .entry-content .inmm-work-steps__stage-title,
	.wp-singular .entry-content .docs-list__title,
	.wp-singular .entry-content .links-list__title,
	.wp-singular .entry-content .inmm-disclosure__title
) {
	font-size: 22px;
	line-height: 32px;
}

.accessibility-font-xlarge :where(
	.activities__text,
	.activities__card-title,
	.services__text,
	.services__description p,
	.services__details dt,
	.services__details dd,
	.press-center__news-title,
	.press-center__message,
	.wp-singular .entry-content .inmm-card-grid__title,
	.wp-singular .entry-content .inmm-work-steps__stage-title,
	.wp-singular .entry-content .docs-list__title,
	.wp-singular .entry-content .links-list__title,
	.wp-singular .entry-content .inmm-disclosure__title
) {
	font-size: 24px;
	line-height: 36px;
}

.accessibility-font-large .services__description p,
.accessibility-font-large .services__details dt,
.accessibility-font-large .services__details dd {
	font-size: 22px;
	line-height: 32px;
}

.accessibility-font-xlarge .services__description p,
.accessibility-font-xlarge .services__details dt,
.accessibility-font-xlarge .services__details dd {
	font-size: 24px;
	line-height: 36px;
}

.accessibility-font-large :where(.activities__title, .services__title, .press-center__title, .error-404-page__message) {
	font-size: 34px;
	line-height: 42px;
}

.accessibility-font-xlarge :where(.activities__title, .services__title, .press-center__title, .error-404-page__message) {
	font-size: 38px;
	line-height: 46px;
}

.accessibility-font-large :where(.partners__title, .services__card-title, .services__collapsed-title, .services__collapsed-badge) {
	font-size: 28px;
	line-height: 36px;
}

.accessibility-font-xlarge :where(.partners__title, .services__card-title, .services__collapsed-title, .services__collapsed-badge) {
	font-size: 32px;
	line-height: 40px;
}

.accessibility-font-large .about-text__title {
	font-size: 52px;
	line-height: 66px;
}

.accessibility-font-xlarge .about-text__title {
	font-size: 58px;
	line-height: 72px;
}

.accessibility-font-large .about-text__accent-link,
.accessibility-font-xlarge .about-text__accent-link {
	font-size: inherit;
	line-height: inherit;
}

.accessibility-font-large .error-404-page__code {
	font-size: 220px;
}

.accessibility-font-xlarge .error-404-page__code {
	font-size: 260px;
}

.accessibility-contrast-on {
	--color-muted: #3f4654;
	--color-subtle: #aeb6c2;
	--color-subtle-soft: #eef1f5;
	--color-link: #003f9e;
	--color-surface-2: #000000;
}

.accessibility-contrast-on .accessibility-panel,
body.accessibility-contrast-on.accessibility-panel-visible::before,
.accessibility-contrast-on .site-footer,
.accessibility-contrast-on .site-header.is-scrolled,
.accessibility-contrast-on .cookie-banner,
.accessibility-contrast-on .services__card--expanded {
	background: #000000;
}

.home.accessibility-contrast-on .site-header.is-scrolled {
	background: #000000;
}

.accessibility-contrast-on .services__card--expanded {
	color: #ffffff;
}

.accessibility-contrast-on .front-hero,
.accessibility-contrast-on.accessibility-images-hidden .front-hero {
	background-color: #000000;
}

.accessibility-contrast-on .activities__card::before {
	background-color: #000000;
}

.accessibility-contrast-on :where(.entry-meta, .site-description) {
	color: #3f4654;
}

.accessibility-contrast-on :where(.press-center__tab, .press-center__date, .press-center__meta-dot, .press-center__message, .inmm-card-grid__eyebrow, .inmm-card-grid__description, .inmm-disclosure__meta, .docs-list__meta, .links-list__url) {
	color: #3f4654 !important;
}

.accessibility-contrast-on :where(.site-footer__brand p, .site-footer__subscribe p, .site-footer__contact-block a, .site-footer__nav a, .site-footer__copy, .site-footer__policy, .site-footer__accessibility) {
	color: #e5e7eb;
}

.accessibility-contrast-on :where(.site-footer__contact-block a:hover, .site-footer__contact-block a:focus-visible, .site-footer__nav a:hover, .site-footer__nav a:focus-visible, .site-footer__policy:hover, .site-footer__policy:focus-visible, .site-footer__accessibility:hover, .site-footer__accessibility:focus-visible) {
	color: #ffffff;
}

.accessibility-contrast-on :where(.inmm-form, .activities__card, .inmm-card-grid__card, .partners .partners__filter, .press-center__all-link) {
	border-color: #7d8796;
}

.accessibility-contrast-on .partners .partners__filter {
	border-color: #000000;
	background: #ffffff;
	color: #000000;
}

.accessibility-contrast-on .partners .partners__filter:hover,
.accessibility-contrast-on .partners .partners__filter:focus-visible {
	border-color: #000000;
	background: #000000;
	color: #ffffff;
}

.accessibility-contrast-on :where(.wp-singular .entry-content .wp-block-table th, .wp-singular .entry-content .wp-block-table td, .wp-singular .entry-content .inmm-disclosure__details, .wp-singular .entry-content .docs-list li + li, .wp-singular .entry-content .docs-list li:last-child, .wp-singular .entry-content .links-list li, .press-center__tabs-divider, .press-center__news-item, .partners__item) {
	border-color: #aeb6c2 !important;
}

.accessibility-contrast-on :where(.inmm-disclosure__icon, .activities__arrow) {
	background-color: #7d8796 !important;
}

.accessibility-contrast-on .wp-singular .entry-content .docs-list li::before,
.accessibility-contrast-on .editor-styles-wrapper .docs-list li::before,
.accessibility-contrast-on .wp-singular .entry-content .links-list li::before {
	background-color: #7d8796 !important;
}

.accessibility-contrast-on .wp-singular .entry-content .inmm-disclosure__chevron::before,
.accessibility-contrast-on .editor-styles-wrapper .inmm-disclosure__chevron::before {
	background-color: #3f4654 !important;
}

.accessibility-contrast-on :where(.inmm-form__control, .site-footer__form input) {
	border-color: #7d8796;
}

.accessibility-contrast-on .inmm-form__control::placeholder,
.accessibility-contrast-on .site-footer__form input::placeholder {
	color: #4f5868;
	opacity: 1;
}

.accessibility-images-hidden .front-hero,
.accessibility-images-hidden .services__expanded-media-photo {
	background-image: none;
}

.accessibility-images-hidden .front-hero {
	background-color: #2b2d3b;
}

.accessibility-images-hidden .activities__card {
	--activity-icon-url: none;
}

.accessibility-images-hidden .activities__card::before {
	display: none;
}

.accessibility-images-hidden .entry-content img,
.accessibility-images-hidden .partners__logo,
.accessibility-images-hidden .press-center__thumb-link,
.accessibility-images-hidden .press-center__thumb,
.accessibility-images-hidden .press-center__banner,
.accessibility-images-hidden .site-footer__flag,
.accessibility-images-hidden .services__expanded-icon,
.accessibility-images-hidden .services__collapsed-icon {
	display: none !important;
}

.accessibility-images-hidden .press-center__layout {
	grid-template-columns: minmax(0, 1fr);
}

.accessibility-images-hidden .press-center__news-article {
	display: block;
}

@media (max-width: 1199px) {
	.accessibility-panel__inner,
	.accessibility-panel__form,
	.accessibility-panel__controls {
		flex-wrap: wrap;
	}

	.accessibility-panel__form {
		gap: 12px 20px;
	}
}

@media (max-width: 767px) {
	.accessibility-panel__inner {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: flex-start;
		gap: 12px;
		padding-inline: 16px;
		padding-block: 10px;
	}

	.accessibility-panel__header,
	.accessibility-panel__form,
	.accessibility-panel__controls,
	.accessibility-panel__actions {
		width: 100%;
	}

	.accessibility-panel__header {
		order: 1;
		width: auto;
		grid-column: 1;
		align-self: center;
	}

	.accessibility-panel__close {
		order: 2;
		grid-column: 3;
		align-self: center;
		margin-left: 0;
	}

	.accessibility-panel__form {
		order: 3;
		grid-column: 1 / -1;
	}

	.accessibility-panel__group,
	.accessibility-panel__controls {
		align-items: center;
	}

	.accessibility-panel__controls {
		display: grid;
		gap: 12px;
	}

	.accessibility-panel__group {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		max-width: 100%;
		width: 100%;
	}

	.accessibility-panel__actions {
		flex-wrap: wrap;
	}

	.accessibility-panel__options {
		justify-self: end;
		max-width: 100%;
		overflow-x: auto;
	}

	.accessibility-panel__option,
	.accessibility-panel__option span,
	.accessibility-panel__button {
		flex: 1 1 auto;
	}

	.accessibility-panel__option span {
		min-width: 48px;
		padding-inline: 10px;
	}

	.accessibility-font-large .front-hero__title,
	.accessibility-font-xlarge .front-hero__title {
		font-size: 44px;
		line-height: 54px;
	}

	.accessibility-font-large .about-text__title,
	.accessibility-font-xlarge .about-text__title {
		font-size: 44px;
		line-height: 56px;
	}

	.accessibility-font-large :where(.activities__title, .services__title, .press-center__title, .error-404-page__message, .partners__title, .services__card-title, .services__collapsed-title, .services__collapsed-badge),
	.accessibility-font-xlarge :where(.activities__title, .services__title, .press-center__title, .error-404-page__message, .partners__title, .services__card-title, .services__collapsed-title, .services__collapsed-badge) {
		font-size: 30px;
		line-height: 38px;
	}

	.accessibility-font-large .error-404-page__code {
		font-size: 128px;
	}

	.accessibility-font-xlarge .error-404-page__code {
		font-size: 148px;
	}
}
