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

html {
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	text-size-adjust: none;
	scrollbar-gutter: stable
}

blockquote,
body,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
p {
	margin: 0
}

:where(ul[role=list], ol[role=list]) {
	margin: 0;
	padding: 0;
	list-style: none
}

button,
input,
select,
textarea {
	font: inherit;
	letter-spacing: inherit;
	word-spacing: inherit
}

a>figure,
a>img,
a>picture {
	text-decoration: none
}

img {
	height: auto;
	shape-margin: .75rem;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: cover;
	max-inline-size: 100%;
	font-style: italic
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
:where(ul[role='list'], ol[role='list']) {
	list-style: none;
	padding: 0;
	margin: 0;
}

:root {
	--easing-sin-in: cubic-bezier(.47, 0, .745, .715);
	--easing-sin-out: cubic-bezier(.39, .575, .565, 1);
	--easing-sin-in-out: cubic-bezier(.445, .05, .55, .95);
	--easing-circ-in: cubic-bezier(.6, .04, .98, .335);
	--easing-circ-out: cubic-bezier(.075, .82, .165, 1);
	--easing-circ-in-out: cubic-bezier(.785, .135, .15, .86);
	--easing-quad-in: cubic-bezier(.55, .085, .68, .53);
	--easing-quad-out: cubic-bezier(.25, .46, .45, .94);
	--easing-quad-in-out: cubic-bezier(.455, .03, .515, .955);
	--easing-cubic-in: cubic-bezier(.55, .055, .675, .19);
	--easing-cubic-out: cubic-bezier(.215, .61, .355, 1);
	--easing-cubic-in-out: cubic-bezier(.645, .045, .355, 1);
	--easing-quart-in: cubic-bezier(.895, .03, .685, .22);
	--easing-quart-out: cubic-bezier(.165, .84, .44, 1);
	--easing-quart-in-out: cubic-bezier(.77, 0, .175, 1);
	--easing-quint-in: cubic-bezier(.755, .05, .855, .06);
	--easing-quint-out: cubic-bezier(.23, 1, .32, 1);
	--easing-quint-in-out: cubic-bezier(.86, 0, .07, 1);
	--easing-expo-in: cubic-bezier(.95, .05, .795, .035);
	--easing-expo-out: cubic-bezier(.19, 1, .22, 1);
	--easing-expo-in-out: cubic-bezier(1, 0, 0, 1);
	--easing-back-in: cubic-bezier(.6, -.28, .735, .045);
	--easing-back-out: cubic-bezier(.175, .885, .32, 1.275);
	--easing-back-in-out: cubic-bezier(.68, -.55, .265, 1.55)
}

.repel {
	--_repel-alignment: var(--repel-alignment, center);
	--_gutter: var(--repel-gutter, 1rem);
	align-items: var(--_repel-alignment);
	gap: var(--_gutter);
	flex-wrap: wrap;
	justify-content: space-between;
	display: flex
}

.repel.as-vertical {
	--repel-alignment: stretch;
	flex-direction: column
}

.cluster {
	--_space: var(--space, 1rem);
	--_justify: var(--justify, flex-start);
	--_align: var(--align, center);
	--_direction: var(--direction, row);
	align-items: var(--_align);
	flex-direction: var(--_direction);
	gap: var(--_space);
	justify-content: var(--_justify);
	flex-wrap: wrap;
	display: flex
}

.smol-css-grid {
	--_min: var(--min, 15ch);
	--_gap: var(--gap, 1rem);
	grid-gap: var(--_gap);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--_min)), 1fr));
	display: grid
}

header[role=banner] {
	--_headerBackground: var(--color-contrast);
	--_brandLogoMaxWidth: clamp(14rem, 13.2813rem + 2.7344vw, 16.5625rem);
	--_headerPaddingBlock: 16px;
	--_navPaddingBlock: 12px;
	--_subNavOffset: calc(var(--_headerPaddingBlock) + var(--_navPaddingBlock) + 2px);
	--link-padding: 10px 16px;
	--link-color: var(--color-background);
	--link-color-hover: var(--color-primary);
	--link-decoration: none;
	--subNavBackground: #fff;
	--smsNavBackground: var(--color-background);
	--subNavColor: var(--color-contrast);
	--subNavColorHover: var(--color-primary);
	--menuGap: 40px;
	background-color: var(--_headerBackground);
	padding: 0 clamp(20px, 1px + 2.9688vw, 58px)
}

header[role=banner] .brand>img {
	max-inline-size: var(--_brandLogoMaxWidth)
}

