/*
----------------------
      MAINHEADER
----------------------
*/


header {
    position: relative;
    top: -55px;
}

header .moduletable {
    margin-bottom: 8rem;
}

div.hero-banner {
    height: 900px;
    position: relative;
}

div.hero-banner.hero-banner-small {
    height: 400px;
    background-position: center center !important;
}

@media (min-width: 768px) {
    div.hero-banner.hero-banner-small {
        height: 600px;
        background-position: top center !important;
    }
}

div.hero-banner::before {
    content: "";
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    display: inline-block;
    position: absolute;
}


div.hero-banner-content {
    display: grid;
    grid-template-areas: "headline headline headline headline""subheadline subheadline subheadline subheadline""teaser teaser teaser teaser";
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto auto auto;
    padding-top: 7rem;
    position: relative;
    color: white;
    z-index: 99;
}

@media (min-width: 768px) {
    div.hero-banner-content {
        grid-template-areas: "headline headline media media""subheadline subheadline media media""teaser teaser media media";
        padding-top: 18rem;
    }
}

h1.hero-banner-headline {
    grid-area: headline;
    margin-bottom: 3rem;
    hyphens: auto;
}

h2.hero-banner-subheadline {
    grid-area: subheadline;
    font-weight: var(--font-weight-regular);
    margin-bottom: 3rem;
    hyphens: auto;
}

@media (min-width: 768px) {
    h2.hero-banner-headline {
        font-size: calc(var(--font-size-basic) * 3);
    }

    h2.hero-banner-subheadline {
        hyphens: none;
    }
}

div.site-introduction a {
    color: white;
    text-decoration: underline;
}

div.site-introduction a:hover {
    text-decoration: none;
    color: var(--accent-color);
}

p.hero-banner-teaser {
    grid-area: teaser;
    margin-bottom: 3rem
}

div.hero-banner-gratient {
    background-image: linear-gradient(to top, rgb(255, 102, 0) 0%, rgba(220, 119, 22, 0) 100%);
    position: absolute;
    bottom: 0;
    width: 100vw;
    height: 15vh;
}

div.site-introduction {
    background: var(--primary-color);
    padding: 3rem 0 1rem 0;
    color: white;
    position: relative;
}

div.site-introduction::after {
    content: '';
    width: 100%;
    height: 5rem;
    position: absolute;
    border-style: solid;
    border-width: 100px 100vw 0 0;
    border-color: var(--primary-color) transparent transparent var(--primary-color);
    bottom: -100px;
}

p.site-introduction-text {
    grid-area: text;
    margin-bottom: 2rem
}

div.hero-banner-deeplinks {
    z-index: 99;
    position: relative;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: repeat(3, 1fr);
}

@media (min-width: 768px) {
    div.hero-banner-deeplinks {
        grid-template-rows: repeat(3, 1fr);
        grid-template-columns: auto auto auto;
        justify-content: flex-start;
    }
}

div.hero-banner-deeplinks a {
    font-size: var(--font-size-plus);
    color: white;
    border: 1px solid white;
    padding: .8rem;
}

div.hero-banner-deeplinks a:hover {
    background: white;
}

div.hero-banner-deeplinks a:hover {
    color: var(--primary-color);
}