/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Outdated Browser
   ========================================================================== */

.chromeframe {
    margin: 0;
    background: var(--color-alert);
    color: var(--color-text-on-alert);
    padding: .5em 0;
	text-align: center;
}
.chromeframe a {
	color: #FFF;
	text-decoration: underline;
}
#outdated{display:none;position:fixed;top:0;left:0;width:100%;text-align:center;text-transform:uppercase;z-index:1500;background-color:var(--color-alert);color:var(--color-text-on-alert);padding:15px;}* html #outdated{position:absolute}#outdated h6{font-size:25px;line-height:25px;margin:0 30px 15px 30px}#outdated p{font-size:12px;line-height:12px;margin:0}#outdated #btnUpdateBrowser{display:block;position:relative;padding:10px 20px;margin:15px auto 0;width:230px;color:var(--color-text-on-alert);text-decoration:none;border:2px solid var(--color-text-on-alert);cursor:pointer}#outdated #btnUpdateBrowser:hover{color:var(--color-alert);background-color:var(--color-text-on-alert)}#outdated .last{position:absolute;top:10px;right:25px;width:20px;height:20px}#outdated #btnCloseUpdateBrowser{display:block;position:relative;width:100%;height:100%;text-decoration:none;color:var(--color-text-on-alert);font-size:36px;line-height:36px}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

html,
body {
	height: 100%;
	min-width: 320px;
}
html.navMainOpen body,
html.overlayOpen body,
html.swipebox-html body {
	overflow: hidden;
    height: 100%;
}
.baseSpacer,
.baseSpacerLeft {
    padding-left: 10px;
	margin-left: 10px;
}
.baseSpacer,
.baseSpacerRight {
    padding-right: 10px;
	margin-right: 10px;
}
.baseSpacerMargin,
.baseSpacerMarginLeft {
    margin-left: 20px;
}
.baseSpacerMargin,
.baseSpacerMarginRight {
    margin-right: 20px;
}
.baseSpacerPos,
.baseSpacerPosLeft {
    left: 20px !important;
}
.baseSpacerPos,
.baseSpacerPosRight {
    right: 20px !important;
}
.pushOut,
.vcContentSection .col12 .pushOut{
    margin-left: -20px;
    margin-right: -20px;
}
.vcContentSection .col .box + .box {
    margin-top: 10px;
    clear: both;
}
@media (min-width: 640px) {
	.baseSpacer,
	.baseSpacerLeft {
		padding-left: 20px;
		margin-left: 20px;
	}
	.baseSpacer,
	.baseSpacerRight {
		padding-right: 20px;
		margin-right: 20px;
	}
	.baseSpacerMargin,
	.baseSpacerMarginLeft {
		margin-left: 40px;
	}
	.baseSpacerMargin,
	.baseSpacerMarginRight {
		margin-right: 40px;
	}
	.baseSpacerPos,
	.baseSpacerPosLeft {
		left: 40px !important;
	}
	.baseSpacerPos,
	.baseSpacerPosRight {
		right: 40px !important;
	}
	.pushOut,
	.vcContentSection .col12 .pushOut,
	.vcContentSection .pushOut {
		margin-left: -40px;
		margin-right: -40px;
	}
}
@media (min-width: 1280px) {
    .baseSpacer,
    .baseSpacerLeft {
        padding-left: 5vw;
		margin-left: 20px;
    }
    .baseSpacer,
    .baseSpacerRight {
        padding-right: 5vw;
		margin-right: 20px;
    }
    .baseSpacerMargin,
    .baseSpacerMarginLeft {
        margin-left: calc(5vw + 20px);
    }
    .baseSpacerMargin,
    .baseSpacerMarginRight {
        margin-right: calc(5vw + 20px);
    }
    .baseSpacerPos,
    .baseSpacerPosLeft {
        left: calc(5vw + 20px) !important;
    }
    .baseSpacerPos,
    .baseSpacerPosRight {
        right: calc(5vw + 20px) !important;
    }
    .pushOut,
    .vcContentSection .col12 .pushOut {
        margin-left: calc(-5vw - 20px);
        margin-right: calc(-5vw - 20px);
    }
    .vcContentSection .pushOut {
        margin-left: -5.556%;
        margin-right: -5.556%;
    }
}
@media (min-width: 1600px) {
    .baseSpacer,
    .baseSpacerLeft {
        padding-left: 10vw;
    }
    .baseSpacer,
    .baseSpacerRight {
        padding-right: 10vw;
    }
    .baseSpacerMargin,
    .baseSpacerMarginLeft {
        margin-left: calc(10vw + 20px);
    }
    .baseSpacerMargin,
    .baseSpacerMarginRight {
        margin-right: calc(10vw + 20px);
    }
    .baseSpacerPos,
    .baseSpacerPosLeft {
        left: calc(10vw + 20px) !important;
    }
    .baseSpacerPos,
    .baseSpacerPosRight {
        right: calc(10vw + 20px) !important;
    }
    .pushOut,
    .vcContentSection .col12 .pushOut {
        margin-left: calc(-10vw - 20px);
        margin-right: calc(-10vw - 20px);
    }
    .vcContentSection .pushOut {
        margin-left: -12.5%;
        margin-right: -12.5%;
    }
}
@media (min-width: 1840px) {
    .baseSpacer,
    .baseSpacerLeft {
        padding-left: 15vw;
    }
    .baseSpacer,
    .baseSpacerRight {
        padding-right: 15vw;
    }
    .baseSpacerMargin,
    .baseSpacerMarginLeft {
        margin-left: calc(15vw + 20px);
    }
    .baseSpacerMargin,
    .baseSpacerMarginRight {
        margin-right: calc(15vw + 20px) !important;
    }
    .baseSpacerPos,
    .baseSpacerPosLeft {
        left: calc(15vw + 20px) !important;
    }
    .baseSpacerPos,
    .baseSpacerPosRight {
        right: calc(15vw + 20px);
    }
    .pushOut,
    .vcContentSection .col12 .pushOut {
        margin-left: calc(-15vw - 20px);
        margin-right: calc(-15vw - 20px);
    }
    .vcContentSection .pushOut {
        margin-left: -21.428%;
        margin-right: -21.428%;
    }
}

#wrapper {
    position:relative;
    overflow:hidden;
    min-width: 320px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
#main {
    flex-grow: 1;
    margin-top: 80px;
    container-name: mainContainer;
    container-type: inline-size;
    display: block;
}
.vcContentSection {
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
}
.vcContentSection + .vcContentSection {
    margin-top: 40px;
}
.vcContentSection.bgAlternate {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: var(--color-primary);
    color: var(--color-text-on-primary);
}
.vcContentSection.bgAlternate h1,
.vcContentSection.bgAlternate .h1,
.vcContentSection.bgAlternate .ui-accordion .ui-accordion-header.h1,
.vcContentSection.bgAlternate h2,
.vcContentSection.bgAlternate .h2,
.vcContentSection.bgAlternate .ui-accordion .ui-accordion-header.h2,
.vcContentSection.bgAlternate h3,
.vcContentSection.bgAlternate .h3,
.vcContentSection.bgAlternate .ui-accordion .ui-accordion-header.h3,
.vcContentSection.bgAlternate .accordionWrapper.ui-accordion .ui-accordion-content a,
.vcContentSection.bgAlternate a,
.vcContentSection.bgAlternate .colored {
    color: inherit;
}
.vcContentSection.bgAlternate .hint {
    color: var(--color-light);
}
.vcContentSection.bgAlternate:last-child {
    margin-bottom: 0;
}
.vcContentSection .col {
    container-name: contentContainer;
    container-type: inline-size;
}
@media (max-width: 959px) {
    .vcContentSection .col {
        flex-grow: 1;
    }
    .vcContentSection .col + .col {
        margin-top: 40px;
    }
}
@media (min-width: 640px) {
    #main {
        margin-top: 100px;
    }
}
@media (min-width: 960px) {
    .vcContentSectionInnerWrap {
        display: flex;
        justify-content: center;
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
    }
    .vcSectionAlignCenter .vcContentSectionInnerWrap {
        justify-content: center;
    }
    .vcSectionAlignRight .vcContentSectionInnerWrap {
        justify-content: end;
    }
    .vcSectionValignCenter .vcContentSectionInnerWrap {
        align-items: center;
    }
    .vcSectionValignBottom .vcContentSectionInnerWrap {
        align-items: end;
    }
    .vcContentSection .col {
        padding: 0 20px;
    }
    .vcContentSection .col4 {
        width: 33.3333%;
    }
    .vcContentSection .col6 {
        width: 50%;
    }
    .vcContentSection .col8 {
        width: 66.6667%;
    }
    .vcContentSection .col12 {
        width: 100%;
    }
}

/*
	HEADER
	*/
#header {
    position: fixed;
    left: 0;
    top: -80px;
	left: 0;
	right: 0;
    z-index: 50;
    transition: all .3s;
	background: var(--color-primary);
	color: var(--color-text-on-primary);
	display: flex;
	border-radius: 0 0 20px 20px;
}
#header.fixedShow,
#header.isAtTop,
#header.isOverBreakpoint {
    top: 0;
}
#headerControl {
	flex-grow: 1;
	display: flex;
	justify-content: end;
	align-items: center;
}
#logo {
    margin: 20px 0;
    display: block;
}
#logo img {
    height: 40px;
    width: auto;
    display: block;
    margin: 0;
    transition: height .2s;
    position: relative;
    z-index: 2;
}
#navMenuTrigger {
    float: right;
    position: relative;
    color: inherit;
    padding: 10px 40px 10px 10px;
    height: 40px;
	margin: 0;
    cursor: pointer;
    z-index: 101;
	border-radius: 20px;
	background: var(--color-background);
    transition: top .3s, color .3s, padding .3s;
}
#navMenuTrigger:before,
#navMenuTrigger:after,
#navMenuTrigger .line {
    position: absolute;
    content: '';
    display: block;
    height: 2px;
    right: 10px;
    width: 20px;
    background: var(--color-primary);
    transition: all .2s;
    opacity: 1;
}
#navMenuTrigger .line {
    top: 50%;
    margin-top: -1px;
}
#navMenuTrigger:before {
    top: 13px;
}
#navMenuTrigger:after {
    bottom: 13px;
	width: 15px;
	right: 15px;
}
#navMenuTrigger:hover .line {
    opacity: 0;
}
#navMenuTrigger:hover:before {
    background: var(--color-text);
    top: 16px;
}
#navMenuTrigger:hover:after {
    background: var(--color-text);
    bottom: 16px;
	right: 10px;
	width: 20px;
}
#navMenuTrigger[aria-expanded="true"] {
    padding-right: 35px;
}
#navMenuTrigger[aria-expanded="true"] .line {
    opacity: 0;
    width: 0;
}
#navMenuTrigger[aria-expanded="true"]:before {
    transform: rotate(45deg);
    transform-origin: 0 0;
    width: 20px;
    top: 13px;
    right: 5px;
}
#navMenuTrigger[aria-expanded="true"]:after {
    transform: rotate(-45deg);
    transform-origin: 0 100%;
    width: 20px;
    bottom: 12px;
    right: 5px;
}
#navMenuTrigger .menu,
#navMenuTrigger .close {
    font-size: 1rem;
    line-height: 20px;
    font-weight: 600;
    display: block;
}
#navMenuTrigger .close {
    display: none;
}
#navMenuTrigger[aria-expanded="true"] .menu {
    display: none;
}
#navMenuTrigger[aria-expanded="true"] .close {
    display: block;
}
#quickAccess {
	margin: 0 -20px 0 0;
	padding: 0 30px 0 10px;
	line-height: 40px;
	display: flex;
	align-items: center;
	border-radius: 20px 0 0 20px;
	z-index: 2;
	background: var(--color-primary-light);
}
#quickAccess .quickAccessItem + .quickAccessItem {
	margin-left: 10px;
}
#quickAccess .quickAccessItem .icon {
	font-size: 20px;
}
#quickAccess .quickAccessItem .icon:before {
	display: block;
	line-height: 40px;
}
#quickAccess .vcA11yOverlayTrigger .icon {
	font-size: 24px;
}
#quickAccess a,
#quickAccess button {
	display: block;
	text-decoration: none;
	color: var(--color-text-on-primary);
}
#quickAccessFon .label {
	display: none;
}