header[role=banner] nav {
	padding-block: calc(var(--_headerPaddingBlock) + var(--_navPaddingBlock));
	font-family: Funnel Sans, sans-serif
}

header[role=banner] .a11y-nav__item>.button {
	--btn-padding: 10px 16px
}

.navSearchSms {
	display: none
}

.navSearchSms form {
	flex-direction: column;
	gap: 16px;
	display: flex
}

.navSearchSms .navSearchSms__title {
	gap: 10px;
	font-family: Funnel Display, sans-serif;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
}

.navSearchSms .navSearchSms__title:before {
	content: "";
	background: url(./images/search_dark.svg);
	min-width: 15px;
	height: 15px
}

.navSearchSms button[type=submit]:before {
	display: none
}

.navSearchSms__row {
	flex-wrap: wrap;
	gap: 12px;
	display: flex
}

.navSearchSms__inputWrapper {
	background: #fff;
	border: .75px solid #82979780;
	border-radius: 10px;
	flex-grow: 1;
	padding: 10px
}

.navSearchSms__inputWrapper input {
	background: 0 0;
	border: none;
	height: 100%;
	padding: 0;
	width: 100%;
}

.navSearchDesktop .fullSubMenu {
	background-color: var(--color-contrast);
	padding: 36px 64px 120px
}

.navSearchDesktop form {
	flex-direction: column;
	align-items: center;
	gap: 32px;
	display: flex
}

.navSearchDesktop .navSearchDesktop__title {
	color: #fff;
	font-family: Funnel Display, sans-serif;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 700
}

.navSearchDesktop__row {
	gap: 12px;
	display: flex
}

.navSearchDesktop__inputWrapper {
	background: #fff;
	border: .75px solid #82979780;
	border-radius: 10px;
	gap: 10px;
	width: min(22.5rem, 50vw);
	padding: 16px 10px;
	display: inline-flex;
	align-items: center;
}

.navSearchDesktop__inputWrapper:before {
	content: "";
	background: url(./images/search_dark.svg);
	min-width: 15px;
	height: 15px
}

.navSearchDesktop__inputWrapper input {
	background: 0 0;
	border: none;
	padding: 0;
	line-height: 1;
	width: 100%;
}

.demNav .button:before {
	display: none
}

@media screen and (max-width:73.5em) {
	header[role=banner] {
		--smsNavBackground: var(--color-background);
		--_headerPaddingBlock: 0px;
		--_navPaddingBlock: 16px;
		--link-padding: 16px 0;
		--link-color: var(--color-contrast);
		--link-weight: 700;
		--link-size: 1.125rem
	}

	.demNav .button:before {
		display: revert
	}

	.navSearchSms {
		display: block
	}
}

@media screen and (max-height:33.125em) {
	header[role=banner] {
		--menuGap: 40px
	}
}

body[data-burger-menu-status=opened] {
	overflow: hidden;
}

.close-menu-trigger,
.close-subMenu-trigger,
.open-menu-trigger {
	cursor: pointer;
	background: 0 0;
	border: 1px solid #0000;
	justify-content: center;
	align-items: center;
	gap: .625rem;
	margin-inline-start: auto;
	padding: 10px;
	display: inline-flex
}

:is(.close-menu-trigger, .close-subMenu-trigger, .open-menu-trigger) svg {
	width: 1.25rem;
	height: 1.25rem
}

:is(.close-menu-trigger, .close-subMenu-trigger, .open-menu-trigger) svg path {
	transition: fill .35s
}

@media (forced-colors: active) {
	:is(.close-menu-trigger, .close-subMenu-trigger, .open-menu-trigger) svg path {
		fill: ButtonText;
	}
}

:is(.close-menu-trigger, .close-subMenu-trigger, .open-menu-trigger):hover path {
	fill: var(--color-primary)
}

.close-menu-trigger,
.no-js .close-subMenu-trigger,
.open-menu-trigger {
	display: none
}

.a11y-nav {
	--space: 0;
	--justify: flex-start;
	margin: 0;
	padding: 0;
	list-style: none
}

.a11y-nav-wrapper {
	z-index: 100
}

.a11y-nav__item {
	--_link-padding: var(--link-padding, 9px 21px 9px 21px);
	--_link-decoration: var(--link-decoration, underline);
	--_link-color: var(--link-color, currentcolor);
	--_link-color-hover: var(--link-color-hover, currentcolor);
	--_link-weight: var(--link-weight, initial);
	--_link-background: var(--link-background, transparent);
	--_link-size: var(--link-size, inherit);
	padding: 0
}

