:root {
	--text-color: #111;
	--controls-text: #444;
	--gray: #666;
	--gray-dark: #535353;
	--background-color: #fff;
	--background-tint-light: #f4f4f4;
	--background-tint-dark: #e2e2e2;
	--card-background: var(--background-color);
	--alpha: rgb(255 255 255 / .6);
	--border-color: #ddd;
	--box-shadow: 0 0 1rem rgb(0 0 0 / .1);
	--box-shadow-hover: 0 0 1.5rem rgb(0 0 0 / .25);
	--secondary-color: var(--gray);
	--secondary-color-dark: var(--gray-dark)
}

.theme-dark {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	--text-color: #e5e5e5;
	--controls-text: #ddd;
	--background-color: #121212;
	--background-tint-light: #232323;
	--background-tint-dark: #353535;
	--card-background: #000;
	--alpha: rgb(0 0 0 / .6);
	--border-color: #444;
	--box-shadow: 0 0 1rem rgb(0 0 0 / .25);
	--box-shadow-hover: 0 0 1.5rem rgb(0 0 0 / .75);
	--box-glow: 0 0 3rem rgb(255 255 255 / .15)
}

.color-blue {
	--primary-color: hsl(220, 80%, 45.5%);
	--primary-color-light: hsl(220, 40%, 90%);
	--primary-color-dark: hsl(220, 80%, 35.5%);
	--button-color: var(--primary-color)
}

.theme-dark .color-blue {
	--primary-color: hsl(220, 80%, 78.5%);
	--primary-color-light: hsl(220, 50%, 20%);
	--text-decoration-color: var(--primary-color);
	--button-color: hsl(220, 75%, 45.5%)
}

.color-green {
	--primary-color: hsl(160, 80%, 27%);
	--primary-color-light: hsl(160, 28%, 86%);
	--primary-color-dark: hsl(160, 80%, 18%);
	--button-color: var(--primary-color)
}

.theme-dark .color-green {
	--primary-color: hsl(160, 40%, 65%);
	--primary-color-light: hsl(160, 50%, 16%);
	--text-decoration-color: var(--primary-color);
	--button-color: hsl(160, 75%, 23%)
}

.color-red {
	--primary-color: hsl(355, 80%, 38.5%);
	--primary-color-light: hsl(355, 35%, 90%);
	--primary-color-dark: hsl(355, 80%, 32.5%);
	--button-color: var(--primary-color)
}

.theme-dark .color-red {
	--primary-color: hsl(355, 70%, 80%);
	--primary-color-light: hsl(355, 31%, 21%);
	--text-decoration-color: var(--primary-color);
	--button-color: hsl(355, 75%, 39%)
}

.color-purple {
	--primary-color: hsl(265, 60%, 52.5%);
	--primary-color-light: hsl(265, 30%, 91%);
	--primary-color-dark: hsl(265, 70%, 42.5%);
	--button-color: var(--primary-color)
}

.theme-dark .color-purple {
	--primary-color: hsl(265, 55%, 81%);
	--primary-color-light: hsl(265, 30%, 20%);
	--text-decoration-color: var(--primary-color);
	--button-color: hsl(4, 85%, 57%)
}

.custom-color {
	--primary-color: hsl(4,85%,57%);
	--primary-color-light: hsl(0, 0%, 92.5%);
	--primary-color-dark: hsl(var(--hue), 80%, 33%);
	--button-color: hsl(4,85%,57%)
}

.theme-dark .custom-color {
	--primary-color: hsl(var(--hue), 60%, 78.5%);
	--primary-color-light: hsl(var(--hue), 50%, 19%);
	--text-decoration-color: var(--primary-color);
	--button-color: hsl(4,85%,57%)
}

@font-face {
	font-display: swap;
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/ibm-plex-sans-v19-latin_latin-ext-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "IBM Plex Sans";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/ibm-plex-sans-v19-latin_latin-ext-italic.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "IBM Plex Sans";
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/ibm-plex-sans-v19-latin_latin-ext-600.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/source-sans-3-v15-latin_latin-ext-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Source Sans 3";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/source-sans-3-v15-latin_latin-ext-italic.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/source-sans-3-v15-latin_latin-ext-600.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/lato-v24-latin_latin-ext-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Lato";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/lato-v24-latin_latin-ext-italic.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/lato-v24-latin_latin-ext-700.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "PT Sans";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/pt-sans-v17-latin_latin-ext-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "PT Sans";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/pt-sans-v17-latin_latin-ext-italic.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "PT Sans";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/pt-sans-v17-latin_latin-ext-700.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Ubuntu";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/ubuntu-v20-latin_latin-ext-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Ubuntu";
	font-style: italic;
	font-weight: 400;
	src: url("../fonts/ubuntu-v20-latin_latin-ext-italic.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Ubuntu";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/ubuntu-v20-latin_latin-ext-500.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Lexend";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/lexend-v19-latin-regular.woff2") format("woff2")
}

@font-face {
	font-display: swap;
	font-family: "Lexend";
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/lexend-v19-latin-600.woff2") format("woff2")
}

.source-font-family {
	font-family: "Source Sans 3", sans-serif
}

.plex-font-family {
	font-family: "IBM Plex Sans", sans-serif
}

.lato-font-family {
	font-family: "Lato", sans-serif;
	letter-spacing: .01em
}

.pt_sans-font-family {
	font-family: "PT Sans", sans-serif
}

.ubuntu-font-family {
	font-family: "Ubuntu", sans-serif
}

.system-font-family {
	font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
}

.lexend-font-family {
	font-family: "Lexend", sans-serif
}

html {
	box-sizing: border-box;
	color: var(--text-color);
	font-size: 0.9em;
	font-weight: 100;
	line-height: 1.35;
	scroll-behavior: smooth
}

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

body {
	background: var(--background-color);
	margin-block: 0;
	margin-inline: 0
}

@media(min-width: 48em) {
	html {
		font-size: 1.0625rem
	}
}

@media(min-width: 56em) {
	html {
		font-size: 1.125rem
	}
}

@media(min-width: 62em) {
	html {
		font-size: 1.1875rem
	}
}

main img {
	filter: brightness(1)
}

.theme-dark main img {
	filter: brightness(0.95)
}

a,
.deco a {
	background: rgba(0, 0, 0, 0);
	color: var(--primary-color);
	text-decoration: underline;
	text-decoration-color: var(--primary-color);
	text-decoration-thickness: .07em;
	text-underline-offset: .15em;
	transition: text-decoration-color .2s
}

a:hover,
a:focus,
.deco a:hover,
.deco a:focus {
	text-decoration-color: rgba(0, 0, 0, 0)
}

a:active,
.deco a:active {
	text-decoration-color: var(--primary-color)
}

nav a,
.deco a {
	color: var(--text-color)
}

.no-deco {
	color: var(--text-color);
	text-decoration: none
}

.deco a {
	color: var(--text-color);
	text-decoration-color: rgba(0, 0, 0, 0)
}

.deco a:hover,
.deco a:focus {
	text-decoration-color: var(--primary-color)
}

.deco a:active {
	text-decoration-color: rgba(0, 0, 0, 0)
}

.page {
	margin-inline: auto;
	max-inline-size: 62rem;
	padding-inline: 1rem
}

main {
	background: #fff;
	padding-block: 0rem
}

.search-content {
	padding-block-start: 1.65rem;
	inline-size: 100%
}

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	column-gap: 1rem;
	row-gap: 1rem;
	margin-block-end: 1.65rem
}

.grid .grid-column :last-child {
	margin-block-end: 0
}

.grid-auto {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
	column-gap: 4%;
	row-gap: 1rem;
	margin-block-end: 1.65rem
}

.grid-auto .grid-column {
	grid-column: unset
}

.grid-auto .grid-column :last-child {
	margin-block-end: 0
}

.multi-cols,
.content-column {
	container-type: inline-size
}

@media(min-width: 48em) {
	.grid {
		grid-template-columns: repeat(6, minmax(0, 1fr))
	}

	.base-grid {
		display: grid;
		grid-template-columns: repeat(var(--column-repeat, 12), minmax(0, 1fr));
		column-gap: var(--column-gap, 2rem);
		row-gap: var(--row-gap, 0)
	}

	.lefty .main .base-grid,
	.article .main .base-grid,
	.about-template .main .base-grid,
	.article-doc-template .main .base-grid,
	.article-template .main .base-grid,
	.contact-template .main .base-grid,
	.faq-template .main .base-grid,
	.privacy-policy-template .main .base-grid {
		grid-template-rows: 0
	}

	.lefty .crumbs-column,
	.article .crumbs-column,
	.about-template .crumbs-column,
	.article-doc-template .crumbs-column,
	.article-template .crumbs-column,
	.contact-template .crumbs-column,
	.faq-template .crumbs-column,
	.privacy-policy-template .crumbs-column {
		z-index: 10
	}

	.base-grid-column,
	.grid-column {
		grid-column: var(--column)
	}

	.base-grid-column {
		grid-row: var(--row)
	}
}

@media(min-width: 56em) {
	.grid {
		gap: 1.5rem
	}
}

@media(min-width: 76rem) {
	.page {
		padding-inline: 0
	}
}

.multi-cols>* {
	font-size: .9210526316rem;
	line-height: 1.5
}

.multi-cols h2 {
	font-size: 1.125rem
}

.multi-cols h3 {
	font-size: 1rem
}

.multi-cols p {
	hyphens: auto
}

@media(min-width: 56em) {
	.home .multi-cols.colspan-3>* {
		font-size: unset;
		line-height: unset;
		hyphens: none
	}

	.home .multi-cols.colspan-3 h2 {
		font-size: 1.3125rem
	}

	.home .multi-cols.colspan-3 h3 {
		font-size: 1.125rem
	}
}

.multi-cols h2:first-of-type,
.bg-image h2:first-of-type,
.panel h2:first-of-type {
	margin-block-start: 0 !important
}

.panel,
.panels>div,
.bg-image {
	border-radius: .25em;
	margin-block-end: 1.65rem;
	padding-inline: 1rem;
	padding-block: 1rem
}

.panels .multi-cols {
	margin-block-end: 0
}

.panel,
.panels>div {
	background-color: var(--background-color)
}

.panel :last-child,
.panels div>:last-child,
.panel div:last-child>:last-child {
	margin-block-end: 0
}

@media(min-width: 48em) {
	.panel div:last-child>:last-child {
		margin-block-end: 0
	}
}

.bg-image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	margin-block: 0 1.65rem;
	margin-inline: -1rem
}