/* Standard Navigation */
.navStd .nav {
    margin-right: -20px;
    margin-left: 0;
}
.navStd li {
    float: left;
    margin-right: 20px;
    position: relative;
}
.navStd a,
.navStd .a {
    display: block;
}

/* MAIN NAVIGATION */
#navMain .navBtnWrap {
    position: relative;
    display: flex;
    align-items: center;
}
#navMain .navBtnWrap a {
    transition: color .3s;
    overflow: hidden;
    display: block;
    padding: 0;
    flex-grow: 1;
	font-size: 1rem;
	color: var(--color-text-on-primary);
	text-decoration: none;
}
#navMain li > ul,
#navMain li > .subNavWrap {
	background: var(--color-background);
	color: var(--color-text);
    max-height: 0;
    padding: 0;
    transition: max-height .3s cubic-bezier(0,1,0,1), padding .3s, margin .3s, border .3s;
    overflow: hidden;
}
#navMain .iconMenuTriggerDwn {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 20px;
    text-align: center;
    padding: 5px 0;
    overflow: hidden;
    color: var(--color-text);
	background: none;
    transition: all .3s;
    user-select: none;
	font-size: 1rem;
}
#navMain .iconMenuTriggerDwn .icon {
	font-size: .75em;
}

/* Breadcrumb */
#breadcrumb {
    padding-top: 5px;
    padding-bottom: 20px;
    flex: 1 1 auto;
}
#breadcrumb a {
    padding: 0 5px;
    text-decoration: none;
    color: inherit;
}
#breadcrumb a:last-child {
    font-weight: bold;
}

/* Suche */
#quickSrcBoxWrap {
    margin: 20px 0;
}
#quickSrcBox {
    padding-right: 60px;
    position: relative;
}
#quickSrcBox .optsContainer {
    margin: 0;
}
#srcBoxSubmit {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    background: var(--color-text);
    padding: 10px 0;
    text-align: center;
    color: var(--color-background);
    width: 40px;
    transition: all .3s;
}
#srcBoxSubmit:hover {
    background: var(--color-primary);
}
#siteSearchTrigger {
    display: none;
}
#quickSrcBox .optsContainer label {
    display: none;
}
#quickSrcBox .optsContainer input {
    width: 100%;
    float: none;
}

@media (min-width: 640px) {
    #header {
        top: -120px;
    }
    #logo {
        margin: 20px 0;
    }
    #logo img {
        height: 60px;
    }
    #navMenuTrigger {
		padding: 10px 50px 10px 20px;
    }
	#navMenuTrigger:before,
	#navMenuTrigger:after,
	#navMenuTrigger .line {
		right: 20px;
	}
	#navMenuTrigger:after {
		right: 25px;
	}
	#navMenuTrigger:hover:after {
		right: 20px;
	}
	#navMenuTrigger[aria-expanded="true"] {
		padding-right: 45px;
	}
	#navMenuTrigger[aria-expanded="true"]:before,
	#navMenuTrigger[aria-expanded="true"]:after {
		right: 15px;
	}
	#quickAccess {
		margin-top: 30px;
		margin-bottom: 30px;
		padding: 0 40px 0 20px;
		border-radius: 20px 0 0 20px;
	}
	#quickAccess .quickAccessItem + .quickAccessItem {
		margin-left: 20px;
	}
}


@media (max-width: 959px) {
    html.navMainOpen {
        height: 100%;
    }
    html.navMainOpen body {
        overflow: hidden;
        height: 100%;
    }
    #headerWrap {
        position: absolute;
        height: 0;
        overflow: hidden;
        left:  -10px;
        top: 0;
		right: -10px;
        transition: height .3s, padding .3s, box-shadow .3s, overflow 0s, background 0s .3s;
        z-index: 1;
        background: rgba(var(--color-backdrop-rgb), .5);
    }
    #header.expanded:after {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 80px;
        content: '';
        display: block;
        background: linear-gradient(to bottom, rgba(var(--color-primary-rgb), .75) 0%,rgba(var(--color-primary-rgb), .75) calc(100% - 20px),rgba(var(--color-primary-rgb), 0) 100%);
        z-index: 1;
		border-bottom: 1px solid rgba(var(--color-background-rgb), .25);
    }
    #headerWrap > .wrap {
        padding-top: 100px;
        padding-bottom: 20px;
		border-radius: 0 0 20px 20px;
		background-color: var(--color-primary);

	}
    #header.expanded {
        background: var(--color-background);
    }
    #header.expanded #headerWrap {
        height: 100vh;
        transition: height .3s, padding .3s, box-shadow .3s, background .3s;
        overflow: scroll;
        animation: 0s linear 0.3s 1 normal both running delayOverflowAuto;
    }
    #navMain li > ul,
    #navMain li > .subNavWrap {
        padding-left: 20px;
    }
    #navMain li > .subNavWrap.expanded {
        max-height: 5000px;
        padding-top: 10px;
		padding-bottom: 10px;
        margin-bottom: 20px;
        transition: max-height .3s cubic-bezier(1,0,1,0), padding .3s, margin .3s, border .3s;
    }
	#navMain .lvl1 > .subNavWrap {
		border-radius: 20px;
	}
    #navMain .iconMenuTriggerDwn[aria-expanded="true"] {
        transform: rotate(180deg);
    }
    #navMain li + li {
        margin-top: 10px;
    }
}
@media (min-width: 640px) and (max-width: 959px) {
	#headerWrap {
		left:  -20px;
		right: -20px;
	}
    #headerWrap > .wrap {
        padding-top: 120px;
    }
    #header.expanded:after {
        height: 100px;
    }
}
@media (min-width: 960px) {
    #logo img {
        height: 60px;
    }
    #header {
        top: -100px;
        display: flex;
    }
    #headerControl {
        padding-right: 0;
    }
    #headerWrap {
        padding-left: 0;
        flex-grow: 1;
    }
    #headerWrap .wrap {
        display: flex;
        height: 100%;
		margin: 0;
		padding: 0;
    }
    #headerMisc {
        top: 0;
        width: 100%;
        left: 0;
        position: absolute;
        background: var(--color-light);
    }
    #navMenuTrigger {
        display: none;
    }
    #navMain {
        width: auto;
        right: 0;
        float: left;
        margin: auto auto auto 30px;
        padding-left: 0;
    }
    #navMain .lvl1 {
        float: left;
        position: relative;
    }
    #navMain .lvl1 a {
        padding: 10px;
    }
	#navMain .lvl1 > .navBtnWrap .iconMenuTriggerDwn {
		margin-left: -10px;
	}
    #navStdInMainNav {
        line-height: 40px;
        float: left;
    }
    #navMain li > .subNavWrap {
        position: absolute;
        padding-left: 10px;
        padding-right: 10px;
        left: 50%;
        transform: translateX(-50%);
        min-width: 320px;
		border-radius: 20px;
    }
    #navMain .lvl1:hover > .subNavWrap,
    #navMain .subNavWrap.expanded:not(.expanded_init) {
        max-height: 5000px;
        padding: 10px;
        box-shadow: 0 3px 6px rgba(var(--color-shadow-color-rgb), .16), 0 3px 6px rgba(var(--color-shadow-color-rgb), .23);
        transition: max-height .3s cubic-bezier(1,0,1,0), padding .3s, box-shadow .3s;
    }
    #navMain .lvl1:hover > .navBtnWrap > .iconMenuTriggerDwn,
    #navMain .iconMenuTriggerDwn[aria-expanded="true"] {
        transform: rotate(180deg);
    }
    #navMain .lvl3,
    #navMain .lvl2 .iconMenuTriggerDwn {
        display: none;
    }
    #quickSrcBoxWrap {
        float: right;
        position: relative;
        border: none;
        margin: 0;
        padding: 0;
    }
    #siteSearchTrigger {
        right: auto;
        top: auto;
        display: block;
        padding: 10px;
        font-size: 20px;
        line-height: 20px;
        margin-right: -10px;
        background: none;
    }
    #siteSearchTrigger .on {
        display: block;
    }
    #siteSearchTrigger .label,
    #siteSearchTrigger .off {
        display: none;
    }
    #quickSrcBox {
        transition: max-height .3s cubic-bezier(0,1,0,1), padding .3s, margin .3s, border .3s, visibility .3s;
        position: absolute;
        overflow: hidden;
        visibility: hidden;
        left: auto;
        right: -10px;
        top: 40px;
        max-height: 0;
        width: 320px;
        padding-left: 10px;
        padding-right: 60px;
        background: var(--color-background);
        z-index: 1;
    }
    #quickSrcBox.expanded {
        box-shadow: none;
        padding-top: 10px;
        padding-bottom: 10px;
        max-height: 320px;
        visibility: visible;
        transition: max-height .3s cubic-bezier(1,0,1,0), padding .3s, margin .3s, border .3s, visibility .3s;
    }
    #srcBoxSubmit {
        bottom: 10px;
        right: 10px;
        top: 10px;
    }
	#quickAccess {
		border-radius: 20px;
		padding: 0 20px;
		margin: 0;
	}
	#quickAccessFon {
		margin-right: -20px;
	}
	#quickAccessFon a {
		display: flex;
		background: var(--color-background);
		border-radius: 20px;
		padding: 0 20px;
	}
}
@media (min-width: 1200px) {
	#quickAccessFon .label {
		display: block;
		font-weight: 900;
		font-size: 1rem;
		margin-left: 5px;
	}
}

/*
	FOOTER
	*/
