body {
	font-family: var(--fy-font-family);
}

body :is(h1, h2, h3, .uk-h1, .uk-h2, .uk-h3, .uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-xlarge, .uk-heading-2xlarge, .el-title) {
	font-family: var(--fy-font-family-heading);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-title);
}

body :is(.uk-card-title, .el-title) {
	font-weight: var(--fy-font-weight-card-title);
}

body :is(.uk-button, button, input[type="button"], input[type="submit"]) {
	font-family: var(--fy-font-family);
	font-weight: var(--fy-font-weight-button);
	letter-spacing: var(--fy-letter-spacing-button);
	line-height: 1.1;
}

body :is(.uk-navbar-nav > li > a, .uk-nav > li > a) {
	font-family: var(--fy-font-family);
	font-weight: var(--fy-font-weight-navigation);
	letter-spacing: var(--fy-letter-spacing-nav);
}

body :is(.uk-navbar-toggle, .uk-navbar-toggle-icon, .tm-header-mobile .uk-navbar-toggle, .tm-header-mobile .uk-icon) {
	color: var(--4yt-nav-toggle-color);
	opacity: 1;
}

body :is(.uk-navbar-toggle, .tm-header-mobile .uk-navbar-toggle) {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	position: relative;
	z-index: 1000;
}

body :is(.uk-navbar-toggle svg, .uk-navbar-toggle-icon svg, .tm-header-mobile .uk-navbar-toggle svg) {
	display: block;
	height: 24px;
	width: 24px;
}

body :is(.uk-navbar-toggle:hover, .uk-navbar-toggle:focus, .uk-navbar-toggle[aria-expanded="true"]) {
	color: var(--4yt-nav-mobile-accent);
	opacity: 1;
}

body :is(.uk-navbar-toggle:focus-visible, .uk-offcanvas-close:focus-visible, .uk-nav a:focus-visible) {
	border-radius: var(--fy-radius-sm);
	box-shadow: 0 0 0 3px var(--4yt-nav-mobile-focus);
	outline: 2px solid transparent;
	outline-offset: 3px;
}

body :is(.tm-header-mobile, .uk-navbar-container) {
	z-index: 990;
}

body .tm-header-mobile .uk-navbar {
	align-items: center;
	min-height: 64px;
	padding-inline: clamp(1.125rem, 5vw, 1.5rem);
}

body .tm-header-mobile :is(.uk-logo, .uk-logo img) {
	max-height: 46px;
	width: auto;
}

body .uk-offcanvas {
	z-index: 1200;
}

body .uk-offcanvas-overlay::before {
	background: var(--4yt-nav-mobile-overlay);
}

body .uk-offcanvas-bar {
	background: var(--4yt-nav-mobile-bg);
	box-shadow: 24px 0 80px rgb(0 0 0 / 0.32);
	color: var(--4yt-nav-mobile-text);
	font-family: var(--fy-font-family);
	max-width: min(30rem, 100vw);
	overflow-y: auto;
	padding: clamp(1.5rem, 6vw, 2rem);
	width: min(90vw, 30rem);
	-webkit-overflow-scrolling: touch;
}

body .uk-offcanvas-flip .uk-offcanvas-bar {
	box-shadow: -24px 0 80px rgb(0 0 0 / 0.32);
}

body .uk-offcanvas-bar :is(a, .uk-link, .uk-nav a) {
	color: var(--4yt-nav-mobile-text);
	opacity: 1;
	text-decoration: none;
}

body .uk-offcanvas-bar :is(a:hover, a:focus, .uk-nav a:hover, .uk-nav a:focus) {
	color: var(--4yt-nav-mobile-hover);
}

body .uk-offcanvas-bar :is(.uk-active > a, a[aria-current="page"], .uk-nav .uk-active > a) {
	color: var(--4yt-nav-mobile-accent);
	font-weight: 500;
}

body .uk-offcanvas-bar :is(.uk-nav-header, .uk-nav-subtitle, .uk-nav-divider + li > a) {
	color: var(--4yt-nav-mobile-accent);
	font-size: var(--fy-font-size-xs);
	font-weight: 500;
	letter-spacing: var(--fy-letter-spacing-label);
	line-height: 1.2;
	text-transform: uppercase;
}

body .uk-offcanvas-bar .uk-nav > li > a {
	align-items: center;
	color: var(--4yt-nav-mobile-text);
	display: flex;
	font-size: 1.08rem;
	font-weight: 500;
	letter-spacing: var(--fy-letter-spacing-nav);
	line-height: 1.25;
	min-height: 44px;
	padding-block: 0.72rem;
}

body .uk-offcanvas-bar .uk-nav-sub {
	margin-block: 0.25rem 0.65rem;
	padding-left: 1rem;
}

body .uk-offcanvas-bar .uk-nav-sub a {
	align-items: center;
	color: var(--4yt-nav-mobile-muted);
	display: flex;
	font-size: var(--fy-font-size-base);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.35;
	min-height: 40px;
	padding-block: 0.48rem;
}

body .uk-offcanvas-bar .uk-nav-sub a:hover,
body .uk-offcanvas-bar .uk-nav-sub a:focus,
body .uk-offcanvas-bar .uk-nav-sub .uk-active > a {
	color: var(--4yt-nav-mobile-hover);
}

body .uk-offcanvas-bar :is(.uk-parent > a, .uk-nav-parent-icon > .uk-parent > a) {
	gap: var(--fy-space-2);
	justify-content: space-between;
}

body .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
	color: var(--4yt-nav-mobile-muted);
	opacity: 1;
}

body .uk-offcanvas-bar .uk-offcanvas-close {
	align-items: center;
	color: var(--4yt-nav-close-color);
	display: inline-flex;
	height: 44px;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	opacity: 1;
	right: 1rem;
	top: 1rem;
	width: 44px;
	z-index: 2;
}

body .uk-offcanvas-bar .uk-offcanvas-close svg {
	height: 24px;
	width: 24px;
}

body .uk-offcanvas-bar .uk-offcanvas-close:hover,
body .uk-offcanvas-bar .uk-offcanvas-close:focus {
	color: var(--4yt-nav-mobile-hover);
	opacity: 1;
}

@media (max-width: 480px) {
	body .uk-offcanvas-bar {
		max-width: 100vw;
		width: 100vw;
	}

	body .tm-header-mobile .uk-navbar {
		min-height: 60px;
	}

	body .tm-header-mobile :is(.uk-logo, .uk-logo img) {
		max-height: 40px;
	}
}

.fy-frontend {
	background: var(--fy-color-bg);
	color: var(--fy-color-text);
	font-family: var(--fy-font-family);
	line-height: var(--fy-line-height);
}

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

.fy-frontend h1,
.fy-frontend h2,
.fy-frontend h3,
.fy-frontend h4 {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
}

.fy-frontend a {
	color: var(--fy-color-link);
	transition: color var(--fy-transition-fast);
}

.fy-frontend a:hover {
	color: var(--fy-color-link-hover);
}

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

.fy-frontend .fy-section {
	margin-block: var(--fy-space-12);
}

.fy-frontend .fy-section--tight {
	margin-block: var(--fy-space-8);
}

.fy-frontend .fy-section--dark {
	background: var(--fy-color-bg-dark);
	color: #eef4f7;
}

.fy-frontend .fy-section--warm {
	background: var(--fy-color-surface-soft);
}

@media (max-width: 767px) {
	.fy-frontend .fy-section {
		margin-block: var(--fy-space-8);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fy-frontend *,
	.fy-frontend *::before,
	.fy-frontend *::after {
		animation-duration: 1ms !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}
}
