/*
Theme Name: Natallia Miniatures
Theme URI: https://natallia-spiavatskaya.art/
Author: Natallia Spiavatskaya
Description: Motyw dla pracowni malowania figurek Natallii Spiavatskiej – wierne odwzorowanie strony z Kopage (fioletowa paleta, pełnoekranowy hero, ukośne separatory sekcji, galeria i formularz kontaktowy). Bazuje na Bootstrap 5.3.3, Font Awesome 6.5.2 i AOS 2.3.4, tak jak oryginał.
Version: 2.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: natallia-miniatures
*/

/* ---------- Palette & fonts (from the live site's theme settings) ---------- */
:root {
	--color1: #693668;
	--color1_rgb: 105, 54, 104;
	--color1_25: #dacdd9;
	--color1_50: #b49bb4;
	--color1_75: #8f688e;
	--color1_125: #4f294e;
	--color1_150: #351b34;
	--color1_175: #1a0e1a;
	--color2: #1b1b3a;
	--font1: "ABeeZee";
	--font2: "Actor";
	--header-h: 103px;
}

/* ---------- Base ---------- */
html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizelegibility;
	word-wrap: break-word;
}

#website {
	overflow-x: clip;
	/* AOS slide-in elements start off-canvas */
	font-family: var(--font2), sans-serif;
	font-size: 1.1rem;
	letter-spacing: -0.02em;
	color: rgba(0, 0, 0, 0.5);
}

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

a {
	color: var(--color1);
}

#website h1,
#website h2,
#website h3 {
	font-family: var(--font2), sans-serif;
	margin-top: 10px;
	margin-bottom: 10px;
}

#website h4,
#website h5,
#website h6 {
	font-family: var(--font1), sans-serif;
}

#website h1,
#website h2,
#website h3,
#website h4,
#website h5,
#website h6 {
	font-weight: 700;
	letter-spacing: -0.03em;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 0.6rem 1rem;
	background: #fff;
	color: var(--color1);
}

.btn {
	font-family: var(--font2), sans-serif;
}

.btn-primary {
	--bs-btn-bg: var(--color1);
	--bs-btn-border-color: var(--color1);
	--bs-btn-hover-bg: var(--color1_125);
	--bs-btn-hover-border-color: var(--color1_125);
	--bs-btn-active-bg: var(--color1_150);
	--bs-btn-active-border-color: var(--color1_150);
	--bs-btn-focus-shadow-rgb: var(--color1_rgb);
	--bs-btn-disabled-bg: var(--color1);
	--bs-btn-disabled-border-color: var(--color1);
}

/* ---------- Header (fixed, transparent over the hero) ---------- */
#header {
	z-index: 65405;
}

#headerMenu {
	position: fixed;
	z-index: 65405;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	padding: 30px;
	background: rgba(0, 0, 0, 0.11);
	box-shadow: 0 0.4375rem 1.8125rem 0 rgba(0, 0, 0, 0.09);
	transition: background 0.3s ease;
}

body.admin-bar #headerMenu {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar #headerMenu {
		top: 46px;
	}
}

/* Once the page is scrolled the nav uses the live site's 11% shade. The open mobile menu keeps its
   own dark background (see the max-width: 991.98px block) so links stay readable. */
#headerMenu.is-scrolled:not(:has(.menuNav.is-open)) {
	background: rgba(0, 0, 0, 0.11) !important;
	background-color: rgba(0, 0, 0, 0.11) !important;
}

#headerMenu .container {
	max-width: inherit;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.logoHolder {
	padding: 0;
	white-space: nowrap;
	line-height: 1;
}

.logoHolder a {
	display: block;
	padding: 0;
	margin: 0;
	text-decoration: none;
	line-height: 1;
}

.logoHolder .logoContents {
	display: flex;
	align-items: center;
	min-height: 40px;
	font-family: var(--font2), sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: rgb(255, 255, 255);
	letter-spacing: -1px;
}

.menuNav {
	display: flex;
}

.menuHolder {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--font2), sans-serif;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.menuHolder li {
	display: inline-block;
	padding: 0;
	margin: 0;
}

.menuHolder li a {
	display: inline-block;
	margin: 0 0 0 15px;
	padding: 5px 0;
	font-size: 17px;
	line-height: 1;
	color: #ffffff;
	text-transform: uppercase;
	text-decoration: none;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
	border: solid transparent;
	border-width: 0 0 2px 0;
	border-radius: 0;
	transition: 0.2s all;
}

.menuHolder li.active a,
.menuHolder li a:hover,
.menuHolder li.current-menu-item a {
	color: #fff;
	border-color: #fff;
}

