* {
	scroll-margin-top: var(--header-height);
}

body {
	overflow-x: hidden;
	margin-top: calc(var(--header-height));
}

.wp-site-blocks {
	min-height: calc(100vh - var(--header-height) - var(--wp-admin--admin-bar--height, 0px));
}

/**
macOS Scroll Background:
When scrolling up or down on macOS, there is no "abrupt" stop at the end of the page,
instead it "drags" the website up/down. The background color for the empty space is
the background of the <html> element.
Since the header & footer of the website are both black, this empty space should also
be black.
 */
html {
	background: #000;
}
body {
	background: #FFF;
}

/**
FORM STYLES
 */

.btn.k2child__contact-form__submit {
	cursor: pointer;
}

/**
BUTTONS
 */
.wp-block-button__link, button, [type="submit"] {
	transition: all 0.3s ease-in;
}

:where(.wp-block-button .wp-block-button__link) {
	padding-top: 0.65rem; /* appear visually centered (cannot be done manually) */
}

.wp-block-button__link {
	padding: 15px 20px 12px 20px;
}

.is-style-button-with-icon .wp-block-button__link::before {
	content: "\f002";
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	margin-right: 0.5rem;
}


/**
BLOCK STYLES
**/
.is-style-komu-heading {
	font-family: var(--wp--preset--font-family--komu);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: normal;
}


/**
k2/toggles
**/

.toggle {
    border: none;
    border-bottom: 1px solid var(--wp--preset--color--primary-light);
    padding-bottom: var(--_gap);
}

.toggle__summary {
    background-color: var(--wp--preset--color--primary-contrast);
    color: var(--wp--preset--color--text-color);
    padding: 0.5rem 0;
    font-weight: 600;
    font-size: 1.25rem;
}

.toggle__content {
    padding: 0.5rem 0;
}

.toggle__indicator::before,
.toggle__indicator::after {
    height: 4px;
    border-radius: 2px;
}

.is-style-dark-background-image {
	position: relative;
	background-color: var(--page-text);
	overflow: hidden;
	z-index: 0;
}

.is-style-dark-background-image * {
	position: relative;
	color: var(--page-background);
	z-index: 2;
}

.is-style-dark-background-image:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url(../images/goldschmitt-cta-bg.png);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: auto 100%;
}

.is-style-dark-background-image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(0, 0, 0);
	background: linear-gradient(182deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.7) 100%);
}


.is-style-green-separator-line {
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
}

.is-style-green-separator-line:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	max-width: 465px;
	height: 2px;
	transform: translateX(-50%);
	background-color: var(--wp--preset--color--primary);
}

.loader {
	width: 100%;
	display: flex;
	justify-content: center;
}

.loader > * {
	display: none !important;
}

.loader::after {
	content: "";
	width: 55px;
	height: fit-content;
	padding: 8px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	--_m:
			conic-gradient(#0000 10%,#000),
			linear-gradient(#000 0 0) content-box;
	-webkit-mask: var(--_m);
	mask: var(--_m);
	-webkit-mask-composite: source-out;
	mask-composite: subtract;
	animation: rotate 1s infinite linear;
}
@keyframes rotate {to{transform: rotate(1turn)}}
.is-style-extended-background-left {
	position: relative;
	height: 100%;

}

.is-style-extended-background-left > * {
	position: relative;
	z-index: 2;
}

.is-style-extended-background-left:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(-100%);
	width: 100vw;
	height: 100%;
	background: inherit;
	z-index: 1;
}

.is-style-two-col--black-and-white .wp-block-column {
	padding-block: 5rem;
	align-self: initial;
}

@media (max-width: 781px) {
	.is-style-two-col--black-and-white .wp-block-column {
		padding-block: 2.5rem;
	}
}

.is-style-cropped-background-full-width {
	position: relative;
}

.is-style-cropped-background-full-width::before {
	content: '';
	position: absolute;
	inset: 120px 0;
	left: calc(50% - 50vw);
	width: 100vw;
	background: #000;
}

a.k2-link {
	font-weight: inherit;
}

/**
Breadcrumb
 */
.breadcrumb a {
	color: inherit;
	text-decoration: none;
	font-weight: inherit;
}

.is-style-fullwidth-breadcrumb {
	flex-wrap: wrap;
	padding-inline: var(--header-padding-x);
}