#footer {
    position: relative;
    text-align: center;
    overflow: hidden;
	margin-bottom: 10px;
}
#footer .topWrap {
    padding-top: 20px;
    padding-bottom: 20px;
    background: var(--color-primary);
	color: var(--color-text-on-primary);
	border-radius: 20px 20px 0 0;
}
#footer .topWrapWrap {
    margin-right: -20px;
    margin-left: -20px;
	margin-top: -40px;
	display: flex;
	align-items: start;
	justify-content: center;
	flex-wrap: wrap;
}
#footer .bottomWrap {
    text-align: center;
    color: var(--color-background);
    background: var(--color-text);
    padding-bottom: 0;
    padding-top: 0;
	border-radius: 0 0 20px 20px;
}

#footer .topWrapWrap > * {
	margin-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
}
#footer a {
	color: inherit;
}
#logoFooter {
    display: block;
    width: 50%;
    margin: 0 25%;
}
#logoFooter img {
    display: block;
    width: 100%;
    height: auto;
}
#navFtr {
    padding: 10px 0 0;
    margin: 0;
}
#navFtr ul {
    margin-right: -20px;
}
#navFtr li {
    float: none;
    display: inline-block;
}
#navFtr a,
#navFtr .a,
#footerTop {
    background: none;
    color: inherit;
}
#navFtr a,
#navFtr .a {
    display: block;
    text-decoration: none;
    transition: all .3s;
}
#footerTop {
    padding-left: 0;
	padding-right: 30px;
    margin-top: 20px;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
    display: inline-block;
    background: none;
}
#footerTop .icon {
	font-size: .75rem;
}
#footerTop:after {
    display: none;
}
@media (min-width: 480px) {
    #footer .contact1,
    #footer .contact2 {
        width: 50%;
        float: left;
    }
}
@media (min-width: 640px) {
    #footer {
        text-align: left;
		margin-bottom: 20px;
    }
	#footer .topWrapWrap > *:not(#logoFooter) {
		flex-grow: 1;
		width: auto;
	}
    #footer #logoFooter {
        width: 25%;
        float: left;
		margin-left: 0;
		margin-right: 0;
    }
}
@media (min-width: 960px) {
	#footer {
		margin-bottom: 20px;
	}
    #footer #logoFooter {
        width: 16.667%;
    }
    #navFtr {
        float: left;
    }
    #navFtr li {
        display: block;
        float: left;
    }
    #footerTop {
        float: right;
        margin: 0 -10px 0 0;
    }
}

/* ==========================================================================
   external Scripts/Functions
   ========================================================================== */

/*! Swipebox v1.4.4 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
html.swipebox-html{overflow:hidden !important}#swipebox-overlay img{border:none !important}#swipebox-overlay{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999 !important;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(var(--color-text-rgb), .75)}#swipebox-container{position:relative;width:100%;height:100%}#swipebox-slider{-webkit-transition:-webkit-transform 0.4s ease;transition:transform 0.4s ease;height:100%;left:0;top:0;width:100%;white-space:nowrap;position:absolute;display:none;cursor:pointer;padding-bottom:50px}#swipebox-slider .slide{height:100%;width:100%;line-height:1px;text-align:center;display:inline-block;position:relative;overflow:hidden}#swipebox-slider .slideInnerWrap{height:100%;width:100%;line-height:1px;text-align:center}#swipebox-slider .slideInnerWrap:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#swipebox-slider .slide .swipebox-inline-container,#swipebox-slider .slide .swipebox-video-container,#swipebox-slider .slide img{display:inline-block;max-height:100%;max-width:100%;margin:0;padding:0;width:auto;height:auto;vertical-align:middle}#swipebox-slider .slide .swipebox-video-container{background:0 0;max-width:1140px;max-height:100%;width:100%;padding:5%;-webkit-box-sizing:border-box;box-sizing:border-box}#swipebox-slider .slide .swipebox-video-container .swipebox-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}#swipebox-slider .slide .swipebox-iframe-container iframe,#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe{width:100% !important;height:100% !important;position:absolute;top:0;left:0}#swipebox-slider .slide .swipebox-iframe-container{width:100%;height:100%;overflow:hidden;position:relative;display:inline-block}#swipebox-slider .slide-loading{background:url("../img/preloader_301_dark.gif") center center no-repeat}#swipebox-bottom-bar,#swipebox-top-bar{-webkit-transition:0.5s;transition:0.5s;position:absolute;left:0;z-index:999;height:50px;width:100%}#swipebox-bottom-bar{bottom:0;color:var(--color-background) !important}#swipebox-top-bar{left:10px;bottom:0;display:table;width:calc(100% - 120px)}#swipebox-title{width:100%;height:100%;font-size:1em;line-height:1.2;text-align:center;vertical-align:middle;display:table-cell;color:var(--color-background);text-shadow:0 0 20px rgba(var(--color-text-rgb), 0.19), 0 0 6px rgba(var(--color-text-rgb), 0.23)}#swipebox-close,#swipebox-next,#swipebox-prev,#swipebox-zoomin,#swipebox-zoomout{background-image:url("../img/Swipebox/icons.png");background-repeat:no-repeat;border:none !important;text-decoration:none !important;cursor:pointer;width:50px;height:50px;top:0}#swipebox-arrows{height:100%;position:absolute;left:0;bottom:0;top:-50vh}#swipebox-prev{background-position:-32px 13px;float:left}#swipebox-next{background-position:-78px 13px;float:right;position:absolute;right:-100vw;margin-right:50px}#swipebox-close,#swipebox-zoomin,#swipebox-zoomout{top:0;position:absolute;z-index:9999}#swipebox-close{background-position:15px 12px;right:0}#swipebox-zoomin{background-position:-122px 12px;right:50px}#swipebox-zoomout{background-position:-168px 12px;right:50px}.swipebox-no-close-button #swipebox-close{display:none}#swipebox-next.disabled,#swipebox-prev.disabled,#swipebox-zoomin.disabled,#swipebox-zoomout.disabled{opacity:0.3}.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider{-webkit-animation:rightSpring 0.3s;animation:rightSpring 0.3s}.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider{-webkit-animation:leftSpring 0.3s;animation:leftSpring 0.3s}.swipebox-touch #swipebox-container:after,.swipebox-touch #swipebox-container:before{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all 0.3s ease;transition:all 0.3s ease;content:' ';position:absolute;z-index:999;top:0;height:100%;width:20px;opacity:0}.swipebox-touch #swipebox-container:before{left:0;box-shadow:inset 10px 0 10px -8px var(--color-light)}.swipebox-touch #swipebox-container:after{right:0;box-shadow:inset -10px 0 10px -8px var(--color-light)}.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before,.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after{opacity:1}@-webkit-keyframes rightSpring{0%,100%{left:0}50%{left:-30px}}@keyframes rightSpring{0%,100%{left:0}50%{left:-30px}}@-webkit-keyframes leftSpring{0%,100%{left:0}50%{left:30px}}@keyframes leftSpring{0%,100%{left:0}50%{left:30px}}#swipebox-slider .slide .video-js-container .swipebox-video{width:auto;height:auto;padding-bottom:0}#swipebox-slider .swipebox-video .video-js{width:100%;height:auto;display:block}#swipebox-slider .swipebox-video .video-js .vjs-big-play-button{left:50%;top:50%;margin:-1em 0 0 -1em;height:2em;width:2em;line-height:2em;border:none;background:var(--color-primary);border-radius:1em;color:var(--color-text-on-primary)}#swipebox-slider .swipebox-video .video-js .vjs-big-play-button:hover{background:var(--color-text);color:var(--color-background)}#swipebox-slider .swipebox-video .vjs-has-started .vjs-control-bar{background-color:rgba(var(--color-text-rgb), .9)}#swipebox-slider .swipebox-video .video-js .vjs-slider{background:rgba(var(--color-background-rgb), .5)}#swipebox-slider .swipebox-video .video-js .vjs-load-progress{background:var(--color-light)}#swipebox-slider .swipebox-video .video-js .vjs-play-progress{background:var(--color-primary)}


/* swiper-control */
.swiper-control {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	z-index: 2;
}
.swiper-control .swiper-pagination {
	position: static;
	flex-grow: 1;
	margin: 0;
	display: flex;
	justify-content: start;
	align-items: center;
}
.swiper-control .swiper-pagination .swiper-pagination-bullet {
	border: 2px solid var(--swiper-theme-color);
	background: var(--swiper-theme-color);
	height: 6px;
	width: 6px;
	opacity: 1;
	margin: 0;
	transition: all .3s;
	--swiper-pagination-bullet-horizontal-gap: 10px;
}
.swiper-control .swiper-pagination .swiper-pagination-bullet:first-child {
	margin-left: 0;
}
.swiper-control .swiper-pagination .swiper-pagination-bullet-active {
	background: none;
	height: 10px;
	width: 10px;
}
.swiper-control .swiper-button-next,
.swiper-control .swiper-button-prev {
	font-size: 12px;
	line-height: 40px;
	height: 40px;
	top: auto;
	bottom: 0;
	left: auto;
	position: static;
	margin-top: 0;
}
.swiper-control .swiper-button-next {
	right: 0;
}
.swiper-control .swiper-button-prev {
	right: 40px;
}
.swiper-control .swiper-button-next:after,
.swiper-control .swiper-button-prev:after {
	display: none;
}

/*
	Overlay
	*/
.vcModal {
    transition: height 0s .3s, opacity .3s;
    pointer-events: none;
    position: fixed;
    opacity: 0;
    left: 0;
    top: 0;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    padding: 20px calc(10px + 2.667em) 20px 20px;
    border: none;
    width: 100%;
    height: 0;
    margin: 0;
    max-width: none;
    max-height: none;
    background: none;
}
.vcModal::backdrop {
    background: rgba(var(--color-backdrop-rgb), .5)
}
.vcModal.open,
.vcModal[open] {
    height: 100vh;
    opacity: 1;
    transition: height 0s, opacity .3s;
    pointer-events: auto;
}
.vcModalMsg {
    position: relative;
    z-index: 1;
    margin: auto;
    background: var(--color-background);
    max-width: 40em;
    width: 100%;
    box-shadow: 0 19px 38px rgba(var(--color-shadow-color-rgb), .30), 0 15px 12px rgba(var(--color-shadow-color-rgb), .22);
    padding: 20px;
    border-radius: 0;
}
.vcModal .vcModalClose {
    position: absolute;
    display: block;
    right: -20px;
    top: -20px;
    cursor: pointer;
    padding: 10px;
    line-height: 20px;
    text-align: center;
    background: var(--color-primary);
    color: var(--color-text-on-primary);
    --icon-color: var(--color-text-on-primary);
    height: 40px;
    width: 40px;
    border-radius: 20px;
    transition: all .3s;
    z-index: 1;
}
.vcModal .vcModalClose:hover {
    background: var(--color-text);
    color: var(--color-background);
    --icon-color: var(--color-background);
}