.menuHolder li.accent1 a,
.menuHolder li.accent1.active a {
	font-size: 15px;
	color: rgb(84, 84, 84);
	background: #fff;
	padding: 10px;
	margin: 0 0 0 30px;
	border-radius: 5px;
	border: 0 solid transparent;
}

.menuHolder li.accent1.active a,
.menuHolder li.accent1 a:hover {
	color: #000;
	background: #fff;
}

.menuHolder li.topmenuSocial {
	margin: 0 9px 0 13px;
}

.menuHolder li.topmenuSocial a {
	opacity: 0.8;
}

.menuHolder li.topmenuSocial>span {
	margin-top: 0;
}

.menuHolder li.topmenuSocial a {
	color: #fff;
	border-width: 0;
	padding: 5px 0;
}

.menuHolder li.topmenuSocial a:hover {
	border-width: 0;
	opacity: 0.8;
}

.menuToggle {
	display: none;
	background: none;
	border: 0;
	padding: 4px 8px;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.menuClose {
	display: none;
}

@media (max-width: 991.98px) {
	#headerMenu {
		padding: 20px 18px;
	}

	#headerMenu .container {
		flex-wrap: wrap;
		flex-direction: row-reverse;
	}

	.logoHolder .logoContents {
		font-size: 22px;
	}

	.menuToggle {
		display: block;
		min-width: 44px;
		min-height: 44px;
	}

	/* Dedicated slide-in drawer: light panel on the left, dimmed page behind it. */
	.menuNav {
		display: flex;
		flex-direction: column;
		position: fixed;
		z-index: 65410;
		top: 0;
		left: 0;
		right: auto;
		bottom: 0;
		width: min(86vw, 360px);
		padding: 20px 24px 32px;
		overflow-y: auto;
		background: #fff;
		color: #1a0e1a;
		box-shadow: none;
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform 0.3s ease, visibility 0s linear 0.3s, box-shadow 0.3s ease;
	}

	.menuNav.is-open {
		visibility: visible;
		transform: translateX(0);
		box-shadow: 0 0 0 100vmax rgba(26, 14, 26, 0.5);
		transition: transform 0.6s ease, visibility 0s, box-shadow 0.6s ease;
	}

	body.admin-bar .menuNav {
		top: 46px;
	}

	.menuClose {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 12px;
		right: 16px;
		width: 44px;
		height: 44px;
		padding: 0;
		background: none;
		border: 0;
		color: #1a0e1a;
		font-size: 34px;
		line-height: 1;
		cursor: pointer;
	}

	.menuHolder {
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		gap: 0;
		width: 100%;
		margin-top: 8px;
	}

	.menuHolder li {
		display: block;
		border-bottom: 1px solid rgba(26, 14, 26, 0.1);
	}

	.menuHolder li a,
	.menuHolder li.accent1 a {
		display: block;
		margin: 0;
		padding: 16px 4px;
		font-size: 18px;
		line-height: 1.2;
		color: #1a0e1a;
		text-shadow: none;
		border-width: 0;
	}

	.menuHolder li.active a,
	.menuHolder li.current-menu-item a,
	.menuHolder li a:hover {
		color: var(--color1, #1a0e1a);
	}

	/* Social icons sit at the top of the drawer, beside the close button. */
	.menuHolder li.topmenuSocial {
		order: -1;
		margin: 0 0 8px;
		padding-right: 56px;
		border-bottom: 0;
	}

	.menuHolder li.topmenuSocial>span {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	.menuHolder li.topmenuSocial a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0 4px 0 0;
		padding: 0;
		font-size: 24px;
		color: #1a0e1a;
		opacity: 1;
	}
}

html.menu-open {
	overflow: hidden;
}

@media (min-width: 992px) {
	html.menu-open {
		overflow: auto;
	}
}

/* Kopage container widths (override Bootstrap xxl: 1140px up to 1443px, 1320px beyond) */
@media (min-width: 576px) {
	#website .container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	#website .container {
		max-width: 720px;
	}
}

@media (min-width: 992px) {
	#website .container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	#website .container {
		max-width: 1140px;
	}
}

@media (min-width: 1444px) {
	#website .container {
		max-width: 1320px;
	}
}

#website #headerMenu .container {
	max-width: inherit;
}

/* ---------- Kopage section blocks ---------- */
.kedit {
	position: relative;
	padding: 100px 0;
}

.kedit>.container {
	position: relative;
	z-index: 2;
}

