header {
    height: 450px;
}

.footer-block a {
    color: #fff;
}

.reference img {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    height: auto;
}

.content-text strong, .timeline-block-item strong, .content-head strong {
    color: #007ac2;
    font-weight: 700;
}

.contacts h3 {
    font-family:corporateA;
    font-size: 45px;
    line-height: 40px;
    font-weight: 100;
    margin-bottom: 40px;
}
.content-head {
    margin-bottom:100px;
}

h5 > p {
    margin-bottom: 40px;
}

.content-list .left-text p, .content-list .left-text h2, .m-content .m-body h3 {
    font-size: 26px;
    line-height: 32px;
    color: #007ac2;
    font-family: corporateADemi;
    word-wrap: break-word;
    margin-bottom: 1rem;
}

.content-list .left-text {
    text-align: left;
}

.content-block-item {
    height: 330px;

}
.content-list .right-text ul {
    position: relative;
    text-indent: -5px;
    margin-left: 10px;
}
.content-list .right-text ul:before {
    width: 0px;
}
.content-head h2, h1, .content-text h3 {
    font-family: corporateA;
}

.language-block {
    position: absolute;
    top: 4px;
    right: 0px;
    z-index: 1;
}
.news-block .post-item .sub-post a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #d7d7d7;
    font-size: 16px;
    line-height: 24px;
    font-family: corporateS;
    font-weight: 700;
}

.side-contact {
    position: fixed;
    right: 0;
    top: 36vh;
    z-index: 100;
    background: transparent;
}
.contact-box div {
    background-color: #007ac2;
    float: right;
}
.contact-box {
    float: right;

}
.contact-box li {
    margin-top: 3px;
}
.contact-box img {
    width: 45px;
}
.language-block ul li {
    display: inline-block;
    font-family: corporateS;
}
.language-block ul li a {
    font-family: corporateS;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase;
    font-size: 19px;
    font-weight: 700;
    border: 2px solid #007ac2;
    color: #007ac2;
    width: 50px;
    height: 30px;
}
.language-block ul li.active {
    background-color: #007ac2;
    color: #fff;
}
.language-block ul li.active a {
    color: #fff;
}
.slick-slider {
    margin-bottom: 2%;
}

.slick-slide img {
    display: block;
    width: 100%;
    height: auto;
}
.slick-header > div{
    height: 80vh !important;
    min-height: 450px;
}


/*img {
    min-width: 100%;
}*/

.sr-only {
    position: absolute;
    left: -9999999px;
}

.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
    display: block;
    max-width: 100%;
    height: auto;
}

.carousel {
    position: relative;
    margin-bottom: 4%;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-inner > .item {
    position: relative;
    display: none;
    transition: .6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
    line-height: 1;
}

@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-inner > .item {
        transition: -webkit-transform .6s ease-in-out;
        transition: transform .6s ease-in-out;
        transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        perspective: 1000px;
    }

    .carousel-inner > .item.next,
    .carousel-inner > .item.active.right {
        left: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    .carousel-inner > .item.prev,
    .carousel-inner > .item.active.left {
        left: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    .carousel-inner > .item.next.left,
    .carousel-inner > .item.prev.right,
    .carousel-inner > .item.active {
        left: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
    display: block;
}

.carousel-inner > .active {
    left: 0;
}

.carousel-inner > .next,
.carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%;
}

.carousel-inner > .next {
    left: 100%;
}

.carousel-inner > .prev {
    left: -100%;
}

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
    left: 0;
}

.carousel-inner > .active.left {
    left: -100%;
}

.carousel-inner > .active.right {
    left: 100%;
}

.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    filter: alpha(opacity=50);
    opacity: .5;
}

.carousel-control.left {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
    background-repeat: repeat-x;
}

.carousel-control.right {
    right: 0;
    left: auto;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
    background-repeat: repeat-x;
}

.carousel-control:hover,
.carousel-control:focus {
    color: #fff;
    text-decoration: none;
    filter: alpha(opacity=90);
    outline: 0;
    opacity: .9;
}

.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    margin-top: -10px;
}

.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px;
}

.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
    width: 20px;
    height: 20px;
    font-family: serif;
    line-height: 1;
}

.carousel-control .icon-prev:before {
    content: '\2039';
}

.carousel-control .icon-next:before {
    content: '\203a';
}

.carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none;
}

.carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #000 \9;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    border-radius: 10px;
}

.carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff;
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    /*z-index: 10;*/
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: left;
    font-family: corporateA;
    font-size: 2em;

}