.bg-image>* {
	position: relative;
	z-index: 10
}

.bg-image::before {
	background-color: rgba(255, 255, 255, var(--overlay, 0.5));
	content: "";
	display: block;
	position: absolute;
	inset-block: 0;
	inset-inline: 0
}

.bg-image.blur::before {
	backdrop-filter: blur(4px)
}

.theme-dark .bg-image::before {
	background-color: rgba(0, 0, 0, var(--overlay, 0.5))
}

@media(min-width: 48em) {
	.bg-image {
		margin-inline: 0
	}
}

.name {
	background-color: var(--background-color);
	border-block: .2em solid var(--text-color);
	border-inline: .2em solid var(--text-color);
	aspect-ratio: 1/1;
	font-size: .875rem;
	font-weight: bold;
	text-align: center;
	padding-block: .75rem;
	padding-inline: .75rem;
	max-inline-size: max-content;
	max-block-size: max-content
}

.name a {
	display: block
}

.name.circle {
	border-radius: 50%
}

.name.rounded {
	border-radius: .5rem
}

.name.none {
	aspect-ratio: auto;
	border: 0;
	font-size: 1rem;
	padding-block: 0;
	padding-inline: 0
}

.name,
.name-inner {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: center
}

.name-inner {
	line-height: 1.2
}

.logo img {
	display: block
}

.logo-dark {
	display: none
}

.theme-dark .logo {
	display: none
}

.theme-dark .logo-dark {
	display: unset
}

.site-footer .name {
	font-size: .75em;
	margin-block-end: 1.5rem
}

@media(min-width: 48em) {
	.brand {
		justify-self: center
	}
}

h1,
.h1 {
	font-size: 2rem;
	font-size: 0rem;
	font-weight: 600;
	line-height: 1.2857142857;
	margin-block: 3.3rem 1.65rem
}

.section-heading,
.section-heading h1 {
	font-size: 1.575rem;
	font-weight: normal
}

.home-template h1 {
	color: var(--primary-color);
	font-size: 2.25rem
}

.home-template h1 small {
	color: var(--text-color)
}

h2,
.h2 {
	color: #ef4135;
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1.333333;
	margin-block: 2.475rem 1rem
}

figcaption h2 {
	margin-block-start: 0
}

h3,
.h3 {
	color: var(--primary-color);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.333333;
	margin-block: 0 .25rem
}

h4,
.h4 {
	font-weight: 600
}

h4,
.h4,
h5,
h6 {
	font-size: 1rem;
	margin-block: 0
}

h6 {
	font-weight: normal
}

h5,
h6 {
	font-style: italic
}

h7,
.h7 {
	color: var(--primary-color);
	font-size: 0.65rem;
	font-weight: 100;
	line-height: 0.9;
	margin-block: 0 .25rem
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h4 small,
h5 small,
h7 small,
h6 small {
	color: inherit;
	display: block;
	font-weight: normal;
	font-style: italic
}


.chapeau {
	color: #ef4135;
	margin-block-start: 1.65rem;
	text-transform: uppercase;
	letter-spacing: .09em
}

.chapeau+h1 {
	margin-block-start: -1.5rem
}

@media(min-width: 56em) {
	.chapeau {
		margin-block-start: 3.3rem
	}
}

.group-heading {
	font-size: 0.75rem;
	margin-block: 0 1rem
}

.intro p,
.subheading {
	font-size: 0.9rem;
	line-height: 1.35
}

.subheading {
	font-size: 0.8rem;
	font-style: italic
}

.marbs-1 {
	margin-block-start: -1.65rem
}

.marbs0 {
	margin-block-start: 0
}

.marbs1 {
	margin-block-start: 1.65rem
}

.marbs2 {
	margin-block-start: 3.3rem
}

.marbs3 {
	margin-block-start: 4.95rem
}

.marbe0 {
	margin-block-end: 0
}

.marbe05 {
	margin-block-end: .825rem
}

.marbe1 {
	margin-block-end: 1.65rem
}

.marbe2 {
	margin-block-end: 3.3rem
}

.marbe3 {
	margin-block-end: 4.95rem
}

ul,
ol,
dl,
p,
pre,
form,
details {
	margin-inline: 0;
	margin-block: 0 1.65rem
}

ul,
ol {
	padding-inline-start: 2rem
}

ol ::marker,
ul ::marker {
	color: var(--primary-color)
}

ol ::marker {
	font-weight: bold
}

ul ul {
	list-style: disc
}

ul ul,
ol ol {
	margin-block-end: 0
}

.block-type-list p {
	margin-bottom: 0
}

.unstyled,
nav ol,
nav ul {
	list-style: none;
	padding-inline-start: 0
}

.align-center ul,
td ul {
	list-style-type: none;
	list-style-position: inside;
	padding-inline-start: 0
}

.align-center ul li::before,
td ul li::before {
	content: "▪︎";
	margin-inline-end: .25rem;
	padding-inline-start: 0
}

.align-center ul li,
td ul li {
	padding-inline-start: 0
}

.align-center ul ol,
td ul ol {
	padding-inline-start: 0;
	list-style-position: inside
}

.align-right,
.right,
.text-align-end {
	text-align: end
}

.align-center,
.center,
.text-align-center {
	text-align: center
}

.text-align-start {
	text-align: start
}

small,
.small {
	font-size: .8em
}

em,
.em,
.italic {
	font-style: italic
}

strong,
.strong {
	font-weight: bold
}

.upper {
	text-transform: uppercase;
	letter-spacing: .05em
}

.border-top {
	border-block-start: .125em solid var(--primary-color);
	padding-block-start: .25em
}

.border,
figure.border img {
	border: 2px solid var(--border-color)
}

figure.border {
	border: 0
}

.shadow {
	box-shadow: 0 0 1em rgba(0, 0, 0, .1)
}

.rounded,
.rounded img {
	border-radius: .25em
}

.footnotes {
	font-size: .875rem;
	margin-block: 3.3rem 3.3rem
}

.footnotes hr {
	margin-block-end: .5em;
	border-top: 1px solid var(--border-color)
}

.footnotes p {
	margin-block-end: 0
}

.footnotes li:target {
	animation: highlight 5s ease-out
}

@keyframes highlight {
	0% {
		background-color: var(--background-color)
	}

	100% {
		background-color: rgba(0, 0, 0, 0)
	}
}

.footnote-ref {
	text-decoration: none
}

.footnote-ref:hover {
	text-decoration: underline
}

.footnote-ref::after {
	content: ")";
	font-size: .9rem;
	padding-inline-start: .1em;
	position: relative;
	inset-block-start: .1em
}

.footnote-backref {
	text-decoration: none;
	font-family: snas-serif
}

dl {
	font-size: .875rem
}

dt {
	border-block-start: 1px solid var(--primary-color-light);
	color: var(--primary-color);
	font-weight: bold;
	padding-block-start: .25rem
}

dd {
	margin-block: 0 .825rem;
	margin-inline: 2rem 0
}

dd ul,
dd ol {
	margin-block-end: 0
}

details {
	border-block-start: 1px solid var(--border-color);
	padding-block-start: .25rem
}

details ::marker {
	color: var(--primary-color)
}

summary {
	cursor: pointer
}

abbr[title] {
	cursor: help;
	background: rgba(0, 0, 0, 0);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-thickness: .1em;
	text-decoration-color: var(--text-decoration-color);
	text-underline-offset: .15em;
	transition: text-decoration-color .2s
}

q {
	font-style: italic;
	quotes: "“""”""‘""’"
}

sub,
sup {
	font-size: 70%;
	line-height: 1;
	padding-inline-start: .15em;
	position: relative;
	vertical-align: baseline
}

sup {
	inset-block-start: -0.5em
}

sub {
	inset-block-end: -0.4em
}

hr {
	display: block;
	block-size: 1px;
	border: 0;
	border-block-start: 4px solid var(--border-color);
	margin-block: 3.3rem;
	padding-block: 0;
	padding-inline: 0
}

code,
kbd,
pre,
samp {
	font-family: Monaco, SFMono-Regular, Consolas, "Liberation Mono", Menlo, "Ubuntu Mono", monospace;
	font-size: .75rem
}

code,
kbd {
	background-color: var(--background-color);
	border: 1px solid var(--border-color-light);
	border-radius: .25em;
	padding-block: .1em;
	padding-inline: .25em;
	white-space: nowrap
}

pre {
	background-color: #353535;
	color: #fff;
	border-radius: .25em;
	hyphens: none;
	overflow: auto;
	line-height: 1.8;
	padding-block: 1rem;
	padding-inline: 1rem;
	tab-size: 2;
	text-align: left;
	white-space: pre;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

pre code {
	background-color: rgba(0, 0, 0, 0);
	border: none;
	padding-block: 0;
	padding-inline: 0;
	white-space: pre !important
}

.logged-in-content {
	background: var(--primary-color-light);
	padding-block: 1.65rem 2.475rem
}

.logged-in-content .columns {
	columns: 3;
	column-gap: 2rem
}

button,
.btn {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	line-height: inherit;
	user-select: none;
	white-space: nowrap
}

.btn {
	background: var(--button-color);
	border-radius: 2rem;
	color: #fff;
	display: inline-block;
	font-size: .9375rem;
	text-align: center;
	transition: background-color .25s;
	text-decoration: none;
	margin-block: 0 1.65rem;
	padding-block: .35em .35em;
	padding-inline: 1em
}

.btn:hover,
.btn:focus,
.btn.btn-current {
	background: var(--primary-color-dark)
}

.btn.btn-current {
	cursor: default
}

.btn svg {
	fill: #fff;
	margin-inline: .35em;
	block-size: 1em;
	inline-size: 1em;
	position: relative;
	inset-block-start: -0.1em
}

.btn-secondary {
	background: var(--secondary-color)
}

.btn-secondary:hover,
.btn-secondary:focus {
	background: var(--secondary-color-dark)
}

.btn-gray {
	background-color: var(--gray)
}

.btn-gray:hover,
.btn-gray:focus {
	background: var(--gray-dark)
}

.site-footer .btn {
	font-size: .875rem
}

.btn-unstyled {
	background: var(--background-color);
	color: var(--text-color)
}

.btn svg:last-child {
	margin-inline-end: -0.35em
}

.btn svg:first-child {
	margin-inline-start: -0.35em
}

.btn.btn-tooltip {
	background: #555;
	margin-block-end: 0;
	padding-block: 0 .1em;
	padding-inline: .75em
}

.btn.btn-tooltip:hover,
.btn.btn-tooltip:focus,
.btn.btn-tooltip[aria-expanded=true] {
	background: #444
}

.btn-tooltip.block {
	display: block;
	margin-block-end: 1.65rem
}

td .btn.btn-tooltip {
	font-size: 1em
}

a.btn,
a.btn:active {
	text-decoration: none
}

.btn-block.download {
	padding-inline-end: .75em
}

.btn-block .download-size {
	opacity: .8
}

.btn a {
	color: #fff;
	text-decoration: none
}

.btn a svg:last-child {
	margin-inline-end: 0
}

.btn a svg:first-child {
	margin-inline-start: 0
}

.btn-copy {
	margin-block-end: 0;
	transition: background-color .3s ease-in-out
}

.btn-copy:hover,
.btn-copy:focus {
	background: var(--background-tint-dark)
}

.btn-copy:active,
.btn-copy.is-active {
	background: var(--primary-color);
	color: #fff
}

.btn-copy:active svg,
.btn-copy.is-active svg {
	fill: #fff
}

form {
	font-family: inherit !important
}

.form-field {
	margin-block-end: 1rem;
	min-inline-size: 13rem
}

.form-field label {
	color: var(--primary-color);
	display: block;
	font-size: .8125rem
}

.form-field input {
	background: var(--background-color);
	border: 1px solid var(--border-color);
	border-radius: .25em;
	color: var(--text-color);
	font-family: inherit !important;
	font-size: 16px;
	letter-spacing: .02em;
	min-inline-size: 100%;
	padding-inline: .35rem;
	padding-block: .35rem
}

.login-template main {
	block-size: 100vh
}

.login-template .login-container {
	background: var(--background-color);
	border-radius: .25em;
	display: inline-block;
	margin-block-start: 4rem;
	margin-inline: auto;
	padding-inline: 1rem;
	padding-block: 1rem
}

.login-template .login-container .btn {
	font-size: .8125rem;
	margin-block-end: 0
}

@media(max-width: 48em) {
	.login-template .base-grid-column {
		display: flex;
		justify-content: center;
		align-items: flex-start
	}
}

dialog {
	background: var(--background-color);
	border: 0;
	border-radius: .25em;
	box-shadow: 0 0 3rem rgba(0, 0, 0, .25);
	color: inherit;
	max-inline-size: 30em;
	padding-inline: 1rem;
	padding-block-start: 2rem
}

dialog[open] {
	animation: fade-in .3s ease-in
}

dialog::backdrop {
	background: var(--alpha);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px)
}

.dialog-content {
	overflow-y: scroll
}

.dialog-content :first-child {
	margin-block-start: 0
}

.close-wrapper {
	background: var(--background-tint-light);
	position: sticky;
	inset-block-end: -1rem;
	margin-inline: -1rem;
	margin-block-end: -1rem;
	padding-inline-end: 1rem;
	align-items: center;
	display: flex;
	justify-content: flex-end
}

.btn-modal-close {
	background: var(--gray);
	margin-block: 1rem
}

.btn-modal-close:hover,
.btn-modal-close:focus {
	background: #555
}

.modal-active {
	overflow: hidden
}

@keyframes fade-in {
	0% {
		opacity: 0;
		transform: scale(0.75)
	}

	100% {
		opacity: 1;
		transform: scale(1)
	}
}

.theme-dark dialog {
	border: 1px solid var(--border-color);
	box-shadow: 0 0 4rem rgba(255, 255, 255, .25)
}

.site-footer {
	padding-block-start: 8rem;
	position: relative
}

.site-footer .logo {
	margin-block-end: 1.65rem
}

.footer-nav-heading,
.footer-nav {
	font-size: .875rem
}

.footer-nav-heading {
	margin-block: 0 .5rem;
	line-height: 1.3
}

.footer-nav-heading a {
	color: var(--primary-color)
}

.footer-nav {
	flex: 1 1 50%;
	display: flex;
	justify-content: space-between;
	padding-block-start: .25em;
	margin-block-end: 1.65rem;
	gap: 1.5rem
}

.footer-nav-item {
	flex: 1 1 33%
}

.footer-nav-item ul {
	line-height: 1.3
}

.footer-nav-item li {
	margin-block-end: .825rem
}

.copyrights {
	font-size: 13px
}

@media(min-width: 56em) {
	.site-footer .content {
		display: flex;
		gap: 2rem
	}

	.site-footer .text {
		flex: 1 1 50%;
		font-size: .875rem
	}

	.footer-nav-heading,
	.footer-nav ul {
		font-size: .8rem
	}

	.site-footer-nav {
		flex: 1 1 50%
	}
}

.stop-transition-on-resize {
	transition: none
}

.site-header {
	padding-block: 1rem 0.15rem;
	position: relative
}

.menu-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap
}

