/* res_id: da232d78aa810382f2dcdceae308ff8e */

@charset "utf-8";
/* CSS Document */


/* Fonts */
@import url('fonts/fontello.css');
@import url('fonts/stylesheet.css');



/* Vorgaben */
:root {
	--col-primary: rgb(178,84,37);				/* globale 1. Projektfarbe */
	--col-secondary: rgb(234,198,176);			/* globale 2. Projektfarbe */
	--col-accent: rgb(29,29,29);				/* globale 3. Projektfarbe (Akzentfarbe) */
	--col-text: rgb(40,40,40);					/* globale Schriftfarbe */
	--col-light: #FFF;							/* für Basis-Farbset z.B. im Gridblock */
	--col-dark: rgb(44,45,52);					/* für Basis-Farbset z.B. im Gridblock */
	--col-overlay: rgba(234,198,176, 0.95);		/* für Lightbox-Overlays */
	
	--font-header: 'Raleway', sans-serif;		/* globale Schriftart für Überschriften */
	--font-text: 'Basic', sans-serif;			/* globale Schriftart für Texte */
	--font-accent: 'Merriweather', sans-serif;	/* globale Schriftart für Akzente */

	--margin-xs: 1px;
	--margin-sm: 10px;
	--margin-md: 30px;
	--margin-lg: 50px;
	--margin-xl: 100px;
	
	--margin-neg-xs: -10px;
	--margin-neg-sm: -20px;
	--margin-neg-md: -40px;
	--margin-neg-lg: -60px;
	--margin-neg-xl: -80px;
	
	--padding-sm: 20px;
	--padding-md: 40px;
	--padding-lg: 60px;
	--padding-xl: 80px;
	--padding-smp: 3%;
	--padding-mdp: 7%;
	--padding-lgp: 11%;
	--padding-xlp: 15%;
	
	--borderRadius-xs: 4px;
	--borderRadius-sm: 9px;
	--borderRadius-md: 15px;
	--borderRadius-lg: 20px;

	--gap-xs: 1px;
	--gap-sm: 10px;
	--gap-md: 30px;
	--gap-lg: 50px;
	--gap-xl: 100px;
	
	--transform: skewY(0deg);
	--margin-divisor: 1;
	--padding-divisor: 1;
	--overlay-opacity: 1;
	
	--filter-grey: grayscale(1);
	--filter-blur: blur(3px);
	--filter-greyblur: grayscale(1) blur(3px);
	
	--fx-liftup-transf: translateY(-7px);
	--fx-liftup-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px;
	--fx-scaleup: scale(1.07);
}




/* Standard */
* { margin: 0px; padding: 0px; box-sizing: border-box; }

html { scroll-behavior: smooth; }
body { background: #FFF; padding: 50px; }
body,td,th { font-family: var(--font-text); font-size: 17px; font-weight: normal; color: var(--col-text); line-height: 1.5; word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }

#clearing, .clearing { clear: both; font-size: 0px; }
#clearleft, .clearleft { clear: left; font-size: 0px; }
#clearright, .clearright { clear: right; font-size: 0px; }
#clearfix, .clearfix { display: block !important; width: 100% !important; height: 0px !important; overflow: hidden !important; font-size: 0px !important; float: none !important; }
	#clearfix:after, .clearfix:after {
		content: ".";
		display: inline-block !important;
		height: 0px !important;
		width: 100% !important;
		clear: both;
		visibility: hidden !important;
		padding: 0px !important;
		margin: 0px !important;
		font-size: 0px !important;
	}




/* globale Klassen für Inhalte + Module */
.pdT-15px { padding-top: 15px; }
.pdB-15px { padding-bottom: 15px; }
.pdH-15px { padding-left: 15px; padding-right: 15px; }
.pdT-sm { padding-top: var(--padding-sm); }
.pdT-md { padding-top: var(--padding-md); }
.pdT-lg { padding-top: var(--padding-lg); }
.pdT-xl { padding-top: var(--padding-xl); }
	.pdT-smp { padding-top: var(--padding-smp); }
	.pdT-mdp { padding-top: var(--padding-mdp); }
	.pdT-lgp { padding-top: var(--padding-lgp); }
	.pdT-xlp { padding-top: var(--padding-xlp); }
.pdB-sm { padding-bottom: var(--padding-sm); }
.pdB-md { padding-bottom: var(--padding-md); }
.pdB-lg { padding-bottom: var(--padding-lg); }
.pdB-xl { padding-bottom: var(--padding-xl); }
	.pdB-smp { padding-bottom: var(--padding-smp); }
	.pdB-mdp { padding-bottom: var(--padding-mdp); }
	.pdB-lgp { padding-bottom: var(--padding-lgp); }
	.pdB-xlp { padding-bottom: var(--padding-xlp); }
.pdH-sm { padding-left: var(--padding-sm); padding-right: var(--padding-sm); }
.pdH-md { padding-left: var(--padding-md); padding-right: var(--padding-md); }
.pdH-lg { padding-left: var(--padding-lg); padding-right: var(--padding-lg); }
.pdH-xl { padding-left: var(--padding-xl); padding-right: var(--padding-xl); }
	.pdH-smp { padding-left: var(--padding-smp); padding-right: var(--padding-smp); }
	.pdH-mdp { padding-left: var(--padding-mdp); padding-right: var(--padding-mdp); }
	.pdH-lgp { padding-left: var(--padding-lgp); padding-right: var(--padding-lgp); }
	.pdH-xlp { padding-left: var(--padding-xlp); padding-right: var(--padding-xlp); }

.pdM-12 { --padding-divisor: 0.5 !important; }
.pdM-14 { --padding-divisor: 0.25 !important; }
.pdM-34 { --padding-divisor: 0.75 !important; }

.mgM-12 { --margin-divisor: 0.5 !important; }
.mgM-14 { --margin-divisor: 0.25 !important; }
.mgM-34 { --margin-divisor: 0.75 !important; }

.mgT-xs:not(.mgOnlyMobile) { margin-top: var(--margin-xs) !important; }
.mgT-sm:not(.mgOnlyMobile) { margin-top: var(--margin-sm) !important; }
.mgT-md:not(.mgOnlyMobile) { margin-top: var(--margin-md) !important; }
.mgT-lg:not(.mgOnlyMobile) { margin-top: var(--margin-lg) !important; }
.mgT-xl:not(.mgOnlyMobile) { margin-top: var(--margin-xl) !important; }
.mgB-xs:not(.mgOnlyMobile) { margin-bottom: var(--margin-xs) !important; }
.mgB-sm:not(.mgOnlyMobile) { margin-bottom: var(--margin-sm) !important; }
.mgB-md:not(.mgOnlyMobile) { margin-bottom: var(--margin-md) !important; }
.mgB-lg:not(.mgOnlyMobile) { margin-bottom: var(--margin-lg) !important; }
.mgB-xl:not(.mgOnlyMobile) { margin-bottom: var(--margin-xl) !important; }

.mgNT-xs:not(.mgOnlyMobile) { margin-top: var(--margin-neg-xs) !important; }
.mgNT-sm:not(.mgOnlyMobile) { margin-top: var(--margin-neg-sm) !important; }
.mgNT-md:not(.mgOnlyMobile) { margin-top: var(--margin-neg-md) !important; }
.mgNT-lg:not(.mgOnlyMobile) { margin-top: var(--margin-neg-lg) !important; }
.mgNT-xl:not(.mgOnlyMobile) { margin-top: var(--margin-neg-xl) !important; }
.mgNB-xs:not(.mgOnlyMobile) { margin-bottom: var(--margin-neg-xs) !important; }
.mgNB-sm:not(.mgOnlyMobile) { margin-bottom: var(--margin-neg-sm) !important; }
.mgNB-md:not(.mgOnlyMobile) { margin-bottom: var(--margin-neg-md) !important; }
.mgNB-lg:not(.mgOnlyMobile) { margin-bottom: var(--margin-neg-lg) !important; }
.mgNB-xl:not(.mgOnlyMobile) { margin-bottom: var(--margin-neg-xl) !important; }

.bgCol-primary { background-color: var(--col-primary); }
.bgCol-secondary { background-color: var(--col-secondary); }
.bgCol-accent { background-color: var(--col-accent); }

.bgFill-cover { background-size: cover; background-repeat: no-repeat !important; }
.bgFill-contain { background-size: contain; background-repeat: no-repeat !important; }
.bgFill-repeat { background-repeat: repeat !important; }
.bgFill-repeatX { background-repeat: repeat-x !important; }
.bgFill-repeatY { background-repeat: repeat-y !important; }

.bgAlign-cc { background-position: center center; }
.bgAlign-lt { background-position: left top; }
.bgAlign-rt { background-position: right top; }
.bgAlign-rb { background-position: right bottom; }
.bgAlign-lb { background-position: left bottom; }
.bgAlign-ct { background-position: center top; }
.bgAlign-cr { background-position: center right; }
.bgAlign-cb { background-position: center bottom; }
.bgAlign-cl { background-position: center left; }

.bgSkewY-smb { --transform: skewY(2deg); transform: var(--transform); }
	.bgSkewY-smb > div { transform: skewY(-2deg); }
.bgSkewY-mdb { --transform: skewY(5deg); transform: var(--transform); }
	.bgSkewY-mdb > div { transform: skewY(-5deg); }
.bgSkewY-lgb { --transform: skewY(8deg); transform: var(--transform); }
	.bgSkewY-lgb > div { transform: skewY(-8deg); }
.bgSkewY-smt { --transform: skewY(-2deg); transform: var(--transform); }
	.bgSkewY-smt > div { transform: skewY(2deg); }
.bgSkewY-mdt { --transform: skewY(-5deg); transform: var(--transform); }
	.bgSkewY-mdt > div { transform: skewY(5deg); }
.bgSkewY-lgt { --transform: skewY(-8deg); transform: var(--transform); }
	.bgSkewY-lgt > div { transform: skewY(8deg); }

.bgTrOr-left { transform-origin: left; }
.bgTrOr-right { transform-origin: right; }

.bgOlay-dark:after, .bgOlay-light:after, .bgOlay-vigdark:after, .bgOlay-viglight:after, .bgOlay-dotdark:after, .bgOlay-dotlight:after, .bgOlay-linesdark:after, .bgOlay-lineslight:after, .bgOlay-diagdark:after, .bgOlay-diaglight:after { content: ''; position: absolute; z-index: 1; width: 100%; height: 100%; top: 0px; left: 0px; opacity: calc(var(--overlay-opacity) / 100); }
.bgOlay-dark:after { background: rgba(0,0,0, 1); }
.bgOlay-light:after { background: rgba(255,255,255, 1); }
.bgOlay-vigdark:after { background: radial-gradient(transparent 60%, rgba(0,0,0, 1)); }
.bgOlay-viglight:after { background: radial-gradient(transparent 60%, rgba(255,255,255, 1)); }
.bgOlay-dotdark:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGAQMAAADaAn0LAAAABGdBTUEAALGPC/xhBQAAAAZQTFRFAAAAAAAApWe5zwAAAAF0Uk5TAEDm2GYAAAAPSURBVAjXY2AAAgMgBAIAAkwAYT8MS18AAAAASUVORK5CYII=') repeat; }
.bgOlay-dotlight:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGAQMAAADaAn0LAAAABGdBTUEAALGPC/xhBQAAAAZQTFRFAAAA////pdmf3QAAAAF0Uk5TAEDm2GYAAAAPSURBVAjXY2AAAgMgBAIAAkwAYT8MS18AAAAASUVORK5CYII=') repeat; }
.bgOlay-linesdark:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAgMAAADwAc52AAAABGdBTUEAALGPC/xhBQAAAAlQTFRFAAAAAAAAAAAAg2PpwAAAAAJ0Uk5TgABNEFVzAAAAFElEQVQI12MIdWAAolUNDEAQ6gAAF9YC6ok5McwAAAAASUVORK5CYII=') repeat; }
.bgOlay-lineslight:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAgMAAADwAc52AAAABGdBTUEAALGPC/xhBQAAAAlQTFRF////AAAA////fu+PTwAAAAJ0Uk5TgABNEFVzAAAAFElEQVQI12MIdWAAolUNDEAQ6gAAF9YC6ok5McwAAAAASUVORK5CYII=') repeat; }
.bgOlay-diagdark:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABGdBTUEAALGPC/xhBQAAAAZQTFRFAAAAAAAApWe5zwAAAAF0Uk5TAEDm2GYAAAASSURBVAjXY2hg4GAQYFBgcAAABbIA+Zl88MsAAAAASUVORK5CYII=') repeat; }
.bgOlay-diaglight:after { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFAQMAAAC3obSmAAAABGdBTUEAALGPC/xhBQAAAAZQTFRFAAAA////pdmf3QAAAAF0Uk5TAEDm2GYAAAASSURBVAjXY2hg4GAQYFBgcAAABbIA+Zl88MsAAAAASUVORK5CYII=') repeat; }

.shadow-dh { -webkit-box-shadow: 6px 6px 3px 0 rgba(0,0,0,0.4); box-shadow: 6px 6px 3px 0 rgba(0,0,0,0.4); }			/* schlag hart */
.shadow-dm { -webkit-box-shadow: 7px 7px 9px 0 rgba(0,0,0,0.4); box-shadow: 7px 7px 9px 0 rgba(0,0,0,0.4); }			/* schlag mittel */
.shadow-ds { -webkit-box-shadow: 10px 10px 20px 0 rgba(0,0,0,0.4); box-shadow: 10px 10px 20px 0 rgba(0,0,0,0.4); }		/* schlag soft */
.shadow-gs { -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0.25); box-shadow: 0 0 20px 0 rgba(0,0,0,0.25); }				/* glühen klein */
.shadow-gm { -webkit-box-shadow: 0 0 32px 0 rgba(0,0,0,0.33); box-shadow: 0 0 32px 0 rgba(0,0,0,0.33); }				/* glühen mittel */
.shadow-gl { -webkit-box-shadow: 0 0 50px 2px rgba(0,0,0,0.4); box-shadow: 0 0 50px 2px rgba(0,0,0,0.4); }				/* glühen groß */
.shadow-is { -webkit-box-shadow: inset 0 0 20px 0 rgba(0,0,0,0.4); box-shadow: inset 0 0 20px 0 rgba(0,0,0,0.4); }		/* inline klein */
.shadow-im { -webkit-box-shadow: inset 0 0 32px 0 rgba(0,0,0,0.4); box-shadow: inset 0 0 32px 0 rgba(0,0,0,0.4); }		/* inline mittel */
.shadow-il { -webkit-box-shadow: inset 0 0 40px 2px rgba(0,0,0,0.5); box-shadow: inset 0 0 40px 2px rgba(0,0,0,0.5); }	/* inline groß */
.shadow-rs { -webkit-box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px; box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px; }																/* angehoben klein */
.shadow-rm { -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px; box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px; }		/* angehoben mittel */
.shadow-rl { -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px; box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px; }		/* angehoben groß */
.shadow-ft { box-shadow: -10px -10px 0px 0px rgba(0,0,0, 0.38); }														/* gerahmt oben */
.shadow-fb { box-shadow: 10px 10px 0px 0px rgba(0,0,0, 0.38); }															/* gerahmt unten */
.shadow-fa { box-shadow: 0px 6px 0px 10px rgba(0,0,0, 0.38); }															/* gerahmt rundum */
.shadow-ss { box-shadow: -18px 0px 10px -17px rgba(0,0,0, 0.38), 18px 0px 10px -17px rgba(0,0,0, 0.38); }				/* seiten klein */
.shadow-sm { box-shadow: -24px 0px 13px -17px rgba(0,0,0, 0.38), 24px 0px 13px -17px rgba(0,0,0, 0.38); }				/* seiten mittel */
.shadow-sl { box-shadow: -30px 0px 15px -17px rgba(0,0,0, 0.38), 30px 0px 15px -17px rgba(0,0,0, 0.38); }				/* seiten groß */

.bRadius.bRadius-50p, 	.gridblock .bRadius.bRadius-50p:after, 	.gridblock .bRadius.bRadius-50p > .farallax-wrapper { -webkit-border-radius: 50%; border-radius: 50%; }
.bRadius.bRadius-xs, 	.gridblock .bRadius.bRadius-xs:after, 	.gridblock .bRadius.bRadius-xs > .farallax-wrapper { -webkit-border-radius: var(--borderRadius-xs); border-radius: var(--borderRadius-xs); }
.bRadius.bRadius-sm, 	.gridblock .bRadius.bRadius-sm:after, 	.gridblock .bRadius.bRadius-sm > .farallax-wrapper { -webkit-border-radius: var(--borderRadius-sm); border-radius: var(--borderRadius-sm); }
.bRadius.bRadius-md, 	.gridblock .bRadius.bRadius-md:after, 	.gridblock .bRadius.bRadius-md > .farallax-wrapper { -webkit-border-radius: var(--borderRadius-md); border-radius: var(--borderRadius-md); }
.bRadius.bRadius-lg, 	.gridblock .bRadius.bRadius-lg:after, 	.gridblock .bRadius.bRadius-lg > .farallax-wrapper { -webkit-border-radius: var(--borderRadius-lg); border-radius: var(--borderRadius-lg); }
.bRadius.bRadiusTL-none, .gridblock .bRadius.bRadiusTL-none:after, .gridblock .bRadius.bRadiusTL-none > .farallax-wrapper { -webkit-border-top-left-radius: 0px !important; border-top-left-radius: 0px !important; }
.bRadius.bRadiusTR-none, .gridblock .bRadius.bRadiusTR-none:after, .gridblock .bRadius.bRadiusTR-none > .farallax-wrapper { -webkit-border-top-right-radius: 0px !important; border-top-right-radius: 0px !important; }
.bRadius.bRadiusBL-none, .gridblock .bRadius.bRadiusBL-none:after, .gridblock .bRadius.bRadiusBL-none > .farallax-wrapper { -webkit-border-bottom-left-radius: 0px !important; border-bottom-left-radius: 0px !important; }
.bRadius.bRadiusBR-none, .gridblock .bRadius.bRadiusBR-none:after, .gridblock .bRadius.bRadiusBR-none > .farallax-wrapper { -webkit-border-bottom-right-radius: 0px !important; border-bottom-right-radius: 0px !important; }