/* On sub-pages the first section starts under the fixed header. */
.kedit-first::before {
	content: "";
	display: block;
	padding-top: var(--header-h);
	white-space: nowrap;
}

body.admin-bar .kedit-first::before {
	padding-top: calc(var(--header-h) + 32px);
}

.parallax-window {
	background-repeat: no-repeat;
	background-size: cover;
}

/* Fixed backgrounds at every width on devices that support them. Touch
   browsers (iOS Safari, many Android) ignore or mis-scale `fixed`, so they
   keep scroll behaviour with cover sizing. */
@media (hover: hover) and (pointer: fine) {
	.parallax-window {
		background-attachment: fixed;
	}
}

/* Touch devices: `background-attachment: fixed` is unsupported there, so fake
   it. A viewport-sized fixed pseudo-element copies the section's background
   (and colour filter) and is revealed only through the section's clip-path. */
@media (hover: none), (pointer: coarse) {
	.parallax-window {
		position: relative;
		isolation: isolate;
		clip-path: inset(0);
	}

	.parallax-window::after {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100lvh;
		z-index: -1;
		pointer-events: none;
		background: inherit;
		background-attachment: scroll;
		background-size: cover;
		background-repeat: no-repeat;
		box-shadow: inherit;
	}
}

.keditFullHeight {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.keditFullHeight>.container {
	align-self: center;
}

/* Colour filters */
.kfilter1 {
	box-shadow: inset 0 0 0 100vw rgba(0, 0, 0, 0.5);
}

.kfilter2 {
	box-shadow: inset 0 0 100vw 10vw rgba(0, 0, 0, 0.7);
}

.kfilterColor1 {
	box-shadow: inset 0 0 0 100vw rgba(var(--color1_rgb), 0.75);
}

.keditDark,
.keditDark h1,
.keditDark h2,
.keditDark h3,
.keditDark h4,
.keditDark h5 {
	color: rgba(255, 255, 255, 1);
}

.keditTextShadow {
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2), 2px 2px 5px rgba(0, 0, 0, 0.2), 1px 1px 3px rgba(0, 0, 0, 0.2), 1px 1px 2px rgba(0, 0, 0, 0.2), 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.keditTextShadow .keditWhite {
	text-shadow: none;
}

/* Angled dividers */
.keditLayer_header,
.keditLayer_footer {
	position: absolute;
	left: -1px;
	right: -1px;
	z-index: 1;
	pointer-events: none;
}

.keditLayer_header {
	top: -1px;
}

.keditLayer_footer {
	bottom: -1px;
}

.keditLayer_header svg,
.keditLayer_footer svg {
	display: block;
	width: 100%;
	height: auto;
}

.bs-1 {
	box-shadow: 0 15px 25px -15px rgba(0, 0, 0, 0.4);
}

.mt-n5 {
	margin-top: -3rem !important;
}

/* ---------- Home page ---------- */
.heroTitle {
	font-family: "Advent Pro", sans-serif !important;
	font-size: 78px;
	/* 52px × 150%, as on the live site */
	letter-spacing: -1.56px;
	/* -0.03em of the 52px h1, inherited as a fixed length */
	color: #fff;
}

.koSeparator {
	width: 300px;
	height: 5px;
	max-width: 100%;
	margin: 30px auto;
	background: var(--color1);
}

.heroSubtitle {
	font-family: var(--font2), sans-serif;
	font-weight: 700;
	font-size: 26.4px;
	color: var(--color1_25);
}

.introText {
	text-align: center;
	font-family: "Alata", sans-serif !important;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.2;
	color: #351b34 !important;
	/* --color1_150 on white: 15.5:1 contrast, same as the live site */
}

@media (max-width: 767.98px) {
	.introText {
		font-size: calc(1.3rem + 0.6vw);
	}
}

/* Scroll reveal: replays every time the block enters the viewport (IntersectionObserver in main.js).
   Same motion as the live site's AOS "fade-left": 100px slide, 800ms, 100ms delay. */
.js [data-reveal] {
	transition: opacity 0.8s ease 0.1s, transform 0.8s ease 0.1s;
}

.js [data-reveal="left"]:not(.is-inview) {
	opacity: 0;
	transform: translate3d(100px, 0, 0);
}

.js [data-reveal="fade"]:not(.is-inview) {
	opacity: 0;
}

/* Intro and Realizacja text: slow fade with minimal (5px) movement */
.js .introText[data-reveal],
.js .processText[data-reveal] {
	transition: opacity 1.8s ease 0.1s, transform 1.8s ease 0.1s;
}

.js .introText[data-reveal="left"]:not(.is-inview),
.js .processText[data-reveal="left"]:not(.is-inview) {
	transform: translate3d(5px, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.js [data-reveal]:not(.is-inview) {
		opacity: 1 !important;
		transform: none !important;
	}
}

.headingBand {
	padding: 20px 0 0;
}

.headingBand h2 {
	font-family: "Alexandria", sans-serif !important;
	text-align: center;
}

.headingBand h2 span {
	font-size: 90%;
	color: var(--color1_50);
}

/* Ensure the white box background stays stationary and matches image bounds */
.aboutCard {
	position: relative;
	z-index: 2;
	background: #fff;
	color: var(--color1);
	text-align: right !important;
	font-weight: 700;
	font-size: 110%;
	margin-bottom: 0 !important; /* no gap between the card and the picture */
	overflow: hidden; /* keeps the sliding text inside the white box */
}

/* Desktop: the white card overlaps the left side of the picture. */
@media (min-width: 992px) {
	.aboutCard.nm-r100 {
		margin-right: -100px;
		z-index: 2;
	}
}

/* Ultra-wide screens: the card hugs the picture instead of overlapping it. */
@media (min-width: 2000px) {
	.aboutCard.nm-r100 {
		margin-right: 0 !important;
	}
}

/* Below 992px the card stacks directly above the picture, no gaps or overflow. */
@media (max-width: 991.98px) {
	.aboutCard.nm-r100 {
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* Force right text alignment across all screen sizes */
.aboutCard,
.aboutCard .about-me-text,
.aboutCard p {
	text-align: right !important;
}

.aboutCard .about-me-text,
.aboutCard p {
	margin: 0;
}

/* Right-to-left slide & fade animation for the text block */
.js .aboutCard [data-reveal="left"]:not(.is-inview) {
	opacity: 0;
	transform: translate3d(10px, 0, 0);
	/* Slides in from right to left */
}

/* Mobile responsive rules */
@media (max-width: 767.98px) {
	.aboutCard {
		padding: 20px !important;
		margin-bottom: 0 !important;
		/* Prevents gaps on mobile vertical stack */
		text-align: right !important;
	}

	.aboutCard .about-me-text {
		text-align: right !important;
	}
}

.kimgfilter2 {
	border-radius: 10px;
}

.processText {
	text-align: center;
	font-family: Arial, sans-serif !important;
}

.processText span {
	font-size: 90%;
	color: #fff;
}

.koPreTitle {
	text-align: center;
	font-size: 34px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.kimgRatio2 {
	position: relative;
	width: 100%;
	text-align: center;
}

.kimgRatio2::before {
	content: "";
	float: left;
	padding-top: 75%;
}

.kimgRatio2::after {
	content: "";
	display: table;
	clear: both;
}

.kimgRatio2>a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}

#website .kimgRatio2 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kimgfilter3 {
	border-radius: 10px;
	background: #f5f6f7;
	box-shadow: 2px 2px 12px -2px rgba(0, 0, 0, 0.1), 1px 3px 5px rgba(0, 0, 0, 0.05);
}

.kimgRatio2+.keditWhite h5 {
	font-size: 1.25rem;
	margin-bottom: 10px;
}

@media (max-width: 767.98px) {
	.processText,
	.processText span {
		font-size: 1.4rem;
	}
}

/* ---------- Gallery ---------- */
.galleryItem {
	position: relative;
	display: block;
	overflow: hidden;
	padding-bottom: 90%;
	height: 0;
	border-radius: 3px;
	box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.3);
	background: #fff;
	transition: 0.6s ease;
}

#website .galleryItem img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.galleryItem:hover {
	box-shadow: 2px 5px 25px rgba(0, 0, 0, 0.4);
	transform: translateY(-5px) scale(1.03);
}

.galleryItemCaption {
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	display: inline-block;
	padding: 5px;
	font-size: 85%;
	line-height: 1.1;
	color: #fff;
	text-decoration: none;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: 0.2s all;
}

.galleryItem:hover .galleryItemCaption {
	bottom: 0;
	opacity: 1;
}

/* Lightbox (replaces Kopage's Magnific Popup) */
.lightbox {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 40px 70px;
	background: rgba(11, 11, 11, 0.85);
}

.lightbox.is-open {
	display: flex;
}

.lightbox img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lightbox button {
	position: absolute;
	background: none;
	border: 0;
	color: #fff;
	opacity: 0.65;
	font-size: 44px;
	line-height: 1;
	padding: 6px 14px;
	cursor: pointer;
	transition: opacity 0.2s;
}

.lightbox button:hover,
.lightbox button:focus-visible {
	opacity: 1;
}

.lightbox-close {
	top: 4px;
	right: 6px;
}

.lightbox-prev {
	left: 4px;
	top: 50%;
	transform: translateY(-50%);
}

.lightbox-next {
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
}

.lightbox.is-single .lightbox-prev,
.lightbox.is-single .lightbox-next {
	display: none;
}

@media (max-width: 767.98px) {
	.lightbox {
		padding: 50px 8px;
	}
}

/* ---------- Contact ---------- */
.breadcrumb {
	margin: 0;
}

.keditDark .breadcrumb-item {
	color: rgba(255, 255, 255, 0.7);
}

.ContactForm.whiteShadowContainer {
	position: relative;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
	color: #333;
	margin: 0;
}

.formTitle {
	margin: 0 !important;
	padding: 20px;
	font-size: 28px;
	color: #333;
	border-bottom: 1px solid #ddd;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(#fff 55%, #f7f7f7);
}

.formBody {
	padding: 42px 43px 44px;
}

.formBody .form-group {
	margin-bottom: 1rem;
}

.formBody .form-label {
	margin-bottom: 0.5rem;
	color: #333;
	font-size: 1rem;
}

.formBody .form-control {
	font-family: var(--font2), sans-serif;
}

.formBody .form-control:focus {
	border-color: var(--color1_75);
	box-shadow: 0 0 0 0.25rem rgba(var(--color1_rgb), 0.25);
}

.form-hp {
	position: absolute;
	left: -9999px;
}

.messageList {
	padding-left: 1.2rem;
}

.contactTitle span {
	color: var(--color1_125);
}

.contactLocation {
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	color: rgba(0, 0, 0, 0.5);
}

.keditColumn>.container {
	max-width: none;
}

@media (max-width: 575.98px) {
	.formBody {
		padding: 28px 22px 40px;
	}
}

/* ---------- Generic pages ---------- */
.pageTitle {
	color: var(--color1_150);
}

.entry-content {
	color: rgba(0, 0, 0, 0.6);
}

.entry-content a {
	text-decoration: underline;
}

/* ---------- Footer ---------- */
#footerContent {
	font-family: var(--font2), sans-serif;
}