.utilities {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-inline-start: auto
}

.languages ul {
	display: flex;
	align-items: center;
	font-size: 13px;
	letter-spacing: .08rem;
	text-transform: uppercase
}

.languages li {
	margin-inline-end: 1em
}

.languages a {
	padding-block: .5em
}

.languages abbr[title] {
	border: 0;
	cursor: pointer;
	text-decoration: none
}

.theme {
	margin-inline-end: 3rem
}

.icon-theme-light {
	display: none
}

.theme-dark .icon-theme-light {
	display: unset
}

.theme-dark .icon-theme-dark {
	display: none
}

.theme-btn svg:first-child,
.theme-btn svg:last-child {
	margin-inline: 0
}

.theme-btn,
.menu-btn,
.login-btn,
.logout-btn {
	display: flex;
	padding-block: .5em;
	background: rgba(0, 0, 0, 0);
	margin-block: 0
}

.theme-btn:hover,
.theme-btn:focus,
.menu-btn:hover,
.menu-btn:focus,
.login-btn:hover,
.login-btn:focus,
.logout-btn:hover,
.logout-btn:focus {
	background: rgba(0, 0, 0, 0)
}

.theme-btn svg,
.menu-btn svg,
.login-btn svg,
.logout-btn svg {
	/*fill: var(--text-color);*//* = rendre invisible bouton mode sombre*/
	margin-inline: 0;
	align-self: center;
	inline-size: 20px;
	block-size: 20px
}

.theme-btn:hover svg,
.theme-btn:focus svg {
	/*fill: var(--primary-color)*/
}

.theme-btn:active svg {
	fill: var(--text-color)
}

.menu-btn {
	position: absolute;
	z-index: 150
}

.menu-btn .icon-close {
	display: none
}

.menu-btn.is-active .icon-close {
	display: unset
}

.menu-btn.is-active .icon-menu {
	display: none
}

@media(max-width: 48em) {
	#menu {
		background: var(--alpha);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		box-shadow: var(--box-shadow);
		border-radius: .25em;
		border: 1px solid var(--border-color);
		z-index: 10;
		display: none;
		position: absolute;
		inset-block-start: calc(100% + .5rem);
		inset-inline-end: 1rem;
		min-inline-size: max-content;
		padding-inline: 1.5rem 3rem;
		padding-block-start: 1.5rem
	}

	#menu.is-open {
		display: block
	}
}

#menu ul {
	font-weight: bold
}

#menu li {
	margin-inline-end: 1.1rem;
	margin-block-end: 1rem
}

#menu a {
	padding-block: .5em;
	position: relative;
	text-decoration: none
}

#menu a:hover::after,
#menu a:focus::after,
#menu .current::after {
	opacity: 1
}

#menu a:active::after {
	opacity: 0
}

#menu a::after {
	background: var(--primary-color);
	content: "";
	display: block;
	opacity: 0;
	position: absolute;
	inset-block-end: .2em;
	inset-inline-end: 0;
	inset-inline-start: 0;
	block-size: .15em;
	transition: opacity .25s
}

#menu .search a::after {
	display: none
}

#menu .search a:hover svg,
#menu .search a:focus svg {
	fill: var(--primary-color)
}

#menu .search a:active {
	opacity: 1
}

#menu .search svg {
	fill: var(--text-color);
	inline-size: 20px;
	block-size: 20px
}

#menu .search a {
	display: flex
}

@media(min-width: 48em) {
	.menu-wrapper {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 2rem;
		align-items: center
	}

	.brand {
		grid-column: 1/3
	}

	.utilities {
		grid-column: 10/13
	}

	.theme {
		margin-inline-end: 0
	}

	.menu-btn {
		display: none
	}

	#menu {
		grid-column: 3/10;
		grid-row: 1;
		padding-block: 0;
		padding-inline: 0
	}

	#menu ul {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		margin-block-end: 0
	}

	#menu li {
		margin-block-end: 0
	}

	#menu li:last-child {
		margin-inline-end: 0
	}
}

.submenu-heading {
	font-size: .875rem;
	margin-block: 0 .5rem
}

.submenu-heading a {
	text-decoration-color: rgba(0, 0, 0, 0)
}

.submenu-heading a:hover,
.submenu-heading a:focus {
	text-decoration-color: var(--primary-color)
}

.submenu {
	font-size: .7125rem;
	/*text-align: right*/
}

.submenu ul {
	border: solid var(--border-color);
	border-start-start-radius: .25em;
	border-width: 1px 0 0 0px
}

.submenu ul ul {
	border: 0
}

.submenu ul a {
	display: inline-block;
	line-height: 1.3;
	padding-block: .5em;
	padding-inline: 1em .5em;
	text-decoration: none;
	position: relative
}

.submenu ul a:hover,
.submenu ul a:focus {
	background-color: var(--background-color)
}

.submenu ul a:active {
	background-color: var(--background-tint-light)
}

.submenu ul .current {
	background-color: var(--background-color);
	font-weight: bold
}

.submenu .depth-2:first-of-type a {
	border-start-start-radius: .25em
}

.submenu .depth-3 a {
	padding-inline-start: 1.5em
}

.submenu .depth-4 a {
	padding-inline-start: 2em
}

.submenu .depth-5 a {
	padding-inline-start: 2.5em
}

.submenu .depth-6 a {
	padding-inline-start: 3em
}

.submenu .depth-7 a {
	padding-inline-start: 3.5em
}

.submenu .depth-8 a {
	padding-inline-start: 4em
}

.submenu-triangle {
	position: relative;
	inset-block-start: .25em
}

@media(min-width: 48em) {
	.submenu ul a {
		display: block
	}
}

.breadcrumbs ol {
	display: flex;
	flex-wrap: nowrap;
	font-size: .8125rem;
	margin-block-end: 3.3rem;
	text-transform: lowercase;
	overflow-x: hidden;
	white-space: nowrap
}

