/*
Theme Name: König Sylt Immobilien (Child Theme)
Theme URI: https://github.com/elementor/hello-theme/
Description: Child Theme für König Sylt Immobilien
Author: VIEREINHALB GmbH
Author URI: https://www.viereinhalb.io/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

html {
	overflow-y: scroll;
	scrollbar-gutter: stable;
}
body.menu-is-open {
	position: fixed;
	left: 0;
	right: 0;
	overflow: hidden;
}
body {
	color: var(--color-text, #1A1715);
}
html:has(body.menu-is-open) {
	background-color: var(--color-sand, #DDD8CF);
}

.e-con.koenig-header-shrink,
.koenig-header-shrink.koenig-header-shrink {
	transition:
		padding-top 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		padding-bottom 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s ease,
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.koenig-header-shrink > .e-con-inner {
	transition:
		padding-top 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		padding-bottom 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
body.header-scrolled:not(.menu-is-open) .koenig-header-shrink:not(.elementor-sticky__spacer) > .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-block: 0 !important;
}
body.header-scrolled:not(.menu-is-open) .koenig-header-shrink:not(.elementor-sticky__spacer) {
	min-height: 80px !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	background-color: var(--color-surface) !important;
}
.koenig-header-shrink {
	isolation: isolate;
}
.koenig-header-shrink::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: var(--color-sand, #DDD8CF);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
body.menu-is-open .koenig-header-shrink {
	background-color: transparent !important;
}
body.menu-is-open .koenig-header-shrink {
	pointer-events: none;
}
body.menu-is-open .koenig-header-shrink a,
body.menu-is-open .koenig-header-shrink button {
	pointer-events: auto;
}
body.menu-is-open.header-scrolled .koenig-header-shrink {
	background-color: var(--color-surface) !important;
}
body.menu-is-open.header-scrolled .koenig-header-shrink::after {
	opacity: 1;
}
@media (max-width: 767px) {
	body.menu-is-open .koenig-header-shrink,
	body.menu-is-open.header-scrolled .koenig-header-shrink {
		background-color: transparent !important;
	}
	body.menu-is-open .koenig-header-shrink::after,
	body.menu-is-open.header-scrolled .koenig-header-shrink::after {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.koenig-header-shrink::after {
		transition-duration: 0.01ms;
	}
}

.koenig-header-shrink .elementor-element:has(#menu-trigger) {
	pointer-events: none;
}
#menu-trigger {
	pointer-events: auto;
}
.koenig-logo-shrink a,
.koenig-logo-invert-on-open a,
.koenig-logo-shrink img,
.koenig-logo-invert-on-open img {
	display: block;
}
.koenig-logo-shrink img {
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
	transform-origin: center center;
}
body.header-scrolled:not(.menu-is-open) .koenig-logo-shrink img {
	transform: scale(0.68);
}

@media (max-width: 767px) {
	.koenig-logo-shrink img {
		transform-origin: left center;
	}
	body.header-scrolled:not(.menu-is-open) .koenig-header-shrink:not(.elementor-sticky__spacer) {
		min-height: 64px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	body.header-scrolled:not(.menu-is-open) .koenig-logo-shrink img {
		transform: scale(0.65);
	}
}

.koenig-logo-invert-on-open {
	opacity: 0;
	visibility: hidden;
	color: var(--color-text) !important;
	transition: opacity 0.15s ease, visibility 0s linear 0.15s;
}
body.menu-is-open .koenig-logo-invert-on-open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.15s ease, visibility 0s linear 0s;
}

.elementor-element-0eade1a {
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 1;
	pointer-events: none;
}
.elementor-element-0eade1a .koenig-logo-invert-on-open {
	pointer-events: auto;
}

@media (max-width: 767px) {
	.elementor-element.elementor-element-0eade1a {
		padding-left: 24px !important;
		padding-inline-start: 24px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.koenig-header-shrink,
	.koenig-logo-shrink,
	.koenig-logo-shrink img,
	.koenig-header-shrink > .e-con-inner,
	.koenig-logo-invert-on-open {
		transition-duration: 0.01ms !important;
	}
}

.elementor-element-6094a0e {
	top: 50% !important;
	transform: translateY(-50%) !important;
	justify-content: center !important;
}
.elementor-element-b70ea82 {
	position: static !important;
}

.elementor-element-6094a0e {
	z-index: 1;
	pointer-events: none;
}
.elementor-element-6094a0e .koenig-logo-shrink {
	pointer-events: auto;
}

.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button,
.elementor-button-warning .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	border-radius: 9999px !important;
	padding: 10px 30px !important;
	font-family: var(--font-body) !important;
	font-size: clamp(14px, 13.30px + 0.179vw, 16px) !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
}
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:hover,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:focus,
.elementor-button-warning .elementor-button:hover,
.elementor-button-warning .elementor-button:focus {
	font-weight: 500 !important;
}
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-content-wrapper,
.elementor-button-warning .elementor-button-content-wrapper {
	gap: 52px !important;
	align-items: center !important;
}

.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-icon,
.elementor-button-warning .elementor-button-icon,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-content-wrapper::after,
.elementor-button-warning .elementor-button-content-wrapper::after {
	transition: transform 0.2s ease;
}
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:hover .elementor-button-icon,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:focus .elementor-button-icon,
.elementor-button-warning .elementor-button:hover .elementor-button-icon,
.elementor-button-warning .elementor-button:focus .elementor-button-icon,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:hover .elementor-button-content-wrapper::after,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:focus .elementor-button-content-wrapper::after,
.elementor-button-warning .elementor-button:hover .elementor-button-content-wrapper::after,
.elementor-button-warning .elementor-button:focus .elementor-button-content-wrapper::after {
	transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
	.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button,
	.elementor-button-warning .elementor-button,
	.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-icon,
	.elementor-button-warning .elementor-button-icon,
	.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-content-wrapper::after,
	.elementor-button-warning .elementor-button-content-wrapper::after {
		transition-duration: 0.01ms !important;
	}
}

.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-content-wrapper:not(:has(.elementor-button-icon))::after,
.elementor-button-warning .elementor-button-content-wrapper:not(:has(.elementor-button-icon))::after {
	content: '';
	display: block;
	flex: 0 0 auto;
	width: 17.63px;
	height: 13.46px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.337 14.166'%3E%3Cpath d='M0 7.08302H17.6299M10.9004 13.8125L17.6299 7.08302L10.9004 0.353553' fill='none' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.337 14.166'%3E%3Cpath d='M0 7.08302H17.6299M10.9004 13.8125L17.6299 7.08302L10.9004 0.353553' fill='none' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:hover,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button:focus,
.elementor-button-warning .elementor-button,
.elementor-button-warning .elementor-button:hover,
.elementor-button-warning .elementor-button:focus {
	background-color: transparent !important;
	border: 1px solid var(--color-text) !important;
	color: var(--color-text) !important;
}
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-icon,
.elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button .elementor-button-content-wrapper::after,
.elementor-button-warning .elementor-button-icon,
.elementor-button-warning .elementor-button-content-wrapper::after {
	color: var(--color-brand) !important;
	background-color: var(--color-brand) !important;
}

.elementor-button-info {
	--koenig-whatsapp: #00D757;
}
.elementor-button-info .elementor-button,
.elementor-button-info .elementor-button:hover,
.elementor-button-info .elementor-button:focus,
.elementor-button-info .elementor-button:active {
	display: inline-flex !important;
	align-items: center !important;
	width: min(100%, 325px) !important;
	min-height: 56px !important;
	padding: 0 28px 0 30px !important;
	border: 0 !important;
	border-radius: 28px !important;
	background-color: var(--color-surface) !important;
	box-shadow: none !important;
	color: var(--color-text) !important;
	font-family: var(--font-body) !important;
	font-size: clamp(14px, 13.30px + 0.179vw, 16px) !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	text-decoration: none !important;
	transition: none !important;
}
.elementor-button-info .elementor-button .elementor-button-content-wrapper {
	width: 100% !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 16px !important;
}
.elementor-button-info .elementor-button .elementor-button-text {
	color: inherit !important;
}
.elementor-button-info .elementor-button .elementor-button-icon,
.elementor-button-info .elementor-button .elementor-button-icon :is(i, svg) {
	color: var(--color-brand) !important;
	fill: var(--color-brand) !important;
	font-size: 21px !important;
	transform: none !important;
}
.elementor-button-info .elementor-button .elementor-button-icon svg {
	width: 22px !important;
	height: 22px !important;
}
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button,
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button:hover,
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button:focus,
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button:active {
	background-color: var(--koenig-whatsapp) !important;
	color: var(--color-text) !important;
}
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button .elementor-button-icon,
.elementor-button-info:has(.fa-whatsapp, .e-fab-whatsapp, [href*="wa.me"], [href*="whatsapp"]) .elementor-button .elementor-button-icon :is(i, svg) {
	color: var(--color-text) !important;
	fill: var(--color-text) !important;
}
.elementor-button-info .elementor-button:focus-visible {
	outline: 2px solid var(--color-brand) !important;
	outline-offset: 3px !important;
}

:is(.oo-formular--dunkel, .kw--dunkel, .koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell) :not(.kw__umriss) > .elementor-button,
:is(.oo-formular--dunkel, .kw--dunkel, .koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell) :not(.kw__umriss) > .elementor-button:hover,
:is(.oo-formular--dunkel, .kw--dunkel, .koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell.koenig-button-hell) :not(.kw__umriss) > .elementor-button:focus {
	background-color: var(--color-surface) !important;
	border-color: var(--color-surface) !important;
	color: var(--color-text) !important;
}
.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button-icon,
.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-widget-button:not(.elementor-button-info):not(.elementor-button-success):not(.elementor-button-danger):not(.elementor-button-warning) .elementor-button-content-wrapper::after {
	transform: translateX(4px);
}
.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-button-warning .elementor-button-icon,
.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-button-warning .elementor-button-content-wrapper::after {
	transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
	.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-button-icon,
	.koenig-card:has(.koenig-card-ziel:is(:hover, :focus-within)) .elementor-button-content-wrapper::after {
		transform: none;
	}
}

.koenig-carousel-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.koenig-team-contact {
	cursor: pointer;
}

.koenig-team-contact:is(:hover, :focus, :active) {
	color: inherit !important;
}

.koenig-team-contact-value .elementor-widget-container,
.koenig-team-contact-value .elementor-widget-container p {
	display: inline;
	margin: 0;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 1px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: background-size 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.koenig-team-contact-value .elementor-widget-container:has(p) {
	background-image: none;
}

.koenig-team-contact:is(:hover, :focus-visible) .koenig-team-contact-value .elementor-widget-container,
.koenig-team-contact:is(:hover, :focus-visible) .koenig-team-contact-value .elementor-widget-container p {
	background-size: 100% 1px;
}

@media (prefers-reduced-motion: reduce) {
	.koenig-team-contact-value .elementor-widget-container,
	.koenig-team-contact-value .elementor-widget-container p {
		transition: none;
	}
}

.koenig-team-hinweis:not(:empty)::before {
	content: " (";
}
.koenig-team-hinweis:not(:empty)::after {
	content: ")";
}

.koenig-team-contact-badge {
	width: 28px;
	height: 28px;
	flex: 0 0 auto;
	border-radius: 50%;
	background-color: var(--color-brand);
	color: var(--color-surface);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.koenig-team-contact:not(:has(.koenig-team-contact-value)) {
	display: none;
}

.koenig-team-contact-badge p {
	margin: 3px 0 0 0;
}

.elementor-widget-theme-post-content .e-con {
	--gap: 0px !important;
	--row-gap: 0px !important;
}

.elementor-widget-theme-post-content .elementor-widget-wrap {
	gap: 0 !important;
	padding-block: 0 !important;
}

.elementor-widget-theme-post-content .elementor-section > .elementor-container {
	padding-block: 0 !important;
}

.elementor-widget-theme-post-content .elementor-widget:not(:last-child) {
	margin-bottom: 0 !important;
}

.elementor-widget-theme-post-content .elementor-widget-heading .elementor-heading-title,
.elementor-widget-theme-post-content > .elementor-widget-container > :is(h2, h3) {
	margin-top: 90px;
	margin-bottom: 30px;
}

.elementor-widget-theme-post-content .elementor-widget-image + .elementor-widget-heading .elementor-heading-title,
.elementor-widget-theme-post-content figure + :is(h2, h3) {
	margin-top: 50px;
}

.elementor-widget-theme-post-content .elementor-widget-image {
	margin-top: 90px !important;
}

.elementor-widget-theme-post-content .elementor-widget-image + .elementor-widget-text-editor {
	margin-top: 50px !important;
}

.elementor-widget-theme-post-content .elementor-widget-text-editor + .elementor-widget-text-editor {
	margin-top: 1.6em !important;
}

.elementor-widget-theme-post-content .elementor-widget-heading .elementor-heading-title {
	font-size: 32px !important;
	line-height: 1.375 !important;
}

@media (max-width: 767px) {
	.elementor-widget-theme-post-content .elementor-widget-heading .elementor-heading-title {
		font-size: 24px !important;
	}
}

.elementor-widget-theme-post-content h6,
.koenig-news-lead,
.koenig-news-lead p {
	font-family: var(--font-body);
	font-size: inherit;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-text);
	margin-top: 1.6em;
	margin-bottom: 0.8em;
}

.elementor-widget-theme-post-content h6 :is(strong, b) {
	font-weight: inherit;
}

.elementor-widget-theme-post-content .elementor-widget-text-editor :is(h2, h3, h4, h5) {
	margin-top: 50px;
	margin-bottom: 20px;
}

.elementor-widget-theme-post-content .elementor-widget-text-editor :is(h2, h3, h4, h5):first-child {
	margin-top: 0;
}

.elementor-widget-theme-post-content .elementor-widget-image {
	text-align: left !important;
}

.elementor-widget-theme-post-content .elementor-widget-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

.elementor-widget-theme-post-content .elementor-container {
	flex-direction: column !important;
	flex-wrap: nowrap !important;
}

.elementor-widget-theme-post-content .elementor-column {
	width: 100% !important;
}

.elementor-widget-theme-post-content .e-con.e-flex {
	flex-direction: column !important;
}

.elementor-widget-theme-post-content .e-con > .e-con {
	width: 100% !important;
}

.elementor-widget-theme-post-content p {
	margin-top: 0;
	margin-bottom: 1.6em;
}

.elementor-widget-theme-post-content p:last-child {
	margin-bottom: 0;
}

.elementor-widget-theme-post-content :is(ul, ol) {
	margin-top: 0;
	margin-bottom: 1.6em;
	padding-left: 27px;
}

.elementor-widget-theme-post-content ul {
	list-style: disc;
}

.elementor-widget-theme-post-content li {
	margin-bottom: 0;
}

.elementor-widget-theme-post-content li::marker {
	color: var(--color-text);
}

.elementor-widget-theme-post-content a {
	color: inherit;
	text-decoration: underline;
	text-underline-position: from-font;
}

.elementor-widget-theme-post-content a:hover,
.elementor-widget-theme-post-content a:focus-visible {
	color: inherit !important;
}

.koenig-news-zurueck svg {
	stroke: var(--color-brand);
}

.koenig-news-grid .elementor-loop-pagination a,
.koenig-news-grid .elementor-loop-pagination button,
.koenig-news-grid .elementor-pagination a,
.koenig-news-grid a.elementor-button,
.koenig-news-grid button.elementor-button,
.koenig-news-grid [data-e-load-more] {
	display: inline-flex !important;
	align-items: center !important;
	gap: 52px !important;
	background-color: var(--color-text) !important;
	border: 1px solid var(--color-text) !important;
	border-radius: 9999px !important;
	padding: 10px 30px !important;
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	color: var(--color-surface) !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.koenig-news-grid .elementor-loop-pagination a:hover,
.koenig-news-grid .elementor-loop-pagination a:focus,
.koenig-news-grid .elementor-loop-pagination button:hover,
.koenig-news-grid .elementor-loop-pagination button:focus,
.koenig-news-grid .elementor-pagination a:hover,
.koenig-news-grid .elementor-pagination a:focus,
.koenig-news-grid a.elementor-button:hover,
.koenig-news-grid a.elementor-button:focus,
.koenig-news-grid button.elementor-button:hover,
.koenig-news-grid button.elementor-button:focus,
.koenig-news-grid [data-e-load-more]:hover,
.koenig-news-grid [data-e-load-more]:focus {
	background-color: var(--color-surface) !important;
	border-color: var(--color-text) !important;
	color: var(--color-text) !important;
}
@media (prefers-reduced-motion: reduce) {
	.koenig-news-grid .elementor-loop-pagination a,
	.koenig-news-grid .elementor-loop-pagination button,
	.koenig-news-grid .elementor-pagination a,
	.koenig-news-grid a.elementor-button,
	.koenig-news-grid button.elementor-button,
	.koenig-news-grid [data-e-load-more] {
		transition-duration: 0.01ms !important;
	}
}

.koenig-news-grid .elementor-loop-pagination a::after,
.koenig-news-grid .elementor-loop-pagination button::after,
.koenig-news-grid .elementor-pagination a::after,
.koenig-news-grid a.elementor-button::after,
.koenig-news-grid button.elementor-button::after,
.koenig-news-grid [data-e-load-more]::after {
	content: '';
	display: block;
	flex: 0 0 auto;
	width: 17.63px;
	height: 13.46px;
	background-color: var(--color-surface);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.337 14.166'%3E%3Cpath d='M0 7.08302H17.6299M10.9004 13.8125L17.6299 7.08302L10.9004 0.353553' fill='none' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.337 14.166'%3E%3Cpath d='M0 7.08302H17.6299M10.9004 13.8125L17.6299 7.08302L10.9004 0.353553' fill='none' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	transition: transform 0.2s ease, background-color 0.2s ease;
}
.koenig-news-grid .elementor-loop-pagination a:hover::after,
.koenig-news-grid .elementor-loop-pagination a:focus::after,
.koenig-news-grid .elementor-loop-pagination button:hover::after,
.koenig-news-grid .elementor-loop-pagination button:focus::after,
.koenig-news-grid .elementor-pagination a:hover::after,
.koenig-news-grid .elementor-pagination a:focus::after,
.koenig-news-grid a.elementor-button:hover::after,
.koenig-news-grid a.elementor-button:focus::after,
.koenig-news-grid button.elementor-button:hover::after,
.koenig-news-grid button.elementor-button:focus::after,
.koenig-news-grid [data-e-load-more]:hover::after,
.koenig-news-grid [data-e-load-more]:focus::after {
	background-color: var(--color-brand);
	transform: translateX(4px);
}

.koenig-kontakt-fab .elementor-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 75px;
	height: 75px;
	padding: 0 !important;
	border: 1px solid var(--color-sand, #DDD8CF) !important;
	border-radius: 9999px;
	background-color: var(--color-surface, #FFFFFF);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.koenig-kontakt-fab .elementor-icon svg {
	width: 41px;
	height: 40px;
}

.koenig-kontakt-fab .elementor-icon:hover,
.koenig-kontakt-fab .elementor-icon:focus,
.koenig-kontakt-fab .elementor-icon:focus-visible,
.koenig-kontakt-fab .elementor-icon:active,
body.kontakt-popup-open .koenig-kontakt-fab .elementor-icon {
	background-color: var(--color-surface-alt, #EFEFEF) !important;
	border-color: var(--color-sand, #DDD8CF) !important;
}

.koenig-kontakt-fab .elementor-icon:hover,
.koenig-kontakt-fab .elementor-icon:focus {
	color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
	.koenig-kontakt-fab .elementor-icon {
		transition: none;
	}
}

.e-con:has(> .koenig-kontakt-fab),
.koenig-kontakt-fab,
.koenig-kontakt-fab .elementor-widget-container,
.koenig-kontakt-fab .elementor-icon-wrapper {
	pointer-events: none;
}
.koenig-kontakt-fab .elementor-icon-wrapper {
	line-height: 0;
}
.koenig-kontakt-fab .elementor-icon {
	pointer-events: auto;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.koenig-kontakt-fab .elementor-icon {
		width: 55px !important;
		height: 55px !important;
	}
	.koenig-kontakt-fab .elementor-icon svg {
		width: 30px !important;
		height: 29px !important;
	}
}

#elementor-popup-modal-16328 .dialog-close-button {
	top: 46px !important;
	right: 26px !important;
	font-size: 22px !important;
	line-height: 22px !important;
}

#elementor-popup-modal-16328 .elementor-widget-heading {
	max-width: min(240px, calc(100% - 72px));
}

.koenig-card .koenig-card-ziel.ist-klickbar {
	cursor: pointer;
}

.e-con:has(> .koenig-kontakt-fab) {
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            visibility 0s linear 0s;
}
body.kontakt-fab-versteckt:not(.kontakt-popup-open) .e-con:has(> .koenig-kontakt-fab) {
	opacity: 0;
	transform: translateY(12px);
	visibility: hidden;
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
	            visibility 0s linear 0.3s;
}
@media (prefers-reduced-motion: reduce) {
	.e-con:has(> .koenig-kontakt-fab),
	body.kontakt-fab-versteckt .e-con:has(> .koenig-kontakt-fab) {
		transform: none !important;
		transition-duration: 0.01ms !important;
	}
}

#menu-trigger {
	padding: 8px 0 !important;
}

.e-con.koenig-header-shrink {
	padding-left: 24px !important;
	padding-right: 24px !important;
	padding-inline-start: 24px !important;
	padding-inline-end: 24px !important;
}

@media (min-width: 768px) {
	.e-con.koenig-header-shrink {
		--padding-left: 36px !important;
		--padding-right: 36px !important;
		padding-left: 36px !important;
		padding-right: 36px !important;
		padding-inline-start: 36px !important;
		padding-inline-end: 36px !important;
	}
}

body.header-scrolled:not(.menu-is-open) .koenig-logo-invert-on-open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0s linear 0s;
}
.koenig-logo-invert-on-open a {
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform-origin: center center;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
body.header-scrolled:not(.menu-is-open) .koenig-logo-invert-on-open a {
	background-image: var(--koenig-logo-farbig, none);
	transform: scale(0.68);
}
body.header-scrolled:not(.menu-is-open) .koenig-logo-invert-on-open img {
	opacity: 0;
}
body.menu-is-open .koenig-logo-invert-on-open a {
	background-image: var(--koenig-logo-farbig, none);
}
body.menu-is-open .koenig-logo-invert-on-open img {
	opacity: 0;
}
@media (max-width: 767px) {
	.koenig-logo-invert-on-open a {
		transform-origin: left center;
		background-position: left center;
	}
	body.header-scrolled:not(.menu-is-open) .koenig-logo-invert-on-open a {
		transform: scale(0.65);
	}
}
@media (prefers-reduced-motion: reduce) {
	.koenig-logo-invert-on-open a {
		transition: none !important;
	}
}

.e-con:has(> .koenig-kontakt-fab) {
	z-index: 900 !important;
}

.elementor-popup-modal.elementor-popup-modal {
	z-index: 10001 !important;
}

.hero-video video::-webkit-media-controls-start-playback-button {
	display: none !important;
	-webkit-appearance: none;
}
.hero-video video::-webkit-media-controls,
.hero-video video::-webkit-media-controls-panel,
.hero-video video::-webkit-media-controls-overlay-play-button {
	display: none !important;
	-webkit-appearance: none;
}

.elementor-widget.koenig-formbreite,
.koenig-formbreite {
	width: 100%;
	max-width: 1039px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.koenig-main:focus { outline: none; }

.koenig-logo-shrink a:focus-visible,
.koenig-logo-invert-on-open a:focus-visible {
	outline: 2px solid var(--color-brand) !important;
	outline-offset: 3px;
}

.koenig-video-pause {
	position: absolute;
	left: 24px;
	bottom: 24px;
	z-index: 5;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border: 1px solid var(--color-surface, #fff) !important;
	border-radius: 50% !important;
	background: rgba(26, 23, 21, .2) !important;
	color: var(--color-surface, #fff) !important;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.koenig-video-pause svg {
	display: block;
	width: 14px;
	height: 14px;
}
.koenig-video-pause:hover,
.koenig-video-pause:focus-visible {
	background: var(--color-surface, #fff) !important;
	color: var(--color-brand) !important;
}
.koenig-video-pause:focus-visible {
	outline: 2px solid var(--color-brand);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.koenig-video-pause { transition: none; }
}

.koenig-frc {
	margin: 0 0 24px;
}
.koenig-frc .frc-captcha {
	max-width: 100%;
}
.koenig-frc__hinweis {
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.6;
}

:root {
	--ecke-breite: 62px;
	--ecke-hoehe: 64px;
	--ecke-staerke: 15px;
	--ecke-farbe: var(--color-brand, #CD1E14);
}

.koenig-ecke .elementor-heading-title::before,
.koenig-ecke-bild .elementor-widget-container::before,
.koenig-ecke-bild.e-con::before,
.koenig-ecke-zitat .elementor-widget-container::before,
.koenig-ecke-zitat .elementor-widget-container::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: var(--ecke-breite);
	height: var(--ecke-hoehe);
	background:
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / 100% var(--ecke-staerke) no-repeat,
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / var(--ecke-staerke) 100% no-repeat;
	pointer-events: none;
}

.koenig-ecke .elementor-heading-title {
	position: relative;
	display: inline-block;
}
.koenig-ecke .elementor-heading-title::before {
	left: calc(var(--ecke-text-links, 0px) - var(--ecke-x, 32px));
	top: calc(-1 * var(--ecke-y, 28px));
}
.koenig-ecke h1.elementor-heading-title::before {
	left: calc(var(--ecke-text-links, 0px) - var(--ecke-x, 46px));
	top: calc(-1 * var(--ecke-y, 30px));
}
.koenig-ecke h2.elementor-heading-title {
	padding-left: var(--ecke-x, 40px) !important;
	padding-top: var(--ecke-y, 28px) !important;
}
.koenig-ecke h2.elementor-heading-title::before {
	left: var(--ecke-text-links, 0px);
	top: 0;
}
.koenig-ecke h2.elementor-heading-title.ist-zentriert {
	padding-left: calc(var(--ecke-x, 40px) / 2) !important;
	padding-right: calc(var(--ecke-x, 40px) / 2) !important;
}
.koenig-ecke h2.elementor-heading-title.ist-zentriert::before {
	left: calc(var(--ecke-text-links, 0px) - var(--ecke-x, 40px) / 2);
}

.koenig-ecke-bild .elementor-widget-container {
	display: grid;
	justify-items: start;
}
.koenig-ecke-bild .elementor-widget-container > * {
	grid-area: 1 / 1;
}
.koenig-ecke-bild .elementor-widget-container::before {
	grid-area: 1 / 1;
	position: relative;
	align-self: start;
	justify-self: start;
	margin: calc(-1 * var(--ecke-staerke)) 0 0 calc(-1 * var(--ecke-staerke));
}
.koenig-ecke-bild.e-con {
	position: relative;
}
.koenig-ecke-bild.e-con::before {
	left: calc(-1 * var(--ecke-staerke));
	top: calc(-1 * var(--ecke-staerke));
}

.koenig-ecke-zitat .elementor-widget-container {
	position: relative;
}
.koenig-ecke-zitat .elementor-widget-container::before {
	left: calc(-1 * var(--ecke-x, 20px));
	top: calc(-1 * var(--ecke-y, 34px));
}
.koenig-ecke-zitat .elementor-widget-container::after {
	right: calc(-1 * var(--ecke-x, 20px));
	bottom: calc(-1 * var(--ecke-y, 34px));
	transform: rotate(180deg);
}

.swiper .koenig-ecke-zitat .elementor-widget-container {
	padding: var(--ecke-y, 34px) var(--ecke-x, 40px);
}
.koenig-ecke-zitat .elementor-widget-container > :last-child,
.koenig-ecke-zitat .elementor-widget-container p:last-child {
	margin-bottom: 0;
}
.swiper .koenig-ecke-zitat .elementor-widget-container::before { left: 0; top: 0; }
.swiper .koenig-ecke-zitat .elementor-widget-container::after { right: 0; bottom: 0; }

@media (max-width: 1023px) {
	:root {
		--ecke-breite: 44px;
		--ecke-hoehe: 45px;
		--ecke-staerke: 11px;
	}
	.koenig-ecke .elementor-heading-title,
	.koenig-ecke h1.elementor-heading-title,
	.koenig-ecke h2.elementor-heading-title {
		padding-left: var(--ecke-x-mobil, 30px) !important;
		padding-top: var(--ecke-y-mobil, 22px) !important;
	}
	.koenig-ecke .elementor-heading-title::before,
	.koenig-ecke h1.elementor-heading-title::before,
	.koenig-ecke h2.elementor-heading-title::before { left: var(--ecke-text-links, 0px); top: 0; }
	.koenig-ecke .elementor-heading-title.ist-zentriert {
		padding-left: calc(var(--ecke-x-mobil, 30px) / 2) !important;
		padding-right: calc(var(--ecke-x-mobil, 30px) / 2) !important;
	}
	.koenig-ecke .elementor-heading-title.ist-zentriert::before { left: calc(var(--ecke-text-links, 0px) - var(--ecke-x-mobil, 30px) / 2); }
	.swiper .koenig-ecke-zitat .elementor-widget-container { padding: var(--ecke-y-mobil, 24px) var(--ecke-x-mobil, 26px); }
	.swiper .koenig-ecke-zitat .elementor-widget-container::before { left: 0; top: 0; }
	.swiper .koenig-ecke-zitat .elementor-widget-container::after { right: 0; bottom: 0; }
	.koenig-ecke-zitat .elementor-widget-container::before { left: calc(-1 * var(--ecke-x-mobil, 12px)); top: calc(-1 * var(--ecke-y-mobil, 24px)); }
	.koenig-ecke-zitat .elementor-widget-container::after { right: calc(-1 * var(--ecke-x-mobil, 12px)); bottom: calc(-1 * var(--ecke-y-mobil, 24px)); }
}

.e-con:has(.oo-formular):not(:has(.e-con .oo-formular)) {
	--background-color: var(--color-surface) !important;
	background-color: var(--color-surface) !important;
	background-image: none !important;
}
.e-con:has(.kw):not(:has(.e-con .kw)) {
	--background-color: var(--color-sand, #DDD8CF) !important;
	background-color: var(--color-sand, #DDD8CF) !important;
}
.e-con:has(.oo-formular):not(:has(.e-con .oo-formular)) :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor *:not(a)) {
	color: var(--color-text) !important;
}

.e-con:has(> .e-con > .elementor-widget-image, > .e-con-inner > .e-con > .elementor-widget-image, > .elementor-widget-image, > .e-con-inner > .elementor-widget-image):has(.elementor-button-info) {
	--background-color: var(--color-sand, #DDD8CF) !important;
	background-color: var(--color-sand, #DDD8CF) !important;
	background-image: none !important;
}

svg:has(.koenig-faq-icon__ring),
svg .koenig-faq-icon__ring {
	fill: none !important;
}

.e-con.e-con:has(.sib_signup_form):not(:has(.e-con .sib_signup_form)) {
	--background-color: var(--color-sand, #DDD8CF) !important;
	background-color: var(--color-sand, #DDD8CF) !important;
}
.sib_signup_form :is(input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]), select, textarea, .ts-control),
.sib_signup_form input[type="checkbox"]:not(:checked) {
	background-color: transparent !important;
}

.e-loop-item .elementor-widget-divider {
	--divider-color: var(--color-brand) !important;
}

.single-post [data-elementor-type="wp-post"] .elementor-widget-image .elementor-widget-container {
	display: grid;
	justify-items: start;
}
.single-post [data-elementor-type="wp-post"] .elementor-widget-image .elementor-widget-container > * {
	grid-area: 1 / 1;
}
.single-post [data-elementor-type="wp-post"] .elementor-widget-image .elementor-widget-container::before {
	content: "";
	grid-area: 1 / 1;
	position: relative;
	z-index: 2;
	align-self: start;
	justify-self: start;
	width: var(--ecke-breite);
	height: var(--ecke-hoehe);
	margin: calc(-1 * var(--ecke-staerke)) 0 0 calc(-1 * var(--ecke-staerke));
	background:
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / 100% var(--ecke-staerke) no-repeat,
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / var(--ecke-staerke) 100% no-repeat;
	pointer-events: none;
}

.single-post .elementor-widget-divider {
	--divider-color: var(--color-brand) !important;
}
.elementor-widget-share-buttons .elementor-share-btn,
.elementor-widget-share-buttons .elementor-share-btn:hover,
.elementor-widget-share-buttons .elementor-share-btn:focus {
	background-color: var(--color-brand) !important;
	border-color: var(--color-brand) !important;
	color: var(--color-surface) !important;
}
.elementor-widget-share-buttons .elementor-share-btn .elementor-share-btn__icon {
	background-color: var(--color-brand) !important;
}
.elementor-widget-share-buttons .elementor-share-btn :is(.elementor-share-btn__icon, i, svg) {
	color: var(--color-surface) !important;
	fill: var(--color-surface) !important;
}
.single-post .e-con:has(+ .e-con .elementor-widget-loop-grid) > .elementor-widget-heading:not([data-elementor-type="wp-post"] *) .elementor-heading-title {
	position: relative;
	padding: 34px 0 0 34px;
}
.single-post .e-con:has(+ .e-con .elementor-widget-loop-grid) > .elementor-widget-heading:not([data-elementor-type="wp-post"] *) .elementor-heading-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: var(--ecke-breite);
	height: var(--ecke-hoehe);
	background:
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / 100% var(--ecke-staerke) no-repeat,
		linear-gradient(var(--ecke-farbe), var(--ecke-farbe)) left top / var(--ecke-staerke) 100% no-repeat;
	pointer-events: none;
}
@media (max-width: 1023px) {
	.single-post .e-con:has(+ .e-con .elementor-widget-loop-grid) > .elementor-widget-heading:not([data-elementor-type="wp-post"] *) .elementor-heading-title {
		padding: 22px 0 0 22px;
	}
}

.koenig-news-grid :is(.elementor-loop-pagination a, .elementor-loop-pagination button, .elementor-pagination a, a.elementor-button, button.elementor-button, [data-e-load-more]),
.koenig-news-grid :is(.elementor-loop-pagination a, .elementor-loop-pagination button, .elementor-pagination a, a.elementor-button, button.elementor-button, [data-e-load-more]):is(:hover, :focus) {
	background-color: transparent !important;
	border-color: var(--color-text) !important;
	color: var(--color-text) !important;
}
.koenig-news-grid :is(.elementor-loop-pagination a, .elementor-loop-pagination button, .elementor-pagination a, a.elementor-button, button.elementor-button, [data-e-load-more])::after {
	background-color: var(--color-brand) !important;
}

.elementor-popup-modal .dialog-close-button,
.elementor-popup-modal .dialog-close-button:is(:hover, :focus),
.elementor-popup-modal .dialog-close-button :is(i, svg) {
	color: var(--color-text) !important;
	fill: var(--color-text) !important;
}

.elementor-widget-video .elementor-custom-embed-image-overlay::after {
	background-color: var(--color-brand) !important;
}
.elementor-widget-video .elementor-custom-embed-play :is(i, svg) {
	color: var(--color-brand) !important;
	fill: var(--color-brand) !important;
}

@media (max-width: 767px) {
	.elementor-widget-loop-grid.elementor-grid-mobile-1 .elementor-loop-container {
		grid-auto-rows: auto !important;
	}
}

@media (max-width: 767px) {
	.e-con.e-parent:has(.oo-galerie__zahlen, .elementor-widget-loop-carousel, .elementor-widget-n-carousel) .elementor-widget-button:not(.e-loop-item *, .swiper-slide *) {
		align-self: center !important;
		width: auto !important;
		max-width: 100%;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.e-con.e-parent:has(.oo-galerie__zahlen, .elementor-widget-loop-carousel, .elementor-widget-n-carousel) .elementor-widget-button:not(.e-loop-item *, .swiper-slide *) .elementor-button-wrapper {
		text-align: center !important;
		justify-content: center !important;
	}
}

body #CookiebotWidget {
	left: 24px !important;
	right: auto !important;
	bottom: 24px !important;
}
