/***** RTE - Start *****/
a.button-arrow-green {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 9px 96px 10px 32px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgb(var(--color-bg-gray));
}
a.button-arrow-green::before {
    content: '';
    position: absolute;
    top: 22px;
    right: 16px;
    width: 28px;
    height: 14px;
    background: url("../Images/bg-arrow-white.svg") no-repeat;
    background-size: contain;
    z-index: 1;

    transition: all var(--transition-t1);
}
a.button-arrow-green:hover::before {
    right: 12px;
}
a.button-arrow-green::after {
    content: '';
    position: absolute;
    top: 0;
    /*bottom: 0;*/
    right: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-primary));
    clip-path: polygon(14px 0px, 100% 0px, 100% 100%, 0px 100%);
}

a.button-arrow-blue {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 9px 96px 10px 32px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgb(var(--color-bg-gray));
}
a.button-arrow-blue::before {
    content: '';
    position: absolute;
    top: 22px;
    right: 16px;
    width: 28px;
    height: 14px;
    background: url("../Images/bg-arrow-white.svg") no-repeat;
    background-size: contain;
    z-index: 1;

    transition: all var(--transition-t1);
}
a.button-arrow-blue:hover::before {
    right: 12px;
}
a.button-arrow-blue::after {
    content: '';
    position: absolute;
    top: 0;
    /*bottom: 0;*/
    right: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-secondary));
    clip-path: polygon(14px 0px, 100% 0px, 100% 100%, 0px 100%);
}

a.button-arrow-red {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 9px 96px 10px 32px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgb(var(--color-bg-gray));
}
a.button-arrow-red::before {
    content: '';
    position: absolute;
    top: 22px;
    right: 16px;
    width: 28px;
    height: 14px;
    background: url("../Images/bg-arrow-white.svg") no-repeat;
    background-size: contain;
    z-index: 1;

    transition: all var(--transition-t1);
}
a.button-arrow-red:hover::before {
    right: 12px;
}
a.button-arrow-red::after {
    content: '';
    position: absolute;
    top: 0;
    /*bottom: 0;*/
    right: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-red));
    clip-path: polygon(14px 0px, 100% 0px, 100% 100%, 0px 100%);
}

a.button-icon-green {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 9px 96px 10px 32px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgb(var(--color-bg-gray));
}
a.button-icon-green::before {
    content: '';
    position: absolute;
    top: 11px;
    right: 16px;
    width: 24px;
    height: 32px;
    background: url("../Images/bg-icon-pdf-white.svg") no-repeat;
    background-size: contain;
    z-index: 1;

    transition: all var(--transition-t1);
}
a.button-icon-green:hover::before {
    top: 13px;
}
a.button-icon-green::after {
    content: '';
    position: absolute;
    top: 0;
    /*bottom: 0;*/
    right: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-primary));
    clip-path: polygon(14px 0px, 100% 0px, 100% 100%, 0px 100%);
}

a.button-icon-blue {
    position: relative;
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 9px 96px 10px 32px;
    font-weight: 400;
    text-decoration: none;
    background-color: rgb(var(--color-bg-gray));
}
a.button-icon-blue::before {
    content: '';
    position: absolute;
    top: 11px;
    right: 16px;
    width: 24px;
    height: 32px;
    background: url("../Images/bg-icon-pdf-white.svg") no-repeat;
    background-size: contain;
    z-index: 1;

    transition: all var(--transition-t1);
}
a.button-icon-blue:hover::before {
    top: 13px;
}
a.button-icon-blue::after {
    content: '';
    position: absolute;
    top: 0;
    /*bottom: 0;*/
    right: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-secondary));
    clip-path: polygon(14px 0px, 100% 0px, 100% 100%, 0px 100%);
}

