.hero {
    padding-bottom: 4rem;
    position: relative;
    z-index: 4;

    @media (min-width: 979px) {
        padding-bottom: 0;
    }
}

.hero__picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1;
    display: block;
}

.hero__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.hero--light {
    background-color: var(--aok-pastel-green);
}

.hero--with-bottom-image {
    padding: 4rem 0 24rem;
    margin-bottom: 10rem;

    @media (min-width: 979px) {
        padding: 10rem 0;
        margin-bottom: 0;
    }

    @media (min-width: 1440px) {
        padding: 14rem 0;
    }
}

.hero--welcome {
    padding: 4rem 0;

    @media (min-width: 979px) {
        padding: 2rem 0 8rem;
        margin-bottom: 0;
    }
}

.frame-type-customer_pi4 .hero--welcome,
.frame-type-customer_pi6 .hero--welcome {
    position: relative;
    z-index: 1;
    padding-bottom: 8rem;

    @media (min-width: 979px) {
        padding-bottom: 12rem;
    }
}

.hero--with-top-image {
    margin-top: 16rem;
    padding: 9rem 0;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        margin-top: 6rem;
        padding-bottom: 9rem;
        padding-top: 14rem;
    }
}

.hero__bottom-image-wrapper {
    margin-top: 16rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        margin-top: 0;
    }
}

.hero__top-image {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -23.3rem);
    max-width: 20rem;

    @media (min-width: 979px) {
        left: 0;
        transform: translate(0, -28.9rem);
        /* transform: translate(0%, -36.36rem); */
    }

    @media (min-width: 1440px) {
        max-width: 30rem;
        left: 0;
        transform: translate(0%, -36.36rem);
    }
}

.hero__top-image--right {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -25.9rem);
    max-width: 20rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        max-width: 30rem;
        right: 0%;
        transform: translate(0%, -40.4rem);
    }
}

.hero__bottom-image {
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 26.45rem);
    max-width: 20rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        right: 0;
        transform: translate(0%, 16.68rem);
    }


    @media (min-width: 1440px) {
        max-width: 30rem;
        right: 0;
        transform: translate(0%, 20rem);
    }
}

.hero__icon {
    width: 6rem;
    height: 6rem;
    margin-bottom: 2rem;
    color: var(--aok-green);
}

.hero__icon-ranking {
    margin: 0 auto;
    max-width: 170px;
    max-height: 170px;
    align-self: flex-end;

    @media (min-width: 979px) {
        max-width: 270px;
        max-height: 270px;
    }
}

.hero__welcome > .right:has(.hero__icon-wrap) {
    @media (min-width: 979px) {
        align-items: center;
        justify-content: center;
    }
}

.hero__icon-wrap {
    position: relative;
    margin: 0 auto;
    transform: translateY(calc(4rem + 4px));
    display: flex;

    @media (min-width: 979px) {
        transform: none;
    }
}

.hero__icon-ranking-bg {
    position: absolute;
    z-index: -1;
    width: 200%;
    height: 200%;
    object-fit: contain;
    top: 0;
    left: 50%;
    transform: translate(-50%, -20%);

    @media (min-width: 979px) {
        width: 300%;
        height: 300%;
        transform: translate(-50%, -30%);
    }
}

.hero__container {
    position: relative;
}

.hero__welcome {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2rem;

    @media (min-width: 979px) {
        grid-template-columns: 1.5fr 1fr;

        .left,
        .right {
            padding-top: 6rem;
        }
    }

    @media (min-width: 1440px) {
        grid-template-columns: 2.5fr 1fr;
    }
}

.hero__welcome--half {
    @media (min-width: 979px) {
        grid-template-columns: 1fr 1fr;
    }

    @media (min-width: 1440px) {
        grid-template-columns: 1fr 1fr;
    }
}

.hero__alert {
    grid-column: span 2;

    .alert {
        max-width: 800px;
        margin: 0 auto;
    }
}

.hero__welcome > .right {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1rem;
}

.hero__container--flex {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 4rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        flex-direction: row;
    }
}

.hero__heading {
    line-height: 1.2;

    @media (min-width: 1440px) {
        max-width: 30rem;
    }
}

.hero__subline {
    margin-bottom: 1rem;
}

.hero__content {
    margin-top: 2rem;
    line-height: 1.5rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        max-width: 30rem;
    }
}

.hero__content h3 {
    font-weight: 600;
}

.hero__button-wrapper {
    margin-top: 2rem;
}

.hero__extra-image {
    overflow: visible;
    border-radius: 999rem;
    max-width: 20rem;

    @media (min-width: 979px) {
        /* Do notebook/ small desktop stuff */
        max-width: 25rem;
    }
}
