body {
	padding: var(--spacing-3xl,90px);
	  overflow-y: auto;
    scroll-behavior: smooth;           /* smooth scroll */
    scroll-snap-type: y mandatory; 
}
body:has(section) {
	padding: 0px;
}
header {
	position: fixed;
	top: 0px;
	left: var(--spacing-3xl,90px);
	right: var(--spacing-3xl,90px);
	padding: var(--spacing-xl,30px);
	padding-bottom: 0px;
	padding-left: 0px;
	z-index: 9999;
}
header div {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
header div > *:not(div) {
	margin: auto;
}
header div > *:first-child {
	margin-left: 0px;
	margin-right: auto;
}
header div > *:last-child {
	margin-right: 0px;
	margin-left: auto;
}
header a, header img {
	max-height: var(--spacing-3xl,90px);
}
nav ul, .footer-group {
	display: flex;
	flex-direction: row;
	gap:var(--spacing-xl,30px);
}
nav ul {
	justify-content: flex-end;
}
nav ul li a {
	font-weight: bold;
	display: inline-flex;
	flex-direction: row;
	min-height: var(--spacing-xl,30px);
}
	nav li a {
		white-space: nowrap;
	}

.footer-group {
	white-space: nowrap;
}

nav ul li a > * {
	margin: auto;
}

section {
	display: flex;
	flex-direction: row;
	gap:var(--spacing-xl,30px);
	min-height: 100%;
	margin: 0px;
}
section > * {
	margin: 0px;
	min-height: 100%;
	width: 100%;
}
section > article {
	padding: var(--spacing-3xl,90px);
	padding-top: 90px;
}


section > article > div {
	padding-top: 90px;
	padding-bottom: 90px;

}
section > article > div {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	gap:var(--spacing-xl,30px);
}
section > * > * > * {
	margin: 0px;
}
section > * > * > *:last-child {
	margin-bottom: auto;
}



.template-home  section  *:is(h2):first-of-type { 
	margin-top:10vh;
	margin-bottom: 0px;
}

.template-home  section  *:is(h1, h2):first-of-type + * {
	margin-top: 0px;
}

.template-home article div:has(> h2):not(:has(> p)) h2 { 
	margin-top: calc(-20vh + 90px)!important;
	
	margin-bottom: 0px;
}
article {
	max-width: 1040px;

}
.template-home article {
	max-width: 100%;
}