.breadcrumbs li::after {
	color: var(--primary-color);
	content: "›";
	margin-inline: .35em .5em
}

.breadcrumbs li:last-child::after {
	content: ""
}

.prev-next-page {
	margin-block-start: 4 rem
}

.prev-next-page ul {
	font-size: .825rem;
	display: grid;
	grid-template-columns: 1fr 2rem 1fr;
	column-gap: 1rem;
	margin-block-end: 0
}

.prev-next-page a {
	display: flex;
	align-items: flex-start
}

.prev-next-page .icon {
	fill: var(--primary-color);
	align-self: flex-start;
	padding-block-start: .25em
}

.prev-page {
	grid-column: 1/2;
	inline-size: 100%
}

.prev-page .icon {
	margin-inline-end: .25rem
}

.top-page {
	grid-column: 2/3;
	align-self: center
}

.next-page {
	grid-column: 3/4;
	text-align: end
}

.next-page a {
	justify-content: flex-end
}

.next-page .icon {
	margin-inline-start: .25rem
}

.top a {
	border-radius: 50%;
	color: var(--text-color);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2rem;
	height: 2rem;
	text-decoration: none;
	position: relative;
	inset-block-start: -1rem
}

.pagination {
	margin-block: 1.65rem
}

.pagination ol {
	display: flex;
	gap: .5rem
}

.tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem
}

.tags .btn {
	margin-block-end: .5rem
}

.toc {
	font-size: .875rem
}

.toc ol {
	border-block-start: 1px solid var(--border-color);
	columns: auto 2;
	list-style-type: decimal;
	list-style-position: inside;
	padding-block-start: .5em
}

.toc li {
	margin-block-end: .5em
}

.toc ::marker {
	color: var(--text-color);
	font-weight: normal
}

.toc-heading {
	color: var(--text-color);
	font-size: 1em;
	margin-block: 0 .5em
}

.toc-has-cover {
	aspect-ratio: 3/2;
	background-image: var(--bg-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: .25em
}

.toc-has-cover .toc {
	background: var(--alpha);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	min-block-size: 100%;
	border-end-start-radius: .25em;
	border-start-start-radius: .25em;
	max-inline-size: 50%;
	padding-block: 1rem;
	padding-inline: 1rem 2rem
}

.toc-has-cover ol {
	columns: unset
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle
}

figure {
	border-radius: .25em;
	margin-block: 0 3.65rem;
	margin-inline: 0
}

figure img {
	display: block
}

figure video,
figure audio,
img {
	border: 0;
	border-style: none;
	block-size: auto;
	max-inline-size: 100%;
	aspect-ratio: var(--ar, auto);
	object-fit: var(--fit, contain)
}

.video-block {
	position: relative
}

.video-block video {
	display: block;
	aspect-ratio: 16/9;
	max-inline-size: 100%
}

.video-block iframe {
	aspect-ratio: 16/9;
	border: 0;
	border-radius: .25em;
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain
}

video[poster] {
	object-fit: cover
}

figcaption {
	font-size: .8125rem;
	padding-block-start: .5rem
}

.neg-margin {
	margin-inline: -1rem
}

.neg-margin figcaption {
	padding-inline: 1rem
}

@media(min-width: 48em) {
	.neg-margin {
		margin-inline: 0
	}

	.neg-margin figcaption {
		padding-inline: 0
	}
}

.clearfix::before,
.clearfix::after {
	content: " ";
	display: table
}

.clear,
.clearfix::after {
	clear: both
}

.sr-only,
.visually-hidden {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px
}

.sr-only.focusable:active,
.sr-only.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto
}

.invisible {
	visibility: hidden
}

.hidden {
	display: none !important
}

.meta {
	font-size: .8125rem;
	margin-block-end: 1rem
}

.meta li {
	display: inline-block
}

.meta li::before {
	color: var(--primary-color);
	content: "•";
	margin-inline: .2em
}

.meta li:first-child::before {
	content: "";
	margin-inline: 0
}

.meta .marker svg {
	fill: var(--primary-color);
	inline-size: 1.1rem;
	block-size: 1.1rem
}

.meta .tag a {
	margin-inline: .2em
}

.meta .meta-author span::after {
	content: ","
}

.meta .meta-author span:last-of-type::after {
	content: ""
}

.meta .edited::before {
	content: "| "
}

@media(min-width: 48em) {
	.page-meta {
		position: relative;
		text-align: center
	}

	.page-meta li {
		display: block
	}

	.page-meta li::before {
		content: "";
		margin-inline: 0
	}

	.page-meta .marker {
		margin-block-end: .5rem
	}

	.page-meta::before {
		color: var(--primary-color);
		content: "•";
		display: block;
		margin-inline-start: -10px;
		position: absolute;
		inset-block-start: -1.25rem;
		inset-inline-start: 50%;
		inline-size: 20px
	}

	.page-meta .edited {
		display: block
	}

	.page-meta .edited::before {
		content: ""
	}

	.page-meta.marked::before {
		content: ""
	}
}

.cards {
	display: grid;
	column-gap: 1rem
}

.marker svg {
	fill: var(--primary-color);
	position: relative;
	inset-block-start: -0.1em;
	inline-size: 1em;
	block-size: 1em
}

@media(min-width: 23em) {
	.cards {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr))
	}
}

@media(min-width: 37em) {
	.cards {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		column-gap: 1.5rem
	}
}

.card {
	background-color: #fdecec36;
	box-shadow: var(--box-shadow);
	border-radius: .25em;
	max-width: 400px;
	overflow: hidden;
	padding-block: 0 1rem;
	padding-inline: .75rem .5rem;
	transition: box-shadow .2s ease-out .4s, transform .2s ease-out .3s
}

.card:hover,
.card:active,
.card:focus {
	box-shadow: var(--box-shadow-hover);
	transform: translateY(-3%)
}

.card .link {
	display: flex;
	flex-direction: column;
	block-size: 100%;
	cursor: pointer
}

.card .cover {
	margin-inline: -0.75rem -0.5rem
}

.card .heading {
	color: var(--text-color);
	font-size: 1rem;
	line-height: 1.315;
	margin-block: 1rem .5rem
}

.card .description {
	font-size: .875rem;
	margin-block-end: .825rem
}

.card footer {
	margin-block: auto 0
}

.card .meta {
	margin-block: .5rem 0
}

.card.cover-end {
	padding-block: 0
}

.card.cover-end .cover {
	margin-block-start: auto;
	order: 3
}

.card.cover-end footer {
	order: -3;
	margin-block: 0 .5rem
}

.card.cover-under {
	min-block-size: 12rem;
	padding-block: 1rem 2rem;
	padding-inline: 1.75rem 1.5rem;
	position: relative
}

.card.cover-under .cover {
	position: absolute;
	z-index: 0;
	inset-block: 0 0;
	inset-inline: 0 0
}

.card.cover-under .cover img {
	object-fit: cover;
	inline-size: 100%;
	block-size: 100%
}

.card.cover-under .text,
.card.cover-under footer {
	position: relative;
	z-index: 10
}

.card.cover-under::before {
	background: var(--alpha);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	border-radius: .25em;
	content: "";
	display: block;
	inset-block: 1rem;
	inset-inline: 1rem;
	position: absolute;
	z-index: 1
}

.article-template .cards {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	column-gap: 1rem;
	margin-block-start: 1.65rem
}

.article-template .cards .heading {
	margin-block: .5rem
}

.article-template .cards .heading,
.article-template .cards .text {
	font-size: .875rem;
	line-height: 1.4
}

.article-template .cards .meta {
	font-size: .8125rem;
	margin-block-start: 0
}

.splide .card {
	box-shadow: none;
	transition: none
}

.splide .card:hover,
.splide .card:active,
.splide .card:focus {
	box-shadow: none;
	transform: none
}

.splide a img {
	box-shadow: none;
	transform: scale(1);
	transform-origin: bottom center;
	transition: transform .2s ease-in .2s
}

.splide a:hover img,
.splide a:active img,
.splide a:focus img {
	box-shadow: none;
	transform: scale(1.1)
}

.splide .heading {
	font-size: .875rem;
	margin-block: .5rem
}

.article-list-item {
	margin-block-end: 3.3rem
}

.article-list-item a {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: background-image .3s ease-in-out .2s
}

.article-list-item a:hover .heading-text,
.article-list-item a:active .heading-text,
.article-list-item a:focus .heading-text {
	color: var(--primary-color);
	text-decoration: underline;
	text-decoration-color: var(--text-decoration-color);
	text-decoration-thickness: .07em;
	text-underline-offset: .15em;
	transition: text-decoration .2s
}

.article-list-item .cover img {
	border-radius: .25em
}

.article-list-item .heading {
	font-size: 1.4375rem;
	color: var(--text-color);
	line-height: 1.23;
	margin-block: 1rem .5rem
}

.article-list-item .text,
.article-list-item footer {
	padding-inline: .25rem
}

.article-list-item.cover-end {
	border-block-start: 2px solid var(--border-color);
	padding-block-start: .5rem
}

.article-list-item.cover-end .cover {
	order: 4
}

.article-list-item.cover-end .heading {
	margin-block-start: 0
}

.article-list-item.cover-end footer {
	order: -1
}

@media(min-width: 30em) {
	.article-list-item .link {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-template-rows: min-content 1fr;
		column-gap: 1.65rem
	}

	.article-list-item .cover {
		grid-row: 1/3
	}

	.article-list-item .cover img {
		object-fit: cover;
		inline-size: 100%;
		block-size: 100%
	}

	.article-list-item.cover-start {
		border-block-start: 2px solid var(--border-color);
		padding-block-start: .5rem
	}

	.article-list-item.cover-end .link {
		display: grid;
		grid-template-columns: 2fr 1fr;
		column-gap: 1.65rem;
		grid-auto-flow: row
	}

	.article-list-item.cover-end .cover {
		grid-column: 2/3;
		margin-block-end: 0
	}
}

.icon-list {
	margin-block: 3.3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 16px;
	gap: .825rem
}

.icon-list li {
	align-self: center
}

.icon-list a {
	background-color: var(--background-color);
	border-radius: 50%;
	block-size: 2.5rem;
	inline-size: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color .25s
}

.icon-list a:hover,
.icon-list a:focus {
	background-color: var(--background-tint-dark)
}

.icon-list a:active {
	background-color: var(--background-color)
}

.icon-list svg {
	fill: var(--text-color);
	width: 16px;
	height: 16px
}

.follow-list a {
	background-color: var(--background-tint-light)
}