.vcModalBannerBottom {
    padding: 30px 0 0;
    align-items: flex-end;
    background: rgba(var(--color-background-rgb),.75);
}
.vcModalBannerBottom .vcModalMsg {
    margin-bottom: 0;
    max-width: none;
    padding: 0;
    border-radius: 0;
}
.vcModalBannerBottom .vcModalOverlay {
    height: 0 !important;
    opacity: 0 !important;
}
.vcModalBannerBottom .vcModal {
    top: auto;
    bottom: 0;
}
.vcModalBannerBottom  .vcModal .vcModalClose {
    right: 15px;
    top: 15px;
}
.vcModalMsg .article {
    width: 100%;
    padding: 0;
    margin: 0;
}
.vcModalMsg .article .imgTeaser:first-child {
    margin: -20px -20px 0;
}
.vcModalMsg .article .imgTeaser + .headline {
    margin-top: 20px;
}
.vcModalMsg .gridWrap {
    margin-left: -20px;
    margin-right: -20px;
}
@media (min-width: 960px) {
    .vcModalMsg {
        padding: 40px;
    }
    .vcModalBannerBottom .vcModalMsg .article {
        width: 90%;
    }
    .vcModalBannerBottom .vcModalMsg .article > :first-child {
        padding-right: 0;
    }
}
@media (min-width: 1600px) {
    .vcModalBannerBottom .vcModalMsg .article {
        width: 80%;
    }
}
@media (min-width: 1840px) {
    .vcModalBannerBottom .vcModalMsg .article {
        width: 70%;
    }
}

/*
	CSS Icons
	*/