.a11y-nav>.a11y-nav__item>span,
.a11y-nav>.a11y-nav__item>a,
.a11y-nav>.a11y-nav__item>button {
	font-size: var(--_link-size);
	font-weight: var(--_link-weight);
	padding: var(--_link-padding);
	-webkit-text-decoration: var(--_link-decoration);
	-webkit-text-decoration: var(--_link-decoration);
	text-decoration: var(--_link-decoration);
}

.a11y-nav>.a11y-nav__item>span,
.a11y-nav>.a11y-nav__item>a,
.a11y-nav>.a11y-nav__item>button:not(.button) {
	color: var(--_link-color);
	background: var(--_link-background);
	transition: color .35s
}

.a11y-nav>.a11y-nav__item>a>span {
	color: inherit !important;
}

.a11y-nav>.a11y-nav__item>span {
	display: inline-flex;
}

.a11y-nav>.a11y-nav__item>a {
	-webkit-text-decoration: var(--_link-decoration);
	-webkit-text-decoration: var(--_link-decoration);
	text-decoration: var(--_link-decoration);
	display: block
}

.a11y-nav>.a11y-nav__item>a:hover,
.a11y-nav>.a11y-nav__item>a[aria-current] {
	color: var(--_link-color-hover)
}

.a11y-nav>.a11y-nav__item>button {
	align-items: center;
	gap: 8px;
	width: 100%;
	display: inline-flex
}

.a11y-nav>.a11y-nav__item>button svg>path {
	transition: fill .35s
}

@media (forced-colors: active) {
	.a11y-nav>.a11y-nav__item>button svg>path {
		fill: ButtonText;
	}
}

.a11y-nav>.a11y-nav__item>button:hover {
	color: var(--_link-color-hover);
	cursor: pointer
}

.a11y-nav>.a11y-nav__item>button:hover svg>path {
	fill: var(--_link-color-hover)
}

.a11y-nav>.a11y-nav__item>button:not(.button) {
	border: 1px solid #0000
}

.a11y-nav__item.menu-item-has-children:not(.no-relative) {
	position: relative
}