.follow-list a:hover,
.follow-list a:focus {
	background-color: var(--background-tint-dark)
}

.follow-list a:active {
	background-color: var(--background-tint-light)
}

.author {
	margin-block: 1.65rem;
	padding-block: 1rem;
	padding-inline: 1rem;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: start;
	background: var(--background-color);
	border-radius: .25em;
	font-size: var(--font-size-small)
}

.author-content {
	font-size: .875rem;
	padding-inline-start: 1rem
}

.author-content>:last-child {
	margin-block-end: 0
}

.author-heading {
	margin-block: 0 .5em;
	font-size: 1rem
}

.author-image {
	flex: none
}

.author-image img {
	block-size: 60px;
	inline-size: 60px;
	border-radius: 50%
}

.search-content {
	min-height: 100vw
}

.search-term {
	background-color: var(--background-color);
	border: 1px solid var(--border-color);
	border-radius: .25em;
	color: var(--text-color);
	font-size: 1rem;
	font-family: "Source Sans 3", sans-serif;
	padding-inline: .75rem;
	padding-block: .75rem;
	inline-size: 100%
}

.search-term:focus,
.search-term:hover {
	background-color: var(--background-color)
}

.search-results .result {
	border-block-start: 4px solid var(--border-color);
	padding-block-start: .35em
}

.search-results a {
	color: var(--text-color);
	text-decoration: none
}

.search-results h3 {
	margin-block: 0 .75rem
}

.search-results p {
	font-size: .875rem;
	margin-bottom: .825rem
}

.search-results .cover {
	border-radius: .25em;
	float: right;
	inline-size: 100px;
	margin-inline-start: 1em
}

.search-results .cover img {
	border-radius: .25em
}

.search-results .meta {
	margin-block-end: 0
}

.search-results .meta li::before {
	margin-inline: .2em .5em
}

.search-results .meta li:first-child::before {
	content: "";
	margin-inline: 0
}

@media(min-width: 30em) {
	.search-results .cover {
		inline-size: 125px
	}
}

@media(min-width: 50em) {
	.search-results .cover {
		inline-size: 150px
	}
}

.error-main {
	align-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	height: 100vh;
	justify-content: center
}

.error-content {
	backdrop-filter: blur(4px);
	background-color: var(--alpha);
	border-radius: .25em;
	box-shadow: var(--box-shadow);
	padding-block: 1rem;
	padding-inline: 1rem
}

.error-content h1 {
	margin-block-start: 0
}

.cookie-modal {
	position: fixed;
	z-index: 200;
	inset-block-end: 1rem;
	inset-inline-start: 1rem;
	pointer-events: none
}

.cookie-modal--hidden {
	display: none
}

.cookie-modal__content {
	border: 1px solid rgba(0, 0, 0, 0);
	border-radius: .25em;
	max-width: 25rem;
	padding-inline: 1.65rem;
	padding-block: 1.65rem 2rem;
	box-shadow: var(--box-shadow);
	background-color: var(--background-color);
	pointer-events: auto
}

.cookie-modal__title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.333333;
	margin-block: 0 .75rem
}

.cookie-modal__title span {
	margin-inline-end: .5rem
}

.cookie-modal__text {
	font-size: .875rem;
	line-height: 1.4
}

.cookie-modal__options {
	margin-bottom: 1.65rem;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap
}

.cookie-modal__option {
	font-size: .875rem;
	line-height: 1.4;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	cursor: pointer;
	margin-inline-end: 1rem;
	margin-block-end: 1rem
}

.cookie-modal__option.disabled {
	opacity: .5
}

.cookie-modal__option.disabled svg {
	stroke: var(--background-color)
}

.cookie-modal__checkbox {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	block-size: 1rem;
	border: 2px solid var(--text-color);
	border-radius: .25em;
	display: block;
	flex-shrink: 0;
	inline-size: 1rem;
	margin-inline: 0 .5rem;
	margin-block: 0
}

.cookie-modal__checkbox:checked {
	background-color: var(--text-color)
}

.cookie-modal__checkbox:checked svg {
	stroke: var(--background-color)
}

.cookie-modal__check {
	position: absolute;
	inset-inline-start: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	inline-size: 1rem;
	block-size: 1rem;
	flex-shrink: 0
}

.cookie-modal__check svg {
	stroke: var(--background-color)
}

.cookie-modal__buttons {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start
}

.cookie-modal__button {
	background: var(--button-color);
	display: block;
	font-size: .875rem;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 2rem;
	color: #fff;
	cursor: pointer;
	margin-inline-end: .5rem;
	padding-block: .35em .35em;
	padding-inline: 1em;
	text-decoration: none;
	transition: background-color .25s
}

.cookie-modal__button.primary {
	background: var(--secondary-color)
}

.cookie-modal__button.primary:focus,
.cookie-modal__button.primary:hover {
	background: var(--secondary-color-dark)
}

.cookie-modal__button:focus,
.cookie-modal__button:hover {
	background: var(--primary-color-dark);
	outline: none
}

.cookie-modal__button.hide {
	display: none
}

.theme-dark .cookie-modal__content {
	box-sizing: border-box;
	border: 1px solid var(--border-color)
}

.no-cookie-consent {
	background-color: var(--background-tint-dark);
	border-radius: .25em;
	margin-block-end: 1.65rem;
	padding-block: 1rem;
	padding-inline: 1rem
}

.no-cookie-consent .btn {
	margin-block-end: 1rem
}

.privacy-cookies .edit-cookie,
.privacy-cookies a {
	font-size: .8125rem
}

.privacy-cookies .edit-cookie {
	color: var(--primary-color);
	margin-block: 0;
	margin-inline-start: .5rem;
	padding-inline: 0;
	text-decoration: underline;
	text-decoration-color: var(--primary-color);
	text-decoration-thickness: .07em;
	text-underline-offset: .15em;
	transition: text-decoration-color .2s
}

.privacy-cookies .edit-cookie:hover,
.privacy-cookies .edit-cookie:focus {
	background: none;
	text-decoration-color: rgba(0, 0, 0, 0)
}

.privacy-cookies .edit-cookie:active {
	text-decoration-color: var(--primary-color)
}

.tippy-box[data-animation=fade][data-state=hidden] {
	opacity: 0
}

[data-tippy-root] {
	max-width: calc(100vw - 20px)
}

.tippy-box {
	position: relative;
	background-color: #fff;
	color: #fff;
	border-radius: .25em;
	font-size: 14px;
	line-height: 1.4;
	outline: 0;
	transition-property: transform, visibility, opacity
}

.tippy-box table {
	font-size: 14px;
	margin-block-start: 0
}

.tippy-box code {
	font-size: 12px;
	line-height: 1.4;
	box-sizing: border-box;
	padding-block: 0;
	padding-inline: .25em
}

.tippy-box figure {
	margin-block-end: .5em
}

.tippy-box figcaption {
	font-size: 13px
}

.tippy-box iframe {
	aspect-ratio: 1/1;
	border: 0;
	display: block;
	inline-size: 100%;
	block-size: auto;
	object-fit: cover;
	width: 100%;
	height: 100%
}

.tippy-box[data-placement^=top]>.tippy-arrow {
	inset-block-end: 0
}

.tippy-box[data-placement^=top]>.tippy-arrow::before {
	inset-block-end: -7px;
	inset-inline-start: 0;
	border-width: 8px 8px 0;
	border-top-color: initial;
	transform-origin: center top
}

.tippy-box[data-placement^=bottom]>.tippy-arrow {
	inset-block-start: 0
}

.tippy-box[data-placement^=bottom]>.tippy-arrow::before {
	inset-block-start: -7px;
	inset-inline-start: 0;
	border-width: 0 8px 8px;
	border-bottom-color: initial;
	transform-origin: center bottom
}

.tippy-box[data-placement^=left]>.tippy-arrow {
	inset-inline-end: 0
}

.tippy-box[data-placement^=left]>.tippy-arrow::before {
	border-width: 8px 0 8px 8px;
	border-left-color: initial;
	inset-inline-end: -7px;
	transform-origin: center left
}

.tippy-box[data-placement^=right]>.tippy-arrow {
	inset-inline-start: 0
}

.tippy-box[data-placement^=right]>.tippy-arrow::before {
	inset-inline-start: -7px;
	border-width: 8px 8px 8px 0;
	border-right-color: initial;
	transform-origin: center right
}

.tippy-box[data-inertia][data-state=visible] {
	transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11)
}

.tippy-arrow {
	inline-size: 16px;
	block-size: 16px;
	color: #333
}

.tippy-arrow::before {
	content: "";
	position: absolute;
	border-color: rgba(0, 0, 0, 0);
	border-style: solid
}

.tippy-content {
	position: relative;
	padding-block: 10px 14px;
	padding-inline: 10px;
	z-index: 1
}

.tippy-content ul,
.tippy-content ol {
	padding-inline-start: 1em
}

.tippy-content p,
.tippy-content ul p,
.tippy-content ul,
.tippy-content ol {
	margin-block-end: 0
}

.tippy-content p+ul {
	margin-block-start: 0
}

.tippy-box[data-animation=scale][data-placement^=top] {
	transform-origin: bottom
}

.tippy-box[data-animation=scale][data-placement^=bottom] {
	transform-origin: top
}

.tippy-box[data-animation=scale][data-placement^=left] {
	transform-origin: right
}

.tippy-box[data-animation=scale][data-placement^=right] {
	transform-origin: left
}

.tippy-box[data-animation=scale][data-state=hidden] {
	transform: scale(0.8);
	opacity: 0
}

.tippy-box[data-animation=out][data-state=hidden] {
	opacity: 0
}

.tippy-box[data-animation=out][data-state=hidden][data-placement^=top] {
	transform: translateY(5px)
}

.tippy-box[data-animation=out][data-state=hidden][data-placement^=bottom] {
	transform: translateY(-5px)
}

.tippy-box[data-animation=out][data-state=hidden][data-placement^=left] {
	transform: translateX(5px)
}

.tippy-box[data-animation=out][data-state=hidden][data-placement^=right] {
	transform: translateX(-5px)
}

.tippy-box[data-animation=in][data-state=hidden] {
	opacity: 0
}

.tippy-box[data-animation=in][data-state=hidden][data-placement^=top][data-state=hidden] {
	transform: translateY(-5px)
}

.tippy-box[data-animation=in][data-state=hidden][data-placement^=bottom][data-state=hidden] {
	transform: translateY(5px)
}

.tippy-box[data-animation=in][data-state=hidden][data-placement^=left][data-state=hidden] {
	transform: translateX(-5px)
}

