:root {
    --pn-primary: #1E3865; 
    --pn-secondary: #EBEBE5;
	--pn-tertiary: #003DA5;
    --pn-font-color: #000000;
    --pn-navigation: var(--pn-primary);
    --pn-navigation-hover: var(--pn-secondary);
    --pn-box-background: var(--pn-primary);
    --pn-background: white;
    --pn-footer-background: var(--pn-primary);
    --pn-content-element-padding: 60px;
}
@media (max-width: 767px) {
	:root {
		--pn-content-element-padding: 20px;
	}
}

html {
    font-size: 25px;
}
body {
    font-family: "Ubuntu", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--pn-font-color);
}
h1, h2, h3, h4, .mask-carousel-title {
	font-family: "Red Hat Display", sans-serif;
    font-weight: 600;
	color: var(--pn-primary);
}
h1 {
	font-size: 68px;
}
h2, .dce-image-fullwidth .title-image-fullwidth {
	font-size: 160px;
}
h3 {
	font-size: 35px;
}
h4, 
.mask-carousel-title,
.frame-header h4.element-header {
	font-size: 50px;
    margin-bottom: 30px;
}

.pagelevel-0 .section-default {
    padding-top: 0;
}

.btn.btn-primary {
    background-color: black;
    border-radius: 40px;
    padding: 20px 80px 21px 38px !important;
    font-size: 20px;
    font-weight: 700;
    color: white !important;
    line-height: 1.4;
	position: relative;
	transition: all 0.2s ease;
}
.btn.btn-primary:hover,
.navbar-default .navbar-nav > li > .btn.btn-primary:hover {
    background-color: var(--pn-tertiary);
}
.btn.btn-primary::after {
	content: "";
	position: absolute;
	background: url("../Images/iec-center/arrow-button-iec-center.svg") center no-repeat;
	background-size: contain;
	right: 28px;
    top: 15px;
    width: 32px;
    height: 32px;
	transition: all 0.2s ease;
}
.btn.btn-primary:hover::after {
    transform: rotate(45deg);
    top: 19px;
}
.navbar-default .navbar-nav > li > .btn.btn-primary::before {
	display: none;
}
.image {
	margin-bottom: 0;
}
.container.container-element2cols {
    width: 100%;
}
.container.container-element2cols .container-element-child {
    margin: 0 auto;
}
section.border-section.frame,
section.border-section .frame {
    margin-top: 0;
    margin-bottom: 0;
}
.frame-background-secondary {
    color: var(--pn-font-color);
}

#page-header > .container {
    padding: 0;
	height: 160px;
}
#page-header .navbar-brand {
    height: auto;
	position: absolute;
    top: 0;
    left: calc(590px + 56px - 50vw);
}
.navbar-mainnavigation .navbar-brand-image > .navbar-brand-logo-normal {
    max-width: unset;
}
@media (min-width: 992px) {
    .navbar-mainnavigation .navbar-nav {
        float: none;
        justify-content: space-between;
    }
}
.navbar-nav > li > a {
    text-transform: none;
    font-weight: 700;
}
.navbar-mainnavigation .navbar-nav > li > .nav-link:focus::before, .navbar-mainnavigation .navbar-nav > li > .nav-link:hover::before, .navbar-mainnavigation .navbar-nav > li:hover > .nav-link::before {
	background-color: var(--pn-tertiary);
	opacity: 1;
}
.navbar-nav > .nav-item:nth-last-child(2) {
    position: absolute;
    right: calc(590px + 48px - 50vw);
}
#page-footer {
    font-size: 18px;
}
footer .footer-section-content {
    padding-top: 200px;
    color: white;
}
.footer-section-content .section-row {
    align-items: flex-end;
}
.footer-section-content-column-left img {
    position: absolute;
    top: -200px;
    left: calc(590px + 62px - 50vw);
    width: 489px;
    height: auto;
    max-width: unset;
}
.footer-section-content-column-left p {
    white-space: nowrap;
}
#page-footer a:not(.btn) {
    color: white;
}
.footer-section-meta .frame-inner > *:not(:first-child) {
    margin-top: 0;
}

.accordion-item.card {
    border: none;
}
.accordion-header.card-header {
    border-bottom: none;
    background-color: var(--pn-tertiary);
}
.accordion-title {
    font-size: 1rem;
}
.card a.accordion-title-link:not(.btn) {
    color: white;
	padding: 30px 21px;
}
.accordion-title-link-state {
    height: 36px;
    width: 36px;
    right: 22px;
}
.accordion-title-link-state::before, 
.accordion-title-link-state::after {
    height: 5px;
}
.accordion-title-link.collapsed .accordion-title-link-state::before {
    opacity: 1;
}
.accordion-title-link-state::after {
    transform: rotate(0);
}
.accordion-title-link-state:before {
    transform: rotate(0);
	opacity: 0;
}
.accordion-body.card-body {
    padding: 21px;
}