.a11y-nav__sub-menu {
	--_subNavBackground: var(--subNavBackground, #fff);
	--_subNavColor: var(--subNavColor, currentColor);
	--_subNavColorHover: var(--subNavColorHover, currentColor);
	background-color: var(--_subNavBackground);
	margin-left: 0;
	padding: clamp(36px, 4px + 3.125vw, 64px);
	z-index: 200;
	border: 1px solid #0000;
	border-radius: 0 0 10px 10px;
	width: max-content;
	margin-block-start: var(--_subNavOffset);
	padding-block-start: 36px;
	position: absolute;
	left: 0;
	list-style: none;
	box-shadow: 0 4px 8px #00000026
}

.a11y-nav__sub-menu:not(.fullSubMenu) {
	left: 50%;
	transform: translate(-50%)
}

.a11y-nav__sub-menu a {
	background-color: var(--_subNavBackground);
	border-bottom: 1px dashed var(--Gris-principal, #819595);
	color: var(--_subNavColor);
	outline-offset: -2px;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 16px;
	text-decoration: none;
	transition: color .35s;
	display: inline-flex
}

.gras a span
{
	font-weight: bold;
}


.a11y-nav__sub-menu a span {
	transition: color .35s;
}

.a11y-nav__sub-menu a:after {
	content: "";
	background: url(./images/icon_link.svg) 50% no-repeat;
	width: 30px;
	min-width: 30px;
	height: 30px;
	display: block
}

.a11y-nav__sub-menu a:hover,
.a11y-nav__sub-menu a:hover span,
.a11y-nav__sub-menu a[aria-current],
.a11y-nav__sub-menu a[aria-current] span {
	color: var(--_subNavColorHover);
}

.a11y-nav__sub-menu a:hover:after,
.a11y-nav__sub-menu a[aria-current]:after {
	background: url(./images/icon_link_hover.svg) 50% no-repeat
}

.smsCloseSubButton {
	display: none
}

.fullSubMenu {
	background-color: var(--_subNavBackground);
	width: 100%;
	padding: 36px 64px 64px
}

.fullSubMenu .smol-css-grid {
	--gap: 40px;
	--min: 20rem
}

.fullSubMenu .smol-css-grid>div {
	padding-inline: 40px
}

.fullSubMenu__header {
	text-align: right;
	margin-block-end: 16px
}

.fullSubMenu__title {
	color: var(--color-contrast);
	margin-block-end: 24px;
	font-family: Funnel Display, sans-serif;
	font-size: 1.25rem;
	font-weight: 700
}

.fullSubMenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.fullSubMenu li {
	padding: 0;
}

.no-js .menu-item-has-children .sub-menu-block .a11y-nav__sub-menu {
	display: none
}

.no-js .menu-item-has-children:focus-within .sub-menu-block .a11y-nav__sub-menu {
	display: revert
}

@media screen and (min-width:73.51em) {
	.js .sub-menu-block[aria-hidden=false] .a11y-nav__sub-menu:not(.fullSubMenu) {
		opacity: 1;
		transition: opacity .35s, transform .35s;
		transform: translateY(0)translate(-50%)
	}

	.js .sub-menu-block[inert] .a11y-nav__sub-menu:not(.fullSubMenu) {
		opacity: 0;
		transition: opacity .25s, transform .35s;
		transform: translateY(-5px)translate(-50%)
	}

	.js .sub-menu-block[aria-hidden=false] .a11y-nav__sub-menu.fullSubMenu {
		opacity: 1;
		transition: opacity .35s, transform .35s;
		transform: translateY(0)
	}

	.js .sub-menu-block[inert] .a11y-nav__sub-menu.fullSubMenu {
		opacity: 0;
		transition: opacity .25s, transform .35s;
		transform: translateY(-5px)
	}
}

@media screen and (max-width:73.5em) {
	.navSearchDesktop {
		display: none
	}

	.js .close-menu-trigger,
	.open-menu-trigger {
		display: block
	}

	.a11y-nav-wrapper {
		background-color: var(--smsNavBackground, #fff);
		contain: layout size paint;
		border: 2px solid #0000;
		justify-content: flex-start;
		width: min(30rem, 100%);
		height: 100vh;
		max-height: 100vh;
		height: 100svh;
		max-height: 100svh;
		padding: 20px;
		position: fixed;
		top: 0;
		right: 0
	}

	.a11y-nav-wrapper,
	.a11y-nav-wrapper__scrollable {
		gap: var(--menuGap);
		flex-direction: column;
		display: flex
	}

	.a11y-nav-wrapper__scrollable {
		height: 100%;
		max-height: 100%;
		padding-inline: 6px;
		overflow: clip auto
	}

	.a11y-nav {
		--direction: column;
		--align: stretch;
	}

	.a11y-nav>.a11y-nav__item>a.disabled,
	.a11y-nav>.a11y-nav__item>button.disabled {
		z-index: -1;
		position: relative
	}

	.a11y-nav>.a11y-nav__item>a,
	.a11y-nav>.a11y-nav__item>button:not(.button) {
		font-size: var(--_link-size);
		font-weight: var(--_link-weight);
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		display: inline-flex
	}

	.a11y-nav>.a11y-nav__item>a>span {
		font-weight: inherit;
	}

	:is(.a11y-nav>.a11y-nav__item>a, .a11y-nav>.a11y-nav__item>button:not(.button)):after {
		content: "";
		background: url(./images/icon_link.svg) 50% no-repeat;
		width: 30px;
		min-width: 30px;
		height: 30px;
		display: block
	}

	:is(.a11y-nav>.a11y-nav__item>a, .a11y-nav>.a11y-nav__item>button:not(.button)):hover:after {
		background: url(./images/icon_link_hover.svg) 50% no-repeat
	}

	.a11y-nav__item.demNav {
		--link-weight: 400;
		margin-block-start: var(--menuGap)
	}

	.a11y-nav__item.demNav>.button {
		justify-content: center;
		width: 100%;
		padding: 14px 16px
	}

	.smsCloseSubButton {
		background-color: var(--smsNavBackground);
		border-top: 0;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px dashed var(--Gris-principal, #819595);
		color: var(--_subNavColor);
		cursor: pointer;
		font-size: var(--_link-size);
		font-weight: var(--_link-weight);
		outline-offset: -2px;
		justify-content: flex-start;
		align-items: center;
		gap: 16px;
		width: 100%;
		margin-block-end: var(--menuGap);
		padding: 24px 0;
		text-decoration: none;
		transition: color .35s;
		display: inline-flex
	}

	.smsCloseSubButton:before {
		content: "";
		background: url(./images/icon_link.svg) 50% no-repeat;
		width: 30px;
		min-width: 30px;
		height: 30px;
		display: block;
		transform: rotate(180deg)
	}

	.smsCloseSubButton:hover {
		color: var(--_subNavColorHover)
	}

	.smsCloseSubButton:hover:before {
		background: url(./images/icon_link_hover.svg) 50% no-repeat;
		transform: rotate(180deg)
	}

	.fullSubMenu__header {
		display: none
	}

	.fullSubMenu .smol-css-grid>div {
		padding-inline: 0
	}

	.js .a11y-nav__item.menu-item-has-children:not(.no-relative) {
		position: revert
	}

	.js .a11y-nav__sub-menu {
		background-color: var(--smsNavBackground);
		box-shadow: none;
		width: 100%;
		height: 100vh;
		max-height: 100vh;
		height: 100svh;
		max-height: 100svh;
		margin: 0;
		padding: 20px 20px 20px 20px;
		top: 0;
		left: 0;
		overflow: clip auto
	}

	.js .a11y-nav__sub-menu.fullSubMenu .smol-css-grid {
		padding-bottom: 20px;
	}

	.js .a11y-nav__sub-menu a {
		font-size: var(--_link-size);
		font-weight: var(--_link-weight);
		padding: var(--link-padding);
		background-color: #0000;
		border: none;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		display: inline-flex
	}

	.js .sub-menu-block[aria-hidden=false] .a11y-nav__sub-menu {
		transition: transform 1s var(--easing-cubic-in-out, ease-in-out);
		transform: translate(0)
	}

	.js .sub-menu-block[inert] .a11y-nav__sub-menu {
		transition: transform 1s var(--easing-cubic-in-out, ease-in-out);
		transform: translate(110%)
	}

	.js .a11y-nav-wrapper[aria-hidden=true] {
		transition: transform .8s var(--easing-cubic-in-out, ease-in-out), box-shadow .6s;
		transform: translate(110%);
		box-shadow: 0 0 0 150vmax #0000
	}

	.js .a11y-nav-wrapper:not([aria-hidden]) {
		transition: transform .8s var(--easing-cubic-in-out, ease-in-out), box-shadow .6s ease .2s;
		transform: translate(0);
		box-shadow: 0 0 0 150vmax #000000bf
	}

	.no-js .a11y-nav-wrapper {
		display: none
	}

	.no-js .a11y-nav-block:focus-within .a11y-nav-wrapper {
		display: revert
	}

	.no-js .menu-item-has-children .sub-menu-block .a11y-nav__sub-menu {
		box-shadow: none;
		background: 0 0;
		width: 100%;
		margin-block-start: 0;
		margin-inline-end: 24px;
		padding: 0;
		padding-inline-start: 16px;
		display: block;
		position: relative;
		left: 0;
		transform: none
	}

	.no-js .a11y-nav__sub-menu a {
		padding: var(--link-padding);
		background-color: #0000;
		border-bottom: none
	}

	.no-js .demNav span.button {
		cursor: default
	}
}

.button {
	--btn-border: var(--color-primary, currentcolor);
	--btn-background: var(--color-primary, transparent);
	--btn-color: var(--color-contrast, currentcolor);
	--btn-border-hover: var(--color-primary, currentcolor);
	--btn-background-hover: var(--color-contrast, transparent);
	--btn-color-hover: var(--color-primary, currentcolor);
	--btn-deco-color: var(--btn-color);
	--btn-padding: 14px 16px;
	background-color: var(--btn-background);
	border: 1px solid var(--btn-border);
	color: var(--btn-color);
	cursor: pointer;
	padding: var(--btn-padding);
	align-items: center;
	gap: 12px;
	font-family: Funnel Sans, sans-serif;
	transition: background .3s ease-in-out, border .3s ease-in-out, color .3s ease-in-out;
	display: inline-flex
}

.button:before {
	background-color: var(--btn-deco-color);
	content: "";
	width: 13px;
	height: 13px;
	transition: background .3s ease-in-out;
	display: inline-block
}

.button:focus-visible,
.button:hover {
	--btn-deco-color: var(--btn-color-hover);
	background-color: var(--btn-background-hover);
	border: 1px solid var(--btn-border-hover);
	color: var(--btn-color-hover)
}

.skip-link {
	outline-offset: 0;
	z-index: 1;
	border: 2px solid #0000;
	margin-block-start: .5em;
	margin-inline-start: .5em;
	padding: .5em;
	font-family: Funnel Display, sans-serif;
	text-decoration: none;
	position: absolute;
	background-color: var(--color-primary) !important;
	color: var(--color-contrast) !important
}

.skip-link.is-inside {
	margin-block-start: 0;
	margin-inline-start: 0;
	transform: translateY(-125%)
}

:root {
	--color-background: #f2f7f7;
	--color-primary: #00e580;
	--color-contrast: #0a2e33
}


@media (prefers-reduced-motion: reduce) {
	* {
		animation-delay: -1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		background-attachment: initial !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
		transition-delay: -1ms !important;
	}
}