.tippy-box[data-animation=in][data-state=hidden][data-placement^=right][data-state=hidden] {
	transform: translateX(5px)
}

.tippy-box[data-theme=light] {
	color: var(--text-color);
	box-shadow: 0 0 2em rgba(0, 0, 0, .25);
	background-color: var(--background-color)
}

.tippy-box[data-theme=light][data-placement^=top]>.tippy-arrow::before {
	border-top-color: var(--background-color)
}

.tippy-box[data-theme=light][data-placement^=bottom]>.tippy-arrow::before {
	border-bottom-color: var(--background-color)
}

.tippy-box[data-theme=light][data-placement^=left]>.tippy-arrow::before {
	border-left-color: var(--background-color)
}

.tippy-box[data-theme=light][data-placement^=right]>.tippy-arrow::before {
	border-right-color: var(--background-color)
}

.tippy-box[data-theme=light]>.tippy-backdrop {
	background-color: var(--background-color)
}

.tippy-box[data-theme=light]>.tippy-svg-arrow {
	fill: var(--background-color)
}

.theme-dark .tippy-box[data-theme=light] {
	background-color: var(--background-color);
	box-shadow: 0 0 2.5rem rgba(255, 255, 255, .2)
}

.table-wrapper {
	margin-block: 1.65rem;
	overflow-x: auto
}

.table-inner {
	border: 1px solid var(--border-color);
	border-radius: .25em;
	display: inline-block;
	overflow: hidden
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: .875rem;
	line-height: 1.3;
	table-layout: auto;
	text-align: right
}

table ul,
table ol {
	margin-block-end: 0
}

.align-right table {
	text-align: unset
}

caption {
	font-weight: bold;
	font-size: 1rem;
	padding-block: .5rem;
	padding-inline: .5rem;
	text-align: left
}

th {
	word-wrap: break-word
}

th,
td {
	padding-inline: .5rem;
	padding-block: .5rem;
	vertical-align: top
}

td figure {
	display: inline-block;
	margin-block-end: 0
}

thead th:first-child,
[scope=row] {
	text-align: left
}

[scope=row] {
	padding-inline-end: 1rem
}

tr {
	border-block-start: 1px solid;
	border-color: var(--border-color)
}

tbody>tr:last-child>* {
	padding-block-end: 1rem
}

thead tr {
	border-color: var(--border-color)
}

.fz-small table {
	font-size: .8125rem
}

.no-wrap td,
.no-wrap th {
	white-space: nowrap
}

.align-left thead,
.align-left tbody {
	text-align: left
}

.align-center thead,
.align-center tbody {
	text-align: center
}

.zebra-rows tbody tr:nth-child(odd),
.zebra-columns col:nth-child(even) {
	background-color: var(--background-color)
}

.table-bg-image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-inline: -1rem;
	overflow-x: auto
}

.table-bg-image .table-inner {
	background-color: var(--alpha);
	backdrop-filter: blur(4px);
	border: 0;
	border-radius: 0;
	margin-block: 3.3rem;
	margin-inline: 1.65rem
}

.table-bg-image caption {
	background-color: var(--alpha);
	padding-block: .5rem;
	padding-inline: .5rem
}

.table-bg-image th,
.table-bg-image td {
	border-color: var(--border-color)
}

.table-bg-image.zebra-columns col:nth-child(even),
.table-bg-image.zebra-rows tbody tr:nth-child(odd) {
	background-color: var(--alpha)
}

@media(min-width: 48em) {
	.table-bg-image {
		border-radius: .25em;
		margin-inline: 0
	}
}

blockquote {
	background: var(--background-color);
	box-shadow: 0 0 .5em rgba(0, 0, 0, .025);
	margin-block: 1.65rem;
	margin-inline: 0;
	padding-block: 2.25rem 1.65rem;
	padding-inline: 2rem .5rem;
	position: relative
}

blockquote p {
	font-size: 1.15rem
}

blockquote footer {
	font-size: .8125rem
}

blockquote::before,
.quote-inner::before {
	color: var(--text-color);
	content: "“ ";
	font-size: 3rem;
	font-weight: normal;
	line-height: 1;
	position: absolute;
	inset-block-start: .25em;
	inset-inline-start: .3em;
	z-index: 1
}

.quote-inner :last-child {
	margin-block-end: 0
}

.blockquote-column {
	clear: both
}

.blockquote-right,
.blockquote-left {
	border-radius: unset;
	padding-inline-start: 1rem;
	width: 45%
}

.blockquote-right p,
.blockquote-left p {
	font-size: 1rem
}

.blockquote-right {
	border-start-start-radius: .25em;
	border-end-start-radius: .25em;
	border-width: 1px 0 0 1px;
	float: right;
	margin-block: 0 1rem;
	margin-inline: 1rem -1rem
}

.blockquote-left {
	border-start-end-radius: .25em;
	border-end-end-radius: .25em;
	border-width: 1px 1px 0 0;
	float: left;
	margin-block: 0 1rem;
	margin-inline: -1rem 1rem
}

.blockquote-column.has-bg-image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-inline: -1rem;
	margin-block-end: 1.65rem;
	padding-inline: 2rem;
	padding-block: 2rem;
	position: relative
}

.blockquote-column.has-bg-image::before {
	content: ""
}

.blockquote-column.has-bg-image .quote-inner {
	background: var(--alpha);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border-radius: .25em;
	padding-block: 2.25rem 1.65rem;
	padding-inline: 2rem .5rem;
	position: relative;
	z-index: 10
}

.blockquote-column.has-bg-image .quote-inner::before {
	position: absolute;
	inset-block-start: .25em;
	inset-inline-start: .3em;
	z-index: 11
}

@media(min-width: 48em) {
	blockquote {
		border-radius: .25em
	}

	.blockquote-left {
		border-start-start-radius: .25em;
		border-end-start-radius: .25em;
		margin-inline-start: 0
	}

	.blockquote-right {
		border-start-end-radius: .25em;
		border-end-end-radius: .25em;
		margin-inline-end: 0
	}

	.blockquote-column.has-bg-image {
		margin-inline: 0
	}
}

aside {
	background-color: var(--background-color);
	box-shadow: 0 0 .5em rgba(0, 0, 0, .025);
	border-start-start-radius: .25em;
	border-start-end-radius: .25em;
	border-end-start-radius: .25em;
	border-end-end-radius: .25em;
	clear: both;
	font-size: .875rem;
	margin-block: 1.65rem;
	padding-inline: 1rem;
	padding-block: 1rem
}

aside p,
aside figure {
	margin-block-end: .825rem
}

aside h2 {
	margin-block-start: 0
}

aside figcaption {
	font-size: .8125rem
}

aside :last-child {
	margin-block-end: 0
}

.aside-left,
.aside-right {
	margin-block: 0 .5rem;
	width: 45%;
	padding-inline: .5rem;
	padding-block: .5rem
}

.aside-left {
	border-start-start-radius: 0;
	border-end-start-radius: 0;
	float: left;
	margin-inline: -1rem 1rem
}

.aside-right {
	border-start-end-radius: 0;
	border-end-end-radius: 0;
	float: right;
	margin-inline: 1rem -1rem
}

@media(min-width: 48em) {
	.aside-left {
		border-start-start-radius: .25em;
		border-end-start-radius: .25em;
		margin-inline-start: 0
	}

	.aside-right {
		border-start-end-radius: .25em;
		border-end-end-radius: .25em;
		margin-inline-end: 0
	}
}

.accordion {
	border-block-end: 1px solid var(--border-color)
}

.accordion details {
	margin-block-end: 0;
	padding-block-start: 0
}

.accordion summary {
	cursor: pointer;
	position: relative
}

.accordion details>summary {
	list-style: none
}

.accordion details>summary::-webkit-details-marker,
.accordion details>summary::marker {
	display: none
}

.accordion .content {
	padding: 1rem
}

.accordion-header {
	background: var(--background-color);
	color: var(--text-color);
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	margin-block: 0;
	padding-block: .5rem;
	padding-inline: 1rem 3rem
}

.accordion-icon {
	fill: var(--primary-color);
	inset-block-start: .25rem;
	inset-inline: auto .5rem;
	position: absolute;
	transform-origin: center;
	transition: transform .2s ease-in
}

details[open] .accordion-icon {
	transform: rotate(180deg)
}

.ck-video figcaption,
.ck-audio figcaption {
	background-color: var(--alpha);
	backdrop-filter: blur(10px);
	border-start-start-radius: .25em;
	border-start-end-radius: .25em;
	line-height: 1.4;
	margin-block-end: 2rem;
	padding-block: 1rem;
	padding-inline: .5rem;
	text-align: center
}

.ck-video figcaption p,
.ck-audio figcaption p {
	margin-block-end: 0
}

.ck-video .title,
.ck-audio .title {
	color: var(--text-color);
	font-size: 1rem;
	margin-block-end: 0
}

.ck-video {
	display: grid;
	grid-template-rows: repeat(3, auto);
	grid-row: 3;
	aspect-ratio: var(--ar, auto);
	object-fit: var(--fit, cover);
	overflow: hidden;
	position: relative
}

.ck-video video {
	grid-column: 1/3;
	grid-row: 1/4;
	border: 0;
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover
}

.ck-video figcaption {
	grid-column: 1/3;
	grid-row: 1/2;
	opacity: 1;
	transition: opacity .25s linear .3s, transform .35s ease-in .3s;
	z-index: 10
}

.ck-audio {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	aspect-ratio: var(--ar, auto);
	display: flex;
	flex-direction: column
}

.ck-video-controls,
.ck-audio-controls {
	background-color: var(--background-tint-light);
	backdrop-filter: blur(10px);
	color: var(--controls-text);
	border-radius: .25em;
	display: grid;
	align-items: center;
	gap: .5rem;
	margin-block: auto .75rem !important;
	margin-inline: .5rem;
	padding-inline: .5rem;
	padding-block: .35rem
}

.ck-video-controls .ck-timer,
.ck-audio-controls .ck-timer {
	font-size: 13px;
	white-space: nowrap
}

.ck-video-controls .time,
.ck-video-controls .divider,
.ck-audio-controls .time,
.ck-audio-controls .divider {
	display: none
}

.ck-video-controls .ck-volume,
.ck-audio-controls .ck-volume {
	display: none
}

.ck-video-controls {
	grid-row: 3/4;
	grid-column: 1/3;
	grid-template-columns: min-content 4fr min-content min-content min-content;
	transition: opacity .25s linear .3s, transform .35s ease-in .3s;
	z-index: 10
}