#footerContent .keditFooter {
	padding: 0;
	color: rgba(255, 255, 255, 0.7);
}

#footerContent .keditFooterLine1 {
	padding-top: 50px;
	padding-bottom: 20px;
}

#footerContent .keditFooterLineDarker {
	background: rgba(0, 0, 0, 0.1);
}

#footerContent .keditFooterLine2 .keditFooterCopyright {
	padding: 20px 0;
	font-size: 1.1rem;
	letter-spacing: -0.02em;
}

/* Live Kopage wraps each footer column in a .kedit box with 10px vertical padding. */
#footerContent .keditFooterCol {
	padding-top: 10px;
	padding-bottom: 10px;
}

#scrollToTop {
	background: var(--color1);
	color: var(--color1_25);
	text-decoration: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 20px;
	height: 50px;
	width: 50px;
	line-height: 50px;
	text-align: center;
	border-radius: 4px;
	transition: 0.2s all;
	opacity: 0;
	visibility: hidden;
}

#scrollToTop.active {
	margin-bottom: 10px;
	opacity: 1;
	visibility: visible;
	z-index: 65401;
}

#scrollToTop:hover {
	transform: scale(1.05);
}

.keditFooterLogo {
	display: inline-block;
	max-width: 100%;
	font-family: var(--font2), sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: #fff !important;
	text-decoration: none;
}

.keditFooterCompany strong {
	color: #fff;
}

.keditFooterMenu {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

#footerContent .sitemap {
	min-width: inherit;
	margin-bottom: 30px;
}

#footerContent .sitemap:not(:last-of-type) {
	margin-right: 100px;
}

#footerContent .sitemap h5 {
	font-family: var(--font2), sans-serif;
	font-weight: normal;
	font-size: 100%;
	letter-spacing: normal;
	color: #fff;
	margin: 0;
}

#footerContent .sitemap ul {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

#footerContent .sitemap li {
	padding: 0;
	line-height: 1.5;
	font-weight: 700;
}

#footerContent .sitemap li a {
	color: inherit;
	font-weight: 400;
	text-decoration: none;
	opacity: 0.7;
}

#footerContent .sitemap li a:hover {
	opacity: 1;
}

@media (max-width: 767.98px) {
	#footerContent .sitemap:not(:last-of-type) {
		margin-right: 50px;
	}
}

:focus-visible {
	outline: 2px solid var(--color1_75);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition: none !important;
	}
}