/* Header */
header {
	position: absolute;
	width: 100%;
}

.wp-block-site-title {
	font-size: 22px;
	text-transform: uppercase;
	color: var(--wp--preset--color--weiss);
}

.page-template-ohne-cover .wp-block-site-title {
	color: var(--wp--preset--color--dunkelgrau);
}

main {
	margin-block-start: 0;
}

body:not(.block-editor-page) .wp-block-cover {
	z-index: -1;
}

/* Cover-Block */
.wp-block-cover.alignfull span.wp-block-cover__background {
	background: linear-gradient(180deg,rgb(0,0,0) 0%,rgba(0,0,0,0) 20%);
	opacity: 1 !important;
}

@media( max-width: 1280px) {
	.wp-block-cover.alignfull {
		min-height: max( 320px, 50vw ) !important;
	}
}

/* Head-Panel */
.wp-block-group.is-style-head-panel {
	margin-top: -5em;
	background: linear-gradient(90deg, var(--wp--preset--color--hellgrau) 50%, transparent 50%);
}

.wp-block-group.is-style-head-panel h1 {
	max-width: 580px;
	padding: 0.8em 1em 0.3em 0;
	background: var(--wp--preset--color--hellgrau);
}

@media( max-width: 1318px ) {
	.wp-block-group.is-style-head-panel {
		padding-left: var(--wp--style--root--padding-left);
	}
	.wp-block-group.is-style-head-panel > .wp-block-group {
		max-width: 100%;
	}
}

@media( max-width: 780px) {
	.wp-block-group.is-style-head-panel {
		margin-top: 0;
	}
}

/* Bullet-Lists */
.entry-content ul {
	list-style: none;
	padding-left: 0;
}
.entry-content ul li {
	padding-left: 25px;
	background: url('../images/bullet.svg') no-repeat left top 0.25em;
}

