/*!
 *	theme.
 */

/*------------------------------------------------------------
	elements
------------------------------------------------------------*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	/* color-scheme: light dark; */
	/* -webkit-hyphens: auto; */
	/* hyphens: auto; */
	overflow-x: hidden;
}

body {
	overflow-x: hidden;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

a:has(> img) {
	text-decoration: none;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

blockquote {
	margin: 0;
}

sup,
sub {
	position: relative;
	vertical-align: baseline;
	line-height: 0;
	font-size: 0.75em;
}

sup {
	top: -0.4em;
}

sub {
	top: 0.4em;
}

::placeholder {
	color: var(--wp--preset--color--dark);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* forms
--------------------------------------------- */
textarea,
select,
input:where(
	[type="email"],
	[type="number"],
	[type="password"],
	[type="search"],
	[type="tel"],
	[type="text"],
	[type="url"]
) {
	width: 100%;
	caret-color: var(--wp--preset--color--accent-1);
}

label {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
}

input[type="checkbox"] + label,
input[type="radio"] + label,
label:has(input[type="checkbox"], input[type="radio"]) {
	color: inherit;
	font-size: inherit;
}

textarea:focus-visible,
select:focus-visible,
input:where(
	[type="email"],
	[type="number"],
	[type="password"],
	[type="search"],
	[type="tel"],
	[type="text"],
	[type="url"]
):focus-visible {
	background-color: var(--wp--preset--color--light);
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="submit"],
input[type="text"],
input[type="url"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

a:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
.wp-element-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

button,
input[type="button"],
input[type="submit"] {
	padding: 0.4rem 1.5rem;
	font-size: var(--wp--preset--font-size--regular);
}

/*------------------------------------------------------------
	navi
------------------------------------------------------------*/
@media (max-width: 1023px) {
	.menu {
		justify-content: space-between !important;
	}
	.is-style-navigation {
		padding-right: 1rem;
	}
}

@media (min-width: 1024px) {
	.menu .logo {
		transition: transform 0.3s ease-in-out;
		transform: scale(1);
	}

	.menu .logo:hover {
		transform: scale(1.2);
	}

	.wp-block-navigation.is-style-navigation .wp-block-navigation__container {
		gap: 0;
	}

	.wp-block-navigation.is-style-navigation .wp-block-navigation-item__content  {
		display: flex !important;
		justify-content: center;
		align-items: center;
		height: 85px;
		padding: 0 1.5rem;
		text-decoration: none;
		transition: background-color 0.3s ease-in-out;
	}

	.wp-block-navigation.is-style-navigation .wp-block-navigation-item__content:hover  {
		color: var(--wp--preset--color--base);
		background-color: var(--wp--preset--color--accent-1);
	}
}

.mega-menu-link > div {
	border-bottom: 2px solid transparent;
	transition: border-bottom 0.3s ease-in-out;
}

.mega-menu-link:hover > div {
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
}

.mega-menu-link img {
	filter: brightness(0) saturate(100%) invert(48%) sepia(0%) saturate(0%) hue-rotate(167deg) brightness(91%) contrast(88%);
	transition: filter 0.3s ease;
}

.mega-menu-link:hover img {
	filter: invert(41%) sepia(93%) saturate(3015%) hue-rotate(345deg) brightness(101%) contrast(98%);
}

/* elements
--------------------------------------------- */
blockquote {
	border: 0 !important;
	margin-left: 0;
	padding-right: var(--wp--preset--spacing--large);
	padding-left: 0 !important;
}

blockquote cite {
	font-style: normal;
	color: var(--wp--preset--color--accent-1) !important;
}

.current-menu-item {
    color: #fff !important;
    background-color: var(--wp--preset--color--accent-1) !important;
}

.symbol {
	position: relative;
	transform: translateY(-2rem);
	z-index: 1;
}
@media (min-width: 782px) {
	.symbol {
		transform: translateY(-1.25rem);
	}
}

.count-up {
    font-weight: 700;
}

.box-wrapper .wp-block-group .push-bottom {
	margin-block-start: auto;
}