.carousel-caption .btn {
    text-shadow: none;
}

@media screen and (min-width: 768px) {


    .carousel-control .glyphicon-chevron-left,
    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-prev,
    .carousel-control .icon-next {
        width: 30px;
        height: 30px;
        margin-top: -15px;
        font-size: 30px;
    }

    .carousel-control .glyphicon-chevron-left,
    .carousel-control .icon-prev {
        margin-left: -15px;
    }

    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-next {
        margin-right: -15px;
    }

    .carousel-caption {
        right: 0%;
        left: 0;
        padding-bottom: 30px;
        right: auto;
        /* text-align: right; */
        /* background-color: black; */
        /* max-width: 300px; */
        left: 30%;
        padding: 5px;
        top: 22px;
    }

    .carousel-indicators {
        bottom: 20px;
    }
}


.timeline-block-item .date {
    -webkit-align-items: end;
    width: 135px;
}





@media (max-width: 991.98px) {
    .side-contact {
        display: none;
    }
}

.img-responsive.img-width, .navigation .logo img {
    /*width: 130%;*/ /* very bad solution */
}
.navigation .top-nav > ul > li {
    margin: 0;
    margin-right: 40px;
}
.content-head h2, header h1, .content-head h1 {
    font-size: 45px;
    line-height: 50px;
    font-weight: 400;
}



.navigation {
    position: relative;
    z-index: 1000;
}
.navigation .top-nav ul .dropdown .dropdown-menu {
    left: unset;
    z-index: unset;
    float: none;
    padding: unset;
    margin: unset;
    border-left: 5px solid #6db2db;
    text-align: center;
    border-radius: 0;
}
@media screen and (max-width: 992px) {
    .navigation .top-nav ul .dropdown .dropdown-menu {
        left: unset;
        z-index: unset;
        float: none;
        padding: unset;
        margin: unset;
        border: none;
        text-align: center;
        border-radius: 0;
        margin-bottom: 20px;
    }
    .navigation .top-nav ul .dropdown>a {
        display: inline-block;
        position: relative;
    }
    .navigation .top-nav ul .dropdown>a:after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 10px;
        border-right: 1px solid  #007ac2;
        border-bottom: 1px solid  #007ac2;
        position: absolute;
        top: 15px;
        right: -15px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}
.headerslider .carousel-caption {
    top: 50%;
    transform: translateY(-50%);
    font-family: unset;
    font-size: 18px;
    padding: 0;
    padding-left: 5px;
    bottom: 90px;
}
.headerslider .title {
    font-weight: bold;
}

@media (max-width: 991.98px) {
    .navigation .top-nav ul .dropdown .dropdown-menu li {
        border-bottom: none;
        margin-right: 0;
    }
    .navigation .top-nav ul li {
        margin-right: 0;
    }
}
.grafik img {
    width: 100%;
    height: auto;
}

.w-100 {
    width: 100%!important;
    height: auto;
}
.tx-agreement-form form input[type=text], .tx-agreement-form form select {
    width: 100%;
    max-width: 400px;
}
.tx-agreement-form form input, .tx-agreement-form form select {
    margin-bottom: 30px;
    padding: 5px 10px;
}
.tx-agreement-form form input, .tx-agreement-form form select, .tx-agreement-form form textarea {
    border: 1px solid #007ac2;
}
::selection {
    background-color: #007ac2;
    color: #fff;
}
.head-slider img.slider-logo {
    max-width: 300px;
}
.mediaelement-image img{
    max-width: 100%;
    height: auto;
}

.content-error-btn {
    display: inline-block;
    background-color: #007ac2;
    font-family: corporateS;
    font-weight: 700;
    color: #fff;
    padding: 5px 25px;
}
.partners-slider-item img.partners-logo {
    height: auto;
    width: auto;
    max-height: 50px;
    max-width: 100%;
    margin: 0 auto;
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
}

@media (max-width: 1199.98px) {
    .language-block {
        position: absolute;
        top: 10px;
        right: -20px;
        z-index: 1;
    }

    .language-block ul li a {
        font-family: corporateS;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        text-transform: uppercase;
        font-size: 18px;
        font-weight: 700;
        border: 2px solid #007ac2;
        color: #007ac2;
        width: 35px;
        height: 22px;
    }
}
@media (max-width: 991.98px) {
    .language-block {
        position: absolute;
        top: -44px;
        right: 73px;
        z-index: 1;
    }
}
.text-muted {
    display: none!important;
}