/* für Abwärtskompatibilität + Inhaltsmodule */
.bRadius.bRadius-ltrt, .gridblock .bRadius.bRadius-ltrt:after, .gridblock .bRadius.bRadius-ltrt > .farallax-wrapper { -webkit-border-bottom-left-radius: 0px; -webkit-border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
.bRadius.bRadius-lbrb, .gridblock .bRadius.bRadius-lbrb:after, .gridblock .bRadius.bRadius-lbrb > .farallax-wrapper { -webkit-border-top-left-radius: 0px; -webkit-border-top-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; }
.bRadius.bRadius-ltrb, .gridblock .bRadius.bRadius-ltrb:after, .gridblock .bRadius.bRadius-ltrb > .farallax-wrapper { -webkit-border-top-right-radius: 0px; -webkit-border-bottom-left-radius: 0px; border-top-right-radius: 0px; border-bottom-left-radius: 0px; }
.bRadius.bRadius-rtlb, .gridblock .bRadius.bRadius-rtlb:after, .gridblock .bRadius.bRadius-rtlb > .farallax-wrapper { -webkit-border-top-left-radius: 0px; -webkit-border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-bottom-right-radius: 0px; }

.filter-grey { filter: grayscale(1); }
.filter-color { filter: grayscale(0); }
.filter-blur { filter: blur(3px); }
.filter-greyblur { filter: grayscale(1) blur(3px); }

.border-xs-light { border: 1px solid var(--col-light); }						/* z.B. genutzt im Modul Einzelbild */
.border-sm-light { border: 5px solid var(--col-light); }
.border-lg-light { border: 15px solid var(--col-light); }
.border-xs-dark  { border: 1px solid var(--col-dark); }

.border-sm-dark  { border: 5px solid var(--col-dark); }
.border-lg-dark  { border: 15px solid var(--col-dark); }
.border-xs-primary  { border: 1px solid; border-color: var(--col-primary); }
.border-sm-primary  { border: 5px solid; border-color: var(--col-primary); }
.border-lg-primary  { border: 15px solid; border-color: var(--col-primary); }
.border-xs-secondary  { border: 1px solid; border-color: var(--col-secondary); }
.border-sm-secondary  { border: 5px solid; border-color: var(--col-secondary); }
.border-lg-secondary  { border: 15px solid; border-color: var(--col-secondary); }
.border-xs-accent  { border: 1px solid; border-color: var(--col-accent); }
.border-sm-accent  { border: 5px solid; border-color: var(--col-accent); }
.border-lg-accent  { border: 15px solid; border-color: var(--col-accent); }

.width-margin { margin-left: 80px; margin-right: 80px; }
.mw500 { max-width: 500px; }
.mw600 { max-width: 600px; }
.mw700 { max-width: 700px; }
.mw800 { max-width: 800px; }
.mw900 { max-width: 900px; }
.mw1000 { max-width: 1000px; }
.mw1100 { max-width: 1100px; }
.mw1200 { max-width: 1200px; }
.mw1300 { max-width: 1300px; }
.mw1400 { max-width: 1400px; }
.mw1500 { max-width: 1500px; }
.mw1600 { max-width: 1600px; }
.mw1700 { max-width: 1700px; }
.mw1800 { max-width: 1800px; }

.wa-left { margin-left: 0px !important; margin-right: auto !important; }
.wa-center { margin-left: auto !important; margin-right: auto !important; }
.wa-right { margin-left: auto !important; margin-right: 0px !important; }
.ha-top { align-self: start; }
.ha-center { align-self: center; }
.ha-bottom { align-self: end; }

.ofHidden { overflow: hidden; }
.hide, .content-hide { display: none !important; }
.sr-only { position: absolute; top: auto; left: -10000em; border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; width: 1px; }

.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.justify { text-align: justify; }

/* AOS-Effekt-Anpassung für Neigung (skew) */
[data-aos^=fade-][data-aos^=fade-].aos-animate {transform:translateZ(1px) var(--transform) !important; }
[data-aos=fade-up] { 							transform:translate3d(0,100px,0) var(--transform) !important; }
[data-aos=fade-down] { 							transform:translate3d(0,-100px,0) var(--transform) !important; }
[data-aos=fade-right] { 						transform:translate3d(-100px,0,0) var(--transform) !important; }
[data-aos=fade-left] { 							transform:translate3d(100px,0,0) var(--transform) !important; }

[data-aos=flip-left] { 							transform:perspective(2500px) rotateY(-100deg) var(--transform) !important; }
[data-aos=flip-left].aos-animate { 				transform:perspective(2500px) rotateY(0) var(--transform) !important; }
[data-aos=flip-right] { 						transform:perspective(2500px) rotateY(100deg) var(--transform) !important; }
[data-aos=flip-right].aos-animate { 			transform:perspective(2500px) rotateY(0) var(--transform) !important; }
[data-aos=flip-up] {							transform:perspective(2500px) rotateX(-100deg) var(--transform) !important; }
[data-aos=flip-up].aos-animate { 				transform:perspective(2500px) rotateX(0) var(--transform) !important; }
[data-aos=flip-down] { 							transform:perspective(2500px) rotateX(100deg) var(--transform) !important; }
[data-aos=flip-down].aos-animate { 				transform:perspective(2500px) rotateX(0) var(--transform) !important; }

[data-aos^=zoom][data-aos^=zoom].aos-animate { 	transform:translateZ(1px) scale(1) var(--transform) !important; }
[data-aos=zoom-in] { 							transform:scale(.6) var(--transform) !important; }
[data-aos=zoom-out] { 							transform:scale(1.2) var(--transform) !important; }

/* BG-Video + Parallax-Effekt (FM) v1.0 */
.farallax-wrapper, .background-video { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 0; overflow: hidden; pointer-events: none; backface-visibility: hidden; }
.farallax-image { background: none; background-repeat: no-repeat; background-position: center top; background-size: cover; position: absolute; margin: 0px; padding: 0px; bottom: 0px; left: 0px; width: 100.1%; height: 100.1%; display: block; pointer-events: none; backface-visibility: hidden; will-change: transform height; }
	.bgAlign-lt .farallax-image, .bgAlign-lb .farallax-image, .bgAlign-cl .farallax-image { background-position: left top; }
	.bgAlign-rt .farallax-image, .bgAlign-rb .farallax-image, .bgAlign-cr .farallax-image { background-position: right top; }
video.background-video { object-fit: cover; object-position: center center; }
	.bgAlign-lt video.background-video { object-position: cleft top; }
	.bgAlign-rt video.background-video { object-position: right top; }
	.bgAlign-rb video.background-video { object-position: right bottom; }
	.bgAlign-lb video.background-video { object-position: left bottom; }
	.bgAlign-ct video.background-video { object-position: center top; }
	.bgAlign-cr video.background-video { object-position: center right; }
	.bgAlign-cb video.background-video { object-position: center bottom; }
	.bgAlign-cl video.background-video { object-position: center left; }

/* Projekt-Anpassungen globaler Klassen */
/*
.bgOlay-xxxx:after { content: ''; position: absolute; z-index: 1; width: 100%; height: 63%; bottom: 0px; left: 0px; }
.bgOlay-xxxx:after { background: linear-gradient(0deg, #1355A0 0%, rgba(249,197,180,0) 100%); }	
*/




/* Allgemein */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-header);
	margin: 0px 0px 55px;
	font-weight: 900;
	text-align: left;
	line-height: 1.20em;
	color: var(--col-primary);
    letter-spacing: 7px;
    padding: 0px 0px;
    text-transform: uppercase;
    word-wrap: break-word;
    font-size: 49px;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    display: block;
	font-weight: inherit;
    font-size: inherit;
    margin-top: 7px;
	/*color: var(--col-accent);*/
	font-family: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

h1.seitenueberschrift { margin-bottom: 65px; font-family: var(--font-accent); font-size: 48px; line-height: 1.1em; letter-spacing: 0px; }
	h1.seitenueberschrift small { font-size: 0.8em; }
h3, h4, h5, h6 { margin-bottom: 40px; }
h2 { font-size: 44px; }
h3 { font-size: 39px; }
h4 { font-size: 34px; }
h5, h6 { font-size: 29px; }

h1 span.sep, h2 span.sep, h3 span.sep, h4 span.sep, h5 span.sep, h6 span.sep { display: none; /*background: #a3ae45; height: 2px; max-width: 200px; margin: 5px auto 5px; overflow: hidden;*/ }
.ueberschrift h1:after, .ueberschrift h2:after, .ueberschrift h3:after, .ueberschrift h4:after, .ueberschrift h5:after, .ueberschrift h6:after { content: ''; display: block; height: 2px; background: var(--col-secondary); width: 60px; margin: 35px auto 0px; }
	h4:after, h5:after, h6:after { margin-top: 25px; }
	h1.seitenueberschrift:after { display: none; margin-top: 35px; }

h1.seitenueberschrift span.line1 { display: flex; justify-content: space-between; }
h1.seitenueberschrift span.line1:after { content: ''; height: 2px; background: var(--col-secondary); display: block; flex: 1 0 100px; margin: 28px 0px 0px 35px; }

.ueberschrift.left > * 		{ text-align: left; }
.ueberschrift.center > * 	{ text-align: center; }
.ueberschrift.right > * 	{ text-align: right; }
h1.seitenueberschrift.left:after, .ueberschrift.left > *:after, h1.left:after, h2.left:after, h3.left:after, h4.left:after, h5.left:after, h6.left:after 			{ margin-left: 20px; }
h1.seitenueberschrift.right:after, .ueberschrift.right > *:after, h1.right:after, h2.right:after, h3.right:after, h4.right:after, h5.right:after, h6.right:after 	{ margin-right: 20px; }

/* Farb-Themes */
.bc-dark .ueberschrift h1:after, .bc-dark .ueberschrift h2:after, .bc-dark .ueberschrift h3:after, .bc-dark .ueberschrift h4:after, .bc-dark .ueberschrift h5:after, .bc-dark .ueberschrift h6:after, .bc-dark h1.seitenueberschrift span.line1:after { background: var(--col-accent); }



p { margin-bottom: 13px; }
p:last-child { margin-bottom: 0px; }

a { color: var(--col-primary); text-decoration: underline; transition: all 0.3s ease; }
a:hover { color: var(--col-secondary); text-decoration: none; }
a img { border: none; }

hr { height: 0px; width: 100%; max-width: 350px; text-decoration: none; text-align: center; border: none; border-top: 3px solid var(--col-secondary); margin: 15px auto; }

ul, ol { margin: 0px 0px 0px 20px; line-height: normal; list-style-type: none; }
	ul { list-style-type: square; }
	ol { list-style-type: decimal; }
li { position: relative; margin-bottom: 2px; font-weight: normal; }




/* Blöcke */
header, section, nav, article, footer, .slider-wrapper { display: block; position: relative; z-index: 5; }
.inner { position: relative; max-width: 980px; margin: 0px auto; }


header { background: var(--col-primary); width: 100%; padding: 20px 85px; z-index: 100; transition: all 0.3s ease; }

