/**
**      ROOT DEFINITIONS
**/
:root {
    --basic-text-color: #002649;
    --secondColorInverted: #ffffff;
    --thirdColor: #dfe3e8;
    --container-max-width-sm: 540px; /* up to 576px */
    --container-max-width-md: 720px; /* up to 768px */
    --container-max-width-lg: 960px; /* up to 992px */
    --container-max-width-xl:  1160px; /* up to 1200px */
}

/*
        Teaser
 */
.m-teaser {
    height: 544px !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.m-teaser__label-wrapper {
    position: absolute;
}

.m-teaser__teaser-link-wrapper {

}

.m-teaser__top-headline {
    max-height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.m-teaser__headline {
    max-height: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.m-teaser__description {
    max-height: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
}

/*
       Organism teaser
 */
.o-teaser-highlight__header {
    top: 0;
    padding-top: 10px;
}

@media (max-width: 767.98px) {
    .o-teaser-highlight__text-column .m-c-footer__buttons a {
        margin: 0 !important;
    }

    .o-teaser-highlight__text-column .m-c-footer__buttons a:not(:first-of-type) {
        margin: 20px 0 0 !important;
    }
}

@media (min-width: 768px) {
    .o-teaser-highlight__text-column .m-c-footer__buttons a:not(:first-of-type) {
        margin: 20px 0 0 !important;
    }
}


/*
        RESULTPAGE - NEWS TEASER
 */
.resultpage .o-news-teaser {
    padding: inherit !important;
}

.resultpage .o-news-teaser__teaser-items-wrapper:first-child {
    margin-top: 24px !important;
}

/*
        ATOM - A-LINK
 */
.m-c-footer__buttons a.a-link-block:not(:last-child),
.m-c-footer__buttons button.a-link-block :not(:last-child) {
    margin-right: 0 !important;
}

.m-c-footer__buttons a.a-link-block:not(:first-child),
.m-c-footer__buttons button.a-link-block:not(:first-child) {
    margin-left: 0px !important;
}
.m-c-footer__buttons a.a-link-block,
.m-c-footer__buttons button.a-link-block {
    margin: 0 0 20px !important;
    padding: 15px 30px !important;
    width: 100%;
    text-align: center;
}

.m-c-footer__buttons a.a-link-block:last-of-type,
.m-c-footer__buttons button.a-link-block:last-of-type {
    margin-bottom: 0 !important;
}

/** For overwriting original one */
.m-c-footer__buttons a.a-link-block:nth-of-type(3),
.m-c-footer__buttons button.a-link-block:nth-of-type(3) {
    padding-top: 15px;
    margin-left: 0;
}

/*
        HEADER TOP NAVIGATION
 */
.m-header__main-navigation > ul > li.active > a,
.m-mega-menu__sub-navigation-link.sub-navigation-link--active,
.m-header__top-navigation > ul > li.active > a {
    /*color: #f90bf9;*/
    color: var(--firstColor);
}

.m-header__main-navigation > ul > li.active > a.selected,
.m-mega-menu__sub-navigation-link.sub-navigation-link--active.selected,
.m-mega-menu__link--active,
.m-header__top-navigation > ul > li.active > a.selected {
    /*color: #f90bf9 !important;*/
    color: var(--firstColor) !important;
}

/*
        HEADER TOP NAVIGATION LANGUAGE SWITCH
 */
.m-header__language-switch-mobile .active,
.m-header__language-switch .active {
    /*color: #f90bf9 !important;*/
    color: var(--firstColor) !important;
}


/*
        MOBILE MENÜ
 */
li.mm-listitem > a.mm-listitem--active {
    /*color: #f90bf9 !important;*/
    color: var(--firstColor) !important;
}

/****************************************************************
**** IMAGE TEXT
****************************************************************/
/*
    image-text module necessary classes
 */

.image-text-main {
    margin-top: 5rem; /* 80px */
    margin-bottom: 5rem; /* 80px */
    padding: 1.25rem; /* 20px */
    border-width: 2px;
}

.image-text-submain {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.25rem; /* 20px */
    margin-bottom: 1.25rem; /* 20px */
    align-items: center;
}

.image-text-headline {
    border-width: 2px;
    padding: 0.75rem; /* 12px */
}

.image-text-headline span div {
    padding-right: 1.25rem;
}

.text-left {text-align: left;}
.text-center {text-align: center;}
.text-right {text-align: right;}

.image-text-main-frontend .h1 {
    color: var(--secondColor);
    line-height: normal;
}

.image-text-main-frontend .h2 {
    color: var(--secondColor);
    line-height: normal;
}

.image-text-main-frontend .h3 {
    color: var(--secondColor);
    line-height: normal;
}

.image-text-main-frontend .h4 {
    color: var(--secondColor);
    background: white;
    margin: 0;
    padding: 0;
}

.image-text-main-frontend .h4 .cke_editable p {
    color: var(--secondColor);
    width: 688px;
}

.image-text-main-frontend .h5 {
    color: var(--firstColor);
    line-height: normal;
}

.image-text-main-frontend .h6 {
    color: var(--firstColor);
    line-height: normal;
}

.image-text-main-frontend .h7 {
    color: var(--secondColor);
    line-height: normal;
}

.image-text-headline .h5 {
    color: var(--firstColor);
}

.pr-5 {
    padding-right: 1.25rem; /* 20px */
}

.my-2 {
    margin-top: 0.5rem; /* 8px */
    margin-bottom: 0.5rem; /* 8px */
}

.image-text-selector {
    vertical-align: middle;
    margin-left: 0.75rem; /* 12px */
}

.flex {display: flex;}
.grid {display: grid;}
.grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
.grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.gap-2 {gap: 0.5rem;}
.gap-4 {gap: 1rem;}
.gap-6 {gap: 1.5rem;}

.image-text-imageblock {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0.25rem; /* 4px */
    filter: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
}

.image-text-edit-link {
    margin-top: 0.5rem; /* 8px */
    margin-bottom: 1.25rem; /* 20px */
}

.image-text-edit-text {
    margin-top: 1rem; /* 16px */
    margin-bottom: 0.5rem; /* 8px */
    vertical-align: middle;
}

.image-text-main-frontend {
    padding-left: 1rem; /* 16px */
    padding-right: 1rem; /* 16px */
    margin: 5rem auto;
    font-size: .9375rem; /* 15px */
    font-weight: 400;
    letter-spacing: .34px;
    font-style: normal;
    color: var(--basic-text-color);
}

/*
 *  Max width of image text module
 */

@media (min-width: 576px) {
    .image-text-main-frontend {
        max-width: var(--container-max-width-sm);
    }
}

@media (min-width: 768px) {
    .image-text-main-frontend {
        max-width: var(--container-max-width-md);
        font-size: 1rem; /* 16px */
    }
}

@media (min-width: 992px) {
    .image-text-main-frontend {
        max-width: var(--container-max-width-lg);
    }
}

@media (min-width: 1200px) {
    .image-text-main-frontend {
        max-width: var(--container-max-width-xl);
    }
}

.image-text-frontend-linkimage:hover {
    text-decoration-line: none;
    filter: saturate(1.5);
}

.image-text-frontend-content {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

.image-text-frontend-labelbg {
    position: absolute;
    background-color: var(--firstColor);
    z-index: 0;
    width: 1.25rem;
    height: 0.5rem;
    top: 0.75rem;
    left: -0.95rem;
    transform: rotate(-20deg);
}

.image-text-frontend-labeltext {
    position: absolute;
    background-color: var(--firstColor);
    color: rgb(255 255 255);
    z-index: 30;
    top: 1rem;
    left: -1rem;
    padding: 0.5rem 0.75rem;
    font-weight: 700;
    font-style: italic;
}

.image-text-frontend-link {
    color: rgb(107 114 128);
    font-weight: 500;
    font-style: italic;
    text-transform: uppercase;
    margin-top: 0.75rem; /* 12px */
    margin-bottom: 0.75rem; /* 12px */
    transition-duration: 200ms;
    padding-top: 38px;
}

.image-text-frontend-link:hover {
    padding-left: 1rem; /* 16px */
}

.image-text-frontend-linktext {
    color: var(--firstColor);
    font-size: 1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
    margin-right: 0.5rem; /* 8px */
}

/*
    media
 */

.image-text-main-frontend p {
    margin: 0;
}

.image-text-frontend-leadtext {
    gap: 0.5rem;
}

@media (min-width: 768px) {
    .image-text-frontend-leadtext {
        gap: 1rem;
    }
}

@media (min-width: 768px) {
    .md-grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
    .md-grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .md-grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (min-width: 992px) {
    .lg-grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
    .lg-grid-cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .lg-grid-cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
}

.image-text-frontend-image-gap {
    gap: 1.5rem;
    margin-top: 1rem; /* 16px */
    margin-bottom: 0.75rem; /* 12px */
}

/* overwrite css */
/* firstColor */
/* #f90bf9 */

.m-header__main-navigation > ul > li.active > a,
.m-mega-menu__sub-navigation-link.sub-navigation-link--active,
.m-header__top-navigation > ul > li.active > a,
.o-opener__tab-headlines svg.fa-chevron-double-down,
.o-opener__headline,
ul li:before,
.m-special-teaser__info-wrapper svg,
.o-standard-teaser__teaser-subheadline,
.a-link--text-link:before,
.o-stage__sub-headline.h5,
.a-link--ghost:focus,
.a-link--ghost:hover {
    color: var(--firstColor) !important;
}

.m-c-header__subheadline,
.o-opener__sub-headline,
.tab-pane .h5,
.m-table-opener__opener-headline-arrow span.icon,
.o-downloads__text-link:before {
    color: var(--firstColor) !important;
}

.o-linecard__content .o-linecard__dots li.slick-active,
.o-linecard__content .o-linecard__dots li:hover,
.m-teaser__label,
.m-teaser__label-shadow,
.m-sticky-contact__shop-item {
    background-color: var(--firstColor) !important;
}

.o-wysiwyg-image__label,
.o-wysiwyg-image__label-shadow {
    background-color: var(--firstColor);
}

.o-testimonial__content .o-testimonial__dots li.slick-active,
.o-testimonial__content .o-testimonial__dots li:hover,
a.dropdown-item.mdb-select:hover,
a.dropdown-item:hover,
.o-stage__dots li.slick-active,
.o-stage__dots li:hover {
    background: var(--firstColor) !important;
}

.a-link--primary:focus, .a-link--primary:hover, .a-link--secondary:focus, .a-link--secondary:hover {
    border-color: var(--firstColor) !important;
    color: var(--firstColor) !important;
}

.o-linecard__content .slider-arrows span,
.m-blurb rect, .m-blurb path, .m-blurb circle {
    fill: var(--firstColor) !important;
}



/* secondColor */
/* #002649 */

ul,
.o-standard-teaser__teaser-headline,
.o-breadcrumbs__item,
.o-breadcrumbs__links,
a.a-link.a-link--text-link.m-teaser__link,
a.a-link.a-link--text-link.o-linecard__link,
a.a-link.a-link--text-link.o-standard-teaser__teaser-link,
.m-teaser__headline,
.m-teaser__description,
.m-header__top-navigation-link,
svg.svg-inline--fa.fa-search.fa-w-16.a-icon {
    color: var(--secondColor) !important;
}

.m-c-header__headline,
.m-header__main-navigation-ul li .m-header__main-navigation-link:hover,
.m-header__main-navigation-link.selected,
p a:hover {
    color: var(--firstColor) !important;
}

.m-sticky-contact__mail-item,
.o-footer,
.m-special-teaser__info-wrapper,
.m-mega-menu {
    background-color: var(--secondColor) !important;
}

.m-special-teaser__image-wrapper {
    background-image: linear-gradient(0deg,var(--secondColor),transparent 55%,transparent);
}

.a-link--primary {
    border-color: var(--secondColor) !important;
    color: var(--secondColor) !important;
}

.m-mega-menu__main-navigation-item,
.o-testimonial {
    background: var(--secondColor) !important;
}

.o-newsletter {
    background: transparent linear-gradient(90deg,var(--firstColor),var(--secondColor)) 0 0 no-repeat padding-box;
}

/* OVERWRITES */
.h1 {
    color: var(--secondColor) !important;
}

.h2 {
    color: var(--secondColor) !important;
}

.h3 {
    color: var(--secondColor) !important;
}

.h4 {
    color: var(--secondColorInverted) !important;
    background-color: var(--secondColor) !important;
}

.h5 {
    color: var(--firstColor) !important;
}

.h6 {
    color: var(--firstColor) !important;
}

.h7 {
    color: var(--thirdColor) !important;
}

.o-stage__headline {
    color: #ffffff !important;
}

.m-header__main-navigation-link {
    color: var(--secondColor) !important;
}