.vcCssIcon {
	position: relative;
	display: inline-block;
}
.vcCssIconCheck {
	height: 1em;
	width: .667em;
	border-right: .1875em solid var(--icon-color, #000);
	border-bottom: .1875em solid var(--icon-color, #000);
	transform: rotate(45deg);
	margin: 0 .2em;
}
.vcCssIconArrowDown {
    width: 1em;
	height: 1em;
    margin: 0 .2em;
}
.vcCssIconArrowDown:after {
	content: '';
	display: block;
	font-size: .667em;
	width: 1em;
	height: 1em;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -.375em;
	margin-left: -.5em;
	transform: rotate(-45deg);
	border-left: 3px solid var(--icon-color, #000);
	border-bottom: 3px solid var(--icon-color, #000);
    transition: all .3s;
}
.vcCssIconClose {
	height: 100%;
	width: 100%;
	display: block;
}
.vcCssIconClose:before,
.vcCssIconClose:after {
	position: absolute;
	left: 50%;
	top: 50%;
	content: '';
	background: var(--icon-color, #fff);
	display: block;
	width: 100%;
	height: .1875em;
	margin-top: -.09375em;
	margin-left: -50%;
    transition: background .3s;
}
.vcCssIconClose:before {
	transform: rotate(45deg);
}
.vcCssIconClose:after {
	transform: rotate(-45deg);
}

/*
	Privacy & Cookies
	*/
.vcPrivacyOptsLine label {
    display: block;
    font-weight: bold;
    min-height: 2em;
    padding-right: 4em;
    position: relative;
    cursor: pointer;
    float: none;
}
.vcPrivacyOptsLine label .hint {
    font-weight: normal;
    margin: 0;
    line-height: normal;
    color: var(--color-light);
    font-size: 14px;
}
.vcPrivacyOptsLine input:disabled + label {
    pointer-events: none;
}
.vcPrivacyOptsLineWrap + .vcPrivacyOptsLineWrap {
    margin-top: 1.5em;
}
.vcPrivacyMoreInfoTrigger {
    padding: .5em 0 0;
    display: block;
}
.vcPrivacyMoreInfoTrigger .vcCssIconArrowDown {
    margin: 0 0 0 .5em;
    transition: transform .3s;
    float: none !important;
    display: inline-block !important;
}
.vcPrivacyDefList {
    padding: 0;
    margin: 0;
    font-size: .8em;
}
.vcPrivacyDefList dt {
    padding: .3125em 0 0;
    font-weight: bold;
    text-align: left;
    margin: 0;
}
.vcPrivacyDefList dd {
    font-weight: normal;
    text-align: left;
    padding: 0 0 .3125em;
    margin: 0;
}
.vcPrivacyDefList dt:first-child {
    padding-top: 0;
}
.vcPrivacyDefList dd:last-child {
    padding-bottom: 0;
}
#vcPrivacySetupSubmit {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 1em;
}
.vcPrivacyOverlayTrigger {
    cursor: pointer;
}
.vcPrivacyNoPermission {
    background: var(--color-lighter);
    border: 1px solid var(--color-light);
    text-align: center;
    padding: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.vcPrivacySlideDownTarget {
    display: grid;
    grid-template-rows: 1fr;
    overflow: hidden;
    padding-top: .625em;
    transition: all .3s;
}
.vcPrivacySlideDownTarget > * {
    min-height: 0;
    transition: visibility .3s;
    visibility: visible;
}
.vcPrivacySlideDownTarget[aria-hidden="true"] {
    grid-template-rows: 0fr;
    padding-top: 0;
}
.vcPrivacySlideDownTarget[aria-hidden="true"] > * {
    visibility: hidden;
}
.vcPrivacySlideDownTrigger {
    background: none;
    padding: .5em 0 0;
    border: none;
}
.vcPrivacySlideDownTrigger[aria-expanded="true"] .on {
    display: inline;
}
.vcPrivacySlideDownTrigger .on,
.vcPrivacySlideDownTrigger[aria-expanded="true"] .off {
    display: none;
}
.vcPrivacySlideDownTrigger[aria-expanded="true"] .vcCssIcon {
    transform: rotate(180deg);
}
.vcPrivacySlideDownTrigger[aria-expanded="true"] .vcCssIconArrowDown:after {
    margin-top: -1em;
}

@media (min-width: 640px) {
    .vcPrivacyDefList dt {
        clear: left;
        float: left;
        padding: .25em 0;
        width: 25%;
    }
    .vcPrivacyDefList dd {
        padding: .25em 0 .25em 20px;
        margin: 0;
        width: 75%;
        float: left;
    }
    .vcPrivacyDefList dt:first-child,
    .vcPrivacyDefList dt:first-child + dd {
        padding-top: 0;
    }
    .vcPrivacyDefList dt:nth-last-child(2),
    .vcPrivacyDefList dt:nth-last-child(2) + dd {
        padding-bottom: 0;
    }
    #vcPrivacySetupSubmit {
        margin-left: auto;
        margin-right: auto;
        width: 50%;
    }
}

/* ==========================================================================
   Content classes
   ========================================================================== */


/* Aufmacher */
#teaserSection {
	margin-top: -20px;
	background: var(--color-primary);
	color: var(--color-text-on-primary);
	position: relative;
	border-radius: 0 0 20px 20px;
}
#teaserSection .teaserWrap {
	overflow: hidden;
}
#teaserSection:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-primary-light);
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
}
.teaserWrap {
	position: relative;
	padding-top: 20px;
	padding-bottom: 20px;
}
.teaser {
	list-style: none;
	margin: 0;
	position: relative;
	padding: 0;
	width: 100%;
}
.teaser .teaserItem {
	position: relative;
	min-height: 300px;
	height: auto;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.teaser .teaserItem.textOverImage {
	height: calc(100vh - 80px);
}
.teaser .teaserItem .teaserImgWrap {
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	padding-bottom: 75%;
	width: 100%;
	display: block;
	overflow: hidden;
	border-radius: 10px;
}
.teaser .teaserItem .teaserImgWrap .video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.teaser .teaserItem.darkenBackgroundJALB .teaserImgWrap:after,
.teaser .teaserItem.darkenBackgroundM .teaserImgWrap:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	display: block;
}
.teaser .teaserItem.darkenBackgroundJALB .teaserImgWrap:after {
	background-color: rgba(0, 0, 0, .2);
}
.teaser .teaserItem.darkenBackgroundM .teaserImgWrap:after {
	background-color: rgba(0, 0, 0, .4);
}
.teaser .teaserItem .videoVolumeControl {
	position: absolute;
	right: 10px;
	top: 90px;
	text-shadow: 0 0 10px rgba(0,0,0,.5);
	color: #fff;
	background: none;
	z-index: 3;
	padding: 10px;
	font-size: 1.4286em;
	line-height: 1;
}
.teaser .teaserItem .videoVolumeControl .icon:before,
.teaser .teaserItem .videoVolumeControl[aria-checked="false"] .off {
	display: block;
}
.teaser .teaserItem .videoVolumeControl[aria-checked="false"] .on,
.teaser .teaserItem .videoVolumeControl[aria-checked="true"] .off {
	display: none;
}
.teaser .teaserItem .videoVolumeControl[aria-checked="true"] .on {
	display: block;
}
.teaser .teaserItem .teaserItemTitle {
	z-index: 2;
	flex-grow: 1;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.teaser .teaserItem .teaserItemTitleInner .wrap {
	padding-top: 40px;
	padding-bottom: 40px;
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap {
	vertical-align: bottom;
	color: #fff;
	font-weight: 400;
	text-shadow: 0 0 10px rgba(0,0,0,.5);
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap .underlineTextColored {
	padding: 2px 10px;
	line-height: calc(1em + 9px);
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap h1 .underlineTextColored,
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap .h1 .underlineTextColored {
	line-height: calc(1.2em + 9px);
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap * {
	color: #fff;
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap .btn .icon {
	background: rgba(0,0,0,.3);
	border-color: rgba(255,255,255,.5);
}
.teaser .teaserItem.textOverImage .teaserItemTitleInner .wrap .btn:hover .icon {
	background: rgba(0,0,0,.7);
}
.teaserWrap .swiper-control-wrap {
	position: absolute;
	max-width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.teaserWrap .swiper-control-wrap:after {
	content: '';
	display: block;
	box-shadow: 0 0 80px rgba(0,0,0,.4);
	width: 200%;
	padding-bottom: 50%;
	height: 0;
	position: absolute;
	left: -50%;
	top: 100%;
	border-radius: 50%;
}
.teaserWrap .swiper-control-wrap .swiper-button-next,
.teaserWrap .swiper-control-wrap .swiper-button-prev {
	position: static;
	margin: 0;
	background: none;
	padding: 10px;
	width: auto;
}
.teaserWrap .swiper-control-wrap .swiper-button-next .icon:before,
.teaserWrap .swiper-control-wrap .swiper-button-prev .icon:before {
	display: block;
}
.teaserWrap .swiper-control-wrap .swiper-button-next {
	order: 1;
}

.teaserWrap .swiper-control-wrap .swiper-pagination {
	position: static;
	width: auto;
	display: flex;
	padding: 15px 10px;
}
.teaserWrap .teaserControl {
	position: relative;
	--swiper-theme-color: var(--color-text-on-primary);
	margin-bottom: -20px;
}
@media (max-width: 959px) {
	.teaser .teaserItem .teaserItemTitle {
		order: -1;
	}
}
@media (min-width: 640px) {
	.teaser .teaserItem {
		min-height: 400px;
	}
	.teaser.small .teaserItem {
		min-height: 0;
		padding-bottom: calc(42.85% + 100px);
	}
	.teaser .teaserItem .videoVolumeControl {
		top: auto;
		bottom: 10px;
	}
	.teaser .teaserItem .teaserImgWrap {
		padding-bottom: 62.5%;
		border-radius: 20px;
	}
}

@media (min-width: 960px) {
	.teaser .teaserItem {
		min-height: 500px;
		max-height: 66.67vw;
	}
	.teaser.small .teaserItem {
		min-height: 0;
		padding-bottom: calc(28.125% + 120px);
	}
	.teaser .teaserItem .teaserItemTitleInner {
		padding-bottom: 60px;
		padding-top: 120px;
	}
	.teaser .teaserItem .teaserItemTitleInner .wrap {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.teaser .teaserItem.textLeftImageRight .teaserItemTitleInner,
	.teaser .teaserItem.textRightImageLeft .teaserItemTitleInner {
		padding: 0;
		position: relative;
	}

	.teaser .teaserItem.textLeftImageRight .teaserImgWrap,
	.teaser .teaserItem.textRightImageLeft .teaserImgWrap {
		width: 50%;
	}
	.teaser .teaserItem.textLeftImageRight .teaserImgWrap {
		left: 50%;
	}
	.teaser .teaserItem.textLeftImageRight .teaserItemTitle {
		margin-right: 50%;
		padding-right: 20px;
	}
	.teaser .teaserItem.textRightImageLeft .teaserItemTitle {
		margin-left: 50%;
		padding-left: 20px;
	}
	.teaser .teaserItem.textOverImage .teaserItemTitleInner {
		padding-right: 33.333%;
	}
	.teaser .teaserItem.textLeftImageRight .teaserItemTitleInner .wrap,
	.teaser .teaserItem.textRightImageLeft .teaserItemTitleInner .wrap {
		padding-bottom: 60px;
		padding-top: 120px;
	}
}
@media (min-width: 960px) and (max-width: 1279px) {
	.teaser .teaserItem.textLeftImageRight .teaserItemTitle {
		padding-left: 80px;
	}
	.teaser .teaserItem.textRightImageLeft .teaserItemTitle {
		padding-right: 80px;
	}
}
@media (min-width: 1280px) {
	.teaser .teaserItem.textOverImage .teaserItemTitleInner {
		padding-left: 0;
	}
	.teaser .teaserItem.textLeftImageRight .teaserItemTitle {
		padding-right: 40px;
	}
	.teaser .teaserItem.textRightImageLeft .teaserItemTitle {
		padding-left: 40px;
	}
	.teaser .teaserItem.textLeftImageRight .teaserItemTitleInner .wrap,
	.teaser .teaserItem.textRightImageLeft .teaserItemTitleInner .wrap {
		font-size: 1em;
	}
}


/* Content: BILDER & GALERIE */
.filePreview,
.img,
.thumb {
	position: relative;
	overflow: hidden;
	display:block;
}
.thumb img,
.img img,
.img-link img,
.imgWrap img {
	width:100%;
	height:auto;
	display: block;
}
.imgWrap {
	position: relative;
	margin: 0;
}
.gallery {
	margin: -5px -10px;
}
.img-count {
	margin: 5px 10px;
	text-align: right;
}
.imgContainer {
	float: left;
	padding: 10px;
	margin: 0 !important;
	position: relative;
}
.img {
	display:block;
	position: relative;
	z-index: 1;
}
.img.effect {
	border: 5px solid var(--color-background);
	box-shadow: 0 3px 6px rgba(var(--color-shadow-color-rgb), .16), 0 3px 6px rgba(var(--color-shadow-color-rgb), .23);
}
.caption {
	font-size: 80%;
	line-height: 1.25;
	display: block;
	text-align: center;
	margin-top: .5em;
}

.imgLeft .imagesInnerWrap {
	float: left;
	margin-bottom: 1em;
}
.imgRight .imagesInnerWrap {
	margin-bottom: 1em;
	float: right;
}
.imgRight .caption {
	text-align: left;
}
.imgLeft .caption {
	text-align: right;
}
.imgWrap + .imgWrap,
.imgWrap + .imgWrap {
	margin-top: 1em;
}
.imgNone {
	margin: 1em auto;
}
.imgNone .imagesInnerWrap {
	margin: -1em;
}

.imgWidth-100,
.imgWidth-75,
.imgWidth-67,
.imgWidth-50,
.imgWidth-42,
.imgWidth-33 {
	width: 100%;
}
.imgWidth-25 {
	width: 50%;
}
.imgWidth-20,
.imgWidth-17,
.imgWidth-15 {
	width: 25%;
}
.imgWidth-13,
.imgWidth-10,
.imgWidth-5 {
	width: 15%;
}

.imgNone .imgWrap {
	float: left;
	padding: 1em;
	margin: 0;
}

.imgRight .imgWidth-25,
.imgRight .imgWidth-20,
.imgRight .imgWidth-17,
.imgRight .imgWidth-15,
.imgRight .imgWidth-13,
.imgRight .imgWidth-10,
.imgRight .imgWidth-5 {
	margin-left: 1em;
	padding-left: 1em;
	float: right;
}
.imgLeft .imgWidth-25,
.imgLeft .imgWidth-20,
.imgLeft .imgWidth-17,
.imgLeft .imgWidth-15,
.imgLeft .imgWidth-13,
.imgLeft .imgWidth-10,
.imgLeft .imgWidth-5 {
	margin-right: 1em;
	padding-right: 1em;
	float: left;
}

@media (min-width: 480px) {
	.imgWidth-33,
	.imgWidth-25 {
		width: 50%;
	}
	.imgWidth-20,
	.imgWidth-17,
	.imgWidth-15 {
		width: 33.3%;
	}
	.imgWidth-13 {
		width: 20%;
	}
	.imgWidth-10,
	.imgWidth-5 {
		width: 15%;
	}

	.imgRight .imgWidth-33 {
		margin-left: 1em;
		padding-left: 1em;
		float: right;
	}
	.imgLeft .imgWidth-33 {
		margin-right: 1em;
		padding-right: 1em;
		float: left;
	}
}

@media (min-width: 640px) {
	.imgWidth-50,
	.imgWidth-42 {
		width: 50%;
	}
	.imgWidth-25 {
		width: 33.3%;
	}
	.imgWidth-20,
	.imgWidth-17 {
		width: 25%;
	}
	.imgRight .imgWidth-50,
	.imgRight .imgWidth-42 {
		margin-left: 1em;
		padding-right: 1em;
		float: right;
	}
	.imgLeft .imgWidth-50,
	.imgLeft .imgWidth-42 {
		margin-right: 1em;
		padding-right: 1em;
		float: left;
	}
}

@media (min-width: 720px) {
	.imgWidth-67 {
		width: 50%;
	}
	.imgWidth-33,
	.imgWidth-25 {
		width: 33.3%;
	}
	.imgWidth-20,
	.imgWidth-17,
	.imgWidth-15 {
		width: 20%;
	}
	.imgWidth-13,
	.imgWidth-10,
	.imgWidth-5 {
		width: 15%;
	}

	.imgRight .imgWidth-67 {
		margin-left: 1em;
		padding-left: 1em;
		float: right;
	}
	.imgLeft .imgWidth-67 {
		margin-right: 1em;
		padding-right: 1em;
		float: left;
	}
}

@media (min-width: 960px) {
	.imgWidth-100 {
		width:100%;
	}
	.imgWidth-75 {
		width:75%;
	}
	.imgWidth-67 {
		width:66.7%;
	}
	.imgWidth-50 {
		width:50%;
	}
	.imgWidth-42 {
		width: 41.7%;
	}
	.imgWidth-33 {
		width:33.3%;
	}
	.imgWidth-25 {
		width:25%;
	}
	.imgWidth-20 {
		width:20%;
	}
	.imgWidth-17 {
		width:16.6666%;
	}
	.imgWidth-15 {
		width:15%;
	}
	.imgWidth-13 {
		width:12.5%;
	}
	.imgWidth-10 {
		width:10%;
	}
	.imgWidth-5 {
		width:5%;
	}
	.imgRight .imgWidth-75 {
		margin-left: 1em;
		padding-left: 1em;
		float: right;
	}
	.imgLeft .imgWidth-75 {
		margin-right: 1em;
		padding-right: 1em;
		float: left;
	}
}

/* Content: GOOGLE MAPS */
.map_canvas {
	min-height: 200px;
	min-height: 50vh;
	background: var(--color-light);
	margin: 1em 0;
}
.map_canvas .gm-style {
	font-family: inherit;
}
.map_canvas .gm-style-iw .btn {
	width: 100%;
	margin-top: 15px;
}
.map_legend .head {
	font-size: 1.25em;
	font-weight: bold;
	line-height: 30px;
	color: var(--color-text);
	background: var(--color-light);
	position: relative;
	padding: 5px 10px 5px 40px;
	transition: all .3s;
	cursor: pointer;
}
.map_legend .head .sprt {
	position: absolute;
	left: 4px;
	top: 50%;
	margin-top: -16px;
	transition: all .3s;
}
.map_legend:hover .head {
	background: var(--color-primary);
    color: var(--color-text-on-primary);
}
.map_legend.aktiv .head {
    background: var(--color-primary);
    color: var(--color-text-on-primary);
}
.map_legend.aktiv .head .sprt {
	transform: rotate(180deg);
}

/* OVERLAY */
body.GMO-active { overflow:hidden; }
#GMO-wrap {
	visibility:hidden;
	z-index:1000;
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	left:0;
	text-align:center;
	overflow:hidden;
	transition:visibility 0.5s;
}
.GMO-active #GMO-wrap {
	visibility:visible;
}
#GMO-container {
	position:relative;
	box-sizing:border-box;
	width:40%;
	min-width:670px;
	height:80%;
	margin-top:20%;
	margin-top:20vh;
	padding-right:40px;
	padding-top:40px;
	display:inline-block;
	opacity:0;
	transition:margin-top .5s , opacity .5s;
}
.GMO-active #GMO-container {
	margin-top:10%;
	margin-top:10vh;
	opacity:1;
}
#GMO-content {
	box-sizing:border-box;
	text-align:left;
	padding:20px;
	height:100%;
	background-color: var(--color-background);
	box-shadow:0 7px 15px rgba(var(--color-shadow-color-rgb), .6);
	overflow:auto;
}
#GMO-close {
	position:absolute;
	right:0;
	top:0;
	height:40px;
	width:40px;
	cursor:pointer;
	box-shadow:0 2px 10px rgba(var(--color-shadow-color-rgb), .6);
    transition: transform 1s ease-in-out 0s;
}
.csstransforms #GMO-close .closePop {
    background: var(--color-primary) none;
}
.csstransforms #GMO-close:before,
.csstransforms #GMO-close:after {
    background-color: var(--color-background);
    content: "";
    height: 80%;
    left: 45%;
    position: absolute;
    top: 10%;
    width: 2px;
}
.csstransforms #GMO-close:before {
    transform: rotate(45deg);
}
.csstransforms #GMO-close:after {
    transform: rotate(-45deg);
}
#GMO-content button.close {
	background-color: var(--color-text);
}
ul.placeList {
	color: var(--color-light);
	list-style:none;
	list-style-type:none;
	padding:0;
}
ul.placeList li {
	position:relative;
	padding-left:20px;
	border-top:1px solid var(--color-light);
}
ul.placeList li:first-child {
	border-top:0;
}
ul.placeList li:before {
	content:'';
	position:absolute;
	left:0;
	top:5px;
	height:16px;
	width:16px;
	background:url(../img/jQueryUI/ui-icons_222222_256x240.png) -96px -160px no-repeat;
}
ul.placeList li.aktiv:before {
	background-position:-64px -144px;
}
ul.placeList li a {
	display:block;
	padding:5px 0;
	text-decoration:none;
}