video[poster] {
	grid-column: 1/3;
	grid-row: 1/4;
	object-fit: cover
}

.ck-audio-controls {
	grid-template-columns: min-content 2.5fr min-content min-content;
	margin-block-start: auto
}

@container (min-width: 25em) {

	.ck-video-controls .time,
	.ck-video-controls .divider,
	.ck-audio-controls .time,
	.ck-audio-controls .divider {
		display: unset
	}

	.ck-video-controls .ck-volume,
	.ck-audio-controls .ck-volume {
		display: flex
	}

	.ck-video-controls {
		grid-template-columns: min-content 4fr min-content min-content 1.5fr min-content
	}

	.ck-audio-controls {
		grid-template-columns: min-content 2.5fr min-content min-content 1fr
	}
}

.ck-video-is-playing .ck-video-controls {
	transform: translateY(100%);
	opacity: 0
}

.ck-video-is-playing figcaption {
	transform: translateY(-100%);
	opacity: 0
}

.ck-video-is-playing:hover .ck-video-controls.show-me,
.ck-video-is-playing:hover .ck-video-controls,
.ck-video-is-playing:active .ck-video-controls.show-me,
.ck-video-is-playing:active .ck-video-controls {
	transform: translateY(0);
	opacity: 1
}

:fullscreen video {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.ck-media-btn,
.ck-audio-btn {
	background-color: var(--background-color);
	display: flex;
	justify-content: center;
	align-items: center;
	inline-size: 1.5rem;
	block-size: 1.5rem;
	border-radius: 1.5rem;
	padding-inline: 0;
	padding-block: 0
}

.ck-media-btn svg,
.ck-audio-btn svg {
	flex: 0 0 1.125rem;
	fill: var(--controls-text)
}

.ck-media-btn:hover svg,
.ck-audio-btn:hover svg {
	fill: var(--primary-color)
}

.theme-dark .ck-media-btn {
	background-color: #111
}

.ck-btn-play-pause.is-active .icon-play,
.ck-btn-play-pause:not(.is-active) .icon-pause {
	display: none
}

.ck-btn-mute.is-active .icon-volume-on,
.ck-btn-mute:not(.is-active) .icon-volume-off {
	display: none
}

.ck-video-is-playing .ck-btn-mute.is-active svg,
.ck-audio-is-playing .ck-btn-mute.is-active svg {
	animation: pulsate-background 2.5s infinite
}

@keyframes pulsate-background {
	0% {
		opacity: 1
	}

	50% {
		opacity: .6
	}

	100% {
		opacity: 1
	}
}

.ck-progress {
	block-size: 5px;
	cursor: pointer;
	position: relative
}

.ck-progress-bar {
	background-color: var(--background-tint-dark);
	block-size: inherit;
	border-radius: 5px
}

.ck-progress-bar::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0 auto 0 0;
	background-color: var(--primary-color);
	border-radius: inherit;
	inline-size: var(--progress-width, 0);
	transition: inline-size .1s linear;
	z-index: 1
}

.ck-volume-slider {
	background-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	inline-size: 100%;
	appearance: none;
	-webkit-appearance: none
}

.ck-volume-slider:focus {
	outline: none
}

.ck-volume-slider::-moz-range-thumb {
	background-color: var(--background-color);
	border: 2px solid var(--primary-color);
	border-radius: 10px;
	block-size: 10px;
	inline-size: 10px
}

.ck-volume-slider::-moz-range-progress,
.ck-volume-slider::-moz-range-track {
	background-color: var(--primary-color);
	border: none;
	block-size: 5px;
	border-radius: 5px
}

.ck-volume-slider::-moz-range-track {
	background-color: var(--background-tint-dark)
}

.ck-volume-slider:hover::-moz-range-thumb,
.ck-volume-slider:focus::-moz-range-thumb,
.ck-volume-slider:active::-moz-range-thumb {
	background-color: var(--primary-color-light)
}

.ck-volume-slider::-webkit-slider-thumb {
	background-color: var(--background-color);
	border: 2px solid var(--primary-color);
	border-radius: 14px;
	block-size: 16px;
	inline-size: 16px;
	margin-block-start: -5px;
	-webkit-appearance: none
}

.ck-volume-slider::-webkit-slider-runnable-track {
	background-color: var(--primary-color);
	border: none;
	block-size: 5px;
	border-radius: 5px
}

.ck-volume-slider:hover::-webkit-slider-thumb,
.ck-volume-slider:focus::-webkit-slider-thumb,
.ck-volume-slider:active::-webkit-slider-thumb {
	background-color: var(--primary-color-light)
}

.icon-block {
	aspect-ratio: var(--ar, auto);
	background: var(--primary-color-light);
	border-radius: .25em;
	display: flex;
	justify-content: space-between;
	margin-block: 3.3rem;
	max-inline-size: 100%;
	padding-inline: 1rem;
	padding-block: 1.65rem;
	position: relative
}

.icon-block .icon svg {
	fill: var(--primary-color);
	block-size: 1.5rem;
	inline-size: 1.5rem
}

.icon-block .icon-inner {
	align-items: center;
	background: var(--background-tint-light);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	block-size: 2.75rem;
	border-radius: 50%;
	display: flex;
	inline-size: 2.75rem;
	justify-content: center
}

.icon-block .content :last-child {
	margin-block-end: 0
}

.icon-block h2:first-of-type {
	margin-block-start: 0
}

.multi-cols .icon-block {
	aspect-ratio: auto !important
}

.icon-blocks-secondary .icon svg {
	fill: var(--secondary-color)
}

.ib-content-wrapper {
	display: flex;
	flex-direction: column;
	inline-size: 100%
}

.ib-content-wrapper.icon-center {
	align-items: center;
	text-align: center
}

.ib-content-wrapper.icon-center .content {
	margin-block-start: 1rem
}

.ib-content-wrapper.icon-left .content {
	margin-block-start: 1rem
}

.ib-content-wrapper.icon-right {
	align-items: flex-end
}

.content-center .ib-content-wrapper {
	margin-block: auto
}

.content-start .ib-content-wrapper {
	margin-block-end: auto
}

.content-end .ib-content-wrapper {
	margin-block-start: auto
}

.icon-block.has-bg-image img {
	border-radius: .25em;
	position: absolute;
	inset: 0;
	object-fit: cover;
	block-size: 100%;
	inline-size: 100%
}

.icon-block.has-bg-image .content {
	background: var(--alpha);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	border-radius: .25em;
	margin-block-start: 1rem;
	padding-inline: 1rem;
	padding-block: 1rem
}

.theme-dark .icon-block.has-bg-image img {
	filter: brightness(0.9)
}

.grid-column .icon-block {
	block-size: 100%;
	margin-block: 0
}

.kt-icon {
	display: inline-block
}

.kt-icon a {
	text-decoration: none
}

.kt-icon svg {
	fill: var(--primary-color);
	margin-inline: .15em;
	position: relative;
	top: -0.125em
}

.kt-icon.btn svg {
	fill: #fff
}

.kt-icon.btn:hover svg,
.kt-icon.btn:focus svg,
.kt-icon.btn:active svg {
	fill: #fff
}

.icon-s svg {
	block-size: .875rem;
	inline-size: .875rem
}

.icon-m svg {
	block-size: 1.25rem;
	inline-size: 1.25rem
}

.icon-l svg {
	block-size: 1.5rem;
	inline-size: 1.5rem
}

.icon-xl svg {
	block-size: 2rem;
	inline-size: 2rem
}

.icon-xxl svg {
	block-size: 2.5rem;
	inline-size: 2.5rem
}

.list.has-mark ul ::marker {
	content: var(--mark);
	font-family: system-ui;
	font-weight: 500
}

.list.has-mark ul li {
	padding-inline-start: .5rem
}

.list.no_marbs ul,
.list.no_marbs ol {
	margin-block-start: -1.65rem
}

.list.no_marbs ul ul,
.list.no_marbs ul ol,
.list.no_marbs ol ol,
.list.no_marbs ol ul {
	margin-block: 0
}

.list.spacing li {
	margin-block-end: .5rem
}

.list.spacing ul ul,
.list.spacing ul ol,
.list.spacing ol ol,
.list.spacing ol ul {
	margin-block-start: .5rem
}

.list.spacing>ul {
	margin-block-end: 2.475rem
}

.list.spacing.no_marbs>ul,
.list.spacing.no_marbs>ol {
	margin-block-start: -1rem
}

.list.small ul,
.list.small ol {
	font-size: .875rem
}

.gallery {
	display: grid;
	gap: .4rem;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	margin-block: 1.65rem;
	text-align: center
}

.gallery a {
	cursor: zoom-in;
	display: block;
	text-decoration: none;
	opacity: 1;
	position: relative;
	transition: opacity .25s
}

.gallery a:hover img,
.gallery a:focus img {
	transform: scale(1.1)
}

.gallery a:active img {
	transform: scale(1)
}

.gallery figure {
	overflow: hidden
}

.gallery img {
	transition: transform .25s ease-in .25s;
	transform-origin: center bottom
}

.gallery figcaption {
	font-size: .8125rem;
	line-height: 1.4;
	padding-inline: .5em;
	padding-block-end: .5em
}

.gallery p {
	margin-block-end: 0
}

.spotlight a,
.lightbox-img>a {
	cursor: zoom-in;
	display: block;
	position: relative
}

.spotlight.expand-icon::after,
.lightbox-img.expand-icon::after {
	background: #fff;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiMwMDAwMDAiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIvPjxwb2x5Z29uIHBvaW50cz0iMjEsMTEgMjEsMyAxMywzIDE2LjI5LDYuMjkgNi4yOSwxNi4yOSAzLDEzIDMsMjEgMTEsMjEgNy43MSwxNy43MSAxNy43MSw3LjcxIi8+PC9zdmc+");
	background-repeat: no-repeat;
	background-size: .75em;
	background-position: center;
	border-radius: .2em;
	block-size: 1em;
	content: "";
	inline-size: 1em;
	inset-block-end: .25em;
	inset-inline-end: .25em;
	transition: opacity .25s ease-in;
	opacity: .75;
	position: absolute;
	z-index: 1
}

.expand-icon:hover::after {
	opacity: 1
}

.gallery-panel {
	background-color: var(--background-color);
	box-shadow: 0 0 .5em rgba(0, 0, 0, .05);
	border-radius: .25em;
	margin-inline: -0.5rem;
	padding-block: .5rem;
	padding-inline: .5rem
}