a.link-arrow {
    display: inline-block;
    position: relative;
    padding: 0 0 0 36px;
    font-size: 24px;
}
a.link-arrow::before {
    content: '';
    position: absolute;
    top: 11px;
    left: 0;
    width: 24px;
    height: 12px;
    background: url("../Images/bg-arrow-green.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
a.link-arrow:hover::before {
    left: 4px;
}

a.anchor {
    position: relative;
    display: inline-block;
    margin: 0 62px 0 0;
    padding: 6px 0 7px 58px;
    font-weight: 400;
    color: rgb(var(--color-primary));
    text-decoration: underline;
}
a.anchor::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 42px;
    height: 39px;
    background-color: rgb(var(--color-primary));
    clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
}
a.anchor::after {
    content: '';
    position: absolute;
    top: 15px;
    left: 12px;
    width: 11px;
    height: 22px;
    background: url("../Images/bg-arrow-white-down.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
a.anchor:hover {
    text-decoration: none;
}
a.anchor:hover::after {
    top: 17px;
}
/*a.anchor:first-of-type {
    margin-left: 0;
}*/
a.anchor:last-of-type {
    margin-right: 0;
}

a.link-marker {
    position: relative;
    display: inline-block;
    margin: 0 32px 0 0;
    padding: 6px 0 7px 58px;
    font-weight: 400;
    color: rgb(var(--color-primary));
    text-decoration: underline;
}
a.link-marker::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 42px;
    height: 39px;
    background-color: rgb(var(--color-bg-gray));
    clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
}
a.link-marker::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 22px;
    height: 29px;
    background: url("../Images/bg-icon-map-marker.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
a.link-marker:hover {
    text-decoration: none;
}
a.link-marker:hover::after {
    top: 10px;
}
a.link-marker:last-of-type {
    margin-right: 0;
}
/***** RTE - End *****/

/***** Headlines - Start *****/
.headline-outer h2 {
    position: relative;
    margin: 0 0 54px;
}
.headline-outer h2::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -22px;
    width: 42px;
    border-bottom: 2px solid rgb(var(--color-primary));
}
.headline-outer.center h2::before,
.ce-bodytext h2.text-center::before {
    left: calc(50% - 21px);
}
.headline-outer h3 {
    margin-bottom: 28px;
}

h3.border-bottom {
    position: relative;
    margin: 0 0 54px;
    font: 400 30px/1.25 var(--font-1);
    color: rgb(var(--color-primary));
}
h3.border-bottom::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -16px;
    width: 42px;
    border-bottom: 2px solid rgb(var(--color-primary));
}
/***** Headlines - End *****/

/***** TYPO3 - Start *****/
.text-center {
    text-align: center;
}

.image-caption {
    padding: 10px 0 0;
    font-size: 24px;
    font-style: italic;
}

/*.ce-bodytext {
    margin-top: -10px;
}*/
.ce-bodytext span[style*="font-weight: bold"],
.ce-bodytext b {
    font-weight: 600 !important;
}
.ce-bodytext p:last-child,
.ce-bodytext ul:last-child,
.ce-bodytext ol:last-child {
    margin-bottom: 0;
}
.content .ce-bodytext ul:last-of-type {
    margin-bottom: 18px;
}
.frame-type-menu_subpages a {
    text-decoration: underline;
}
.frame-type-menu_subpages a:hover {
    text-decoration: none;
}

.frame-type-textmedia,
.frame-type-textpic,
.frame-type-image,
.frame-type-text,
.frame-type-table,
.frame-type-uploads,
.frame-type-bullets,
.frame-type-html,
.frame-type-menu_subpages,
.frame-type-menu_sitemap_pages,
.frame-type-menu_pages {
    margin: 0 0 76px;
}
.content .frame-space-after-none {
    margin-bottom: 0;
}
.content .frame-space-after-small {
    margin-bottom: 20px;
}
.content .frame-space-after-medium {
    margin-bottom: 40px;
}
.content .frame-space-after-large {
    margin-bottom: 102px;
}

.frame-type-header h1 {
    margin-bottom: 30px;
}
.frame-type-textmedia h4 {
    margin-bottom: 44px;
}
.ce-bodytext h4 {
    margin-top: 44px;
}
.headline-outer h4 {
    margin-top: -32px;
}

.frame-type-list .news {
    margin: 0 0 76px;
}

.frame-type-menu_subpages ul {
    margin: 0;
}

.header-layout-110 h1 {
    color: rgb(var(--color-red));
}
.header-layout-120 h1 {
    color: rgb(var(--color-secondary));
}
.header-layout-130 h2 {
    color: rgb(var(--color-red));
}
.header-layout-130 .headline-outer h2::before {
    border-bottom-color: rgb(var(--color-red));
}
.header-layout-140 h2 {
    color: rgb(var(--color-secondary));
}
.header-layout-140 .headline-outer h2::before {
    border-bottom-color: rgb(var(--color-secondary));
}
.header-layout-150 h2 {
    margin: 0 0 24px;
    font: 400 52px/1.19231 var(--font-1);
    color: rgb(var(--color-primary));
}
.header-layout-150 .headline-outer h2::before {
    border-bottom: none;
}
.header-layout-160 h2 {
    margin: 0 0 24px;
    font: 400 52px/1.19231 var(--font-1);
    color: rgb(var(--color-red));
}
.header-layout-160 .headline-outer h2::before {
    border-bottom: none;
}
.header-layout-170 h2 {
    margin: 0 0 24px;
    font: 400 52px/1.19231 var(--font-1);
    color: rgb(var(--color-secondary));
}
.header-layout-170 .headline-outer h2::before {
    border-bottom: none;
}

.content .frame-layout-110 ul li {
    min-height: 55px;
    margin: 0 0 18px;
    padding: 8px 0 0 82px;
}
.content .frame-layout-110 ul li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-red));
    border-radius: 0;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 100%, 0 100%);
}
.content .frame-layout-160 .frame-layout-110 ul li::before {
    background-color: rgb(var(--color-ww-blue));
}
.content .frame-layout-110 ul li::after {
    content: '';
    position: absolute;
    top: 22px;
    left: 16px;
    width: 28px;
    height: 14px;
    background: url("../Images/bg-arrow-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
.content .frame-layout-110 ul li:hover::after {
    left: 20px;
}

.content .frame-type-uploads ul li,
.ce-bodytext a.download[href*=".pdf"],
.ce-bodytext a.download[href*=".PDF"] {
    position: relative;
    display: inline-block;
    min-height: 55px;
    margin: 0 0 18px;
    padding: 8px 0 0 82px;
}
.content .frame-type-uploads ul li {
    display: block;
}
.content .frame-type-uploads ul li::before,
.ce-bodytext a.download[href*=".pdf"]::before,
.ce-bodytext a.download[href*=".PDF"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 69px;
    height: 55px;
    background-color: rgb(var(--color-red));
    border-radius: 0;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 100%, 0 100%);
}
.content .frame-type-uploads ul li::after,
.ce-bodytext a.download[href*=".pdf"]::after,
.ce-bodytext a.download[href*=".PDF"]::after {
    content: '';
    position: absolute;
    top: 11px;
    left: 16px;
    width: 24px;
    height: 32px;
    background: url("../Images/bg-icon-pdf-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
.content .frame-type-uploads ul li:hover::after,
.ce-bodytext a.download[href*=".pdf"]:hover::after,
.ce-bodytext a.download[href*=".PDF"]:hover::after {
    top: 13px;
}
.content .frame-type-uploads span {
    display: inline;
}
.content .frame-type-uploads a {
    text-decoration: underline;
}
.content .frame-type-uploads a:hover {
    text-decoration: none;
}

.ce-row {
    overflow: visible;
}
.ce-row::after {
    content: '';
    clear: both;
    display: table;
}
a[data-fancybox] {
    display: block;
    position: relative;
    margin: 0 0 18px;
    cursor: zoom-in;
}
a[data-fancybox]::before {
    content: '';
    position: absolute;
    bottom: -18px;
    right: 0;
    width: 94px;
    height: 75px;
    background: rgb(var(--color-red)) url("../Images/bg-icon-zoom.svg") no-repeat calc(50% + 4px) calc(50% + 2px);
    background-size: 42px auto;
    clip-path: polygon(20px 0px, 100% 0px, 100% 100%, 0px 100%);

    transition: all var(--transition-t1);
}
a[data-fancybox]:hover::before {
    background-size: 50px auto;
}
.ce-intext.ce-right .ce-gallery {
    margin-left: 28px;
}
.ce-intext.ce-left .ce-gallery {
    margin-right: 28px;
}
.ce-intext.ce-right .ce-gallery,
.ce-intext.ce-left .ce-gallery,
.ce-above .ce-gallery {
    margin-bottom: 28px;
}
.ce-below .ce-gallery {
    margin-top: 40px;
}

.video-embed {
    position: relative;
    width: 1296px;
    margin: 0 auto 28px;
    padding-bottom: 56.25%;
    height: 0;
}
.video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video-embed-item{
    max-width: 100%;
 }
/** Kasten grün - Start **/
.frame-layout-120 {
    margin: 0 0 76px;
}
.frame-layout-120 .inner {
    padding: 56px 78px 46px;
    background-color: rgb(var(--color-primary-light));
}
.frame-layout-120 .header .inner {
    padding-bottom: 1px;
}
.frame-layout-120 .header .inner .headline-outer h2 {
    margin-bottom: 44px;
}
.frame-layout-120 .header + .container .inner {
    padding-top: 0;
}

.frame-layout-180 {
    margin: 0 0 76px;
}
.frame-layout-180 .inner {
    padding: 56px 78px 46px;
    background-color: rgb(var(--color-primary-light));
}
.frame-layout-180 .header .inner {
    padding-bottom: 1px;
}
.frame-layout-180 .header .inner .headline-outer h2 {
    margin-bottom: 44px;
}
.frame-layout-180 .header + .container .inner {
    padding-top: 0;
}
/** Kasten grün - Start **/

/** Infokasten grün - Start **/
.frame-layout-130 {
    margin: 110px 0 76px;
}
.frame-layout-130 .inner {
    position: relative;
    margin-left: 20px;
    padding: 86px 78px 46px;
    background-color: rgb(var(--color-bg-gray));
}
.frame-layout-130 .header .inner {
    padding-bottom: 1px;
}
.frame-layout-130 .header .inner::before {
    content: '';
    position: absolute;
    top: -34px;
    left: -20px;
    width: 105px;
    height: 84px;
    background: rgb(var(--color-primary)) url("../Images/bg-icon-info.svg") no-repeat calc(50% - 8px) calc(50% + 1px);
    background-size: 50px auto;
    clip-path: polygon(0 0px, 78% 0px, 100% 100%, 0px 100%);
}
.frame-layout-130 .header .inner .headline-outer h2 {
    margin-bottom: 44px;
}
.frame-layout-130 .header + .container .inner {
    padding-top: 0;
}
/** Infokasten grün - Start **/

/** Infokasten blau - Start **/
.frame-layout-140 {
    margin: 110px 0 76px;
}
.frame-layout-140 .inner {
    position: relative;
    margin-left: 20px;
    padding: 86px 78px 46px;
    background-color: rgb(var(--color-bg-gray));
}
.frame-layout-140 .header .headline-outer h2 {
    color: rgb(var(--color-secondary));
}
.frame-layout-140 .header .headline-outer h2::before {
    border-bottom-color: rgb(var(--color-secondary));
}

.frame-layout-140 .header .inner {
    padding-bottom: 1px;
}
.frame-layout-140 .header .inner::before {
    content: '';
    position: absolute;
    top: -34px;
    left: -20px;
    width: 105px;
    height: 84px;
    background: rgb(var(--color-secondary)) url("../Images/bg-icon-info.svg") no-repeat calc(50% - 8px) calc(50% + 1px);
    background-size: 50px auto;
    clip-path: polygon(0 0px, 78% 0px, 100% 100%, 0px 100%);
}
.frame-layout-140 .header .inner .headline-outer h2 {
    margin-bottom: 44px;
}
.frame-layout-140 .header + .container .inner {
    padding-top: 0;
}
.content .frame-layout-140 ul li::before {
    background-color: rgb(var(--color-secondary));
}
/** Infokasten blau - Start **/

/** Hintergrund grün - Start **/
.frame-layout-150 {
    margin: 0 0 76px;
    padding: 56px 0 54px;
    background-color: rgb(var(--color-primary-light));
}
.frame-layout-150 .headline-outer h2 {
    position: relative;
    margin: 0 0 56px;
}
.frame-layout-150.frame-space-after-none + .frame-layout-150 {
    padding-top: 0;
    margin-top: -56px;
}
.page1684 .frame-layout-150.frame-space-after-none + .frame-layout-150{
    margin-top: 0;
}
.frame-layout-150.frame-space-after-none + .frame-layout-150.frame-type-gridelements_pi1 {
    margin-top: 0;
    padding-top: 24px;
}
    /** Hintergrund grün - End **/

/** Hintergrund blau - Start **/
.frame-layout-160 {
    margin: 0 0 76px;
    padding: 56px 0 54px;
    background-color: rgb(var(--color-lightblue));
}
.frame-layout-160 .headline-outer h2 {
    position: relative;
    margin: 0 0 42px;
}
.frame-layout-160.frame-space-after-none + .frame-layout-160 {
    padding-top: 0;
    margin-top: -42px;
}
.frame-layout-160.frame-space-after-none + .frame-layout-160.frame-type-gridelements_pi1 {
    margin-top: 0;
    padding-top: 24px;
}
/** Hintergrund blau - End **/

/** Suchergebnisse - Start **/
.frame-layout-170 h2::before {
    width: 100%;
    border-bottom: 6px solid rgb(var(--color-primary));
}
/** Suchergebnisse - End **/

/***** TYPO3 - End *****/

/***** Tabellen - Start *****/
.table-responsive {
    overflow-x: auto;
}
.table.rm {
    border-collapse: collapse;
    /*font-size: 22px;*/
}
.table.rm.ce-table-fullwidth {
    width: 100%;
}
.table.rm th {
    text-align: left;
    font-weight: 500;
    color: #fff;
    background-color: rgb(var(--color-secondary));
}
.table.rm tr {
    border-bottom: 4px solid #fff;
    background-color: rgb(var(--color-bg-gray));
}
.table.rm th,
.table.rm td {
    padding: 20px 20px 16px;
    border-right: 4px solid #fff;
}
.table.rm.th-top th,
.table.rm.th-top td {
    border-right: none;
}
.table.rm th p,
.table.rm td p {
    margin: 0;
}
.table.rm caption {
    caption-side: bottom;
    padding: 12px 0 0;
    font-size: 24px;
    color: rgb(var(--color-font-caption));
    text-align: left;
}
.table.rm caption p:last-of-type {
    margin: 0;
}
.text table tr {
    background-color: #fff;
    padding: 15px;
}
.text table td {
    padding: 15px;
}
.text table.contenttable{
    overflow-x: auto;
}
.frame-layout-150 .table.rm th,
.frame-layout-150 .table.rm td {
    border-right-color: rgba(var(--color-primary), .07);
}
.frame-layout-150 .table.rm tr {
    border-bottom-color: rgba(var(--color-primary), .07);
    background-color: #fff;
}
/***** Tabellen - End *****/

/***** Boogle-Translate Box - Start *****/
.translate-box a{
    text-decoration: underline;
}
.translate-box a:hover{
    text-decoration: none;
}
.translate-box p {
    margin: 12px 0 0;
}
#google_translate_element select {
    font: 400 24px/1 var(--font-1);
    border: 1px solid;
}
#google_translate_element img {
    display: inline;
}
/***** Boogle-Translate Box - End *****/

/***** Warnmeldung - Start *****/
.site-alert {
    position: fixed;
    top: 100px;
    width: 100%;
    color: #fff;
    border-top: 3px solid #fff;
    background-color: rgb(var(--color-primary));
    z-index: 20;
}
.site-alert a.link-arrow::before {
    background-image: url("../Images/bg-arrow-white.svg");
}
.site-alert .inner {
    position: relative;
    padding: 32px 236px 22px 168px;
}
.site-alert .inner::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 60px;
    width: 75px;
    height: 75px;
    background: url("../Images/bg-icon-alert.svg") no-repeat;
    background-size: contain;
}
.site-alert .inner p {
    margin: 0 0 10px;
}
.site-alert .inner p:last-of-type {
    margin: 0;
}
.site-alert .close {
    position: absolute;
    top: 32px;
    right: 116px;
    padding: 0 40px 0 0;
    cursor: pointer;
}
.site-alert .close::before {
    content: 'Schließen';
}
.site-alert .close::after {
    content: '';
    position: absolute;
    top: 5px;
    right: 0;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: url("../Images/bg-icon-close-x-circle-white.svg") no-repeat;
    background-size: contain;
}
/***** Warnmeldung - End *****/


/***** Stellen - Start *****/
.content div.bite-jobs-list ul li::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 0;
}
/***** Stellen - End *****/