.modal-container {
    position: fixed;
    right: 0;
    top: 64px;
    bottom: 0;
    transition: right 0.8s ease-out;
    z-index: 99999;
}
.modal-container.active {
    right: 400px !important;
}
.modal-container.active .triangle .close {
    display: block;
}
.modal-container.active .triangle .info-icon {
    display: none;
}
.modal-container.active .m-dialog {
    opacity: 1;
}
.modal-container .triangle {
    display: block;
    position: absolute;
    cursor: pointer;
    z-index: 9999;
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-right: solid 60px #007ac2;
    border-bottom: solid 60px transparent;
    border-top: solid 60px transparent;
}
.modal-container .triangle .close {
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    margin-left: 20px;
    width: 36px;
    height: 36px;
    overflow: hidden;
    opacity: 1 !important;
}
.modal-container .triangle .close::before,
.modal-container .triangle .close::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: white !important;
}
.modal-container .triangle .close::before {
    transform: rotate(45deg);
}
.modal-container .triangle .close::after {
    transform: rotate(-45deg);
}
.modal-container .triangle .info-icon {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    margin-left: 10px;
    background: url(/typo3conf/ext/template/Resources/Public/Images/i-fuer_sunf.svg);
}
.modal-container .m-dialog {
    z-index: 9999;
    width: 400px;
    height: auto;
    opacity: 0;
    transition: opacity 0.8s ease-out;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
.modal-container .m-dialog .m-content {
    border: 3px solid #007ac2;
    position: absolute;
    height: fit-content;
    overflow: hidden;
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
    background-color: #ffffff;
}
.modal-container .m-dialog .m-content .m-header {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: none;
    padding: 0;
}
.modal-container .m-dialog .m-content .m-header .logo {
/*    height: 80px;
    width: auto;
    object-fit: cover;*/
    margin: 20px auto;
}
.modal-container .m-dialog .m-content .m-header .preview {
    width: 100%;
    height: 160px;
    object-fit: cover;
}
.modal-container .m-dialog .m-content .m-body {
    padding: 15px 15px 80px;
}
.modal-container .m-dialog .m-content .m-body h3 {
    color: #007ac2;
    margin-bottom: 25px;
}
.modal-container .m-dialog .m-content .read-more {
    display: inline-block;
    width: 235px;
    bottom: 0;
    left: 0;
    padding: 10px 50px;
    color: white;
    background-color: #007ac2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}
.content-teaser, .content-info {
    font-family: corporateS;
}

.content-teaser {
    background-color: #007ac2;
    color: #fff;
    margin-bottom: 100px;
}
.content-wrap {
    padding-top: 30px;
    padding-bottom: 30px;
}

.content-teaser h3 {
    font-family: corporateADemi;
    margin-bottom: 30px;
}

.content-teaser img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

.content-teaser-btn {
    display: inline-block;
    background-color: #fff;
    font-family: corporateS;
    font-weight: 700;
    color: #007ac2;
    padding: 5px 25px;
    float: right;
    margin-top: 30px;

}

.landingpage .logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


.content-head-btn-left {
    display: inline-block;
    background-color: #007ac2;
    font-family: corporateS;
    font-weight: 700;
    color: #fff;
    padding: 5px 25px;

}

.news-landing {
    font-family: corporateS;
}

.list-subheadline {
    font-family: corporateS;
}


@media (max-width: 600px) {
    .modal-container {
        position: fixed;
        right: 0;
        top: 14px;
        bottom: 0;
        transition: right 0.8s ease-out;
        z-index: 99999999999999999999999;
    }
    .modal-container.active {
        right: 300px !important;
    }
    .modal-container .m-dialog {
        z-index: 9999;
        width: 300px;
        height: 90vh;
        opacity: 0;
        transition: opacity 0.8s ease-out;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
    }
    .modal-container .m-dialog .m-content .m-header {
        display: none;
        flex-direction: column;
        width: 100%;
        border: none;
        padding: 0;
    }
}

.contacts .no-padding-left {
    padding-left: 0;
}

.contacts img {
    width: 100%;
    height: auto;
}


@media (max-width: 1024px) {
    .contacts .row {
        flex-direction: column;
    }

    .contacts .col-lg-6 {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .contacts img {
        margin-left: 0!important;
        margin-bottom: 2rem;
    }
    .contacts .no-padding-left {
        padding-right: 0;
    }
}



.grafik img {
    width: auto;
}