@media(min-width: 56em) {
	.gallery-panel {
		margin-inline: 0
	}
}

@keyframes splide-loading {
	0% {
		transform: rotate(0)
	}

	to {
		transform: rotate(1turn)
	}
}

.splide__track--draggable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
	margin: 0 !important;
	opacity: 0;
	z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
	opacity: 1;
	z-index: 1
}

.splide--rtl {
	direction: rtl
}

.splide__track--ttb>.splide__list {
	display: block
}

.splide__container {
	box-sizing: border-box;
	position: relative
}

.splide__list {
	backface-visibility: hidden;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
	display: block
}

.splide__pagination {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0;
	pointer-events: none
}

.splide__pagination li {
	display: inline-block;
	line-height: 1;
	list-style-type: none;
	margin: 0;
	pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
	display: none
}

.splide__progress__bar {
	width: 0
}

.splide {
	position: relative;
	visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
	visibility: visible
}

.splide__slide {
	backface-visibility: hidden;
	box-sizing: border-box;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	list-style-type: none !important;
	margin: 0;
	position: relative
}

.splide__slide img {
	vertical-align: bottom
}

.splide__spinner {
	animation: splide-loading 1s linear infinite;
	border: 2px solid #999;
	border-left-color: rgba(0, 0, 0, 0);
	border-radius: 50%;
	bottom: 0;
	contain: strict;
	display: inline-block;
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px
}

.splide__sr {
	clip: rect(0 0 0 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
	display: none
}

.splide__toggle.is-active .splide__toggle__pause {
	display: inline
}

.splide__track {
	overflow: hidden;
	position: relative;
	z-index: 0
}

.splide {
	--splide-progress-bar: var(--primary-color);
	--splide-pagination: #999;
	--splide-pagination-active: #333;
	--splide-slide-active: #000
}

.theme-dark .splide {
	--splide-pagination: #828282;
	--splide-pagination-active: #eee;
	--splide-slide-active: #fff
}

.splide__container {
	box-sizing: border-box;
	position: relative
}

.splide__list {
	backface-visibility: hidden;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
	display: block
}

.splide__pagination {
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0;
	pointer-events: none
}

.splide__pagination li {
	display: inline-block;
	line-height: 1;
	list-style-type: none;
	margin: 0;
	pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
	display: none
}

.splide__progress__bar {
	width: 0
}

.splide {
	position: relative;
	visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
	visibility: visible
}

.splide__slide {
	backface-visibility: hidden;
	box-sizing: border-box;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	list-style-type: none !important;
	margin: 0;
	position: relative
}

.splide__slide img {
	vertical-align: bottom
}

.splide__spinner {
	animation: splide-loading 1s linear infinite;
	border: 2px solid #999;
	border-left-color: rgba(0, 0, 0, 0);
	border-radius: 50%;
	bottom: 0;
	contain: strict;
	display: inline-block;
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px
}

.splide__sr {
	clip: rect(0 0 0 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
	display: none
}

.splide__toggle.is-active .splide__toggle__pause {
	display: inline
}

.splide__track {
	overflow: hidden;
	position: relative;
	z-index: 0
}

@keyframes splide-loading {
	0% {
		transform: rotate(0)
	}

	to {
		transform: rotate(1turn)
	}
}

.splide__track--draggable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
	margin: 0 !important;
	opacity: 0;
	z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
	opacity: 1;
	z-index: 1
}

.splide--rtl {
	direction: rtl
}

.splide__track--ttb>.splide__list {
	display: block
}

.splide__arrow {
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 1.75rem;
	cursor: pointer;
	display: -ms-flexbox;
	display: flex;
	height: 1.75rem;
	-ms-flex-pack: center;
	justify-content: center;
	opacity: .7;
	padding: 0;
	position: absolute;
	top: 1.375rem;
	transform: translateY(-50%);
	transition: opacity .25s;
	width: 1.75rem;
	z-index: 1
}

.splide__arrow svg {
	fill: #000;
	height: 1rem;
	width: 1rem
}

.splide__arrow:hover:not(:disabled) {
	opacity: .8
}

.splide__arrow:disabled {
	opacity: .3
}

.splide__arrow--prev {
	left: .5em
}

.splide__arrow--prev svg {
	transform: scaleX(-1)
}

.splide__arrow--next {
	right: .5rem
}

.theme-dark .splide__arrow {
	opacity: .6
}

.splide__pagination {
	padding: 0 1em;
	z-index: 1
}

.splide__pagination__page {
	background: var(--splide-pagination);
	border: 0;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	margin: 4px;
	opacity: .7;
	padding: 0;
	position: relative;
	transition: transform .2s linear;
	width: 8px
}

.splide__pagination__page.is-active {
	background: var(--splide-pagination-active);
	transform: scale(1.3);
	z-index: 1
}

.splide__pagination__page:hover {
	cursor: pointer;
	opacity: .9
}

.splide__progress__bar {
	background: var(--splide-progress-bar);
	border-radius: .25em;
	height: 3px;
	position: absolute;
	top: -5px
}

.splide__slide {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__toggle-wrapper {
	display: flex;
	justify-content: center;
	margin-block-start: .5rem
}

.splide__toggle {
	background: var(--background-color);
	block-size: 2rem;
	border-radius: 2rem;
	border: none;
	box-shadow: 0 0 .5em rgba(0, 0, 0, .05);
	cursor: pointer;
	inline-size: 2rem;
	text-align: center;
	transition: box-shadow .25s ease-in
}

.splide__toggle svg {
	fill: var(--text-color);
	position: relative
}

.splide__toggle:hover,
.splide__toggle:focus {
	background: var(--background-color);
	box-shadow: 0 0 .75em rgba(0, 0, 0, .2)
}

.splide__track--nav>.splide__list>.splide__slide {
	border: 3px solid rgba(0, 0, 0, 0);
	cursor: pointer;
	opacity: .666;
	transition: opacity .25s
}

.splide__track--nav>.splide__list>.splide__slide:hover,
.splide__track--nav>.splide__list>.splide__slide:focus {
	opacity: 1
}

.theme-dark .splide__track--nav>.splide__list>.splide__slide {
	opacity: .555
}

.theme-dark .splide__track--nav>.splide__list>.splide__slide:hover,
.theme-dark .splide__track--nav>.splide__list>.splide__slide:focus {
	opacity: 1
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
	border: 3px solid var(--splide-slide-active);
	opacity: 1
}

.splide__arrows--rtl .splide__arrow--prev {
	left: auto;
	right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
	transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
	left: 1em;
	right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
	transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
	left: 50%;
	transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
	top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
	transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
	bottom: 1em;
	top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
	transform: rotate(90deg)
}

.splide__pagination--ttb {
	bottom: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	left: auto;
	padding: 1em 0;
	right: .5em;
	top: 0
}

.navigation-slider figure {
	margin-block-end: .5rem
}

.navigation-nav-slider .splide__slider {
	margin-block-end: 1.65rem
}

.navigation-nav-slider img,
.navigation-slider img {
	border-radius: .25em
}

.splide figcaption {
	text-align: center
}

.carousel-slider figure,
.caption-slider figure {
	margin-block-end: 0;
	overflow: hidden
}

.carousel-slider img,
.caption-slider img {
	border-radius: .25em
}

.caption-slider figure {
	overflow: hidden;
	position: relative
}

.caption-slider figcaption {
	background-color: var(--alpha);
	line-height: 1.4;
	position: absolute;
	z-index: 10;
	transition: transform .35s ease-in;
	transform: translateZ(0);
	will-change: transform
}

.caption-slider figcaption .caption-inner {
	opacity: 0;
	transition: opacity .3s ease-in .3s
}

.caption-slider figcaption h2,
.caption-slider figcaption h3 {
	color: var(--text-color);
	font-size: 1rem;
	margin-block: 0 .5rem
}

.caption-slider figcaption .caption-text {
	font-size: .875rem;
	opacity: 0;
	transition: opacity .3s ease-in .6s
}

.caption-slider figcaption .caption-text p:last-child {
	margin-block-end: 1rem
}

.caption-slider .is-active .caption-inner,
.caption-slider .is-active .caption-text {
	opacity: 1
}

.caption-block-start figcaption {
	inset-inline: 0;
	inset-block-start: 0;
	transform: translateY(-100%);
	border-start-start-radius: .25em;
	border-start-end-radius: .25em
}

.caption-block-start .is-active figcaption {
	transform: translateY(0)
}

.caption-block-end figcaption {
	inset-inline: 0;
	inset-block-end: 0;
	transform: translateY(100%);
	border-end-start-radius: .25em;
	border-end-end-radius: .25em
}

.caption-block-end .is-active figcaption {
	transform: translateY(0)
}

.caption-inline-start figcaption {
	inset-inline-start: 0;
	inset-block: 0;
	transform: translateX(-100%);
	max-inline-size: 50%;
	border-start-start-radius: .25em;
	border-end-start-radius: .25em
}

.caption-inline-start .is-active figcaption {
	transform: translateX(0)
}

.caption-inline-end figcaption {
	inset-inline-end: 0;
	inset-block: 0;
	transform: translateX(100%);
	max-inline-size: 50%;
	border-start-end-radius: .25em;
	border-end-end-radius: .25em
}

.caption-inline-end .is-active figcaption {
	transform: translateX(0)
}

@media(min-width: 30em) {

	.caption-slider figcaption h2,
	.caption-slider figcaption h3 {
		font-size: 1.125rem
	}

	.caption-slider figcaption .caption-text {
		font-size: 1rem
	}

	.caption-inline-start figcaption,
	.caption-inline-end figcaption {
		padding-block-start: 1.65rem;
		max-inline-size: 33%
	}
}

.gmap,
.gmap-custom,
.no-apiKey {
	border: 1px solid var(--border-color);
	border-radius: .25em;
	display: block;
	margin-block: 1.65rem;
	max-width: 100%;
	aspect-ratio: var(--aspect-ratio, 3/2)
}

.gmap iframe {
	border: 0;
	width: 100%;
	height: 100%;
	object-fit: contain
}

.no-apiKey {
	color: var(--primary-color);
	display: flex;
	font-size: .875rem;
	font-style: italic;
	justify-content: center;
	align-items: center
}

.theme-dark .gm-style-iw-d {
	--text-color: #111;
	color: var(--text-color) !important
}

.theme-dark .gm-style-iw-d a {
	--primary-color: hsl(220, 80%, 45%);
	color: var(--primary-color);
	text-decoration-color: var(--primary-color)
}