.dce-image-fullwidth {
    overflow: hidden;
    position: relative;
}
.dce-image-fullwidth::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #1e386557;
    clip-path: polygon(56px 0, 100% 0, 0 100%);
    pointer-events: none;
	z-index: 2;
}
.dce-image-fullwidth::after {
    content: "";
    position: absolute;
    inset: 0;
    background: white;
    clip-path: polygon(0 0, 56px 0, 0 100%);
    pointer-events: none;
	z-index: 2;
}
.dce-image-fullwidth video {
    width: 100%;
	height: auto;
    display: block;
}
.dce-image-fullwidth .absolute {
    bottom: 50%;
    left: 50%;
    margin-left: 0;
    transform: translate(-50%, 50%);
    text-align: center;
	z-index: 3;
}


@media (min-width: 768px) {
    .element2cols .dce-image-unscaled {
		margin-left: calc(354px - 13px - 50vw);
	}
}
@media (min-width: 992px) {
    .element2cols .dce-image-unscaled {
		margin-left: calc(466px - 13px - 50vw);
	}
}
@media (min-width: 1200px) {
    .element2cols .dce-image-unscaled {
		margin-left: calc(590px - 13px - 50vw);
	}
}

.frame-type-mask_carousel .frame-container {
    max-width: unset;
}
.mask-carousel-title {
	margin: 0 auto 50px;
}
@media (min-width: 768px) {
    .mask-carousel-title {
        width: 708px;
    }
}
@media (min-width: 992px) {
    .mask-carousel-title {
        width: 932px;
		padding: 0 20px;
    }
}
@media (min-width: 1200px) {
    .mask-carousel-title {
        width: 1180px;
    }
}


@media (min-width: 768px) {
    .container.container-element2cols .container-element-child {
		width: 708px;
	}
}
@media (min-width: 992px) {
	.frame {
		margin-top: 0;
		margin-bottom: 0;
        padding-top: var(--pn-content-element-padding);
        padding-bottom: var(--pn-content-element-padding);
    }
    .container.container-element2cols .container-element-child {
		width: 932px;
	}
}
@media (min-width: 1200px) {
    .container.container-element2cols .container-element-child {
		width: 1180px;
	}
}
@media (max-width: 1299px) {
	.footer-section-content-column-left img {
		left: -20px;
		width: 370px;
	}
}
@media (max-width: 991px) {
	figure img, 
	figure picture {
        width: auto;
	}
}
@media (max-width: 767px) {
	.col-break-1 .frame,
	.col-break-2 .frame {
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.col-break-1 + .col-break-1 .frame,
	.col-break-2 + .col-break-2 .frame {
		margin-top: 0;
		margin-bottom: 24px;
		padding-bottom: 1em;
	}
	h1, h2, h3, h4, h5, h6 {
		hyphens: auto;
	}
	.footer-section-content-column .frame {
		margin-top: 0;
		margin-bottom: 18px;
	}
	body .gallery-item {
        width: 50%;
    }
	body .gallery-item.gallery-item-size-1 {
        width: 100%;
    }
	
	.footer-section-content-column-left p {
		white-space: unset;
	}
	.footer-section-content-column-left img {
		left: 0;
		width: 100%;
		max-width: 370px;
	}
}

/*********** powermail adaptions ***************/
.tx-powermail {
    font-size: 20px;
}
/* Feld-Container */
.powermail_fieldwrap_type_input,
.powermail_fieldwrap_type_textarea,
.powermail_fieldwrap_type_captcha {
    position: relative;
    margin-bottom: 1.5rem;
}
/* Eingabefelder */
.powermail_fieldwrap .form-control {
    padding: 22px 34px;
    height: auto;
	background-color: #EBEBE5;
	border-radius: 37px;
}
/* Label im Eingabefeld */
.powermail_fieldwrap_type_input > label,
.powermail_fieldwrap_type_textarea > label,
.powermail_fieldwrap_type_captcha > label {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 34px;
    transform: translateY(-50%);
    width: auto;
    margin: 0;
    background-color: #EBEBE5;
    font-size: 20px;
    line-height: 1;
    pointer-events: none;
    transition: all 0.2s ease;
	border-radius: 8px;
	padding-bottom: 5px;
}
.powermail_fieldwrap_type_captcha > label {
	top: 36px;
	max-width: unset;
}
.powermail_captchaimage {
    margin-left: 34px;
    margin-top: 20px;
}
/* Textarea-Label oben positionieren */
.powermail_fieldwrap_type_textarea > label {
    top: 1.5rem;
}
/* Label bei Fokus oder vorhandenem Inhalt */
.powermail_fieldwrap_type_input:has(input:focus) > label,
.powermail_fieldwrap_type_input:has(input:not(:placeholder-shown)) > label,
.powermail_fieldwrap_type_textarea:has(textarea:focus) > label,
.powermail_fieldwrap_type_textarea:has(textarea:not(:placeholder-shown)) > label,
.powermail_fieldwrap_type_captcha:has(input:focus) > label,
.powermail_fieldwrap_type_captcha:has(input:not(:placeholder-shown)) > label {
    top: 0;
    transform: translateY(-50%);
    font-size: 15px;
}
.powermail_fieldwrap_type_submit > div {
    margin-left: 0;
    margin-top: 15px;
}
@media (max-width: 767px) {
	.powermail_fieldwrap_type_input > label, 
	.powermail_fieldwrap_type_textarea > label, 
	.powermail_fieldwrap_type_captcha > label {
		font-size: 15px;
		padding-top: 4px;
	}
}

.element3cols .col {
    width: 33.33%;
    float: none;
    margin-right: 0;
}