/* Buttons */
.wp-block-button .wp-element-button:after {
	content: '';
	display: inline-block;
	width: 21px;
	height: 18px;
	margin-left: 1rem;
	background: url('../images/arrow.svg') no-repeat center;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-element-button {
	color: var(--wp--preset--color--orange) !important;
	padding: calc(1rem - 2px) calc(1.2rem - 2px) !important;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-element-button:after {
	background-image: url('../images/arrow-orange.svg');
}

.wp-block-buttons .wp-block-button.is-style-outline:hover .wp-element-button {
	color: var(--wp--preset--color--rot) !important;
}

.wp-block-buttons .wp-block-button.is-style-outline:hover .wp-element-button:after {
	background-image: url('../images/arrow-red.svg');
}

/* Pricelist */
.is-style-pricelist {
	margin-block-start: 0;
}

.is-style-pricelist :first-child {
	white-space: nowrap !important;
	overflow: hidden;
}

.is-style-pricelist :last-child {
	white-space: nowrap !important;
}

.is-style-pricelist :first-child:after {
	content: '..................................................................................................................................................';
	margin-left: 0.5em;
	white-space: nowrap;
	overflow: hidden;
}

/* Card */
.is-style-card {
	position: relative;
	flex-basis: 31.0%;
	padding: 64px 40px 40px !important;
	margin-top: 45px !important;
	border-radius: 16px;
	background: var(--wp--preset--color--weiss);
	box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.10);
}

.is-style-card:before {
	content: '';
	position: absolute;
	left: 0;
	top: -45px;
	display: block;
	width: 100%;
	height: 90px;
	background: url(../images/quote.svg) no-repeat center;
}

@media( max-width: 959px) {
	.is-style-card {
		flex-basis: 48.0%;
	}
}

@media( max-width: 500px) {
	.is-style-card,
	figure.wp-block-gallery.has-nested-images .wp-block-image {
		flex-basis: 100%;
	}
}

/* Footer */
footer a {
	text-decoration: none;
}

.wp-block-separator {
	border-bottom: 0 !important;
}

/* Textlinks */
.textlink a {
	text-decoration: none;
	border-bottom: 1px solid;
}
.textlink a:hover {
	color: #a60005;
}

/* Impressum + Datenschutz */
.legalinfo a {
	text-decoration: none;
	border-bottom: 1px solid;
}
.legalinfo a:hover {
	color: #a60005;
}
.legalinfo h3 {
	font-size: 1.75rem;
	color: #404040;
}
.legalinfo hr, hr.space {
	color: #b5b5b5 !important;
	background-color: #b5b5b5 !important;
	margin: 1.5em 0 !important;
}
.legalinfo ul {
	list-style: disc;
	padding-left: var(--wp--preset--spacing--10);
}
.legalinfo ul li {
	padding-left: 8px;
	background: none;
}

/* Kontaktformular (Ninja Forms) */
.nf-iframe-container iframe {
	width: 100%;
}

form .nf-form-content label {
	font-size: 20px;
	line-height: 28px;
	color: #404040;
}
form .nf-field-label label {
	font-weight: normal;
	line-height: 20px;
}

form .nf-field-element input[type=submit] {
	height: auto;
	font-size: clamp(1.25rem, 1.2045rem + 0.2273vw, 1.375rem);
	font: inherit;
	font-style: normal;
	font-weight: 700;
	color: var(--wp--preset--color--weiss);
	padding: 1rem 2rem;
	background-color: var(--wp--preset--color--orange);
	cursor: pointer;
}

form .nf-field-element input[type=submit]:hover,
form .nf-field-element input[type=submit]:focus {
	color: var(--wp--preset--color--weiss);
	background-color: var(--wp--preset--color--rot);
}

/* Kontaktformular (WP-Forms) */
body div.wpforms-container-full .wpforms-field-label {
	font-size: 20px;
	font-weight: normal;
	line-height: 20px;
	color: var(--wp--preset--color--dunkelgrau);
	margin-bottom: 0.3em;
}

body div.wpforms-container-full input[type=checkbox] + label {
	font-size: 20px;
	font-weight: normal;
	line-height: 20px;
	color: var(--wp--preset--color--dunkelgrau);
}

body div.wpforms-container-full input[type=checkbox]::before,
body div.wpforms-container-full input[type=checkbox]::after {
	top: 0;	
}

body .wpforms-container .wpforms-required-label {
	color: var(--wp--preset--color--rot);
}

body div.wpforms-container-full .wpforms-form em.wpforms-error {
	font-size: 16px;
	color: var(--wp--preset--color--rot);
}

body div.wpforms-container-full .wpforms-form label.wpforms-error::before,
body div.wpforms-container-full .wpforms-form em.wpforms-error::before {
	background-color: var(--wp--preset--color--rot);
}

body div.wpforms-container-full button[type=submit] {
	height: auto;
	font-size: clamp(1.25rem, 1.2045rem + 0.2273vw, 1.375rem);
	font: inherit;
	font-style: normal;
	font-weight: 700;
	color: var(--wp--preset--color--weiss);
	padding: 1rem 2rem;
	background-color: var(--wp--preset--color--orange);
	border-radius: 0;
	cursor: pointer;
}

body div.wpforms-container-full button[type=submit]:not(:hover):not(:active) {
	color: var(--wp--preset--color--weiss);
	background-color: var(--wp--preset--color--orange);
}

body div.wpforms-container-full button[type=submit]:hover,
body div.wpforms-container-full button[type=submit]:focus {
	color: var(--wp--preset--color--weiss);
	background-color: var(--wp--preset--color--rot);
}

body div.wpforms-container-full input[type=text],
body div.wpforms-container-full input[type=email],
body .wpforms-form textarea.wpforms-field-medium {
	font-size: clamp(1.25rem, 1.2045rem + 0.2273vw, 1.375rem);
}

body div.wpforms-container-full input {
	height: 54px;
}

/* Reihenfolge der Info-Spalten */

@media( max-width: 780px) {
	.info-1 { order: 1; }
	.info-2 { order: 2; }
}