/* HD 24.08.2023 - TASK17259 Zusatzmodul: Formulareditor */
fieldset.ikiss-form-fieldset,
legend.ikiss-form-legend,
.ikiss-form-element label,
.ikiss-form-element input,
.ikiss-form-element select,
.ikiss-form-element textarea {
	margin: 0;
	padding: 0;
	font-size: 100%;
	text-align: left;
	vertical-align: baseline;
	width: auto;
	float: none;
}
.ikiss-mailform-infolabel {
	font-size: 0.75em;
}
fieldset.ikiss-form-fieldset p::after,
fieldset.ikiss-form-fieldset div::after,
div.ikiss-form-fieldgroup p::after {
	content: '';
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
span.ikiss-form-element {
	display: inline-table;
	width: 60%;
	float: none;
}
span.ikiss-form-element input,
span.ikiss-form-element select,
span.ikiss-form-element textarea,
span.ikiss-form-element label {
	display: inline-block;
	margin-bottom: 3px;
}
span.ikiss-field-radio label {
	display: inline;
}
span.ikiss-field-checkbox label {
	display: inline;
}
fieldset.ikiss-form-fieldset {
	border: 1px solid #ccc;
	padding: 1em;
	margin: 1em 0 0.75em 0;
}
legend.ikiss-form-legend {
	font-weight: bold;
	font-size: 1.3125rem;
	padding: 0 0.25em;
}
span.ikiss-field-label {
	width: 30%;
	float: left;
	margin-right: 6%;
}
span.ikiss-field-textfield input {
	width: 100%;
	padding: 1%;
}
span.ikiss-field-textarea textarea {
	width: 100%;
	padding: 1%;
	resize: vertical;
	min-height: 80px;
}
span.ikiss-field-select select {
	width: 100%;
}
span.ikiss-field-checkbox input {
	margin-right: 2%;
}
span.ikiss-field-checkbox label {
	padding-right: 3%;
}
span.ikiss-field-radio input {
	margin-right: 2%;
}
span.ikiss-field-radio label {
	padding-right: 3%;
}
span.ikiss-field-file input {
	width: 100%;
}
span.ikiss-field-button input, span.ikiss-field-button {
	float: left;
	width: auto;
}
.ikiss-mailform-infolabel {}
.ikiss-mailform-req-marker-text {
	padding: 0.75em 0;
}
.ikiss-form-fieldset input,
.ikiss-form-fieldset select,
.ikiss-form-fieldset textarea,
.ikiss-form-element input,
.ikiss-form-element select,
.ikiss-form-element textarea {
	width: 100%;
	padding: 8px 5px;
	border: 1px solid #949494; /* Mindestkontrast 3:1 */
	margin-bottom: 8px;
	background-color: #fff; /* kein grauer Select-Hintergrund in Firefox */
	border-radius: 0px; /* keine abgerundeten Felder auf iOS */
}
.ikiss-form-fieldset input:focus,
.ikiss-form-fieldset select:focus,
.ikiss-form-fieldset textarea:focus,
.ikiss-form-element input:focus,
.ikiss-form-element select:focus,
.ikiss-form-element textarea:focus {
	border: 1px solid #484848; /* Mindestkontrast 3:1 gegen #949494*/
}
.ikiss-form-fieldset input.tab-focus,
.ikiss-form-fieldset select.tab-focus,
.ikiss-form-fieldset textarea.tab-focus,
.ikiss-form-element input.tab-focus,
.ikiss-form-element select.tab-focus,
.ikiss-form-element textarea.tab-focus {
	border-radius: 0.125rem; /* noetig aufgrund obigem Radius fuer iOS */
}
.ikiss-form-fieldset input,
.ikiss-form-fieldset select,
.ikiss-form-fieldset .btn > a,
.ikiss-form-element input,
.ikiss-form-element select,
.ikiss-form-element .btn > a {
	height: 2.5em;
	display: inline-block;
}
.ikiss-form-fieldset select[multiple="multiple"],
.ikiss-form-fieldset input[type="file"],
.ikiss-form-element select[multiple="multiple"],
.ikiss-form-element input[type="file"] {
	height: auto;
}
.ikiss-form-fieldset input[type="checkbox"],
.ikiss-form-element input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 5px 5px 5px 0;
}
.ikiss-form-fieldset input[type="radio"],
.ikiss-form-element input[type="radio"] {
	width: auto;
	height: auto;
	margin: 5px 5px 5px 0;
}
.ikiss-form-fieldset select[multiple],
.ikiss-form-element select[multiple] {
	height: auto;
}
.ikiss-form-fieldset input[type="reset"],
.ikiss-form-element input[type="reset"] {
	color: #555 !important;
	background-color: #eaeaea !important;
}
@media screen and (max-width: 680px) {
	.ikiss-form-element {
		width: 100% !important;
	}
}
/* SB 20.12.2023 TASK18608*/
/* Zusatzfunktion: Textabschnitt mit speziellem Hintergrund */
.colored-container {
	position: relative;
	width: 100%;
	margin: 30px 0;
	padding: 30px;
}
.colored-container.full-width {
	width: calc(100vw - var(--scrollbar-width));
	margin: 30px 0 30px calc(50% - 50vw + calc(var(--scrollbar-width) / 2));
	padding: 30px 0;
}
.colored-container.full-width + .colored-container.full-width,
.colored-container:not(.full-width) + .colored-container:not(.full-width) { /* zwei aufeinanderfolgende Einbindungen sollen keinen Abstand halten */
	margin-top: -30px;
}
[class*="column-"]:not(.column-1) .colored-container.full-width, /* Fallbacks fuer unzulaessige Einbindungen mit voller Breite innerhalb beliebiger Spalten */
[class*="flex-col-"]:not(.flex-col-1) .colored-container.full-width,
.submenu + .inhalt_ganzseitig .colored-container.full-width, /* fuer Altsysteme */
.colored-container .colored-container.full-width, /* oder mehrfach ineinander */
.modal-window .colored-container.full-width, /* oder im modalen Fenster */
.mceContentBody .colored-container.full-width { /* auch fuer den Texteditor im Backend noetig */
	width: 100%;
	margin: 30px 0;
	padding: 30px;
}
[class*="column-"]:not(.column-1) .colored-container.full-width .wrapper, /* Fallbacks fuer den Wrapper innerhalb unzulaessiger Einbindungen mit voller Breite */
[class*="flex-col-"]:not(.flex-col-1) .colored-container.full-width .wrapper,
.submenu + .inhalt_ganzseitig .colored-container.full-width .wrapper, /* fuer Altsysteme */
.colored-container .colored-container.full-width .wrapper, /* oder mehrfach ineinander */
.modal-window .colored-container.full-width .wrapper, /* oder im modalen Fenster */
.mceContentBody .colored-container.full-width .wrapper { /* auch fuer den Texteditor im Backend noetig */
	max-width: unset;
	width: unset;
	margin: unset;
	padding: unset;
	-moz-transition: unset;
	-webkit-transition: unset;
	transition: unset;
}
.colored-container_image-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.colored-container_image-wrapper.ikiss_norel {
	background-color: #c20000;
}
.colored-container_image-wrapper.ikiss_norel > img {
	opacity: 0.666;
}
.colored-container_image-copyright {
	background-color: #eee;
	background-color: rgba(255,255,255,0.75);
	color: #444;
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 0.25em 0.375em;
	font-size: 0.75rem;
	line-height: normal;
	max-width: calc(100% - 30px);
	max-height: 100%;
}
@media screen and (max-width: 680px) {
	.colored-container_image-copyright {
		font-size: 0.5rem;
	}
}
.colored-container_image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.colored-container_image.fixed {
	background-attachment: fixed;
}
@supports (-webkit-touch-callout: none) { /* fixed wird auf iOS-Geraeten nicht unterstuetzt */
	.colored-container_image.fixed {
		background-attachment: scroll;
	}
}
.colored-container_image.bottom {
	background-position: bottom;
}
.colored-container_image.top {
	background-position: top;
}
.colored-container_text-wrapper {
	position: relative;
	z-index: 2;
	font-size: 1em; /* fuer Altsysteme mit font-size im .wrapper */
}
.colored-container_text-container {
	position: relative;
}
@media screen and (min-width: 961px){
	.colored-container_text-container.width-33 {
		max-width: 33.333%;
	}
	.colored-container_text-container.width-50 {
		max-width: 50%;
	}
	.colored-container_text-container.width-66 {
		max-width: 66.666%;
	}
	.colored-container_text-container.left {
		margin: 0 auto 0 0 ;
	}
	.colored-container_text-container.right {
		margin: 0 0 0 auto;
	}
	.colored-container_text-container.center {
		margin: 0 auto;
	}
}
.colored-container_text-background {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.colored-container_text-background + .colored-container_text {
	padding: 15px; /* zusaetzlicher Abstand nur, wenn Text mit zusaetzlichem Hintergrund erscheint */
}
.colored-container_text.text-color :not(.img-copyright):not(.mc2_ac):not(p.btn > a):not(.accordion-title):not(.cards):not(.big-date *) { /* weitere Ausnahmen, die die Schriftfarbe nicht uebernehmen sollen, muessen hier ebenfalls mit :not ergaenzt werden */
	color: inherit;
	border-color: inherit; /* erstmal ganz allgemein, siehe unten */
}
.colored-container_text.text-color * { /* die Vererbung der border-color ermoeglicht, dass Trennlinien in Suchergebnis-Listen passend gefaerbt werden. Die Farbe wird im Template auf die Textfarbe gesetzt, jedoch zu 75% durchsichtig. Wenn noetig koennen noch Ausnahmen wie oben definiert werden. Da aber nur die Farbe gesetzt wird und nicht das border-Attribut, war das bisher nicht noetig */
	border-color: inherit;
}
.colored-container_text :first-child:not(.flex-row):not([class*="flex-col-"]) {
	margin-top: 0;
}
.colored-container_text :last-child:not(.cards):not(.text-columns):not(.flex-row):not([class*="flex-col-"]) {
	margin-bottom: 0;
}
.opacity-100 {
	opacity: 1;
}
.opacity-75 {
	opacity: 0.75;
}
.opacity-50 {
	opacity: 0.5;
}
.opacity-25 {
	opacity: 0.25;
}
[style*="display:inline"]:first-child .colored-container:first-child { /* nur wenn kein Titel und keine Einleitung vorangestellt ist */
	margin-top: 0;
}
.colored-container:last-child {
	margin-bottom: 0;
}