/*
Theme Name: SMItheme-child
Description: SMI block child theme.
Author: SMI
Version: 0.3
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smi-theme-child
Template: smi-theme
*/

:root {
	--smi--custom--mainpadding--t: calc(var(--smi-main-padding-top) * -1);
	--smi--custom--mainpadding--b: calc(var(--smi-main-padding-bottom) * -1);

	--root-t-0: calc(var(--smi-main-padding-top) * -1);
	--root-b-0: calc(var(--smi-main-padding-bottom) * -1);
	--root-lr-0: calc(var(--smi-root-padding-left-right) * -1);
}
/* Remove top, bottom and left-right root-padding */
.root-t-0,
body .force.root-t-0 {
	margin-top: calc(var(--smi-main-padding-top) * -1) !important;
}
.root-b-0,
body .force.root-b-0 {
	margin-bottom: calc(var(--smi-main-padding-bottom) * -1) !important;
}
.root-lr-0,
body .force.root-lr-0 {
	margin-left: calc(var(--smi-root-padding-left-right) * -1) !important;
	margin-right: calc(var(--smi-root-padding-left-right) * -1) !important;
}
html {
	cursor: default;
	scroll-behavior: smooth;
	scroll-padding-top: 9em;
	box-sizing: border-box;
}
*,
*::before,
*::after {
	box-sizing: inherit;
}
h1, h2, h3, h4, h5, h6,
blockquote,
caption,
figcaption,
p {
	text-wrap: pretty;
}
h1, h2 {
	text-wrap: balance;
}
:not(header) :where(.has-link-color) a,
:where(main) :where(a):hover {
	text-decoration: underline;
}
main {
	flex-grow: 1;
}
/* Footer ikkunan alareunaan */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
/* HERO */
.hero,
body .force.hero {
	margin-block-start: calc(var(--smi-main-padding-top) * -1) !important;
	margin-block-end: var(--smi-main-padding-top) !important;
}
/* Hero inside <main> */
.hero-in-main {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: initial !important;
	min-height: var(--hero-min-height) !important;
}
.content-sidebar main {
	position: unset;
}
.content-sidebar:has(.hero-in-main) {
	padding-top: calc(var(--smi-main-padding-top) + var(--hero-min-height)) !important;
}
.content-sidebar:has(.hero-in-main) .main-content .is-layout-constrained {
	margin-block-start: 0;
}
footer {
	margin-block-start: auto;
}
/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}
/* applies a black/white outline to links only when focused via keyboard */
*:focus {
	outline: none;
}
a:focus-visible,
button:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333333 !important;
}
form *:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 1px #fff, 0 0 0 2px #333333 !important;
}
@media only screen and (max-width: 400px) {
	/* tavutus */
	body:not(.home) h1 {
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
}
/****************************** Header ******************************/
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: 0.4s;
}
header.wp-block-template-part:not(.header-0) img.custom-logo {
	transition: 0.4s;
}
header.wp-block-template-part.skrollaus img.custom-logo {
	width: 80%;
}
header.wp-block-template-part:not(.header-0) ul.header-navi>.wp-block-navigation-item {
	transition: 0.4s;
}
header.wp-block-template-part.skrollaus ul.header-navi>.wp-block-navigation-item {
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}
header.wp-block-template-part.alasSkrollaus {
	top: -150px;
}
/*Transparent Header (header-0) */
header.wp-block-template-part.header-0 {
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	position: absolute;
	box-shadow: none;
}
.header-0>.has-background {
	background: transparent !important;
}
.logged-in.admin-bar .header-0 {
	top: 32px;
}
header.wp-block-template-part.header-0.skrollaus {
	position: fixed;
	top: 0;
	z-index: 9999;
	background: var(--smi-header-0-scroll-bg) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: 0.4s;
}
header.wp-block-template-part.header-0.alasSkrollaus {
	top: -150px;
}
@media screen and (max-width: 782px) {
	.logged-in.admin-bar .header-0 {
		top: 48px;
	}
}
/* Logo */
header .smi-logo-width img {
	width: 100%;
	max-width: var(--smi-logo-width);
}
@media (max-width: 1024px) {
	header .smi-logo-width img {
		max-width: var(--smi-logo-width-tablet);
	}
}
@media (max-width: 600px) {
	header .smi-logo-width img {
		max-width: var(--smi-logo-width-phone);
	}
}
/****************************** NAVI ******************************/
ul.header-navi {
	position: initial;
}
ul.header-navi>.wp-block-navigation-item,
ul.header-navi>ul>.wp-block-pages-list__item {
	padding-top: 1.75em;
	padding-bottom: 1.75em;
}
header.header-0.skrollaus ul.header-navi>.wp-block-navigation-item,
ul.header-navi>ul>.wp-block-pages-list__item {
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}
ul.header-navi>.wp-block-navigation-item a,
ul.header-navi>ul>.wp-block-pages-list__item a {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	padding-left: 1em;
	padding-right: 1em;
}
ul.header-navi .wp-block-navigation-item.has-child>a {
	padding-right: 0;
}
ul.header-navi .wp-block-navigation__submenu-icon {
	padding-left: 0.25em;
	padding-right: 1.5em;
	height: 42px;
}
/* Haku */
.haku {
	display: none;
}
.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,
.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
	overflow: visible;
}
.haku .wp-block-search__inside-wrapper {
	position: relative;
}
.haku .wp-block-search__input {
	border: 1px solid #707070;
	padding: 0.55em;
	position: absolute;
	right: 3.75em;
	min-width: 15em;
}
.haku .wp-block-search__button {
	padding: 0.5em 1em;
}
.haku .wp-block-search__button svg {
	min-height: 30px;
	min-width: 30px;
}
.haku .wp-block-search__input {
	padding: 0.75em;
	right: 1em;
	bottom: -4em;
}
.mobiilihaku {
	width: 100%;
	padding-left: 1em !important;
	padding-right: 1em !important;
	margin-bottom: 1.5em;
}
/* Change the WordPress default responsive navi css media query */
@media (min-width: 1024px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block !important;
		width: 100%;
		position: relative;
		z-index: auto;
		background-color: inherit;
	}
	header.wp-block-template-part.alasSkrollaus {
		top: 0 !important;
	}
	.haku {
		display: block;
	}
	.mobiilihaku {
		display: none;
	}
}
@media (max-width: 1023px) {
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
		width: 100%;
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		animation: overlay-menu__fade-in-animation .1s ease-out;
		animation-fill-mode: forwards;
		padding: 1.75em 5vw 1.75em 5vw;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		flex-direction: row;
		flex-wrap: wrap;
		box-sizing: border-box;
	}
	ul.header-navi {
		margin-bottom: 2em;
	}
	ul.header-navi>.wp-block-navigation-item,
	ul.header-navi>ul>.wp-block-pages-list__item {
		padding-top: 1em !important;
		padding-bottom: 1em !important;
		padding-left: 1em !important;
		padding-right: 1em !important;
	}
	ul.header-navi .wp-block-navigation__submenu-icon {
		padding-left: 1em;
		padding-right: 1em;
		display: inline-block !important;
		margin-left: auto;
		height: 24px;
	}
	ul.header-navi .wp-block-navigation__submenu-icon svg {
		scale: 2.5;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		align-items: normal;
		background-color: inherit;
		color: inherit;
		display: flex;
		flex-direction: column;
		height: 0;
		left: -1px;
		opacity: 0;
		overflow: hidden;
		position: relative;
		top: 100%;
		transition: opacity .1s linear;
		visibility: hidden;
		width: 0;
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
	}
	.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container {
		height: auto;
		opacity: 1;
		overflow: visible;
		visibility: visible;
		width: auto;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		min-width: 100%;
	}
	ul.header-navi>.wp-block-navigation-item a,
	ul.header-navi>ul>.wp-block-pages-list__item a {
		font-size: var(--smi-mobile-menu-font-size) !important;
	}
	ul.header-navi>.wp-block-navigation-item .wp-block-navigation__submenu-container a,
	ul.header-navi>ul>.wp-block-pages-list__item .wp-block-navigation__submenu-container a {
		font-size: var(--smi-mobile-sub-menu-font-size) !important;
		padding-top: 0.5em !important;
		padding-bottom: 0.5em !important;
		font-weight: 400;
	}
	ul.header-navi>.wp-block-navigation-item .wp-block-navigation__submenu-container li:first-child,
	ul.header-navi>ul>.wp-block-pages-list__item .wp-block-navigation__submenu-container li:first-child {
		margin-top: 1em;
	}
}
/****************************** Remove the WordPress default responsive navi for 600px ******************************/
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}
/****************************** Patterns ******************************/
.header-0-image.wp-block-cover {
	margin-top: 0;
}