header .inner { display: flex; justify-content: center; padding: 10px 50px 9px; transition: all 0.3s ease; }
	.logo-slogan img, .logo-slogan svg { /*width: auto; height: 55px;*/ object-fit: cover; max-height: 55px; }
	.logo-slogan svg path { fill: #FFF !important; }
header .title { display: none; padding: 50px 80px; margin: 60px 0px 13px; background: var(--col-secondary); color: #FFF; font-family: var(--font-accent); font-size: 60px; letter-spacing: 2px; line-height: normal; text-align: center; }
	header .title span { display: inline-block; text-align: left; }
header .slider { /*height: 565px;*/ background: rgba(255,255,255, 0.1); overflow: hidden; margin: 25px 0px 0px; transition: all 0.3s ease; }
	header .slider .slG-slide { padding-top: 0% !important; height: 565px !important; width: 100%; max-width: 1065px; }
		header .slider .slG-slide:after { content:''; display: block; position: absolute; top: 0px; left: 0px; z-index: 5; width: 100%; height: 100%; background: rgba(255,255,255, 0.5); opacity: 0; transition: all 0.1s ease; }
		header .slider .slG-slide:hover:after { opacity: 1; }
	header .slider .slG-slide picture { height: 100%; }

header.fixto-fixed { position: fixed; left: 0px !important; right: 0px !important; }


.logo, .navopener, .contact, .navtop { position: fixed; z-index: 100; transition: all 0.3s ease; }
.logo { top: 65px; left: 63px; width: 50px; }
	.logo img, .logo svg { width: 100%; height: auto; filter: drop-shadow(1px 1px 0px var(--col-primary)); transition: all 0.3s ease; }
	.logo svg path { fill: #FFF !important; transition: all 0.3s ease; }
	.logo-hide { opacity: 0; }
.logo:hover svg path { fill: var(--col-secondary) !important; }

.contact, .navtop { bottom: 21px; right: 21px; width: 60px; height: 60px; background: var(--col-secondary); padding: 10px 10px; border-radius: 50%; overflow: hidden; transition: all 0.3s ease; cursor: pointer; }
	.contact i, .navtop i { position: absolute; top: 50%; left: 50%; color: #FFF; font-size: 30px; line-height: 26px; transform: translate(-50%, -50%) rotateY(180deg); transition: all 0.3s ease; }
	.contact:hover, .navtop:hover { background: transparent; }
		.contact:hover i, .navtop:hover i { color: var(--col-secondary); transform: translate(-50%, -50%) rotateY(180deg) scale(1.5); }
.navtop { transform: translateX(100px); }
.navtop, .navtop span { display: none; }
	.navtop i { font-size: 40px; transform: translate(-51%, -54%) rotate(-90deg); }
		.navtop:hover i { transform: translate(-50%, -54%) rotate(-90deg) scale(1.5); }
.navtop.ntshow { transform: translateX(0px); }


.navopener { display: block; width: 60px; height: 60px; top: 71px; right: 55px; padding: 11px 11px; cursor: pointer; background: var(--col-primary); border-radius: 50%; transition: all 0.3s ease; }
	.navopener span { display: block; background: #FFF; height: 5px; margin: 6px 0px; filter: drop-shadow(1px 1px 0px var(--col-primary)); transition: all 0.3s ease; }
	.navopener span:nth-child(2) { width: 71%; margin-left: auto; }
.navopener:hover span { background: var(--col-secondary); }
	.navopener:hover span:nth-child(1) { transform: translateY(-2px); }
	.navopener:hover span:nth-child(2) { width: 100%; }
	.navopener:hover span:nth-child(3) { transform: translateY(2px); }
.swipebox-html .navopener { transform: translateX(200px); }					/* swipebox workaround - prevent deeper click on navopener at close */


/* mobile Nav */
.navoverlay { display: block; opacity: 0; position: fixed; top: 0px; left: 0px; z-index: 1995; width: 100%; height: 100%; background: var(--col-overlay); transform: translateX(-110vw); transition: all 0.5s ease-in-out; }
nav#mobileNav { display: block; opacity: 0; position: fixed; top: 0px; right: 0px; z-index: 2000; width: 100%; height: 100%; margin: 0px; padding: 0px; overflow: hidden; /*overflow-y: auto; overflow-x: hidden;*/ word-wrap: break-word; transform: translateX(110vw); transition: all 0.5s ease-in-out; }
	nav#mobileNav > * { position: relative; z-index: 5; }

nav#mobileNav .navcontent { position: absolute; top: 0px; left: 0px; bottom: 0px; width: 100%; margin: 0px; padding: 350px 50px 50px 35%; overflow-y: auto; overflow-x: hidden; }
nav#mobileNav .navline { position: absolute; top: 350px; left: 35%; background: var(--col-primary); width: 2px; height: 100%; transform: translateX(-30px); }

nav#mobileNav .navlogo { position: absolute; top: 20%; left: 150px; }
	nav#mobileNav .navlogo svg, nav#mobileNav .navlogo img { width: 150px; height: auto; transition: all 0.3s ease; }
		.logo-slogan svg path { fill: #FFF !important; }

nav#mobileNav .navcloser { position: absolute; top: 350px; left: 35%; width: 40px; height: 40px; cursor: pointer; transform: translate(-49px, -45px); background: var(--col-secondary); }
	nav#mobileNav .navcloser:before, nav#mobileNav .navcloser:after { content:''; position: absolute; top: 50%; left: 50%; background: var(--col-primary); display: block; width: 28px; height: 2px; transform-origin: center; transform: rotate(45deg) translate(-10px, 10px); }
		nav#mobileNav .navcloser:before {}
		nav#mobileNav .navcloser:after { transform: rotate(-45deg) translate(-10px, -10px); }
	nav#mobileNav .navcloser:hover:before, nav#mobileNav .navcloser:hover:after { height: 4px; }
		
nav#mobileNav .navcontent .inner { width: 100%; margin: 0px; padding: 30% 50px 50px 30px; overflow-y: auto; overflow-x: hidden; }

nav#mobileNav ul { display: block; padding: 10px 0px 0px 10px; margin: 0px; text-align: left; transform: none; }
nav#mobileNav li { display: block; text-align: left; margin: 20px 0px; padding: 0px; }
	nav#mobileNav li:first-child { border: none; }
nav#mobileNav a { display: inline-block; color: #FFF; font-family: var(--font-accent); font-size: 40px; font-weight: bold; line-height: 1.4em; letter-spacing: 2px; line-height: normal; padding: 0px 0px; margin: 0px; text-decoration: none; }
	/*nav#mobileNav li.haschilds a:after { display: block; content: '+'; position: absolute; bottom: auto; top: 18px; left: auto; right: 10px; margin: 0px; transform: none; width: auto; line-height: 20px; vertical-align: middle; background: none; }*/
	nav#mobileNav li.haschilds > a:after { content:'...'; display: inline; }
	nav#mobileNav a:hover, nav#mobileNav a.selected { color: var(--col-primary); }

nav#mobileNav ul ul { padding: 15px 0px 15px 30px; }
nav#mobileNav ul ul li { margin: 15px 0px; }
nav#mobileNav ul ul a { font-size: 1.7em; font-weight: normal; font-style: italic; padding: 0px; }


.navoverlay.opened { transform: translateX(0); opacity: 1; }
nav#mobileNav.opened { transform: translateX(0); opacity: 1; }
.simplesidebar-body { overflow-x: hidden; overflow-y: hidden; }
@-moz-document url-prefix() { .simplesidebar-body { overflow-x: inherit; } }




/* sonstige Blöcke */
section { margin: 0px auto; }
section#content { background: rgb(238,238,238); margin: 0px 0px; padding: 80px 0px 80px; position: relative; z-index: 10; }
.content { padding: 0px 0px; margin: 0px auto; min-height: 500px; }
.content img { max-width: 100%; height: auto; }												/* maximale Bildbreite bei mobiler Ansicht für Inhaltsbilder */


footer { background: var(--col-primary); color: #FFF; font-size: 15px; padding: 50px 50px; font-weight: normal; }
footer .inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; max-width: 1100px; padding: 0px; position: relative; }
	footer .inner > * { /*width: 40%;*/ }
footer a { color: #FFF; text-decoration: none; }

footer ul { list-style-type: none; margin: 0px; padding: 0px; }
footer li { display: block; margin: 15px 0px 0px 0px; font-family: var(--font-header); font-weight: normal; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; }
footer li a { margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; padding-left: 17px; position: relative; display: inline-block; }
	footer li a:before { content: '\e805'; display: inline-block; font-family: "fontello"; margin: -2px 10px 0px 0px; font-size: 1.4em; -webkit-font-smoothing: antialiased; position: absolute; left: 0px; }

footer .fbox { flex: 1 1 33.33%; padding: 0px 40px 30px; }
	footer .fbox1 {}
	footer .fbox2 {}
	footer .fbox3 { flex: 0 1; }
footer .fbox span { display: block; font-size: 1.4em; font-family: var(--font-accent); font-style: italic; letter-spacing: 0.5px; margin: 0px 0px 25px; padding: 0px 20px 20px 0px; border-bottom: 2px solid var(--col-secondary); }

footer .foerderer { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; margin: -20px 0px 0px -20px; }
footer .foerderer div { flex: 1 1; display: block; margin: 20px 20px 0px; text-align: left; }
footer .foerderer a {}
footer .foerderer img { width: 125px; height: auto; }


.footerline { position: relative; display: block; padding: 0px 15px 0px 50px; margin: 50px auto 0px; font-size: 0.9em; color: var(--col-secondary); text-align: center; max-width: 600px; text-align: left; }
.footerline:before { content:''; display: block; position: absolute; left: 0px; top: 0px; background: url(/media/media/sachsen-signet-weiss90perc.svg) no-repeat; background-size: contain; width: 30px; height: 50px; }


footer .partner { display: flex; justify-content: space-between; align-items: center; flex-direction: row-reverse; max-width: 350px; margin: 40px auto 0px; }
footer .partner img, footer .partner svg { width: auto; height: 80px; }
	footer .partner .p-bibo svg {}
	footer .partner .p-happ svg { height: 120px; }
	footer .partner .p-museum svg {}
	footer .partner svg path { fill: #FFF !important; transition: all 0.3s ease; }
footer .partner a:hover svg path { fill: var(--col-secondary) !important; }

.footernav, .socials { position: fixed; top: 0px; bottom: 0px; width: 50px; text-align: center;	}
	.footernav ul, .socials ul { display: inline-block; list-style-type: none; margin: 10px; padding: 0px; line-height: normal; position: relative; top: 50%; transform: translateY(-50%) rotate(180deg);			 }
	.footernav li, .socials li { display: inline-block; margin: 15px 0px; padding: 0px; line-height: normal; }
	.footernav a, .socials a { color: var(--col-accent); font-size: 14px; font-weight: normal; text-transform: uppercase; text-decoration: none; letter-spacing: 2px; white-space: nowrap; text-rendering: optimizeLegibility; transform: scale(0.8); }
		.footernav a:hover, .socials a:hover { color: var(--col-secondary); }
.footernav { left: 0px; }
	.footernav ul { display: flex; flex-wrap: nowrap; flex-direction: column; }
	.footernav a { font-size: 15px; font-family: var(--font-header); letter-spacing: 4px; color: #999; font-weight: normal; -webkit-writing-mode: vertical-lr; writing-mode: vertical-rl; writing-mode: tb-lr; }
.socials { right: 0px; }
	.socials ul { margin: 10px; transform: translateY(-50%); }
	.socials li { margin: 05px 0px; }
	.socials a { font-size: 20px; background: var(--col-secondary); padding: 2px; border-radius: 3px; color: #FFF; width: 30px; height: 30px; overflow: hidden; display: inline-block; transform: scale(1); text-align: center; }
		.socials a:hover { background: transparent; }




/* Module + Content */
/* Modul: Formulargenerator */
.content form { margin: 0px; display: block; }
.content form > * { padding: 0px; }
.content form p { margin: 0px; }

.content label { display: none; width: 250px; float: left; margin: 5px 20px 0px 0px; text-align: left; }
.content input, .content textarea, .content select { width: 100%; margin: 0px 0px 15px 0px; border: 1px solid var(--col-secondary); padding: 10px 13px; font-family: var(--font-text); font-size: 16px; transition: all 0.3s ease-in-out; }
	.content input:focus, .content textarea:focus, .content select:focus { border-color: var(--col-primary); outline: none; box-shadow: none; }	
.content textarea { height: 120px; padding: 11px 13px; }
.content select { min-width: 75px; width: 308px; }

.content input.short { width: 60px; margin-right: 5px; }
.content input.half { width: 220px; }
.content input.auto { width: auto; }
.content input.inp50 { width: 50px; }
.content input.inpShorter { width: 238px; }

/*
.content button[type=submit] { display: block; width: auto; border: none; text-decoration: none; text-transform: uppercase; font-size: 1em; margin: 65px auto 0px; padding: 15px 25px; background: var(--col-primary); color: #000; text-align: center; font-family: var(--font-header); font-weight: bold; font-size: 16px; transition: all 0.3s ease; cursor: pointer; }
	.content button[type=submit]:hover { background: var(--col-secondary); transform: translateY(-3px); }
*/
.content button[type=submit] { display: inline-block; text-decoration: none; margin: 65px 0px 10px 50%; padding: 10px 17px; background: var(--col-primary); color: #FFF; text-align: center; font-family: var(--font-header); font-weight: 900; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; border: none; transform: translateX(-50%); transition: all 0.3s ease; }
	.content button[type=submit]:hover { background: var(--col-secondary); color: var(--col-primary); }

.content div.radios { padding-bottom: 13px; }
.content label.radio { margin-top: 0px; }
/*.content div.radio label, .content div.checkbox label { display: block; float: none; width: auto; margin: 0px 0px 4px 0px; }*/

.content input[type=radio], .content input[type=checkbox] { width: auto; margin: 0px 6px 0px 0px; }

.content input.checkbox { width: auto; vertical-align: -webkit-baseline-middle; }
.content label.checkbox { float: none; width: auto; }

/* styled checkbox / radio */
.content .checkbox label, .content .radio label { display: inline-block; float: left; width: auto; position: relative; padding: 0px 0px 0px 30px; margin: 0px 50px 10px 0px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.content .checkbox label input, .content .radio label input { position: absolute; cursor: pointer; top: -2px; left: 0px; height: 0px; width: 0px; border: none; appearance: none; background: none !important; }
.content .checkbox label:after, .content .checkbox input+i.form-helper, .content .radio label:after, .content .radio input+i.form-helper { content:''; position: absolute; top: 2px; left: 0px; height: 20px; width: 20px; background: var(--col-secondary); border: none; } 
	.content .radio label:after, .content .radio input+i.form-helper { border-radius: 50%; }
	.content .checkbox input+i.form-helper, .content .radio input+i.form-helper { top: 1px; left: 1px; height: 18px; width: 18px; border: none; background: #FFF; z-index: 5; }

.content .checkbox label:after { background: #FFF; border: 1px solid var(--col-secondary); }
.content .checkbox input+i.form-helper { background: none !important; border: none !important; font-family: var(--font-text); font-size: 25px; font-weight: bold; text-align: center; line-height: 23px; font-style: normal; color: var(--col-primary); top: 0px !important; left: 1px !important; width: 22px !important; height: 26px !important; transform: rotate(45deg); z-index: 50; }

.content .checkbox label:hover input+i.form-helper, .content .radio label:hover input+i.form-helper { top: 1px; left: 3px; height: 14px; width: 14px; background: #FFF; }
.content .checkbox label input:checked+i.form-helper, .content .radio label input:checked+i.form-helper { top: 0px; left: 2px; height: 16px; width: 16px; background: var(--col-primary); border: 2px solid #FFF; }
	.content .checkbox label input:checked+i.form-helper:before { content: '+'; }
.content .checkbox.has-error label:after, .content .radio.has-error label:after { background: var(--col-secondary); }

/* sonstige Elemente */
.content .form-miniheader { display: block; margin-bottom: 7px; font-weight: bold; }
.content .form-info { display: block; text-align: center; font-size: 13px; margin: 20px 0px 0px; color: #888; }
.content .form-zweispaltig { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; column-gap: 15px; grid-column-gap: 15px; grid-auto-rows: 1fr; -ms-grid-column-align: left; justify-items: left; -ms-flex-align: end; align-items: end; }
	.content .form-zweispaltig > * { width: 100%; }	

.content p.formlabel-kon_dse, .content p.formdse { padding-left: 30px; margin-right: 0px; display: inline; }
.content p.formlabel-kon_dse > *, .content p.formdse > * { margin-right: 0px; }
.content .formdse_spacer { margin-top: 25px; }

/*.content #yform-formular-kon_anrede > label{ display: block; float: none; width: auto; margin: 0px 0px 10px 0px; font-weight: bold; }*/

/* Meldungen Eingabefehler */
.content .alert {}
.content .alert ul { display: none; color: var(--col-primary); font-weight: bold; margin: 20px auto 40px auto; }
.content .alert ul li { }
	.content .alert:after { content: "Füllen Sie bitte mindestens die farbig markierten Felder und Fragen aus, um Ihre Anfrage versenden zu können."; display: block; text-align: center; margin: 0px 0px 40px; padding: 0px 0px; color: var(--col-primary); font-weight: bold; }
.content .has-error input, .content .has-error select, .content .has-error textarea { background: rgba(204,9,24, 0.1); border: 2px solid var(--col-secondary); }
.content .has-error input[type=checkbox], .content .has-error input[type=radio] { background: inherit; }
.content .has-error label { color: var(--col-primary); }

/* Farb-Themes */
.content .bc-dark input, .content .bc-dark textarea, .content .bc-dark select, .content .bc-dark .checkbox label:after { border: 1px solid var(--col-primary); }

.content .bc-light input, .content .bc-light textarea, .content .bc-light select { color: var(--col-dark); }
.content .bc-light button[type=submit] { background: var(--col-secondary); color: var(--col-primary); }
	.content .bc-light button[type=submit]:hover { background: var(--col-primary); color: #FFF; }
.content .bc-light .has-error input, .content .bc-light .has-error select, .content .bc-light .has-error textarea { background: var(--col-secondary); }
.content .bc-light .has-error label { color: var(--col-light); }
.content .bc-light .alert:after { color: var(--col-secondary); }



/* Modul: Bildergalerie (Lightbox - ab v1.5) */
.lbGalerie { position: relative; display: grid; grid-template-columns: repeat(var(--lbG-grid), 1fr); margin: 0px; text-align: left;
	--lbG-gap: 0px;
	--lbG-grid: 3;
	--lbG-format1-1: 100%;
	--lbG-format16-9: 56.25%;
	--lbG-format4-3: 75%;
	--lbG-format3-2: 66.66%;
	--lbG-format8-5: 62.5%;
}
.lbGalerie a { display: block; position: absolute; z-index: 5; top: 0px; left: 0px; right: 0px; bottom: 0px; margin: 0px; padding: 0px; }
	.lbGalerie a:after { content: ''; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 100; opacity: 0; transition: all .4s ease; background: url(thumb-plus.png) no-repeat center center var(--col-overlay); }
		.lbGalerie a:hover:after { opacity: 1; }
.lbGalerie img { display: block; border: none; margin: 0px; transition: all .3s ease; image-rendering: auto; image-rendering: -webkit-optimize-contrast; }
.lbGalerie > div, .lbGalerie > div > div { background: center center no-repeat; background-size: cover; overflow: hidden; transition: all .4s ease; transform-origin: center; image-rendering: auto; image-rendering: -webkit-optimize-contrast; }
	.lbGalerie > div:hover { z-index: 10; }
	.lbGalerie > div:before { content: ''; position: relative; z-index: 3; padding-top: var(--lbG-format1-1); display: block; transition: all .4s ease; pointer-events: none; cursor: none; }
	.lbGalerie.lbG-greytone > div:before { backdrop-filter: var(--filter-grey); }
.lbGalerie .lbG-thumb { position: relative; vertical-align: top; }
.lbGalerie .lbG-thumb > div, .lbGalerie .lbG-thumb img { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; margin: 0px; padding: 0px; transform: scale(1.01); }
	.lbGalerie .lbG-thumb img { bottom: auto; right: auto; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.lbGalerie.lbG-grid2 { --lbG-grid: 2; }
.lbGalerie.lbG-grid3 { --lbG-grid: 3; }
.lbGalerie.lbG-grid4 { --lbG-grid: 4; }
.lbGalerie.lbG-grid5 { --lbG-grid: 5; }
.lbGalerie.lbG-grid6 { --lbG-grid: 6; }
.lbGalerie.lbG-grid7 { --lbG-grid: 7; }
.lbGalerie.lbG-grid8 { --lbG-grid: 8; }

.lbGalerie.lbG-format-1-1 > div:before 	{ padding-top: var(--lbG-format1-1); }
.lbGalerie.lbG-format-16-9 > div:before { padding-top: var(--lbG-format16-9); }
.lbGalerie.lbG-format-4-3 > div:before 	{ padding-top: var(--lbG-format4-3); }
.lbGalerie.lbG-format-3-2 > div:before 	{ padding-top: var(--lbG-format3-2); }
.lbGalerie.lbG-format-8-5 > div:before 	{ padding-top: var(--lbG-format8-5); }

.lbGalerie.lbG-gap-xs { --lbG-gap: 1px; grid-gap: var(--lbG-gap); }
.lbGalerie.lbG-gap-sm { --lbG-gap: 5px; grid-gap: var(--lbG-gap); }
.lbGalerie.lbG-gap-md { --lbG-gap: 10px; grid-gap: var(--lbG-gap); }
.lbGalerie.lbG-gap-lg { --lbG-gap: 20px; grid-gap: var(--lbG-gap); }
.lbGalerie.lbG-gap-xl { --lbG-gap: 35px; grid-gap: var(--lbG-gap); }

.lbGalerie.lbG-hover-grey a:after, .lbGalerie.lbG-hover-color a:after, .lbGalerie.lbG-hover-blur a:after, .lbGalerie.lbG-hover-liftup a:after, .lbGalerie.lbG-hover-scaleup a:after { display: none; }
.lbGalerie.lbG-hover-grey > div:hover:before  { backdrop-filter: var(--filter-grey); }
.lbGalerie.lbG-hover-color > div:hover:before { backdrop-filter: grayscale(0); }
.lbGalerie.lbG-hover-blur > div:hover:before  { backdrop-filter: var(--filter-blur); }
.lbGalerie.lbG-greytone.lbG-hover-blur > div:hover:before { backdrop-filter: var(--filter-greyblur); }
.lbGalerie.lbG-hover-liftup > div:hover { transform: var(--fx-liftup-transf); box-shadow: var(--fx-liftup-shadow); }
.lbGalerie.lbG-hover-scaleup > div:hover > div, .lbGalerie-classic.lbG-hover-scaleup > div:hover, .lbGalerie-masonry.lbG-hover-scaleup > div:hover { transform: var(--fx-scaleup); }
	.lbGalerie-classic.lbG-hover-scaleup > div:hover, .lbGalerie-masonry.lbG-hover-scaleup > div:hover { transform: scale(1.04); }

.lbGalerie-classic div:before, .lbGalerie-masonry div:before, .lbGalerie-stripV div:before, .lbGalerie-stripH div:before { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; padding: 0px !important; z-index: 10; }
.lbGalerie-classic .lbG-thumb > div, .lbGalerie-masonry .lbG-thumb > div { display: none; }

.lbGalerie-classic { display: block; }
.lbGalerie-classic > div { display: inline-flex; background: none !important; }
	.lbGalerie-classic > div { margin-right: var(--lbG-gap); margin-bottom: var(--lbG-gap); }
		.lbGalerie-classic.center > div { margin-right: calc(var(--lbG-gap) / 2); margin-left: calc(var(--lbG-gap) / 2); }
		.lbGalerie-classic.right > div { margin-right: auto; margin-left: var(--lbG-gap); }
.lbGalerie-classic a { position: relative; top: auto; left: auto; }
.lbGalerie-classic img { /*display: block;*/ position: static !important; }

.lbGalerie-collage {}
	.lbGalerie-collage > div:nth-child(2) { grid-column: span 3; grid-row: span 3; }
		.lbGalerie-collage.lbG-grid3 > div:nth-child(2), .lbGalerie-collage.lbG-grid4 > div:nth-child(2), .lbGalerie-collage.lbG-grid5 > div:nth-child(2), .lbGalerie-collage.lbG-grid6 > div:nth-child(2) { grid-column: span 2; grid-row: span 2; }
		.lbGalerie-collage.lbG-grid2 > div:nth-child(2) { grid-column: span 1; grid-row: span 1; }
			.lbGalerie-collage.lbG-grid2 > div:nth-child(3) { grid-column: span 2; grid-row: span 2; }
	.lbGalerie-collage > div:nth-child(13n+4) { grid-column: span 1; grid-row: span 2; padding-bottom: calc(var(--lbG-format1-1) + var(--lbG-gap)); }
		.lbGalerie-collage.lbG-format-16-9 > div:nth-child(13n+4) { padding-bottom: calc(var(--lbG-format16-9) + var(--lbG-gap)); }
		.lbGalerie-collage.lbG-format-4-3 > div:nth-child(13n+4)  { padding-bottom: calc(var(--lbG-format4-3) + var(--lbG-gap)); }
		.lbGalerie-collage.lbG-format-3-2 > div:nth-child(13n+4)  { padding-bottom: calc(var(--lbG-format3-2) + var(--lbG-gap)); }
		.lbGalerie-collage.lbG-format-8-5 > div:nth-child(13n+4)  { padding-bottom: calc(var(--lbG-format8-5) + var(--lbG-gap)); }
	.lbGalerie-collage.lbG-grid5 > div:nth-child(10n), .lbGalerie-collage.lbG-grid6 > div:nth-child(6n+1), .lbGalerie-collage.lbG-grid7 > div:nth-child(7n+1), .lbGalerie-collage.lbG-grid8 > div:nth-child(13n+1) { grid-column: span 2; grid-row: span 2; }
.lbGalerie-collage img { /*display: block; width: 100%; min-height: 100%; object-fit: cover; object-position: center; visibility: hidden;*/ }

.lbGalerie-masonry { display: block; width: 100%; column-count: var(--lbG-grid); column-gap: var(--lbG-gap); }
.lbGalerie-masonry a { display: block; position: static; }
.lbGalerie-masonry > div { display: inline-block; margin: 0px 0px var(--lbG-gap); width: 100%; padding: 0px; height: auto; background: none !important; }
.lbGalerie-masonry img { /*display: block;*/ position: static !important; width: 100%; height: auto; }

.lbGalerie-circle { margin-bottom: 3.6%; }
	.lbGalerie-circle.lbG-grid3 { --lbG-grid: 4; }
	.lbGalerie-circle.lbG-grid4 { --lbG-grid: 5; }
	.lbGalerie-circle.lbG-grid5 { --lbG-grid: 6; }
	.lbGalerie-circle.lbG-grid6 { --lbG-grid: 7; }
	.lbGalerie-circle.lbG-grid7 { --lbG-grid: 8; }
	.lbGalerie-circle.lbG-grid8 { --lbG-grid: 9; }
.lbGalerie-circle a { -webkit-clip-path: circle(50% at 50% 50%); clip-path: circle(50% at 50% 50%); }
.lbGalerie-circle > div { grid-column: span 2; width: 100%; border-radius: 50% !important; margin-bottom: -13.4%; overflow: hidden; } 
	.lbGalerie-circle.lbG-grid3 > div:nth-child(3n+1), .lbGalerie-circle.lbG-grid4 > div:nth-child(4n+1), .lbGalerie-circle.lbG-grid5 > div:nth-child(5n+1), .lbGalerie-circle.lbG-grid6 > div:nth-child(6n+1), .lbGalerie-circle.lbG-grid7 > div:nth-child(7n+1), .lbGalerie-circle.lbG-grid8 > div:nth-child(8n+1) { grid-column: 2 / span 2; }

.lbGalerie-circle.lbG-grid3.lbG-gap-xs > div { margin-bottom: -13.3%; }
.lbGalerie-circle.lbG-grid4.lbG-gap-xs > div { margin-bottom: -13.4%; }
.lbGalerie-circle.lbG-grid5.lbG-gap-xs > div { margin-bottom: -13.35%; }
.lbGalerie-circle.lbG-grid6.lbG-gap-xs > div { margin-bottom: -13.35%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-xs > div { margin-bottom: -13.35%; }
.lbGalerie-circle.lbG-grid8.lbG-gap-xs > div { margin-bottom: -13.4%; }

.lbGalerie-circle.lbG-grid3.lbG-gap-sm > div { margin-bottom: -13.4%; }
.lbGalerie-circle.lbG-grid4.lbG-gap-sm > div { margin-bottom: -13.5%; }
.lbGalerie-circle.lbG-grid5.lbG-gap-sm > div { margin-bottom: -13.5%; }
.lbGalerie-circle.lbG-grid6.lbG-gap-sm > div { margin-bottom: -13.4%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-sm > div { margin-bottom: -13.4%; }
.lbGalerie-circle.lbG-grid8.lbG-gap-sm > div { margin-bottom: -13.5%; }

.lbGalerie-circle.lbG-grid3.lbG-gap-md > div { margin-bottom: -13.5%; }
.lbGalerie-circle.lbG-grid4.lbG-gap-md > div { margin-bottom: -13.6%; }
.lbGalerie-circle.lbG-grid5.lbG-gap-md > div { margin-bottom: -13.6%; }
.lbGalerie-circle.lbG-grid6.lbG-gap-md > div { margin-bottom: -13.6%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-md > div { margin-bottom: -13.6%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-md > div { margin-bottom: -13.6%; }
.lbGalerie-circle.lbG-grid8.lbG-gap-md > div { margin-bottom: -13.6%; }

.lbGalerie-circle.lbG-grid3.lbG-gap-lg > div { margin-bottom: -13.7%; }
.lbGalerie-circle.lbG-grid4.lbG-gap-lg > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid5.lbG-gap-lg > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid6.lbG-gap-lg > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-lg > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid8.lbG-gap-lg > div { margin-bottom: -14%; }

.lbGalerie-circle.lbG-grid3.lbG-gap-xl > div { margin-bottom: -13.7%; }
.lbGalerie-circle.lbG-grid4.lbG-gap-xl > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid5.lbG-gap-xl > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid6.lbG-gap-xl > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid7.lbG-gap-xl > div { margin-bottom: -13.8%; }
.lbGalerie-circle.lbG-grid8.lbG-gap-xl > div { margin-bottom: -14%; }

.lbGalerie-stripV {}
.lbGalerie-stripH { grid-template-columns: none; }



/* Modul: Bildslider mit mBlock (ab v1.0.5) */
.slGalerie { position: relative; margin: 0px; 
	--slG-format1-1: 100%;
	--slG-format16-9: 56.25%;
	--slG-format4-3: 75%;
	--slG-format3-2: 66.66%;
	--slG-format8-5: 62.5%;	
}
.slGalerie .slG-slide { position: relative; padding-top: 0% !important; overflow: hidden; display: table; width: 100% !important; height: 100% !important; }
	.slGalerie .slG-slide.slG-slidespreview { max-width: 80%; }
	.slGalerie .slG-slide:after { content: ''; padding-top: 50%; display: block; }
	.slGalerie.slG-format-1-1 .slG-slide:after 	{ padding-top: var(--slG-format1-1); }
	.slGalerie.slG-format-3-2 .slG-slide:after 	{ padding-top: var(--slG-format3-2); }
	.slGalerie.slG-format-4-3 .slG-slide:after 	{ padding-top: var(--slG-format4-3); }
	.slGalerie.slG-format-8-5 .slG-slide:after 	{ padding-top: var(--slG-format8-5); }
	.slGalerie.slG-format-16-9 .slG-slide:after	{ padding-top: var(--slG-format16-9); }
.slGalerie .slG-slide > div { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
	
.slGalerie .slG-nav, .slGalerie .slG-nav:after { color: #FFF; transition: all 0.5s ease; }
	.slGalerie .slG-next:hover:after { text-shadow: -5px 1px 10px #000; }
	.slGalerie .slG-prev:hover:after { text-shadow: 5px 1px 10px #000; }
.slGalerie .slG-next { right: -50px; }
	.slGalerie:hover .slG-next { right: 20px; }
.slGalerie .slG-prev { left: -50px; }
	.slGalerie:hover .slG-prev { left: 20px; }
.slGalerie .slG-dots {}
	.slGalerie .slG-dots.slG-dots-right { bottom: calc(50% - 8px) !important; left: auto !important; right: -25px !important; transform: translateY(-50%) rotate(90deg) !important; }
	.slGalerie .slG-dots span { background: #FFF; opacity: 0.6; }
	.slGalerie .slG-dots span.swiper-pagination-bullet-active { opacity: 1; }
	
.slGalerie .slG-image { z-index: 1; background: center center no-repeat; background-size: cover; }
	.slGalerie .slG-image picture { display: block; height: 100%; }
	.slGalerie .slG-image img { max-width: none !important; width: 100%; height: 100%; object-fit: cover; object-position: center; }
		.slGalerie .bgAlign-lt img { object-position: left top; }
		.slGalerie .bgAlign-rt img { object-position: right top; }
		.slGalerie .bgAlign-rb img { object-position: right bottom; }
		.slGalerie .bgAlign-lb img { object-position: left bottom; }
		.slGalerie .bgAlign-ct img { object-position: center top; }
		.slGalerie .bgAlign-cr img { object-position: right center; }
		.slGalerie .bgAlign-cb img { object-position: center bottom; }
		.slGalerie .bgAlign-cl img { object-position: left center; }
	.slGalerie .slG-ifx-zoom img { animation: slG-ifx-zoom 30s ease forwards; }

	@-webkit-keyframes slG-ifx-zoom {	0% { transform-origin: bottom left; transform: scale(1.0); }	100% { transform: scale(1.2); }		}
	@keyframes slG-ifx-zoom {			0% { transform-origin: bottom left; transform: scale(1.0); }	100% { transform: scale(1.2); }		}

/* Slide-Thumbnails */
.slGalerieThumbs { margin-top: 1px; padding-top: 5px; height: 120px; transition: all 0.5s ease; }
.slGalerieThumbs .slGT-slide { width: 25%; height: 100%; opacity: 0.4; transition: all 0.5s ease; cursor: pointer; }
	.slGalerieThumbs .slGT-slide:hover, .slGalerieThumbs .slGT-slide.swiper-slide-thumb-active { opacity: 1; }
.slGalerieThumbs .slGT-image { height: 100%; }

/* Slide-Content */	
.slGalerie .slG-content { 
	/*position: relative !important;*/ z-index: 5; display: flex;
	text-rendering: optimizeLegibility; font-variant-ligatures: common-ligatures; font-feature-settings: "liga", "kern"; font-kerning: normal;
	text-align: center; color: #FFF; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 300; font-size: 1.143em; text-shadow: -2px 2px 0 rgb(0,0,0, 0.3), -2px 4px 2px rgb(0,0,0, 0.1);
}
	.slGalerie .slG-align-left { text-align: left; }
	.slGalerie .slG-align-right { text-align: right; }
.slGalerie .slG-content > div { position: relative; max-width: 65%; max-height: 100%; margin: 5%; overflow: hidden; }
.slGalerie .slG-content span { display: block; }

.slGalerie .ca-cc { align-items: center; justify-content: center; }
.slGalerie .ca-lt { align-items: flex-start; justify-content: flex-start; }
.slGalerie .ca-rt { align-items: flex-start; justify-content: flex-end; }
.slGalerie .ca-rb { align-items: flex-end; justify-content: flex-end; }
.slGalerie .ca-lb { align-items: flex-end; justify-content: flex-start; }
.slGalerie .ca-ct { align-items: flex-start; justify-content: center; }
.slGalerie .ca-cr { align-items: center; justify-content: flex-end; }
.slGalerie .ca-cb { align-items: flex-end; justify-content: center; }
.slGalerie .ca-cl { align-items: center; justify-content: flex-start; }

.slGalerie .slG-hasFX > div > span { position: relative; opacity: 0; }
	.slGalerie .slG-fx-fade > div > span { -webkit-animation: slG-fx-fadeslide 0.75s 0s forwards cubic-bezier(.28,.83,.57,1.05); animation: slG-fx-fadeslide 0.75s 0s forwards cubic-bezier(.28,.83,.57,1.05); }
	
	.slGalerie .slG-fx-fade-up > div > span,
	.slGalerie .slG-fx-fade-down > div > span,
	.slGalerie .slG-fx-fade-left > div > span,
	.slGalerie .slG-fx-fade-right > div > span,
	.slGalerie .slG-fx-fade-scaleup > div > span,
	.slGalerie .slG-fx-fade-scaledown > div > span
		{ -webkit-animation: slG-fx-fadeslide 0.5s 0s forwards cubic-bezier(.28,.83,.57,1.05); animation: slG-fx-fadeslide 0.5s 0s forwards cubic-bezier(.28,.83,.57,1.05); }
		
	.slGalerie .slG-fx-fade-up > div > span { transform: translate3d(0, 100px, 0); }
		.slGalerie .slG-fx-fade-up span:nth-child(1) 	{ }
		.slGalerie .slG-fx-fade-up span:nth-child(2) 	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-up span:nth-child(3) 	{ animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-up span:nth-child(4)	{ animation-delay: 0.8s; }
	
	.slGalerie .slG-fx-fade-down > div > span { transform: translate3d(0, -100px, 0); }
		.slGalerie .slG-fx-fade-down span:nth-child(1) 	{ }
		.slGalerie .slG-fx-fade-down span:nth-child(2)	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-down span:nth-child(3) 	{ animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-down span:nth-child(4) 	{ animation-delay: 0.8s; }
	
	.slGalerie .slG-fx-fade-left > div > span { transform: translate3d(100px, 0, 0); }
		.slGalerie .slG-fx-fade-left span:nth-child(1) 	{ }
		.slGalerie .slG-fx-fade-left span:nth-child(2) 	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-left span:nth-child(3) 	{ animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-left span:nth-child(4)	{ animation-delay: 0.8s; }
	
	.slGalerie .slG-fx-fade-right > div > span { transform: translate3d(-100px, 0, 0); }
		.slGalerie .slG-fx-fade-right span:nth-child(1) { }
		.slGalerie .slG-fx-fade-right span:nth-child(2)	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-right span:nth-child(3) { animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-right span:nth-child(4)	{ animation-delay: 0.8s; }
	
	.slGalerie .slG-fx-fade-scaleup > div > span { transform: scale(0); animation-name: slG-fx-fadescale; }
		.slGalerie .slG-fx-fade-scaleup span:nth-child(1) 	{ }
		.slGalerie .slG-fx-fade-scaleup span:nth-child(2)	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-scaleup span:nth-child(3) 	{ animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-scaleup span:nth-child(4)	{ animation-delay: 0.8s; }
	
	.slGalerie .slG-fx-fade-scaledown > div > span { transform: scale(2); animation-name: slG-fx-fadescale; }
		.slGalerie .slG-fx-fade-scaledown span:nth-child(1) { }
		.slGalerie .slG-fx-fade-scaledown span:nth-child(2)	{ animation-delay: 0.2s; }
		.slGalerie .slG-fx-fade-scaledown span:nth-child(3) { animation-delay: 0.4s; }
		.slGalerie .slG-fx-fade-scaledown span:nth-child(4)	{ animation-delay: 0.8s; }
	
	@-webkit-keyframes slG-fx-fadeslide {	0% {}	100% { opacity: 1; transform: translate3d(0, 0, 0); }	}
	@keyframes slG-fx-fadeslide {			0% {}	100% { opacity: 1;  transform: translate3d(0, 0, 0); }	}
	
	@-webkit-keyframes slG-fx-fadescale {	0% {}	100% { opacity: 1; transform: scale(1); }	}
	@keyframes slG-fx-fadescale {			0% {}	100% { opacity: 1;  transform: scale(1); }	}

.slGalerie .slG-textseparator { display: none !important; justify-content: space-between; color: #FFF; margin: 23px auto 30px; width: 100%; max-width: 200px; }
	.slGalerie .slG-textseparator:before, .slGalerie .slG-textseparator:after { content:''; display: block; width: 40%; border: 1px solid #FFF; }
	.slGalerie .slG-align-left .slG-textseparator { margin-left: 0px; }
	.slGalerie .slG-align-right .slG-textseparator { margin-right: 0px; }
.slGalerie .slG-text1 + .slG-textseparator { display: flex !important;			display: none !important }

.slGalerie .slG-text1 { font-family: var(--font-accent); font-size: 4vw; font-size: clamp(18px, 4vw, 3.5em); line-height: 1.213483146em; }
.slGalerie .slG-text2 { font-family: var(--font-accent); font-size: 2vw; font-size: clamp(14px, 2vw, 1.5em); line-height: 1.4737; }
.slGalerie .slG-text1 + .slG-text2 { margin-top: 23px; }
.slGalerie .slG-link { /*text-align: center;*/ line-height: normal; font-size: 14px; font-weight: bold; text-transform: uppercase; letter-spacing: normal; text-shadow: none; }
	.slGalerie .slG-link a { /*display: inline-block; color: var(--col-secondary); background: var(--col-primary); padding: 10px 17px; text-decoration: none;*/ font-size: clamp(10px, 1.2vw, 15px); margin: 0px !important; }
		/*.slGalerie .slG-link a:hover { color: var(--col-secondary); background: #FFF; }*/
	.slGalerie .slG-text1 + .slG-link, .slGalerie .slG-text2 + .slG-link { margin-top: 25px; }

	/* nachträglich die Texte anpassen, wenn SLiderhöhe zu gering */
	.slGalerie [data-initheight="300"] .slG-text1 { font-size: 3vw; font-size: clamp(18px, 3vw, 2.0em); }
	.slGalerie [data-initheight="300"] .slG-text2 { font-size: 1.5vw; font-size: clamp(14px, 1.5vw, 1.25em); }
	.slGalerie [data-initheight="300"] .slG-link { display: none; }
	
.slGalerie .slG-col-white span:not(.slG-link) { color: #FFF; text-shadow: -2px 2px 0 rgb(0,0,0, 0.3), -2px 4px 2px rgb(0,0,0, 0.1); }
	.slGalerie .slG-col-white .slG-textseparator:before, .slGalerie .slG-col-white .slG-textseparator:after { border-color: #FFF; }
.slGalerie .slG-col-black span:not(.slG-link) { color: #000; text-shadow: -2px 2px 0 rgb(255,255,255, 0.3), -2px 4px 2px rgb(255,255,255, 0.1); }
	.slGalerie .slG-col-black .slG-textseparator:before, .slGalerie .slG-col-black .slG-textseparator:after { border-color: #000; }
/*
.slGalerie .slG-col-primary span:not(.slG-link) { color: var(--col-primary); text-shadow: -2px 2px 0 rgb(0 0 0 / 30%), -2px 4px 2px rgb(0 0 0 / 10%) }
.slGalerie .slG-col-secondary span:not(.slG-link) { color: var(--col-secondary); }
.slGalerie .slG-col-accent span:not(.slG-link) { color: var(--col-accent); }
*/



/* Modul: Einzelbild mit Verlinkung & imageArea (ab v1.3.7) */
.singleImage { position: relative; display: inline-block; max-width: 100%; line-height: 0px; margin: 0px auto -5px; /* -5px: inline-block-Abstand aufheben */ overflow: hidden; transition: all .3s ease; }
.singleImage img { position: relative; display: block; max-width: 100%; height: auto; z-index: -2; transition: all .3s ease; margin: 0px; image-rendering: auto; image-rendering: -webkit-optimize-contrast; }
	.singleImage.si-greytone img { filter: var(--filter-grey); }
.singleImage a { display: inline-block; position: relative; }
	.singleImage a:after { content: ''; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; opacity: 0; transition: all .3s ease; background: url(thumb-plus.png) no-repeat center center var(--col-primary-opa); }
	.singleImage a:hover:after { opacity: 1; }
.left > .singleImage { margin-left: 0px; }
.right > .singleImage { margin-right: 0px; }

.singleImage100ph, .singleImage100ph * { height: 100% !important; }
	.singleImage100ph img { object-fit: cover; object-position: center; }
.singleImage100pw, .singleImage100pw * { width: 100% !important; }

.singleImage.si-hover-grey a:after, .singleImage.si-hover-color a:after, .singleImage.si-hover-blur a:after, .singleImage.si-hover-liftup a:after, .singleImage.si-hover-scaleup a:after { display: none; }
.singleImage.si-hover-grey:hover img  { filter: var(--filter-grey); }
.singleImage.si-hover-color:hover img { filter: grayscale(0); }
.singleImage.si-hover-blur:hover img  { filter: var(--filter-blur); }
	.singleImage.si-greytone.si-hover-blur:hover img { filter: var(--filter-greyblur); }
.singleImage.si-hover-liftup:not(.hasimagemap):hover  { transform: var(--fx-liftup-transf); box-shadow: var(--fx-liftup-shadow); }
.singleImage.si-hover-scaleup:hover { transform: var(--fx-scaleup); transform-origin: center; }

/* Imagemap-Option */
.si-imagemapwrapper img { display: inline-block; z-index: auto !important; }
	.si-imagemapwrapper:hover img { filter: grayscale(0) !important; }
.si-imagemapwrapper a.area { display: flex; position: absolute; overflow: hidden; text-decoration: none; font-size: 15px; color: #FFF; text-shadow: 1px 1px #000; line-height: 1.1; transition: background 0.7s ease; }
	.si-imagemapwrapper a.area:hover, .mobile .imagemap-wrapper a.area { background: rgba(67,67,67, 0.35); }
.si-imagemapwrapper a.area span { display: inline-block; opacity: 1; width: 100%; text-align: center; padding: 0px 5px; vertical-align: middle; transition: opacity 0.3s ease; align-self: center; justify-self: center; }
	html:not(.mobile) .si-imagemapwrapper a.area span { opacity: 0; }
	.si-imagemapwrapper a.area:hover span { opacity: 1 !important; }

.si-imagemaptooltip { position: absolute; top: -10px; left: -10px; opacity: 0; width: auto; max-width: 150px; margin: 0px; padding: 4px 6px 3px; background: var(--col-primary); border-radius: 0px; font-size: 12px; color: #FFF; text-shadow: 1px 1px #000; line-height: 1.1; transition: property 0.3s ease; transition-property: transform, opacity; pointer-events: none; }
	.si-imagemaptooltip.show { opacity: 1; }
.si-imagemaptooltip-boxed { top: 0px !important; left: 0px !important; right: 0px; border-radius: 0px 0px 5px 5px; margin: 0px auto; transform: translateY(-20px); text-shadow: none; width: 100%; max-width: 350px; text-align: center; padding: 6px 12px; background: var(--col-primary-opa); color: var(--col-primary); }
	.si-imagemaptooltip-boxed.show { transform: translateY(0px); }



/* Modul: Videogalerie */
.video-galerie { display: -ms-grid; display: grid; -ms-grid-columns: 1fr; grid-template-columns: 1fr; grid-gap: 0px; margin: 0px auto; }
	.video-galerie.videogrid-1 { }
	.video-galerie.videogrid-2 { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; }
	.video-galerie.videogrid-3 { -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; }
	
	.video-galerie video { display: block; width: 100%; }
	.video-galerie div.ct-privacy a { z-index: 5; }
	.video-galerie div.ct-privacy:after { content: ''; width: 0px; height: 0px; -webkit-transform:rotate(360deg); border-style: solid; border-width: 76px 0 76px 130px; border-color: transparent transparent transparent rgba(0,0,0, 0.1); position: absolute; top: 50%; left: 50%; z-index: 0; margin: -74px 0px 0px -65px; }

	.video-galerie.videoalign-left { margin-left: 0px; }
	.video-galerie.videoalign-center { }
	.video-galerie.videoalign-right { margin-right: 0px; }
	
	.video-galerie.videogap-sm { grid-gap: 40px; }
	.video-galerie.videogap-md { grid-gap: 90px; }
	.video-galerie.videogap-lg { grid-gap: 140px; }
	
	.video-galerie.videoheight-ori div.ct-privacy { height: 100%; min-height: 200px; }
	.video-galerie.videoheight-1-1 .plyr__video-wrapper, .video-galerie.videoheight-1-1 div.ct-privacy { aspect-ratio: 1/1 !important; }
	.video-galerie.videoheight-3-2 .plyr__video-wrapper, .video-galerie.videoheight-3-2 div.ct-privacy { aspect-ratio: 3/2 !important; }
	.video-galerie.videoheight-4-3 .plyr__video-wrapper, .video-galerie.videoheight-4-3 div.ct-privacy { aspect-ratio: 4/3 !important; }
	.video-galerie.videoheight-8-5 .plyr__video-wrapper, .video-galerie.videoheight-8-5 div.ct-privacy { aspect-ratio: 8/5 !important; }
	.video-galerie.videoheight-16-9 .plyr__video-wrapper, .video-galerie.videoheight-16-9 div.ct-privacy { aspect-ratio: 16/9 !important; }
	
.video-container { height: auto; padding: 0px; }
	.video-container div.ct-privacy { position: relative !important; background: rgba(255,255,255, 1); }
.video-galerie figure, .video-galerie figcaption { display: block; }
	.video-galerie figcaption { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 5px 9px; /*margin-bottom: -8px;*/ font-size: 0.85em; background: rgba(255,255,255, 1); border-top: 1px solid rgb(238,238,238); }
.video-container .plyr .plyr__control--overlaid { background: #FFF; color: var(--col-primary); }
	.video-container .plyr .plyr__control--overlaid:hover { color: #FFF; }
.video-container .plyr .plyr__control:hover, .video-container .plyr .plyr__control--overlaid:hover { background: var(--col-primary); }
.video-container .plyr input[type=range] { color: var(--col-secondary); }

@media screen and (max-width:560px){
	.video-container .plyr .plyr__controls { bottom: -10px; }
	.video-container .plyr .plyr__progress__container { display: none; }
}


/* Modul: Audioogalerie */
.audio-galerie { display: -ms-grid; display: grid; -ms-grid-columns: 1fr; grid-template-columns: 1fr; grid-gap: 0px; margin: 0px auto; }
	.audio-galerie.audiogrid-1 { }
	.audio-galerie.audiogrid-2 { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; }
	.audio-galerie.audiogrid-3 { -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; }
	
	.audio-galerie audio { display: block; width: 100%; }

	.audio-galerie.audioalign-left { margin-left: 0px; }
	.audio-galerie.audioalign-center { }
	.audio-galerie.audioalign-right { margin-right: 0px; }
	
	.audio-galerie.audiogap-sm { grid-gap: 40px; }
	.audio-galerie.audiogap-md { grid-gap: 90px; }
	.audio-galerie.audiogap-lg { grid-gap: 140px; }
	
.audio-galerie .audio-container { height: auto; padding: 0px; }
.audio-galerie .audio-header { display: flex; align-items: center; background: rgba(255,255,255, 1); padding: 15px 15px 5px; }
	.audio-galerie .audio-header svg { height: 50px; width: auto; }
		.audio-galerie .audio-header svg path { fill: var(--col-primary) !important; }
	.audio-galerie .audio-header span { padding-left: 25px; font-size: 1.2em; }
.audio-galerie figure, .audio-galerie figcaption { display: block; }
	.audio-galerie figcaption { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 5px 9px; /*margin-bottom: -8px;*/ font-size: 0.85em; background: rgba(255,255,255, 1); border-top: 1px solid rgb(238,238,238); }
.audio-container .plyr .plyr__control--overlaid { background: #FFF; color: var(--col-primary); }
	.audio-container .plyr .plyr__control--overlaid:hover { color: #FFF; }
.audio-container .plyr .plyr__control:hover, .audio-container .plyr .plyr__control--overlaid:hover { background: var(--col-primary); }
.audio-container .plyr input[type=range] { color: var(--col-secondary); }

@media screen and (max-width:560px){
	.audio-container .plyr .plyr__controls { bottom: -10px; }
	.audio-container .plyr .plyr__progress__container { display: none; }
}


/* Modul: Camera-Slider */
div.camera_wrap { margin-left: auto; margin-right: auto; float: none; }
	div.camera_wrap.camera-left { margin-left: 0px; margin-right: auto; }
	div.camera_wrap.camera-center { margin-left: auto; margin-right: auto; }
	div.camera_wrap.camera-right { margin-left: auto; margin-right: 0px; }
	
div.camera_wrap .camera_caption { bottom: auto; top: 20px; left: 20px; width: auto; padding-right: 50px; }	
div.camera_wrap .camera_caption > div { background: rgba(0,0,0, 0.45); font-size: 14px; color: #FFF; }

div.camera_wrap .camera_pag { margin-top: -40px; }	
div.camera_wrap .camera_pag .camera_pag_ul { list-style-type: none; text-align: center; }
div.camera_wrap .camera_pag .camera_pag_ul li { list-style-type: none; background: none; margin: 15px 3px 0px; border-radius: 0px; }
div.camera_wrap .camera_pag .camera_pag_ul li > span { background: #FFF; width: 12px; height: 12px; border-radius: 50%; opacity: 0.5; transition: all 0.3s ease; box-shadow: rgba(0, 0, 0, 0.48) 0px 3px 8px !important; }
div.camera_wrap .camera_pag .camera_pag_ul li:hover > span, div.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span { background-color: var(--col-secondary); opacity: 1; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px !important; }

div.camera_wrap .camera_pie canvas { top: 2px !important; right: 2px !important; width: 25px; height: 25px; }

@media screen and (max-width:560px){ div.camera_wrap .camera_caption { display: none !important; } }

	

/* Modul: FAQ (ab v1.5) */
.faq { position: relative; padding: 0px; margin: 0px 0px 2px; border-bottom: 2px solid var(--col-secondary); }
.faq > div.faq-question { position: relative; margin: 0px 0px 30px;  text-align: left; vertical-align: middle; margin: 0px; text-decoration: none; padding: 28px 60px 28px 0px; cursor: pointer; transition: all 0.3s ease; max-width: none;
	font-family: var(--font-accent);
    font-size: 1.7em;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 1px;
    text-transform: uppercase;
    word-wrap: break-word;
 }
	.faq > div.faq-question:hover { color: var(--col-primary); }
	.faq > div.faq-question i { position: absolute; top: 9px; left: 0px; font-size: 20px; font-weight: bold; }
	.faq > div.faq-question.active { }
	.faq > div.faq-question span { position: absolute; left: 10px; display: inline-block; text-align: left; margin-top: -8px; line-height: 41px; }

.faq.faq-type-counter > div.faq-question { padding-left: 50px; padding-top: 10px; }
	.faq.faq-type-counter > div.faq-question span { background: var(--col-primary); color: var(--col-secondary); margin-top: -6px; left: 1px; font-size: 17px; width: 32px; height: 32px; border-radius: 50%; line-height: 32px; text-align: center; transition: all 0.3s ease; }
		.faq.faq-type-counter > div.faq-question:hover span { background: var(--col-secondary); color: #FFF; }
	
.faq.faq-type-line > div.faq-question { padding-left: 35px; }
	.faq.faq-type-line > div.faq-question span { left: 9px; margin-top: -10px; }
	
.faq.faq-type-plusminus > div.faq-question { /*padding-left: 35px !important;*/ }
.faq.faq-type-plusminus > div.faq-question span { margin-top: -2px; left: auto; right: 3px; font-weight: 100; font-size: 45px; color: var(--col-primary); 		top: 50%; transform: translateY(-50%); margin-top: 0px; }
	.faq.faq-type-plusminus > div.faq-question.active span { /*margin-top: -10px;*/ right: 2px; }
	
.faq.faq-type-boxed > div.faq-question { background: var(--col-primary); color: var(--col-secondary); padding: 13px 15px 10px; }
.faq.faq-type-boxed > div.faq-question:hover { background: var(--col-secondary); color: #FFF; }
	
.faq.faq-type-boxedplusminus > div.faq-question { }
.faq.faq-type-boxedplusminus > div.faq-question span { margin-top: -11px; }
	.faq.faq-type-boxedplusminus > div.faq-question.active span { margin-top: -10px; }
		
.faq > div.faq-answer { padding: 0px 2px 30px; position: relative; background: none; overflow: hidden; }
	.faq.faq-type-counter > div.faq-answer { padding-left: 50px; }
	.faq.faq-type-line > div.faq-answer { padding-left: 35px; }
	.faq.faq-type-boxed > div.faq-answer { padding-left: 10px !important; padding-top: 15px !important; }
	.faq.faq-type-plusminus > div.faq-answer { /*padding-left: 35px;*/ }
	.faq.faq-type-boxedplusminus > div.faq-answer { }

/* Anpassungen für alternativen Font */
.faq.faq-font > div.faq-question { font-size: 1.2em; }
.faq.faq-font.faq-type-counter > div.faq-question { padding-left: 45px; }		
.faq.faq-font.faq-type-counter > div.faq-question span { left: 1px; margin-top: -4px; font-size: inherit; width: 32px; height: 32px; line-height: 30px; }
.faq.faq-font.faq-type-line > div.faq-question { padding-left: 35px; }	
.faq.faq-font.faq-type-line > div.faq-question span { margin-top: -12px; }
	.faq.faq-font.faq-type-line > div.faq-answer { padding-left: 35px; }
.faq.faq-font.faq-type-plusminus > div.faq-question { padding-left: 35px; }	
.faq.faq-font.faq-type-plusminus > div.faq-question span { margin-top: -10px; }
	.faq.faq-font.faq-type-plusminus > div.faq-question.active span { margin-top: -12px; }
.faq.faq-font.faq-type-plusminus > div.faq-answer { padding-left: 35px; }

/* Farb-Themes */
.bc-dark .faq { border-color: var(--col-dark); }
.bc-light .faq > div.faq-question { color: var(--col-light); }
.bc-light .faq > div.faq-question:hover { opacity: 0.80; }
.bc-light .faq.faq-type-counter > div.faq-question span,
.bc-light .faq.faq-type-boxed > div.faq-question 
	{ background: var(--col-light); color: var(--col-accent); }
.bc-light .faq.faq-type-counter > div.faq-question:hover span, 
.bc-light .faq.faq-type-boxed > div.faq-question:hover 
	{ background: #EEE; }
.bc-light .faq.faq-type-plusminus > div.faq-question span,
.bc-light .faq.faq-type-boxed > div.faq-question span, 
.bc-light .faq.faq-type-boxed > div.faq-question:hover 
	{ color: var(--col-light); }

.bc-dark  .faq > div.faq-question { color: var(--col-dark); }
.bc-dark  .faq > div.faq-question:hover { opacity: 0.75; }
.bc-dark  .faq.faq-type-counter > div.faq-question span, 
.bc-dark  .faq.faq-type-boxed > div.faq-question 
	{ background: var(--col-light); color: #FFF; }
.bc-dark  .faq.faq-type-counter > div.faq-question:hover span, 
.bc-dark  .faq.faq-type-boxed > div.faq-question:hover 
	{ background: var(--col-accent); color: var(--col-light); }
.bc-dark  .faq.faq-type-boxed > div.faq-question span, 
.bc-dark  .faq.faq-type-boxed > div.faq-question:hover 
	{ color: var(--col-light); }



/* Modul: iFrame (externe Seite oder Kartenausschnitte - ab v1.8.1) */
.iframe-embed { max-width: 100%; }
.iframe-embed.ie-left { margin: 0px auto 0px 0px; }
.iframe-embed.ie-center { margin: 0px auto; }
.iframe-embed.ie-right { margin: 0px 0px 0px auto; }

.iframe-embed .ie-cardstyle-gray { filter: grayscale(1) !important; }
.iframe-embed .ie-cardstyle-dark { filter: grayscale(1) invert(1) opacity(0.85) !important; }

/* Maps + Leaflet */
div.leaflet-container * { color: #222 !important; }
div.leaflet-container .osm-infowindow { max-width: 320px; background: #FFF; border: 2px solid rgba(0,0,0,0.2); border-radius: 4px; padding: 8px 10px; margin-right: 55px; background-clip: paddingbox; box-shadow: 0 1px 4px -1px rgba(0,0,0,0.3); } 
	div.leaflet-container .osm-infowindow td { color: #5B5B5B; font-size: 12px; font-family: var(--font-text); } 
	div.leaflet-container .osm-infowindow td strong { color: #222; font-size: 14px; } 
div.leaflet-container img.leaflet-marker-icon { filter: grayscale(1); }

@media only screen and (max-width: 600px) { div.leaflet-container .osm-infowindow .osm-iw-image { display: none; } }
@media only screen and (max-width: 350px) { div.leaflet-container .osm-infowindow .osm-iw-content { display: none; } }



/* Modul: mehrspaltige Aufzählung (UL-Liste ab v1.2) */
.multicollist {}
.multicollist a { position: absolute; top: 0px; left: 0px; z-index: 5; width: 100%; height: 100%; display: block; }
.multicollist ul { list-style-type: none; line-height: normal; margin: 0px; padding: 0px; -webkit-columns: 3 230px; -moz-columns: 3 230px; columns: 3 230px; -webkit-column-gap: 2em; -moz-column-gap: 2em; column-gap: 2em; }
.multicollist li { list-style-type: none; position: relative; margin: 0px 0px 15px 0px; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
	.multicollist li.ml-header { color: var(--col-primary); margin: 0px 0px 20px; padding: 0px 15px 0px 0px;
			font-family: var(--font-accent);
			font-size: 1.85em;
			font-weight: bold;
			line-height: 1.25;
			letter-spacing: 1px;
			text-transform: uppercase;
			word-wrap: break-word;
	}
		.multicollist li.ml-header span { display: block; text-transform: none; margin-top: 15px; color: var(--col-text); font-size: 0.65em; }
		
	.multicollist li.ml-item { font-size: 0.9em; padding: 10px 50px 0px 0px; }
		/*.multicollist li.ml-item:before { content: ''; position: absolute; top: 17px; left: 15px; background: var(--col-primary); width: 5px; height: 5px; border-radius: 50%;}*/
		.multicollist li.ml-item span.ml-title { display: block; font-family: var(--font-header); font-weight: bold; font-size: 1.25em; margin-bottom: 7px; /*text-transform: uppercase;*/ }
		.multicollist li.ml-item span.ml-linkicon { position: absolute; top: 8px; right: 10px; display: block; width: 26px; height: 26px; line-height: 26px; background: var(--col-primary); font-size: 20px; color: #FFF; text-align: center; overflow: hidden; border-radius: 50%; transition: all 0.3s ease; }
		
	.multicollist li.ml-item.haslink:hover { /*color: var(--col-accent);*/ }
	.multicollist li.ml-item:hover span.ml-linkicon { background: var(--col-secondary); color: var(--col-primary); }

/* Farb-Themes */
.bc-light .multicollist li.ml-header, .bc-light .multicollist li.ml-header span { color: var(--col-light); }
.bc-light .multicollist li.ml-item:before, .bc-light .multicollist li.ml-item span.ml-linkicon { background-color: var(--col-light); }
	.bc-light .multicollist li.ml-item:hover span.ml-linkicon { opacity: 0.75; }
.bc-light .multicollist li.ml-item span.ml-linkicon i { color: var(--col-dark); }

.bc-dark .multicollist li.ml-header, .bc-dark .multicollist li.ml-header span { color: var(--col-dark); }
.bc-dark .multicollist li.ml-item:before { background-color: var(--col-dark); }
.bc-dark .multicollist li.ml-item span.ml-linkicon i { color: var(--col-light); }



/* Modul: Gridblock (Zusatzeinstellungen ab CS v1.2) */
.gridblock { margin: 0px; padding: 0px; 
	--GBcolumns: 1;
	--GBgap: 0px;
}
.gridtemplate-2col { --GBcolumns: 2; }
.gridtemplate-3col { --GBcolumns: 3; }
.gridtemplate-4col { --GBcolumns: 4; }
.gridtemplate-5col { --GBcolumns: 5; }
.gridtemplate-6col { --GBcolumns: 6; }
	
.gridblock, .gridblock .tmpl, .gridblock .row, .gridblock .col { box-sizing: border-box; position: relative; background-repeat: no-repeat; --margin-divisor: 1; --padding-divisor: 1; }
.gridblock .tmpl { z-index: 5; }
.gridblock .row { display: flex; flex-wrap: wrap; margin: 0px; z-index: 5; }
.gridblock .col { display: flex; flex-grow: 1; margin: 0px auto; width: calc((100% / var(--GBcolumns)) - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridblock .col.wAuto { width: auto !important; margin-left: auto !important; margin-right: auto !important; }
	.gridblock .col.wFull { width: 100% !important; }

	.gridtemplate-80-20 .col, .gridtemplate-20-80 .col { width: calc(20% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridtemplate-80-20 .col:nth-child(1), .gridtemplate-20-80 .col:nth-child(2) { width: calc(80% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	
	.gridtemplate-70-30 .col, .gridtemplate-30-70 .col { width: calc(30% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridtemplate-70-30 .col:nth-child(1), .gridtemplate-30-70 .col:nth-child(2) { width: calc(70% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	
	.gridtemplate-60-40 .col, .gridtemplate-40-60 .col { width: calc(40% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridtemplate-60-40 .col:nth-child(1), .gridtemplate-40-60 .col:nth-child(2) { width: calc(60% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	
	.gridtemplate-25-50-25 .col, .gridtemplate-50-25-25 .col, .gridtemplate-25-25-50 .col { width: calc(25% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridtemplate-25-50-25 .col:nth-child(2), .gridtemplate-50-25-25 .col:nth-child(1), .gridtemplate-25-25-50 .col:nth-child(3) { width: calc(50% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	
	.gridtemplate-16-67-16 .col, .gridtemplate-67-16-16 .col, .gridtemplate-16-16-67 .col { width: calc(16.5% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }
	.gridtemplate-16-67-16 .col:nth-child(2), .gridtemplate-67-16-16 .col:nth-child(1), .gridtemplate-16-16-67 .col:nth-child(3) { width: calc(67% - var(--GBgap) + (var(--GBgap) / var(--GBcolumns))); }

.gridblock .col > div { position: relative; z-index: 5; }				/* Inhaltsebene */

@supports (gap: 1px) {
	.gridblock .cGap-xs { --GBgap: var(--gap-xs); gap: var(--GBgap); }
	.gridblock .cGap-sm { --GBgap: var(--gap-sm); gap: var(--GBgap); }
	.gridblock .cGap-md { --GBgap: var(--gap-md); gap: var(--GBgap); }
	.gridblock .cGap-lg { --GBgap: var(--gap-lg); gap: var(--GBgap); }
	.gridblock .cGap-xl { --GBgap: var(--gap-xl); gap: var(--GBgap); }
}

/*
.gridblock .mgA-xs { margin-top: var(--margin-neg-xs); margin-bottom: var(--margin-neg-xs); }
.gridblock .mgA-sm { margin-top: var(--margin-neg-sm); margin-bottom: var(--margin-neg-sm); }
.gridblock .mgA-md { margin-top: var(--margin-neg-md); margin-bottom: var(--margin-neg-md); }
.gridblock .mgA-lg { margin-top: var(--margin-neg-lg); margin-bottom: var(--margin-neg-lg); }
.gridblock .mgA-xl { margin-top: var(--margin-neg-xl); margin-bottom: var(--margin-neg-xl); }
*/

.gridblock .ca-cc { align-items: center; justify-content: center; }
.gridblock .ca-lt { align-items: flex-start; justify-content: flex-start; }
.gridblock .ca-rt { align-items: flex-start; justify-content: flex-end; }
.gridblock .ca-rb { align-items: flex-end; justify-content: flex-end; }
.gridblock .ca-lb { align-items: flex-end; justify-content: flex-start; }
.gridblock .ca-ct { align-items: flex-start; justify-content: center; }
.gridblock .ca-cr { align-items: center; justify-content: flex-end; }
.gridblock .ca-cb { align-items: flex-end; justify-content: center; }
.gridblock .ca-cl { align-items: center; justify-content: flex-start; }

.gridblock .cs-width > div { width: 100%; }
.gridblock .cs-height > div { height: 100%; }
.gridblock .cs-full > div { width: 100%; height: 100%; }

.gridblock .bc-dark * { color: var(--col-dark); }
.gridblock .bc-light * { color: var(--col-light); }

.gridblock .height100p { align-self: auto; }

.gridblock .brd.brd-solid { border-style: solid; }						/* klassischer Border */
.gridblock .brd.brd-double { border-style: double; }
.gridblock .brd.brd-dotted { border-style: dotted; }
.gridblock .brd.brd-dashed { border-style: dashed; }
.gridblock .brd.brd-groove { border-style: groove; }
.gridblock .brd.brdCol-primary { border-color: var(--col-primary); }
.gridblock .brd.brdCol-secondary { border-color: var(--col-secondary); }
.gridblock .brd.brdCol-accent { border-color: var(--col-accent); }
.gridblock .brd.brdT-none { border-top: none; }
.gridblock .brd.brdR-none { border-right: none; }
.gridblock .brd.brdB-none { border-bottom: none; }
.gridblock .brd.brdL-none { border-left: none; }

.gridblock .brdOutline.brd-solid { outline-style: solid; }				/* Ouline-Border */
.gridblock .brdOutline.brd-double { outline-style: double; }
.gridblock .brdOutline.brd-dotted { outline-style: dotted; }
.gridblock .brdOutline.brd-dashed { outline-style: dashed; }
.gridblock .brdOutline.brd-groove { outline-style: groove; }
.gridblock .brdOutline.brdCol-primary { outline-color: var(--col-primary); }
.gridblock .brdOutline.brdCol-secondary { outline-color: var(--col-secondary); }
.gridblock .brdOutline.brdCol-accent { outline-color: var(--col-accent); }

.gridblock .divi { position: relative; display: block; width: 100%; margin: 0px; padding: 0px; overflow: hidden; line-height: 0; border: none; z-index: 3; }
	.gridblock .divi-inside { position: absolute; left: 0px; }
		.gridblock .divi-top.divi-inside { top: -1px; }
		.gridblock .divi-bottom.divi-inside { bottom: -1px; }
	.gridblock .divi-outside {}
		.gridblock .divi-top.divi-outside { top: 1px; }
		.gridblock .divi-bottom.divi-outside { bottom: 1px; }
.gridblock .divi > * { display: block; position: relative; left: 50%; transform: translateX(-50%); overflow: hidden; border: none; background: none !important; max-width: none !important; transition: all 0.3s ease; }
	.gridblock .divi.divi-flipX > * { transform: translateX(-50%) rotateY(180deg); }
	.gridblock .divi.divi-flipY > * { transform: translateX(-50%) rotateX(180deg); }
	.gridblock .divi.divi-flipX.divi-flipY > * { transform: translateX(-50%) rotateX(180deg) rotateY(180deg); }
	.gridblock .divi svg.bgCol-primary > * 		{ fill: var(--col-primary); }
	.gridblock .divi svg.bgCol-secondary > * 	{ fill: var(--col-secondary); }
	.gridblock .divi svg.bgCol-accent > * 		{ fill: var(--col-accent); }	
.gridblock .divi img { height: auto; }



/* Interner Zurück-Link (ab v1.2) */
div.link-historyback { padding: 25px 0px; }
div.link-historyback.left { text-align: left; }
div.link-historyback.center { text-align: center; }
div.link-historyback.right { text-align: right; }



/* Mehr erfahren-Link */
div.morelink { display: flex; align-items: center; }
	div.morelink:before, div.morelink:after { content:''; display: block; height: 2px; background: var(--col-secondary); flex: 1 0; margin: 1px 0px 0px; }
div.morelink a { flex: 0 1 100px; padding: 0px 17px 0px 20px; white-space: nowrap; text-decoration: none; }
	div.morelink a:hover, div.morelink a:hover i { color: var(--col-secondary); }
div.morelink i { margin-left: 20px; transition: all 0.3s ease; }

/* Farb-Themes */
.bc-dark div.morelink:before, .bc-dark div.morelink:after { background: var(--col-accent); }
.bc-dark div.morelink a:hover, .bc-dark div.morelink a:hover i { color: var(--col-primary); }


/* Modul: Newsteaser (Lightbox ab v1.3) */
.newsteaser { margin: 0px; padding: 0px; }
.newsteaser .teaser { display: flex; flex-direction: row; flex-wrap: nowrap; margin: 65px 0px 0px 0px; padding: 0px; transition: all 0.3s ease; }
	.newsteaser .teaser.first { border: none !important; margin-top: 0px !important; }
	.newsteaser .teaser.minmargin { margin-top: 35px; }
		.newsteaser .teaser.minmargin.hasnoimage.hasnotext { margin-top: 25px; }

.newsteaser .teaserimage { position: relative; margin: 0px; margin-right: 15px; /*aspect-ratio: 1/1;*/ }
	.newsteaser .teaserimage figure { /*position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; aspect-ratio: 1/1;*/ overflow: hidden; }
	.newsteaser .teaserimage img { width: 100%; height: auto; }
	.newsteaser .teaserimage span { display: block; background: rgba(150,150,150, 0.1); aspect-ratio: 3/2; }			/* Platzhalter-Bild */
.newsteaser .teaserimage.ratio20-80 { width: 20%; }
.newsteaser .teaserimage.ratio25-75 { width: 25%; }
.newsteaser .teaserimage.ratio30-70 { width: 30%; }
.newsteaser .teaserimage.ratio35-65 { width: 35%; }
.newsteaser .teaserimage.ratio40-60 { width: 40%; }
.newsteaser .teaserimage.ratio45-55 { width: 45%; }
.newsteaser .teaserimage.ratio50-50 { width: 50%; }

.newsteaser .teasercontent { width: 100%; margin: 0px; padding: 0px; }
	.newsteaser .teaser.hasimage .teasercontent { margin-left: 15px; }
.newsteaser .teasercontent.ratio20-80 { width: 80%; }
.newsteaser .teasercontent.ratio25-75 { width: 75%; }
.newsteaser .teasercontent.ratio30-70 { width: 70%; }
.newsteaser .teasercontent.ratio35-65 { width: 65%; }
.newsteaser .teasercontent.ratio40-60 { width: 60%; }
.newsteaser .teasercontent.ratio45-55 { width: 55%; }
.newsteaser .teasercontent.ratio50-50 { width: 50%; }

.newsteaser .teaserheadline a { color: var(--col-text); text-decoration: none; }
.newsteaser .teaserheadline { font-family: var(--font-accent); font-size: 1.85em; font-weight: bold; line-height: 1.25; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; word-wrap: break-word; }
.newsteaser .teaserdate { margin: 4px 0px 0px; font-size: 0.85em; /*color: #999;*/ }
	.newsteaser .teaser.minmargin.hasnoimage .teaserdate { margin-top: 2px; }
.newsteaser .teasertext { margin-top: 15px; }
	.newsteaser .teaser.minmargin.hasnoimage .teasertext { margin-top: 7px; }
.newsteaser .teaserlink { margin-top: 20px; }
	.newsteaser .teaser.minmargin.hasnoimage .teaserlink { margin-top: 15px; }
	.newsteaser .teaser.minmargin.hasnoimage.hasnotext .teaserlink { margin-top: 12px; }
	.newsteaser .teaserlink a { /*display: inline-block; position: relative; background: var(--col-primary); color: var(--col-light); font-size: 0.9em; font-weight: bold; text-transform: uppercase; padding: 6px 28px 6px 12px; border-radius: 5px; overflow: hidden;*/ margin: 0px; }
	/*
		.newsteaser .teaserlink a:after { content:'\203A'; display: block; font-family: var(--font-text); font-size: 30px; font-weight: normal; position: absolute; right: 10px; top: -10px; height: 0px; transition: all 0.3s ease; }
	.newsteaser .teaserlink a:hover { background: var(--col-secondary); }
		.newsteaser .teaserlink a:hover:after { right: 0px; opacity: 0; }
	*/
	
.newsteaser .teaserpagination { text-align: left; margin-top: 50px; }
	.newsteaser .teaserpagination.center { text-align: center; }
	.newsteaser .teaserpagination.right { text-align: right; }
.newsteaser .teaserpagination ul { list-style-type: none; margin: 0px; padding: 0px; display: inline; }
.newsteaser .teaserpagination li { display: inline-block; margin: 0px 4px 0px 0px; font-size: 0.9em; background: none; }
.newsteaser .teaserpagination span, .newsteaser .teaserpagination a { display: inline-block; padding: 6px 10px; text-decoration: none; }
	.newsteaser .teaserpagination span { cursor: default; }
	.newsteaser .teaserpagination a { border-radius: 3px; }
		.newsteaser .teaserpagination a:hover { background: var(--col-secondary); color: #FFF; }
.newsteaser .teaserpagination .current { background: var(--col-primary); color: var(--col-dark); }

/* Farb-Themes */
.bc-light .newsteaser .teaserimage span { background: rgba(255,255,255, 0.15); }
.bc-light .newsteaser .teaserheadline a { color: var(--col-light); }



/* Modul: Kalender (ab v1.3.6) */
.calendar { /*overflow: hidden;*/ }
body.calendar-popup-opened { overflow-x: hidden; overflow-y: hidden; }
@-moz-document url-prefix() { body.calendar-popup-opened { overflow-x: inherit; } }

/* Definition Popup (Lightbox) */
.calendar-popup { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: -1; opacity: 0; margin: 0px; padding: 0px; background: var(--col-overlay); overflow-x: hidden; overflow-y: auto; transition: all 0.4s ease; }
	.calendar-popup-show { z-index: 99999; opacity: 1; }
.calendar-popup-wrapper { position: relative; z-index: 5; display: table; width: 100%; height: 100%; max-width: 650px; margin: 0px auto; }
	.calendar-popup-wrapper > div { position: relative; display: table-cell; vertical-align: middle; margin: 40px auto; }
.calendar-popup-close { position: sticky; top: 0px; right: 0px; margin-right: 0px; z-index: 999; }
	/*.calendar-popup-close span { position: absolute; top: 0px; right: 20px; z-index: 99999; width: 34px; height: 34px; padding: 5px; cursor: pointer; overflow: hidden; transition: all 0.3s ease; }
		.calendar-popup-close span:hover {}
		.calendar-popup-close span:after { content: '+'; display: block; position: relative; top: -50px; left: 1px; text-align: center; font-size: 70px; font-weight: 400; color: var(--col-primary); transform: rotate(45deg); }
	*/
		.calendar-popup-close span { position: absolute; z-index: 99999; top: 15px; right: 50%; transform: translateX(50%); width: 40px; height: 40px; cursor: pointer; background: var(--col-secondary); transition: all 0.3s ease; }
		.calendar-popup-close span:before, .calendar-popup-close span:after { content:''; position: absolute; top: 50%; left: 50%; background: var(--col-primary); display: block; width: 28px; height: 2px; transform-origin: center; transform: rotate(45deg) translate(-10px, 10px); }
			.calendar-popup-close span:after { transform: rotate(-45deg) translate(-10px, -10px); }
		.calendar-popup-close span:hover:before, .calendar-popup-close span:hover:after { height: 4px; }
		
.calendar-popup-content { background: #FFF; margin: 80px 20px; padding: 30px 30px; box-shadow: 0 5px 25px -5px #000; transition: all 0.3s ease; }

/* Definition Termin verschoben */
.calendar span.postponed { display: block; }
.calendar span.postponed span { display: inline-block; background: var(--col-primary); color: var(--col-secondary); padding: 2px 8px; font-weight: bold; border-radius: 3px; line-height: normal; }

/* Fullcalendar */
.calendar-full .fc-toolbar { margin-bottom: 35px; }
	.calendar-full .fc-left { padding-right: 15px; }
		.calendar-full .fc-left .fc-button-group { margin-right: 0.75em !important; }
	.calendar-full .fc-right { padding-left: 15px; }
	.calendar-full .fc-toolbar h2 { font-family: var(--font-header); font-size: 1.8em; font-weight: bold; text-transform: uppercase; color: #666; letter-spacing: normal; }
.calendar-full .fc-button { border-radius: 3px !important; font-size: 13px; padding: 7px 10px; margin: 0px 5px 5px 0px !important; text-transform: uppercase; }
	.calendar-full .fc-right .fc-button { margin: 0px 0px 5px 5px !important; }
.calendar-full .fc-button-primary, .calendar-full .fc-button-primary:hover { background-color: #EEE; color: #888; font-weight: bold; border: none; transition: all 0.3s ease; }
	.calendar-full .fc-button-primary:hover { background-color: #DDD; }
	.calendar-full .fc-button-primary:focus { box-shadow: none !important; outline: none; }
	.calendar-full .fc-button-active { background-color: #004568 !important; color: #FFF !important; }
	.calendar-full .fc-today-button, .calendar-full .fc-today-button:hover { background-color: var(--col-primary); color: #333; }
	.calendar-full .fc-button-primary:disabled { background-color: #DDD; color: #FFF; }

.calendar-full .fc-day-grid-event { border-color: #CCC !important; border-radius: 0px; padding: 2px 4px !important; margin: 1px 0px; white-space: normal; cursor: pointer; text-shadow: #000 1px 1px; }
	.calendar-full .fc-day-grid-event:hover { background-color: rgba(0,69,104, 1) !important; }
.calendar-full .fc-more-cell div { padding: 3px; }
	.calendar-full a.fc-more { margin-top: 3px; color: inherit; line-height: 1; word-break: break-all; margin: 1px 0px; }
.calendar-full .fc-dayGrid-view .fc-day-number, .calendar-full .fc-dayGrid-view .fc-week-number { border-radius: 0px !important; font-size: 0.8em; }
	.calendar-full .fc-dayGrid-view .fc-day-number { font-weight: bold; color: #999; }
.calendar-full .fc-popover .fc-header { background: var(--col-primary) !important; font-weight: bold; }

.calendar-full .fc-list-item-marker { vertical-align: middle; }
	.calendar-full .fc-event-dot { border-radius: 0px; border: 1px solid #FFF; }
.calendar-full .fc-list-item { cursor: pointer; }	
	.calendar-full .fc-list-item a { transition: none; }	
	.calendar-full .fc-list-item:hover td { background: rgba(0,69,104, 0.75) !important; color: #FFF; }

/* Übersichtsliste */
.calendar-list .cal-header { font-family: var(--font-header); font-size: 30px; font-weight: bold; color: var(--col-primary); text-transform: uppercase; margin: 0px 0px 25px; }
.calendar-list .cal-nav { position: relative; top: -2px; height: 40px; list-style-type: none; margin: 0px 0px 0px 20px; padding: 0px; display: inline-block; vertical-align: middle; }
	.calendar-list .cal-nav li { display: inline-block; width: 40px; height: 40px; margin: 0px -2px; background: none; font-size: 30px; }
	.calendar-list .cal-nav li > * { display: inline-block; line-height: 50px; text-decoration: none; background: var(--col-primary); color: #FFF; /*border: 1px solid #737373;*/ border-radius: 50%; padding: 13px 11px 13px 15px; }
		.calendar-list .cal-nav li > *:hover { background: var(--col-secondary); }
		.calendar-list .cal-nav li > * span { display: block; content:''; width: 10px; height: 10px; background: none; border: 2px solid #FFF; border-width: 0px 0px 2px 2px; transform: rotate(45deg); }
			.calendar-list .cal-nav li > *:hover span { border-color: #000; }
	.calendar-list .cal-nav li.next > * { padding: 13px 15px 13px 11px; }
		.calendar-list .cal-nav li.next > * span { border-width: 2px 2px 0px 0px; }
	.calendar-list .cal-nav li > span, .calendar-list .cal-nav li > span span { background: #FFF !important; border-color: #CCC !important; }		/* not active */
	
.calendar-list .cal-filter { margin: 0px 0px 50px; }
.calendar-list .cal-filter-date { margin-bottom: 20px; }
	.calendar-list .cal-filter-date-month {}
	.calendar-list .cal-filter-date-year { margin-top: 8px; }
	.calendar-list .cal-filter-date a, .calendar-list a.cal-filter-opener { display: inline-block; margin: 0px 5px 5px 0px; padding: 7px 10px; font-size: 13px; font-weight: normal; line-height: normal; background: #FFF; color: #000; text-decoration: none; text-transform: uppercase; }
		.calendar-list .cal-filter-date a:hover { background: var(--col-secondary); color: var(--col-text); }
		.calendar-list .cal-filter-date a.selected, .calendar-list a.cal-filter-opener.selected { background: var(--col-primary) !important; color: #FFF; }
		.calendar-list .cal-filter-date a.today { background: var(--col-accent); color: #FFF; }
		
.calendar-list .cal-filter-more { position: relative; display: flex; flex-wrap: wrap; align-items: center; margin: 0px; background: #FFF; margin-bottom: 20px; padding: 15px; border-radius: 0px; }
	.calendar-list .cal-filter-sbeg { margin-left: auto; }
	.calendar-list .cal-filter-more.onlysearch .cal-filter-sbeg { width: 100%; }
.calendar-list a.cal-filter-opener { background: #EEE; cursor: pointer; margin-bottom: 0px; }
	.calendar-list a.cal-filter-opener:hover { background: #CCC; }
.calendar-list div.cal-filter-dropdown { display: block; position: absolute; left: -3000px; z-index: 1000; background: #FAFAFA; min-width: 150px; max-width: 250px; margin-top: 3px; box-shadow: rgba(0,0,0, 0.15) 1.95px 1.95px 2.6px; opacity: 0; transition: opacity 0.3s ease; }
	.calendar-list .cal-filter-dropdown.opened { left: auto; opacity: 1; }
	.calendar-list .cal-filter-dropdown a { display: block; padding: 6px 10px; text-decoration: none; font-size: 13px; color: #000; line-height: normal; border-top: 1px solid #DDD; border-left: 3px solid transparent; }
		.calendar-list .cal-filter-dropdown a:first-child { border-top: none; }
		.calendar-list .cal-filter-dropdown a:hover, .calendar-list .cal-filter-dropdown a.selected { border-left-color: var(--col-primary); color: #000; background: #EEE; }
.calendar-list .cal-filter-sbeg form { position: relative; max-width: 200px; }
	.calendar-list .cal-filter-more.onlysearch .cal-filter-sbeg form { max-width: none; }
.calendar-list .cal-filter-sbeg input { width: 100%; height: 100%; border: 1px solid #CCC; margin: 0px; padding: 4px 60px 4px 11px; font-family: var(--font-text); font-size: 14px; color: #666; }
	.calendar-list .cal-filter-sbeg input[type=submit], .calendar-list .cal-filter-sbeg span { position: absolute; top: 0px; right: 0px; bottom: 0px; z-index: 5; width: 50px; background: none; text-indent: -555px; border: none; padding: 0px; text-align: center; cursor: pointer; }
	.calendar-list .cal-filter-sbeg span { width: auto; top: 0%; right: 5px; z-index: 1; text-indent: 0px; color: #999; font-size: 18px; pointer-events: none; }


/* Übersichtsliste (Standard) */
.calendar-list .cal-items { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0px; }
.calendar-list .cal-item { position: relative; margin: 0px 0px 30px; background: #FFF; /*line-height: 1.2; border-radius: 0px 0px 8px 0px;*/ transition: all 0.3s ease; overflow: hidden; }
	.calendar-list .cal-item:hover { /*transform: translateY(-5px);*/ box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px; }
	
.calendar-list .cal-image { position: relative; height: 150px; background-size: cover; background-position: center center; transition: all 0.3s ease; }
	.calendar-list .cal-image span.postponed { position: relative; top: 15px; left: 15px; z-index: 10; margin-right: 60px; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; }
	.calendar-list .cal-image img { position: absolute; top: 0px; left: 0px; z-index: 5; width: 100%; height: 100%; object-fit: cover; object-position: center; }
	
.calendar-list .cal-entry { display: flex; flex-wrap: nowrap; padding: 20px; min-height: 115px; transition: all 0.3s ease; }
	.calendar-list .cal-date { text-align: left; padding: 0px; font-size: 1.3em; font-weight: normal; line-height: 1.2; overflow: hidden; flex: 0 1 45px; }
		.calendar-list .cal-date .cal-date-short-int { display: none; }
		.calendar-list .cal-date i { display: none; }
		.calendar-list .cal-date u { display: block; text-decoration: none; font-size: 0.5em; font-weight: 400; text-align: left; text-transform: uppercase; }
		.calendar-list .cal-date span.separator { display: block; font-weight: 400; padding-left: 6px; }
		.calendar-list .cal-date span.separator:after { content:'–'; display: inline-block; line-height: 1; text-align: center; }
	.calendar-list .cal-content { flex: 1 1; overflow: hidden; }
		.calendar-list .cal-content span.postponed { display: none; margin: 0px 0px 15px; }
		.calendar-list .hasnoimage .cal-content span.postponed { display: block; }

.calendar-list div.cal-link { display: none; }
	.calendar-list .cal-entry div.cal-link { display: block; }
.calendar-list a.cal-link { text-decoration: none; }
	.calendar-list a.cal-item-link { display: inline-block; width: auto; height: auto; background: var(--col-primary); color: #FFF; padding: 10px 17px; font-family: var(--font-header); font-size: 15px; text-transform: uppercase; font-weight: 900; letter-spacing: 2px; text-decoration: none; white-space: nowrap; transition: all 0.3s ease; }
	.calendar-list a.cal-item-link:hover, .calendar-list .cal-item:hover a.cal-item-link { background: var(--col-secondary); }
	.calendar-list .cal-entry a.cal-item-link { /*display: none;*/ margin-top: 25px; }	
	.calendar-list a.cal-global-link { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 5; }

.calendar-list .cal-title { font-family: var(--font-accent); font-size: 1.5em; font-weight: normal; font-style: italic; line-height: 1.3; margin: -1px 0px 10px; word-wrap: break-word; }
	.calendar-list.cuttitle .cal-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.calendar-list .cal-text { /*font-size: 0.85;*/ margin: 15px 0px 0px; font-weight: normal; }
.calendar-list .cal-loc, .calendar-list .cal-cat, .calendar-list .cal-date-full { position: relative; font-size: 0.85em; padding: 0px 0px 0px 20px; }
	.calendar-list .cal-loc i, .calendar-list .cal-cat i, .calendar-list .cal-date-full i { position: absolute; top: 0px; left: -3px; }
	/*.calendar-list .cal-loc span:after { content:', '; display: inline; }*/
		.calendar-list .cal-loc > *:nth-child(3), .calendar-list .cal-loc > *:nth-child(4) { display: none; }
		.calendar-list .cal-loc span:last-child:after { display: none; }
.calendar-list .cal-flag { position: absolute; top: 0px; right: 10px; z-index: 50; font-size: 30px; text-shadow: 1px 1px var(--col-dark); pointer-events: none; }
	.calendar-list .cal-flag i { display: flex; vertical-align: top; margin: 0px; padding: 0px; }
	.calendar-list .cal-flag i:before { margin: 0px !important; }
.calendar-list .cal-date-full { display: none; }
	.calendar-list .cal-date-full span.separator:after { content:' – '; display: inline; }
.cal-notfound { font-weight: bold; color: var(--col-primary); }

/* Übersichtsliste (boxed) */
.calendar-list-boxed .cal-items { margin: 0px -8px; }
.calendar-list-boxed .cal-item { flex: 0 1 calc(33.333% - 16px); margin: 0px 8px 16px; padding: 250px 0px 70px; }
	.calendar-list-boxed .cal-item.hasnoimage { padding-top: 50px; }
.calendar-list-boxed .cal-notfound { margin: 0px 8px; }
.calendar-list-boxed .cal-image { position: absolute; height: 250px; top: 0px; left: 0px; width: 100%; }
	.calendar-list-boxed .cal-item:hover .cal-image { height: 0px; }
.calendar-list-boxed .cal-item:hover .cal-entry, .calendar-list-boxed .cal-item.hasnoimage .cal-entry { transform: translateY(-200px); }
	.calendar-list-boxed .cal-item.hasnoimage .cal-entry { transform: translateY(0px) !important; }
.calendar-list-boxed .cal-item:hover a.cal-item-link { background: var(--col-secondary); }
.calendar-list-boxed div.cal-link { display: block; text-align: center; position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); }
.calendar-list-boxed .cal-entry div.cal-link, .calendar-list-boxed .cal-entry a.cal-item-link { display: none; }

/* Übersichtsliste (table2) */
.calendar-list-table2 .cal-item { display: flex; flex-wrap: wrap; width: 100%; margin: 0px 0px 30px; border-radius: 0px; }
.calendar-list-table2 .cal-image { width: 30%; height: 100%; }
.calendar-list-table2 .cal-entry { width: 70%; padding: 15px 21px; }
	.calendar-list-table2 .hasnoimage .cal-entry { width: 100%; }
.calendar-list-table2 .cal-title { font-size: 1.2em; margin-bottom: 10px; padding-right: 30px; }
.calendar-list-table2 .cal-content span.postponed { margin-top: -7px; }
.calendar-list-table2 .cal-date { display: none; }
.calendar-list-table2 .cal-date-full { display: block; margin-bottom: 3px; }
	.calendar-list-table2 .cal-date-full-int { display: none; }

/* Übersichtsliste (table3) */
.calendar-list-table3 .cal-item { display: grid; grid-template-rows: 1fr; grid-template-columns: auto 20%; gap: 20px; grid-template-areas: "left right"; width: 100%; margin: 0px 0px 30px; border-radius: 0px; }
.calendar-list-table3 .cal-image { grid-area: right; height: 100%; }
.calendar-list-table3 .cal-entry { grid-area: left; display: grid; grid-template-rows: 1fr; grid-template-columns: 175px auto; gap: 20px; grid-template-areas: "contentleft contentright"; width: 100%; }
	.calendar-list-table3 .hasnoimage .cal-entry { grid-column: 1 / span 2; }
.calendar-list-table3 .cal-date { grid-area: contentleft; text-align: left; padding: 0px; font-size: 1em; font-weight: 400; padding-top: 1px; }
	.calendar-list-table3 .cal-date .cal-date-short { display: none; }
	.calendar-list-table3 .cal-date .cal-date-short-int { display: block; }
	.calendar-list-table3 .cal-date u, .calendar-list-table3 .cal-date span.separator { display: inline; font-size: 1em; text-transform: none; }
	.calendar-list-table3 .cal-date span.separator { margin: 0px 5px; }
.calendar-list-table3 .cal-content { grid-area: contentright; }
.calendar-list-table3 .cal-title { font-size: 1.2em; padding-right: 30px; }
.calendar-list-table3 span.postponed { display: none; }
.calendar-list-table3 .cal-content span.postponed { display: block; margin-top: 0px; }

/* Detailseite */
/*
.calendar-detail a.cal-link { display: inline-block; background: var(--col-primary); color: #FFF; padding: 10px 17px; font-family: var(--font-header); font-size: 14px; font-weight: bold; text-decoration: none; transition: all 0.3s ease; }
	.calendar-detail a.cal-link:hover {}
*/
.calendar-detail { display: grid; grid-template-rows: repeat(3, auto); grid-template-columns: 30% auto; gap: 30px; grid-template-areas: "header header" "image content" "footer footer"; }
	.calendar-detail.hasnoimage { grid-template-areas: "header header" "content content" "footer footer"; }
.calendar-detail .cal-title { grid-area: header; font-family: var(--font-accent); font-size: 1.85em; font-weight: bold; /*color: var(--col-primary);*/ line-height: 1.25; letter-spacing: 1px; text-transform: uppercase; word-wrap: break-word; margin-bottom: -30px; }
.calendar-detail span.postponed { margin-top: 5px; padding-bottom: 5px; }
.calendar-detail .cal-image { grid-area: image; }
	.calendar-detail .cal-image a { position: relative; display: flex; }
		.calendar-detail .cal-image a:after { content: ''; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; opacity: 0; transition: all .3s ease; background: url(thumb-plus.png) no-repeat center center var(--col-overlay); }
		.calendar-detail .cal-image a:hover:after { opacity: 1; }
	.calendar-detail .cal-image img { width: 100%; height: auto; }
.calendar-detail .cal-text { grid-area: content; }
	.calendar-detail .cal-text .cal-text-title { display: none; }
.calendar-detail:not(.inPopup) .cal-data { grid-area: footer; display: flex; flex-wrap: wrap; }
	.calendar-detail:not(.inPopup) .cal-data > * { width: 35%; padding: 25px 5% 0px 0px; }
	.calendar-detail:not(.inPopup) .cal-data > *:last-child { width: 30%; padding-right: 0%; }
	.calendar-detail:not(.inPopup) .cal-data span { display: block; }
	.calendar-detail:not(.inPopup) .cal-data div:not(.cal-ticket) i { display: none; }
	.calendar-detail:not(.inPopup) .cal-data span.caption { display: block; font-size: 1.1em; font-weight: bold; margin: 0px 0px 10px 0px; }
.calendar-detail .cal-backlink { grid-column: 1 / span 2; margin-top: 30px; }
	.calendar-detail .cal-backlink-top { display: none; }
.calendar-detail .cal-morelink { margin-top: 35px; }
.calendar-detail a.cal-ticketlink { padding: 10px 17px 10px 13px; background: var(--col-primary); color: var(--col-secondary); }
	.calendar-detail a.cal-ticketlink i { display: inline-block; }

/* Detailseite Popup */
.calendar-detail.inPopup img { width: 100%; max-width: 100%; height: auto; }
.calendar-detail.inPopup { display: grid; grid-template-rows: repeat(4, auto); grid-template-columns: auto; gap: 0px; grid-template-areas: "area1" "area2" "area3" "area4"; }
.calendar-detail.inPopup .cal-title { grid-area: area1; background: var(--col-primary); color: #FFF; font-family: var(--font-accent); font-size: 1.6em; font-weight: bold; text-transform: uppercase; word-wrap: break-word; margin: -30px -30px 0px; padding: 24px 30px; }
.calendar-detail.inPopup .cal-data { grid-area: area3; background: #EEE; padding: 15px 15px; color: #000; }
	.calendar-detail.inPopup.hasnoimage .cal-data { margin: 0px -30px;  padding: 15px 30px; }
	.calendar-detail.inPopup .cal-data span.caption { display: none; }
	.calendar-detail.inPopup .cal-time:before { content:' | '; }
	.calendar-detail.inPopup .cal-loc span:after { content:', '; display: inline; }
		.calendar-detail.inPopup .cal-loc span:last-child:after { display: none; }
	.calendar-detail.inPopup .cal-ticket { margin-top: 15px; }
.calendar-detail.inPopup .cal-image { grid-area: area2; display: flex; position: relative; margin-top: 30px; overflow: hidden; }
	.calendar-detail.inPopup .cal-image img { height: 100px; object-fit: cover; object-position: center; cursor: pointer; }
	.calendar-detail.inPopup .cal-image:before, .calendar-detail.inPopup .cal-image:after { display: inline-block; content: ''; position: absolute; bottom: 14px; right: 14px; width: 7px; height: 7px; border: 2px solid #FFF; border-width: 0px 0px 2px 2px; pointer-events: none; opacity: 1; box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px; }
	.calendar-detail.inPopup .cal-image:after { border-width: 2px 2px 0px 0px; right: 10px; bottom: 18px; }
		.calendar-detail.inPopup .cal-image.maximize img { height: auto; }
		.calendar-detail.inPopup .cal-image.maximize:before, .calendar-detail.inPopup .cal-image.maximize:after { opacity: 0; }
.calendar-detail.inPopup .cal-text { grid-area: area4; margin-top: 30px; }
	.calendar-detail.inPopup .cal-text .cal-text-title { display: block; margin: 0px 0px 15px; font-weight: bold; text-transform: uppercase; word-wrap: break-word; }
.calendar-detail.inPopup .cal-backlink { display: none; }

/* Farb-Themes */
.bc-dark .calendar-list .cal-filter-date a { background: var(--col-secondary); }
	.bc-dark .calendar-list .cal-filter-date a:hover { background: var(--col-light); }
.bc-dark .calendar-list .cal-filter-more { background: var(--col-secondary); }
.bc-dark .calendar-list a.cal-filter-opener { background: var(--col-light); }
	.bc-dark .calendar-list a.cal-filter-opener:hover { background: #EEE; }
.bc-dark .calendar-list .cal-nav li > span, .bc-dark .calendar-list .cal-nav li > span span { background: var(--col-secondary) !important; border-color: var(--col-light) !important; }
.bc-dark .calendar-list .cal-item { border: 1px solid var(--col-secondary); }

.bc-light .calendar-list .cal-filter-date a.selected, .bc-light .calendar-list a.cal-filter-opener.selected, .bc-light .calendar-list .cal-nav li > a { background: var(--col-secondary) !important; color: #000; }
.bc-light .calendar-list .cal-filter-sbeg span * { color: #999; }
.bc-light .calendar-list .cal-filter-more { background: rgba(255,255,255, 0.5); }
.bc-light .calendar-list .cal-nav li > * span { border-color: #000; }
	.bc-light .calendar-list .cal-nav li > *:hover span { border-color: #FFF; }
	
.bc-light .calendar-list .cal-header { color: var(--col-secondary); }
.bc-light .calendar-list .cal-entry * { color: var(--col-dark); }
	.bc-light .calendar-list .cal-entry a.cal-item-link { color: #FFF; }



/* Modul: Kalendervorschau der nächsten Termine (basiert auf Kalender-Modul) */
.calendar-preview {}
.calendar-preview .cal-items {}
.calendar-preview .cal-item { position: relative; padding: 30px 0px; border-top: 1px solid #000; overflow: hidden; font-family: var(--font-accent); }
	.calendar-preview .cal-item.first { border: none; }
	.calendar-preview .cal-item:last-child { padding-bottom: 0px; }
.calendar-preview .cal-item-inner { display: flex; justify-content: space-between; align-items: center; }
	.calendar-preview .cal-item-content { flex: 1 1; display: flex; justify-content: flex-start; align-items: center; flex: 1 0 200px; overflow: hidden; transition: all 0.3s ease; }
		.calendar-preview .cal-item:hover .cal-item-content { transform: translateX(-90px); }
		.calendar-preview .cal-item:hover .cal-separator, .calendar-preview .cal-item:hover .cal-loc { display:none; }
	.calendar-preview .cal-item-link { flex: 0 1; padding: 0px 0px 0px 20px; }
.calendar-preview .cal-notfound { text-align: center; }

.calendar-preview .cal-date { flex: 0 1 90px; min-width: 90px; white-space: normal; text-align: left; padding: 0px; font-size: 1.5em; line-height: 1.2; }
	.calendar-preview .cal-date .cal-date-short { display: inline-block; /* text-align: center;*/ }
	.calendar-preview .cal-date .cal-date-short-int { display: none; }
	.calendar-preview .cal-date i { display: none; }
	.calendar-preview .cal-date u { display: inline-block; text-decoration: none; font-size: 12px; text-align: left; text-transform: uppercase; margin-left: 5px; }
	.calendar-preview .cal-date span.fromdate {}
	.calendar-preview .cal-date span.todate, .calendar-preview .cal-date span.todate u { display: block; font-size: 12px; font-weight: normal; text-transform: none; }
		.calendar-preview .cal-date span.todate:before { content:'bis '; display: inline; }
		.calendar-preview .cal-date span.todate u { display: inline-block; }
	.calendar-preview .cal-date span.separator { display: none; font-weight: 400; }
	.calendar-preview .cal-date span.separator:after { content:'–'; display: inline-block; line-height: 1; text-align: center; }
	
.calendar-preview .cal-title { font-size: 1.6em; letter-spacing: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-preview .cal-separator { padding: 0px 10px; }
	.calendar-preview .cal-separator:before { content: '/'; font-size: 1.6em; font-weight: normal; }
.calendar-preview .cal-loc { font-family: var(--font-text); font-size: 0.85em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transform: translateY(6px); }

.calendar-preview a.cal-link { text-decoration: none; color: var(--col-text); }
.calendar-preview a.cal-item-link:hover { background: var(--col-secondary); }
.calendar-preview .cal-item-link a.cal-link { display: inline-block; width: auto; height: auto; background: var(--col-primary); color: #FFF !important; padding: 10px 17px; font-family: var(--font-header); font-size: 15px; text-transform: uppercase; font-weight: 900; letter-spacing: 2px; text-decoration: none; white-space: nowrap; transition: all 0.3s ease; }
	.calendar-preview .cal-item-link a.cal-link:hover { background: var(--col-secondary); color: var(--col-primary) !important; }

/* Farb-Themes */
.bc-light .calendar-preview a.cal-link { color: var(--col-light); }
.bc-light .calendar-preview .cal-item { border-color: var(--col-light); }
.bc-light .calendar-preview .cal-item-link a.cal-link { background: #FFF; color: var(--col-primary) !important; }
	.bc-light .calendar-preview .cal-item-link a.cal-link { background: #FFF; color: var(--col-primary) !important; }
/*.bc-dark .calendar-preview .cal-item-link a.cal-link { background: var(--col-secondary); color: #FFF !important; }
	.bc-dark .calendar-preview .cal-item-link a.cal-link:hover { background: var(--col-secondary); color: var(--col-primary) !important; }*/



/* Modul: Infoblöcke Text-Bild */
.textbildblock { font-weight: normal; width: 100%; }
.textbildblock > div { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.textbildblock .tbb-block1 {}
		.textbildblock div.tbb-block1 .tbb-cnt { /*padding-bottom: 30px;*/ margin-bottom: 100px; }
	.textbildblock .tbb-block2 { flex-direction: row-reverse; }
		.textbildblock div.tbb-block2 .tbb-cnt { align-self: end; margin-top: 100px; }
	.textbildblock.hasnoimages div.tbb-block1 .tbb-cnt { margin-bottom: -25px; }
	.textbildblock.hasnoimages div.tbb-block2 .tbb-cnt { margin-top: -25px; }
	
.textbildblock > div > div { width: 45%; }
.textbildblock .tbb-cnt {}
	.textbildblock .tbb-header { font-family: var(--font-accent); font-size: 1.7em; font-weight: bold; color: var(--col-primary); line-height: 1.25; letter-spacing: -1px; }
		.textbildblock .tbb-header span { display: block; margin-top: 15px; font-size: 0.655em; font-weight: normal; font-style: italic; }
	.textbildblock .tbb-text { margin-top: 30px; }
	.textbildblock .tbb-text a:hover { color: var(--col-primary); }
.textbildblock .tbb-cnt > div { position: relative; padding: 35px 30px 35px 60px; }
	.textbildblock .tbb-cnt > div:after { content: ''; position: absolute; top: 0px; left: 0px; bottom: 0px; z-index: -1; width: 110px; background: var(--col-secondary); }
.textbildblock .tbb-img { background: center center no-repeat; background-size: cover; min-height: 560px; box-shadow: 5.74px 8.19px 40px 0px rgba(0,0,0,0.25); }
	.textbildblock .tbb-block1 .tbb-img { margin-bottom: -50px; }
	.textbildblock .tbb-block2 .tbb-img { margin-top: -50px; }
	.textbildblock .tbb-img a { display: block; height: 100%; }

/* Farb-Themes */
.bc-light .textbildblock .tbb-header { color: var(--col-light); }
.bc-light .textbildblock .tbb-cnt > div:after { opacity: 0.8; }



/* Sonstiges */
/* Responsive (scrollbare) Tabellen */
.tablescroll { display: block; overflow: auto; overflow-x: auto; overflow-y: hidden; margin: 0px; margin-bottom: 1em !important; scrollbar-width: thin; scrollbar-color: rgba(0,0,0, 0.2) #FFF; }
.tablescroll::-webkit-scrollbar { -webkit-appearance: none; width: 14px; height: 12px; }
.tablescroll::-webkit-scrollbar-track { background: #FFF; border-radius: 6px; border: 1px solid rgba(0,0,0, 0.2); border-left: none; border-right: none; }
.tablescroll::-webkit-scrollbar-thumb { border-radius: 6px; border: 3px solid rgba(255,255,255, 0.5); background: rgba(0,0,0, 0.2); }



/* CTH Imprint */
.cthwebdesign { /*display: none;*/ text-transform: uppercase; font-size: 11px; text-align: center; }
	.cthwebdesign a { color: rgba(255,255,255, 0.5); text-decoration: none !important; }
	.cthwebdesign a:hover { color: rgba(255,255,255, 1); }



/* Editorstyles */
span.textfarbe-primary { color: var(--col-primary); }
span.textfarbe-secondary { color: var(--col-secondary); }
span.textfarbe-accent { color: var(--col-accent); }

span.text-formatiert { font-family: var(--font-header); line-height: 1.35; font-weight: 900; letter-spacing: 0.5px; font-size: 22px; color: var(--col-primary); text-transform: uppercase; }

span.text-grossbuchstaben { text-transform: uppercase; }
span.text-einrueckung { margin-left: 1em; }
span.text-zeichenabstand { letter-spacing: 0.5px; }
span.text-zeilenabstand { line-height: 1.5em; }

span.text-2spaltig, ul.text-2spaltig { display: block; columns: 300px 2; column-gap: 40px; }
span.text-3spaltig, ul.text-3spaltig { display: block; columns: 300px 3; column-gap: 40px; }
	ul.text-2spaltig, ul.text-3spaltig { column-gap: 60px; }

span.text-initiale  { display: block; }
	span.text-initiale::first-letter { float: left; font-size: 3.27em; line-height: 0.9em; padding: 0px 8px 0px 0px; margin: 0px }


/*
span.text-abstand-oben { margin-top: 30px; display: inline-block; }
span.text-abstand-unten { margin-bottom: 30px; display: inline-block; }
*/

span.schrift_header { font-family: var(--font-header); line-height: 1.35; font-weight: 900; letter-spacing: 0.5px; }
span.schrift_accent { font-family: var(--font-accent); line-height: 1.25; letter-spacing: 0.5px; }

span.icon-phone, span.icon-location, span.icon-mail { color: var(--col-primary); font-size: 30px; }


img.bild-links-mit-textfluss { text-align: left; margin-right: 20px; margin-bottom: 20px; float: left; }
img.bild-rechts-mit-textfluss { text-align: right; margin-bottom: 20px; margin-left: 20px; float: right; }
img.bild-links-mit-textfluss-und-rahmen { text-align: left; margin-right: 20px; margin-bottom: 20px; border: 7px solid var(--col-secondary); float: left; }
img.bild-rechts-mit-textfluss-und-rahmen { text-align: right; margin-bottom: 20px; margin-left: 20px; border: 7px solid var(--col-secondary); float: right; }
img.bild-rahmen { border: 7px solid var(--col-secondary); }
img.abstand-oben-unten { margin-top: 30px; margin-bottom: 30px; }


table.tabelle-links { margin-left: 0px; margin-right: auto; }
table.tabelle-mittig { margin-left: auto; margin-right: auto; }
table.tabelle-rechts { margin-left: auto; margin-right: 0px; }

table.tabelle-formatiert {}
table.tabelle-formatiert th { color: var(--col-primary); font-weight: bold; }
table.tabelle-formatiert td { padding: 5px 10px 5px 0px; vertical-align: top; }

/*
table.tabelle-optimiert { border: none; border-collapse: collapse; border-spacing: 0; width: 100%; border-color: grey; }
table.tabelle-optimiert>tr:not(:first-child), table.tabelle-optimiert>:not(:first-child)>tr, table.tabelle-optimiert>:first-child>tr:not(:first-child) { border-top: 1px solid #e5e5e5; }
	table.tabelle-optimiert>tr:nth-of-type(odd), table.tabelle-optimiert tbody tr:nth-of-type(odd) { background: rgba(0,0,0, 0.05); }
table.tabelle-optimiert th, table.tabelle-optimiert td { padding: 10px 12px; vertical-align: top; min-width: 150px; }
	table.tabelle-optimiert th { text-align: left; color: #999; text-transform: uppercase; font-family: var(--font-header); color: #434343; }
		table.tabelle-optimiert thead th { vertical-align: bottom; }
	table.tabelle-optimiert td { white-space: nowrap; }
*/


a.linkbutton-primary, a.linkbutton-secondary, a.linkbutton-accent { display: inline-block; text-decoration: none; margin: 0px 2px 10px; padding: 10px 17px; background: var(--col-primary); color: #FFF; text-align: center; font-family: var(--font-header); font-weight: 900; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; line-height: normal; cursor: pointer; word-break: break-word; }
	a.linkbutton-primary:hover { background: var(--col-secondary); color: var(--col-primary); }
a.linkbutton-secondary { background: var(--col-secondary); color: var(--col-primary); }
	a.linkbutton-secondary:hover { background: var(--col-primary); color: #FFF; }
a.linkbutton-accent { background: var(--col-accent); }
	a.linkbutton-accent:hover { background: var(--col-secondary); color: var(--col-primary); }

/* Farb-Themes */
.bc-light a.linkbutton-primary { background: var(--col-secondary); color: var(--col-primary); }
	.bc-light a.linkbutton-primary:hover { background: var(--col-primary); color: #FFF; }
.bc-light a.linkbutton-secondary { color: var(--col-primary); }
	.bc-light a.linkbutton-secondary:hover { background: var(--col-light); color: var(--col-primary); }
.bc-dark a.linkbutton-primary { color: #FFF; }
	.bc-dark a.linkbutton-primary:hover { color: var(--col-primary); }
.bc-light a.linkbutton-accent { background: var(--col-light); color: var(--col-primary); }
	.bc-light a.linkbutton-accent:hover { background: var(--col-secondary); color: var(--col-primary); }
.bc-dark a.linkbutton-accent { color: #FFF; }
	.bc-dark a.linkbutton-accent:hover { color: var(--col-primary); }



ul.liste-links, ol.liste-links { display: table; margin-left: 25px; margin-right: auto; }
ul.liste-mittig, ol.liste-mittig { display: table; margin-left: auto; margin-right: auto; }
ul.liste-rechts, ol.liste-rechts { display: table; margin-left: auto; margin-right: 0px; }
ul.liste-anstrich-innen, ol.liste-anstrich-innen { list-style-position: inside; }




/* Consent & Hacks */
/* Consent Manager + 2Klick-Lösung */
a.consent_manager-save-selection, a.consent_manager-accept-all { background-color: var(--col-primary); text-decoration: none; border: none; border-radius: 0px; }
a.consent_manager-save-selection:hover, a.consent_manager-accept-all:hover { background-color: var(--col-secondary); text-decoration: none; color: var(--col-primary); }
body a.consent_manager-close-box::before { left: 9px; }
.consent_manager-show-details .icon-info-circled:before { vertical-align: baseline !important; }
.consent_manager-wrapper { border-radius: 10px; }

.consent_manager-reopen { box-sizing: border-box; position: fixed; left: 9px; bottom: 15px; z-index: 500; overflow: hidden; cursor: pointer; opacity: 0; transition: opacity .25s ease-in-out; background: rgba(255,255,255, 0.5); border-radius: 50%; padding: 5px; }
	.consent_manager-reopen img { display: block !important; width: 25px; height: auto; margin: 0px; opacity: 0.5; transition: all 0.3s ease; }
		.consent_manager-reopen:hover img { opacity: 1; }
	.consent_manager-reopen span { display: none; color: #999; font-family: var(--font-text); font-size: 12px; font-weight: normal; letter-spacing: 0px; }
.cmcookieset .consent_manager-reopen { opacity: 1; }

div.ct-privacy { position: relative; background: #FFF center center; background-size: cover; padding: 30px; box-sizing: border-box; }
	/*.video-container div.ct-privacy { position: absolute; top: 0; left: 0; }*/
a.ct-privacy-accept { position: absolute; top: 50%; left: 50%; max-width: 500px; transform: translate(-50%,-50%); display: inline-block; width: auto; height: auto; background: var(--col-primary); color: #FFF; border-radius: 3px; padding: 12px 20px 14px; font-size: 14px; text-align: center; text-decoration: none; line-height: normal; cursor: pointer; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; }
	a.ct-privacy-accept:hover { background: var(--col-secondary); color: var(--col-primary); }
	
div.tc-privacy { background: url(/media/basic-dummy.jpg) center center; background-size: cover; padding: 25px; }
	div.tc-privacy > div { position: relative; width: auto; height: auto; text-align: center; max-width: 400px; margin: auto; background: rgba(255,255,255, 0.75); border-radius: 3px; padding: 15px 15px; box-shadow: 2px 2px 5px 0px rgba(0,0,0, 0.3); }
	div.tc-privacy > div span { display: block; margin: 20px 0px 0px; font-size: 13px; color: #000; line-height: 1.2; }
div.tc-privacy a.tc-privacy-accept { position: static; transform: none; }
div.tc-privacy + iframe { display: none; }



/* Hacks */
.moveitout { position: absolute; top: -3000px; left: -3000px; }

#imagelightbox-overlay { background: rgba(0,0,0,0.65) !important; }
#imagelightbox-close { background: #CC0918 !important; border: none; top: 15px !important; right: 15px !important; width: 40px !important; height: 40px !important; border-radius: 0px !important; border: 5px solid #555; }
	#imagelightbox-close:after, #imagelightbox-close:before { top: 33% !important; bottom: 33% !important; }
	.imagelightbox-arrow, .imagelightbox-arrow:focus, .imagelightbox-arrow:hover { background: none !important; border: none; }

.swipebox-html body { overflow-x: hidden; overflow-y: hidden; }
@-moz-document url-prefix() { .swipebox-html body { overflow-x: inherit; } }
#swipebox-overlay { background: var(--col-overlay) !important; }
#swipebox-bottom-bar, #swipebox-top-bar { background: var(--col-primary) !important; opacity: 1 !important; text-shadow: none !important; }
	#swipebox-top-bar { /*display: none !important;*/ line-height: 1.75em !important; height: auto !important; padding: 8px 70px !important; }
#swipebox-slider { height: auto !important; top: 70px !important; bottom: 70px; }
#swipebox-close, #swipebox-next, #swipebox-prev { background-image: url(/assets/addons/jqlightboxes/swipebox/img/icons.png) !important; }
#swipebox-close { position: absolute; top: 15px !important; /*right: 50% !important; transform: translateX(50%);*/ right: 15px !important; width: 40px !important; height: 40px !important; cursor: pointer; background: var(--col-secondary) !important; }
#swipebox-close:before, #swipebox-close:after { content:''; position: absolute; top: 50%; left: 50%; background: var(--col-primary); display: block; width: 28px; height: 2px; transform-origin: center; transform: rotate(45deg) translate(-10px, 10px); }
	#swipebox-close:before {}
	#swipebox-close:after { transform: rotate(-45deg) translate(-10px, -10px); }
#swipebox-close:hover:before, #swipebox-close:hover:after { height: 4px; }
@media screen and (max-width:450px){
	#swipebox-top-bar { padding-left: 10px !important; }
}