.addrWrap {
	margin: .769em 0;
}
.addrWrap address {
	font-style: italic;
}
.addrWrap > h3 {
	margin: 0;
}
.addrWrap .addr,
.addrWrap .addrData {
	margin: .769em 0;
}


@media only screen and (min-width: 480px) {
	.addrWrap {
		margin: 1em -1em;
	}
	.addrWrap > * {
		padding: 0 1em;
	}
	.addrWrap .addr,
	.addrWrap .addrData {
		width: 50%;
		float: left;
		margin: 0;
	}
}

/* Content: VIDEOS */
.vidWrap {
	margin: 0 auto;
}
.vid {
	position:relative;
	display:block;
	overflow:hidden;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.vid,
.vid:after,
.vid *,
.vid *:after {
	transition: all .2s;
}
.vid:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background: var(--color-text);
    opacity: .25;
}
.vid .playIcon {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -24px 0 0 -20px;
	width: 48px;
	height: 40px;
	border-style: solid;
	border-width: 24px 0 24px 40px;
	border-color: transparent transparent transparent var(--color-background);
	display: block;
	background: none;
	z-index: 1;
}
.vid .playIcon:after {
	content: '';
	position: absolute;
	left: -57px;
	top: -35px;
	height: 64px;
	width: 64px;
	background: none;
	border: 2px solid var(--color-light);
	border-radius: 0%;
	transform: rotate(0deg);
}
.vid .video-time {
	position:absolute;
	background: var(--color-text);
	color: var(--color-background);
	display:block;
	padding: 5px 10px;
	bottom:0;
	right:0;
	font-weight: bold;
	font-size: 80%;
	z-index: 1;
}
.vid:hover {
	box-shadow: 0 1px 3px rgba(var(--color-shadow-color-rgb), .12), 0 1px 2px rgba(var(--color-shadow-color-rgb), .24);
}
.vid:hover:after {
	opacity: 0;
}
.vid:hover .playIcon {
	border-color: transparent transparent transparent var(--color-primary);
}
.vid:hover .playIcon:after {
	border-color: var(--color-primary);
	border-radius: 50%;
	transform: rotate(30deg);
	left: -62px;
}
.vid:hover .video-time {
	background: var(--color-primary);
	color: var(--color-text-on-primary);
}
.videoFrame {
	float:right;
    position: relative;
    width: 50%;
}
.videoIFrame {
    position: relative;
}
.videoFrame iframe {
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

/* DOWNLOADS */
.downloads {
	margin: 1em 0;
}
.downloads h4 {
	margin-top:0;
}
.downloads ul {
	margin:0 -15px;
	list-style:none;
	padding:0 !important;
}
.downloads li {
	padding:15px;
	margin:0 !important;
}
.downloads li:before {
	display: none !important;
}
.download a {
	display:block;
	position:relative;
	min-height:24px;
	text-align: left;
	text-decoration: none;
	color: inherit;
	font-weight: 500;
}
.download a.hasImg {
	padding-left: 45px;
}
.download img {
	position: absolute;
	left: 0;
	top: .25em;
	display: block;
}
.download small {
	display: block;
	font-weight: normal;
	font-size: 80%;
}
.downloads li.video a {
	display:none;
}
.downloads li video {
	width:100%;
	height:auto;
}

@media only screen and (min-width: 480px) {
	.downloads .grids_2 .gridItem {
		width: 50%;
		float: left;
	}
	.downloads .grids_2 .gridItem:nth-child(2n+1) {
		clear: left;
	}
	.downloads .grids_4 .gridItem {
		width:25%;
		float:left;
	}
	.downloads .grids_4 .gridItem:nth-child(4n+1) {
		clear: left;
	}
}

/* Content: SUB NAV IN ARTICLEs */
.navSub ul {
	padding: 0 0 0 2em;
}

/* Content: FORMS */
.form .duty {
	font-weight: bold;
	color: var(--color-primary);
}
.form .hint .duty {
	padding: 2px;
}

.fehler_text {
	color: var(--color-alert);
}

.optsContainer {
	margin: 1em 0;
	text-align: left;
}
.optsContainer:after {
	clear: both;
	content: '';
	display: table;
}

.optsContainer + .optsContainer,
.optsContainer + .btnContainer,
fieldset + .btnContainer,
.optsContainer + fieldset,
.form fieldset + fieldset {
	margin-top: 2em;
}

.optsContainer > .error:first-child + label,
.optsContainer > label:first-child {
	display: block;
	margin: 0;
	text-align: left;
	font-size: 80%;
	text-transform: uppercase;
	font-weight: normal;
	line-height: 1;
}
.optsContainer > .error:first-child + label .duty,
.optsContainer > label:first-child .duty {
	padding-left: 5px;
	float: right;
	font-weight: bold;
	font-size: 1.25em;
	line-height: 80%;
}
.optsContainer > .error:first-child + label .shortInfo,
.optsContainer > label:first-child .shortInfo {
	font-weight: normal;
	letter-spacing: 0;
	text-transform: none;
}
.optsContainer > .error:first-child + label .shortInfo:before,
.optsContainer > label:first-child .shortInfo:before {
	content:' (';
}
.optsContainer > .error:first-child + label .shortInfo:after,
.optsContainer > label:first-child .shortInfo:after {
	content:')';
}

.optsContainer input,
.optsContainer textarea,
.optsContainer select,
.optsContainer .selectWrap {
	width: 100%;
	padding: .5em 0;
	background: none;
	border-bottom: 1px solid var(--color-light);
	font-size: 1em;
	line-height: 1.5;
	transition: border-color .2s;
}
.optsError .error {
	font-size: .8em;
	line-height: 1.33333;
	color: var(--color-alert);
	padding: .5em 0;
}
.optsError > .error:first-child + label,
.optsError > label:first-child {
	color: var(--color-alert);
}

.optsError input,
.optsError textarea,
.optsError select,
.optsError .selectWrap {
	border-bottom-color: var(--color-alert);
}
.optsContainer input:hover,
.optsContainer textarea:hover,
.optsContainer select:hover,
.optsContainer .selectWrap:hover {
	border-bottom-color: var(--color-text);
}

.optsContainer input:focus,
.optsContainer textarea:focus,
.optsContainer select:focus,
.optsContainer .selectWrap.focus {
	border-bottom-color: var(--color-primary);
}
.optsContainer input:focus-visible,
.optsContainer textarea:focus-visible,
.optsContainer select:focus-visible,
.optsContainer .selectWrap.focus,
.optsContainer .optsInline:focus-within {
    outline: 2px solid var(--color-alternative);
}

.optsContainer input[type="radio"],
.optsContainer input[type="checkbox"] {
	border: none;
	width: auto !important;
	float: none !important;
}
.optsContainer input[type="radio"] + label,
.optsContainer input[type="checkbox"] + label {
	display: inline;
	padding: 0 0 0 .25em;
	margin: 0;
	text-align: left;
	width: auto;
	cursor: pointer;
}
.optsContainer .optsInline {
	display: inline-block;
	float: none;
	padding: .5em 0;
	margin: 0 2em 1em 0;
	border-bottom: 1px solid var(--color-light);
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.optsContainer .optsInline:focus-within input {
    outline: none;
}
.optsContainer .optsInline.optsSwitchContainer {
    justify-content: flex-end;
    align-items: center;
}
.optsContainer .optsInline:hover {
	border-bottom-color: var(--color-text);
}
.optsContainer .optsInline.optsChecked {
	border-bottom-color: var(--color-primary);
	color: inherit;
}
.optsContainer .optsLine {
	display: block;
}
.optsContainer .selectWrap {
	position: relative;
	padding: 0;
	padding-bottom: 0 !important;
}
.optsContainer .selectOver {
	position: absolute;
	left: 0;
	top: .5em;
	width: 100%;
	white-space: normal;
	overflow: hidden;
	padding-right: 20px;
}
.selectOver {
	pointer-events: none;
}
.optsContainer .selectOver:after {
	position: absolute;
	right: 5px;
	top: 50%;
	margin-top: -3px;
	content: '';
	display: block;
	height: 0;
	width: 0;
	border-style: solid;
	border-width: .429em .357em 0 .357em;
	border-color: var(--color-light) transparent transparent;
	transform-origin: 50% 50%;
	transition: all .2s;
}
.optsContainer .selectWrap:hover .selectOver:after {
	border-top-color: var(--color-text);
}
.optsContainer .selectWrap.focus .selectOver:after {
	transform: rotate(180deg);
	border-top-color: var(--color-primary);
}
.optsContainer .selectWrap select {
	width: 100% !important;
	opacity: 0;
	position: relative;
}

.optsContainer > .ipShort {
	float: left;
	width: 25%;
}
.optsContainer > .ipLong {
	float: left;
	width: 70%;
}
.optsContainer > .ipLong + .ipShort,
.optsContainer > .ipShort + .ipLong {
	margin-left: 4%;
}

.optsContainer .date {
	position: relative;
}
.optsContainer .date .sprt {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	right: 0;
}
.optsContainer .date input {
	float: none;
	width: 100%;
}

.optsContainer select + .optsLine,
.optsContainer .selectWrap + .optsLine {
	margin-top: 15px;
}

.optsContainer .optsInputLine > label:first-child {
	font-style: italic;
}

.optsRange .optsBlock .date {
	width: 100%;
}
.optsRange .from label,
.optsRange .to label {
	width: 100%;
	text-align: left;
	display: block;
	text-transform: none;
	font-size: 75%;
}
.optsRange .to {
	margin-top: 1em;
}

.optsContainer .optsBlock {
	list-style: none;
	margin: 0 -2em -1em 0;
	padding: 0;
}

/* Swtiches */
input.optsSwitch {
    float: right;
    flex-shrink: 0;
    width: 2em;
    height: 1em;
    vertical-align: top;
    appearance: none;

    background: var(--color-alert) no-repeat left center;
    background-image:  url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    background-size: contain;

    border: none;
    border-radius: 2em;

    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;

    box-shadow: 0 1px 3px rgba(0,0,0,.5) inset;
    font-size: 1.5em;

    transition: background .3s;

    display: block !important;
}
input.optsSwitch:focus-visible {
    outline: 2px solid var(--color-alternative);
}
input:checked.optsSwitch {
    background-color: var(--color-success);
    background-position: right center;
}
input:disabled.optsSwitch  {
    background-color: var(--color-light);
}

/* Form Type: BUTTONS */
.btnContainer {
	text-align: center;
}
.btnContainer button {
	min-width: 30%;
}
.btnContainer .btnLess,
.btnContainer .backLink {
    float: left;
    margin: 0;
}
.btnContainer button[type="reset"] {
	position: relative;
	padding-left: 42px;
}
.btnContainer button[type="reset"] .sprt {
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: -16px;
}
.box .btnContainer button {
	width: 100%;
	box-shadow: none;
	font-size: 1.333em;
	padding-top: 0;
	padding-bottom: 0;
}
@media only screen and (min-width: 480px) {
	.optsRange .from,
	.optsRange .to {
		width: 50%;
		float: left;
		padding-left: .5em;
		padding-right: .5em;
	}
	.optsRange .from {
		padding-left: 0;
	}
	.optsRange .to {
		margin-top: 0;
		padding-right: 0;
	}
	.optsRange .from label,
	.optsRange .to label {
		margin-top: 8px;
	}
}
@media only screen and (min-width: 720px) {
	.optsContainer > .error:first-child + label,
	.optsContainer > label:first-child {
		float: left;
		text-align: left;
		width: 30%;
		padding-right: 2em;
		margin-top: 1em;
	}
	.optsContainer > .error:first-child + label .shortInfo,
	.optsContainer > label:first-child .shortInfo {
		display: block;
		padding-top: .5em;
	}
	.optsError .error {
		margin-left: 30%;
	}
	.optsContainer:not(.optsCompact) input,
	.optsContainer:not(.optsCompact) textarea,
	.optsContainer:not(.optsCompact) select,
	.optsContainer:not(.optsCompact) .selectWrap,
	.optsContainer:not(.optsCompact) .optsBlock,
	.optsContainer:not(.optsCompact) .date {
		width: 70%;
		float: right
	}

	.optsContainer .optsBlock {
		margin-right: 0;
	}

	.optsContainer > .ipShort {
		width: 16%;
	}
	.optsContainer > .ipLong {
		width: 44%;
	}
}


/* Content: LISTS */
.list .listItem + .listItem {
	margin-top: 2em;
}
.list .articleWrap > :first-child {
	margin-top: 0;
}
.list .articleImgNone + .articleWrap > :first-child {
	margin-top: .5em;
}
.list .articleWrap .headline {
	margin: 0;
}
.list .articleWrap .dateText {
	font-size: 80%;
	line-height: 1.25;
}

.list .articleImgNone,
.list .articleImgLeft,
.list .articleImgRight {
	float: none;
	margin: 0 auto;
}
.list .articleImgLeft.imgWidth-25,
.list .articleImgRight.imgWidth-25 {
	width: 33.3%;
}

.list .articleImgLeft.imgWidth-5,
.list .articleImgLeft.imgWidth-10,
.list .articleImgLeft.imgWidth-13,
.list .articleImgLeft.imgWidth-15,
.list .articleImgLeft.imgWidth-17,
.list .articleImgLeft.imgWidth-20,
.list .articleImgLeft.imgWidth-25 {
	float:left;
}
.list .articleImgLeft.imgWidth-5 + .articleWrap,
.list .articleImgLeft.imgWidth-10 + .articleWrap,
.list .articleImgLeft.imgWidth-13 + .articleWrap {
	padding-left: 1em;
	margin-left: 15%;
}
.list .articleImgLeft.imgWidth-15 + .articleWrap,
.list .articleImgLeft.imgWidth-17 + .articleWrap,
.list .articleImgLeft.imgWidth-20 + .articleWrap {
	padding-left: 1em;
	margin-left: 25%;
}
.list .articleImgLeft.imgWidth-25 + .articleWrap {
	padding-left: 1em;
	margin-left: 33.3%;
}

.list .articleImgRight.imgWidth-5,
.list .articleImgRight.imgWidth-10,
.list .articleImgRight.imgWidth-13,
.list .articleImgRight.imgWidth-17,
.list .articleImgRight.imgWidth-20,
.list .articleImgRight.imgWidth-25 {
	float: right;
}
.list .articleImgRight.imgWidth-5 + .articleWrap,
.list .articleImgRight.imgWidth-10 + .articleWrap,
.list .articleImgRight.imgWidth-13 + .articleWrap{
	padding-right: 1em;
	margin-right: 15%;
}
.list .articleImgRight.imgWidth-15 + .articleWrap,
.list .articleImgRight.imgWidth-17 + .articleWrap,
.list .articleImgRight.imgWidth-20 + .articleWrap {
	padding-right: 1em;
	margin-right: 25%;
}
.list .articleImgRight.imgWidth-25 + .articleWrap {
	padding-right: 1em;
	margin-right: 33.3%;
}

@media (min-width: 480px) {
	.list .articleImgLeft.imgWidth-33 {
		float:left;
	}
	.list .articleImgLeft.imgWidth-5 + .articleWrap,
	.list .articleImgLeft.imgWidth-10 + .articleWrap {
		margin-left: 15%;
	}
	.list .articleImgLeft.imgWidth-13 + .articleWrap {
		margin-left: 20%;
	}
	.list .articleImgLeft.imgWidth-15 + .articleWrap,
	.list .articleImgLeft.imgWidth-17 + .articleWrap,
	.list .articleImgLeft.imgWidth-20 + .articleWrap {
		margin-left: 33.3%;
	}
	.list .articleImgLeft.imgWidth-33 + .articleWrap {
		padding-left: 1em;
		margin-left: 50%;
	}

	.list .articleImgRight.imgWidth-33 {
		float: right;
	}
	.list .articleImgRight.imgWidth-5 + .articleWrap,
	.list .articleImgRight.imgWidth-10 + .articleWrap {
		margin-right: 15%;
	}
	.list .articleImgRight.imgWidth-13 + .articleWrap {
		margin-right: 20%;
	}
	.list .articleImgRight.imgWidth-15 + .articleWrap,
	.list .articleImgRight.imgWidth-17 + .articleWrap,
	.list .articleImgRight.imgWidth-20 + .articleWrap {
		margin-right: 33.3%;
	}
	.list .articleImgRight.imgWidth-33 + .articleWrap {
		padding-right: 1em;
		margin-right: 50%;
	}
}

@media (min-width: 640px) {
	.list .articleImgLeft.imgWidth-42,
	.list .articleImgLeft.imgWidth-50 {
		float:left;
	}
	.list .articleImgLeft.imgWidth-17 + .articleWrap,
	.list .articleImgLeft.imgWidth-20 + .articleWrap {
		margin-left: 25%;
	}
	.list .articleImgLeft.imgWidth-25 + .articleWrap {
		margin-left: 33.3%;
	}
	.list .articleImgLeft.imgWidth-42 + .articleWrap,
	.list .articleImgLeft.imgWidth-50 + .articleWrap {
		padding-left: 1em;
		margin-left: 50%;
	}

	.list .articleImgRight.imgWidth-42,
	.list .articleImgRight.imgWidth-50 {
		float: right;
	}
	.list .articleImgRight.imgWidth-17 + .articleWrap,
	.list .articleImgRight.imgWidth-20 + .articleWrap {
		margin-right: 25%;
	}
	.list .articleImgRight.imgWidth-25 + .articleWrap {
		margin-right: 33.3%;
	}
	.list .articleImgRight.imgWidth-42 + .articleWrap,
	.list .articleImgRight.imgWidth-50 + .articleWrap {
		padding-right: 1em;
		margin-right: 50%;
	}
}

@media (min-width: 720px) {
	.list .articleImgLeft.imgWidth-67 {
		float:left;
	}
	.list .articleImgLeft.imgWidth-5 + .articleWrap,
	.list .articleImgLeft.imgWidth-10 + .articleWrap,
	.list .articleImgLeft.imgWidth-13 + .articleWrap {
		margin-left: 15%;
	}
	.list .articleImgLeft.imgWidth-15 + .articleWrap,
	.list .articleImgLeft.imgWidth-17 + .articleWrap,
	.list .articleImgLeft.imgWidth-20 + .articleWrap {
		margin-left: 20%;
	}
	.list .articleImgLeft.imgWidth-25 + .articleWrap,
	.list .articleImgLeft.imgWidth-33 + .articleWrap {
		margin-left: 33.3%;
	}
	.list .articleImgLeft.imgWidth-67 + .articleWrap {
		padding-left: 1em;
		margin-left: 50%;
	}

	.list .articleImgRight.imgWidth-67 {
		float: right;
	}
	.list .articleImgRight.imgWidth-5 + .articleWrap,
	.list .articleImgRight.imgWidth-10 + .articleWrap,
	.list .articleImgRight.imgWidth-13 + .articleWrap {
		margin-right: 15%;
	}
	.list .articleImgRight.imgWidth-15 + .articleWrap,
	.list .articleImgRight.imgWidth-17 + .articleWrap,
	.list .articleImgRight.imgWidth-20 + .articleWrap {
		margin-right: 20%;
	}
	.list .articleImgRight.imgWidth-25 + .articleWrap,
	.list .articleImgRight.imgWidth-33 + .articleWrap {
		margin-right: 33.3%;
	}
	.list .articleImgRight.imgWidth-67 + .articleWrap {
		padding-right: 1em;
		margin-right: 50%;
	}
}

@media (min-width: 960px) {
	.list .articleImgLeft.imgWidth-25,
	.list .articleImgRight.imgWidth-25 {
		width: 25%;
	}

	.list .articleImgLeft.imgWidth-75 {
		float:left;
	}
	.list .articleImgLeft.imgWidth-5 + .articleWrap {
		margin-left: 5%;
	}
	.list .articleImgLeft.imgWidth-10 + .articleWrap {
		margin-left: 10%;
	}
	.list .articleImgLeft.imgWidth-13 + .articleWrap {
		margin-left: 12.5%;
	}
	.list .articleImgLeft.imgWidth-15 + .articleWrap {
		margin-left: 15%;
	}
	.list .articleImgLeft.imgWidth-17 + .articleWrap {
		margin-left: 16.7%;
	}
	.list .articleImgLeft.imgWidth-20 + .articleWrap {
		margin-left: 20%;
	}
	.list .articleImgLeft.imgWidth-25 + .articleWrap {
		margin-left: 25%;
	}
	.list .articleImgLeft.imgWidth-33 + .articleWrap {
		margin-left: 33.3%;
	}
	.list .articleImgLeft.imgWidth-42 + .articleWrap {
		margin-left: 41.7%;
	}
	.list .articleImgLeft.imgWidth-50 + .articleWrap {
		margin-left: 50%;
	}
	.list .articleImgLeft.imgWidth-67 + .articleWrap {
		margin-left: 66.7%;
	}
	.list .articleImgLeft.imgWidth-75 + .articleWrap {
		padding-left: 1em;
		margin-left: 75%;
	}

	.list .articleImgRight.imgWidth-75 {
		float: right;
	}
	.list .articleImgRight.imgWidth-5 + .articleWrap {
		margin-right: 5%;
	}
	.list .articleImgRight.imgWidth-10 + .articleWrap {
		margin-right: 10%;
	}
	.list .articleImgRight.imgWidth-13 + .articleWrap {
		margin-right: 12.5%;
	}
	.list .articleImgRight.imgWidth-15 + .articleWrap {
		margin-right: 15%;
	}
	.list .articleImgRight.imgWidth-17 + .articleWrap {
		margin-right: 17%;
	}
	.list .articleImgRight.imgWidth-20 + .articleWrap {
		margin-right: 20%;
	}
	.list .articleImgRight.imgWidth-25 + .articleWrap {
		margin-right: 25%;
	}
	.list .articleImgRight.imgWidth-33 + .articleWrap {
		margin-right: 33.3%;
	}
	.list .articleImgRight.imgWidth-42 + .articleWrap {
		margin-right: 41.7%;
	}
	.list .articleImgRight.imgWidth-50 + .articleWrap {
		margin-right: 50%;
	}
	.list .articleImgRight.imgWidth-67 + .articleWrap {
		margin-right: 66.7%;
	}
	.list .articleImgRight.imgWidth-75 + .articleWrap {
		padding-right: 1em;
		margin-right: 75%;
	}
}

/* Content: GRIDS */
.gridWrap {
	margin: 1em -1em 0;
    display: flex;
    flex-wrap: wrap;
}
.gridWrap .articleGrid {
	padding: 0 1em 2em 1em;
	float: left;
	position: relative;
    width: 100%;
    flex-grow: 0;
}
.gridWrap .leftContainer,
.gridWrap .rightContainer {
	width: 100%;
}
.gridWrap .rightContainer {
	float: right;
}

.articleGrid {
	position: relative;
	z-index: 1;
	width: 100%;
}

.articleGrid .info > :first-child {
	margin-top: 0;
}
.articleGrid .info > :last-child {
	margin-bottom: 0;
}
.articleGrid .headline {
	margin: 0;
}
.articleGrid .headline a {
	text-decoration: none;
	display: block;
}
.articleGrid .imgWrap {
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	position: relative;
}
.articleGrid .articleImgFillContain .imgWrap {
    background-size: contain;
}
.articleGrid .imgWrap .caption {
	position: absolute;
	background: var(--color-background);
	display: block;
	padding: .5em 1em;
	margin: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	max-width: 100%;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.articleGrid:hover .imgWrap .caption {
	white-space: normal;
	text-overflow: none;
}
.articleGrid .articleImgNone {
	margin: 0 auto;
}
.articleGrid .imgWidth-100 {
	width: 100%;
}
.articleGrid .imgWidth-75 {
	width: 75%;
}
.articleGrid .imgWidth-67 {
	width: 66.7%;
}
.articleGrid .imgWidth-50 {
	width: 50%;
}
.articleGrid .imgWidth-42 {
	width: 41.7%;
}
.articleGrid .imgWidth-33 {
	width: 33.3%;
}
.articleGrid .imgWidth-25 {
	width: 25%;
}
.articleGrid .imgWidth-20 {
	width: 20%;
}
.articleGrid .imgWidth-17 {
	width: 16.7%;
}
.articleGrid .imgWidth-15 {
	width: 15%;
}
.articleGrid .imgWidth-13 {
	width: 12.5%;
}
.articleGrid .imgWidth-10 {
	width: 10%;
}
.articleGrid .imgWidth-5 {
	width: 5%;
}
.articleGrid .imgWidth-75.articleImgLeft,
.articleGrid .imgWidth-67.articleImgLeft,
.articleGrid .imgWidth-50.articleImgLeft,
.articleGrid .imgWidth-42.articleImgLeft,
.articleGrid .imgWidth-33.articleImgLeft,
.articleGrid .imgWidth-25.articleImgLeft,
.articleGrid .imgWidth-20.articleImgLeft,
.articleGrid .imgWidth-17.articleImgLeft,
.articleGrid .imgWidth-15.articleImgLeft,
.articleGrid .imgWidth-13.articleImgLeft,
.articleGrid .imgWidth-10.articleImgLeft,
.articleGrid .imgWidth-5.articleImgLeft {
	float: left;
	padding-right: 1em;
	margin-bottom: 1em;
}
.articleGrid .imgWidth-75.articleImgRight,
.articleGrid .imgWidth-67.articleImgRight,
.articleGrid .imgWidth-50.articleImgRight,
.articleGrid .imgWidth-42.articleImgRight,
.articleGrid .imgWidth-33.articleImgRight,
.articleGrid .imgWidth-25.articleImgRight,
.articleGrid .imgWidth-20.articleImgRight,
.articleGrid .imgWidth-17.articleImgRight,
.articleGrid .imgWidth-15.articleImgRight,
.articleGrid .imgWidth-13.articleImgRight,
.articleGrid .imgWidth-10.articleImgRight,
.articleGrid .imgWidth-5.articleImgRight {
	float:right;
	padding-left: 1em;
	margin-bottom: 1em;
}

@container contentContainer (min-width: 480px) {
	.gridWrap .gridWidth_25 {
		width: 50%;
	}
}

@container contentContainer (min-width: 560px) {
	.gridWrap .gridWidth_50,
	.gridWrap .leftContainer,
	.gridWrap .rightContainer {
		width: 50%;
	}
}

@container contentContainer (min-width: 640px) {
	.gridWrap .gridWidth_33 {
		width: 50%;
	}
}

@container contentContainer (min-width: 960px) {
	.gridWrap .gridWidth_33 {
		width: 33.33%;
	}
	.gridWrap .gridWidth_25 {
		width: 25%;
	}
}

/* Site: PAGE JUMPS */
.jumper {
    margin: 1em -5px;
    position: relative;
}
.pagerJumper .divider {
    display: none;
}
.jumper .resultStats {
    text-align: center;
    padding: 0 0 5px;
}

.jumper .pagerJumper {
    display: block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.pagerJumper a,
.pagerJumper .spacer {
    padding: 8px 0;
    margin:0 5px;
    display:block;
    float:left;
    width: 40px;
    height: 40px;
    border: 2px solid var(--color-lighter);
    background: var(--color-lighter);
    font-weight: bold;
    font-size: .75em;
    color: inherit;
    line-height: 20px;
    text-align:center;
    text-decoration: none;
    transition: all .3s;
}
.pagerJumper .spacer {
    background: none;
    border: none;
}
.pagerJumper a.aktiv {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-on-primary);
    font-weight: bold;
}
.pagerJumper a:hover {
    background: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-background);
}

.pages {
	text-align:center;
	border-top: 1px solid var(--color-lighter);
	padding-top: 1em;
	font-weight: 100;
	margin: 1em 0;
	color: var(--color-light);
}
.pages > * {
	display: inline-block;
	height: 20px;
	line-height: 20px;
	overflow: hidden;
}
.pages a {
	font-weight: normal;
	padding: 0 10px;
	position: relative;
	color: var(--color-light);
	text-decoration: none;
	max-width: 35%;
	overflow: hidden;
}
.pages a span {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
	display: inline-block;
}
.pages a.enabled:first-child:after,
.pages a.enabled:last-child:after {
	content: '';
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	border-color: transparent var(--color-primary) transparent transparent;
	border-style: solid;
	border-width: .357em .429em .357em 0;
	left: 0;
	top: .429em;
}
.pages a.enabled:last-child:after {
	border-color: transparent transparent transparent var(--color-primary);
	border-width: .357em 0 .357em .429em;
	right: 0;
	left: auto;
}
.pages a.disabled {
	color: var(--color-light);
	text-decoration: none;
}

@media (max-width: 479px) {
    .pageJumperFooterWrap {
        display: none;
    }
}
@media (min-width: 640px) {
    .jumper .resultStats {
        line-height: 40px;
        float: left;
        padding: 0 0 0 5px;
    }
    .jumper .pagerJumper  {
        float: right;
    }
}

/* Captcha */
.optsCaptcha .captchaImgWrap,
.optsFieldCaptcha .captchaImgWrap {
    margin-top: 10px;
}
.optsCaptcha .optsCaptchaGraphics,
.optsFieldCaptcha .optsCaptchaGraphics {
    width: 100%;
    height: auto;
    display: block;
}
.optsCaptcha .captchaReload,
.optsFieldCaptcha .captchaReload {
    display: block;
    margin-top: 5px;
    cursor: pointer;
}
.optsContainer.optsCompact:not(.optsCaptcha) input[placeholder]::placeholder {
    color: transparent;
}
.optsContainer.optsCompact.optsCaptcha input[placeholder]::placeholder {
    color: inherit;
    opacity: .5;
}

@media only screen and (min-width: 480px) {
    .optsCaptcha .optsBlock,
    .optsFieldCaptcha .optsBlock {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .optsCaptcha .captchaCode,
    .optsFieldCaptcha .captchaCode {
        margin-right: 20px;
    }
    .optsCaptcha .captchaImgWrap,
    .optsFieldCaptcha .captchaImgWrap {
        margin-top: 0;
    }
}


/* ==========================================================================
   Accessibility
   ========================================================================== */
#a11yReadspeakerButton {
	position: fixed;
	bottom: 10px;
	left: 10px;
	margin: 0;
	width: calc(100% - 20px - 3.75rem) !important;
}
#a11yReadspeakerButton.rsexpanded .rsbtn_play {
	padding: 0;
}
#a11yReadspeakerButton.rsexpanded .rsbtn_play .rsbtn_left {
	overflow: hidden;
	width: 0;
	margin-left: 2.3333em;
}
#a11yNavControlTrigger {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	display: flex;
	align-items: center;
	flex-grow: 1;
}
#a11yNavControlTrigger .optsInputLabel {
	flex-grow: 1;
}
#a11yNavControlTrigger .state {
	flex-shrink: 0;
	display: flex;
}
#a11yNavControlTrigger .state .vcCssIcon {
	transition: all .3s;
}
#a11yNavControlTrigger .state .on,
#a11yNavControlTrigger[aria-expanded="true"] .state .off {
	display: none;
}
#a11yNavControlTrigger[aria-expanded="true"] .state .on,
#a11yNavControlTrigger .state .off {
	display: block;
}
#a11yNavControlTrigger[aria-expanded="true"] .vcCssIcon {
	transform: rotate(180deg);
}

/* Font Size */
.fs_bigger body {
	font-size: 20px;
}
.fs_big body {
	font-size: 24px;
}

/* Line Height */
.lh_bigger body {
	line-height: 1.75;
}
.lh_big body {
	line-height: 2;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
