body {
    margin: 0;
    background-color: orange;
}

p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#open-nav {
    display: none;
}
input[type="checkbox"] {
    display: none;
}

.wrapper {
    width: min(65rem, 100% - 4rem);
    margin-inline: auto;
}

.parallax {
    position: relative;
    display: grid;
    grid-template-areas: 'stack';
    min-height: 75vh;
}

img {
    display: block;
    max-width: 100%;
}

.parallax > * {
    grid-area: stack;
    animation: parallax linear forwards;
    animation-timeline: scroll();
    animation-range: 25% 75%;
}

header {
    width: 100%;
    display: flex;
    align-items: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.logo {
    width: 100px;
    aspect-ratio: 1;
    margin-right: auto;
    padding: 2em;
}

nav ul {
    font-size: 24px;
    list-style-type: none;
    margin: 0;
    padding: 2em 2em 2em 0;
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: end;
}

nav a {
    color: #fff;
    text-decoration: none;
}

.hero {
    font-size: 36px;
    display: flex;
    gap: 2em;
    flex-wrap: wrap;
    margin-block-start: max(12vh, 4rem);
    color: #fff;
}
.hero img {
    width: 10rem;
    box-shadow: .25em .25em 0 #fff;
}
.hero p, .hero h1 {
    margin: 0;
}

.hero p {
    margin-bottom: 1em;
}

.parallax__bg-one {
    z-index: -1;
    --parallax-distance: -1;
}

.parallax__bg-two {
    z-index: -2;
    --parallax-distance: 1.5;
}

.parallax__bg-three {
    z-index: -3;
    --parallax-distance: 2;
}

.parallax__bg-one,
.parallax__bg-two,
.parallax__bg-three {
    min-height: 100vh;
    min-width: 100%;
    object-fit: cover;
}

.button {
    background-color: #fff;
    color: #007eff;
    border: none;
    padding: .5em 1em;
    border-radius: 0.25rem;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

main {
    margin-block-start: 2em;
    line-height: 1.5;
}

@keyframes parallax {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(calc(var(--parallax-distance) * 50px));
    }
    
}

@media (max-width: 768px) {
    .parallax > * {
        animation-range: entry 0% 40%;
    }
    .hero {
        font-size: 24px;
        gap: 1em;
    }
    .parallax__bg-one {
        --parallax-distance: -1.5;
    }
    .parallax__bg-two {
        --parallax-distance: .5;
    }
    .parallax__bg-three {
        --parallax-distance: 3;
    }

    nav {
        max-height: 0;
        width: 0;
        overflow: hidden;
        transition: max-height .5s linear;
    }
    nav ul {
        display: none;
    }

    label input[type="checkbox"]:checked {
        padding: 4em;
    }

    .hamb {
        padding: 2em;
        cursor: pointer;
        position: relative;
        float: right;
    }
    .hamb_line {
        left: 0;
        position: absolute;
        width: 100%;
        height: 0.25rem;
        background: #fff;
        border-radius: 0.125rem;
        transition: all 0.3s ease-in-out;
    }

    .hamb_line::before, .hamb_line::after {
        left: 0;
        content: '';
        position: absolute;
        width: 100%;
        height: 0.25rem;
        background: #fff;
        border-radius: 0.125rem;
        transition: all 0.3s ease-in-out;
    }
    .hamb_line::before {
        top: 1em;
    }
    .hamb_line::after {
        top: -1em;
    }



    #open-nav:checked ~ nav{
        display: block;
        transform: translateX(-2rem);
        position: absolute;
        top: 0;
        max-height: 100%;
        width: 100svw;
        z-index: 100;
        background: #007eff;
        overflow: hidden;
    }

    #open-nav:checked ~ nav ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 6em 0em;
    }
    #open-nav:checked ~ nav ul li {
        width: 100%;
        text-align: center;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
    }
    #open-nav:checked ~ nav a {
        display: block;
        padding: 1em 0em;
        width: 100%;
        height: 100%;
        color: #fff;
    }

    #open-nav:checked ~ .hamb .hamb_line {
        background: transparent;
        z-index: 1000;
    }
    #open-nav:checked ~ .hamb .hamb_line::before {
        transform: rotate(-45deg);
        top:0;
    }
    #open-nav:checked ~ .hamb .hamb_line::after {
        transform: rotate(45deg);
        top:0;
    }
}