
* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;

    /*
     * Ein kleiner Scrollimpuls soll zur nächsten
     * kompletten Seite springen.
     */
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
    background: #111;
}


/* =========================================================
   SEITE
   ========================================================= */
.page {
    position: relative;

    min-height: 100vh;

    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.page--one {
    height: 100vh;
    overflow: hidden;
}

.page--two {
    min-height: 100vh;
}


/* =========================================================
   HINTERGRUND
   ========================================================= */

.background {
    position: fixed;
    inset: 0;

    z-index: 0;
    overflow: hidden;

    pointer-events: none;
}

.background__layer {
    position: absolute;
    inset: 0;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.background__layer--one {
    background-image: url("bild1.jpeg");
}

.background__layer--two {
    background-image: url("bild2.jpeg");
}


/* =========================================================
   HINTERGRUND-EFFEKT: HOCHSCHIEBEN
   ========================================================= */

.background--slide-up
.background__layer--two {
    animation: background-slide-up linear both;
    animation-timeline: scroll(root);
    animation-range: 0 100vh;
}

@keyframes background-slide-up {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}


/* =========================================================
   ALTERNATIVE: VON RECHTS HEREINSCHIEBEN

   Einfach die Klasse am .background austauschen:

   background background--slide-left
   ========================================================= */

.background--slide-left
.background__layer--two {
    animation: background-slide-left linear both;
    animation-timeline: scroll(root);
    animation-range: 0 100vh;
}

@keyframes background-slide-left {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}


/* =========================================================
   ALTERNATIVE: VON LINKS HEREINSCHIEBEN
   ========================================================= */

.background--slide-right
.background__layer--two {
    animation: background-slide-right linear both;
    animation-timeline: scroll(root);
    animation-range: 0 100vh;
}

@keyframes background-slide-right {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}


/* =========================================================
   ALTERNATIVE: ÜBERBLENDEN
   ========================================================= */

.background--fade
.background__layer--two {
    animation: background-fade linear both;
    animation-timeline: scroll(root);
    animation-range: 0 100vh;
}

@keyframes background-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/* =========================================================
   CONTENT
   ========================================================= */
.page__content {
    position: relative;
    z-index: 1;

    width: 100%;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 5vw;
    padding: 5vw;
}

.info-box {
    width: 33.333%;
    padding: 2.5rem;

    background: rgba(70, 70, 70, 0.72);
    backdrop-filter: blur(4px);

    border-radius: 4px;
}

.info-box--right {
    width: 33.333%;
}

h1,
h2 {
    margin-top: 0;
}

p {
    line-height: 1.6;
}

