body {
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

main {
    height: 100vh;
}

header {
    margin: 0;
    position: fixed;
    top: 0;
    height: 130px;
    width: 100%;
    z-index: 2;
    background-color: transparent;
    overflow: visible;
    padding-bottom: 20px;
}

nav {
    position: relative;
    background: linear-gradient(0deg, transparent, #000, #444);
    height: 120px;
    width: 100%;
    top: -18px;
    &::after {
        content: "";
        position: absolute;
        
        top: -10px;
        left: -10px;
        width: calc(100% + 40px);
        height: calc(100% + 20px);
        background: linear-gradient(180deg,  #222, #666, transparent),
        white;
        
        filter: blur(30px );
    }
}


section {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    height: auto;
    margin-top: 2rem;
}

.hero-image {
    top: 8rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10rem;
}

.gallery-item {
    position: relative;
    

}
.gallery-item.breakfast::before {
    position: absolute;
    content: "";
    background-image: url("breakfast400px.webp");
    background-size: cover;
    top: -1.5rem;
    left: 2rem;
    right: -.3rem;
    bottom: -.3rem;
    padding: .4rem;
    border-radius: 20px;
    filter: blur(12px) saturate(1.5) opacity(.3);
    z-index: -1;
    line-height: 100%;
}
.gallery-item.lunch::before {
    position: absolute;
    content: "";
    background-image: url("lunch400.webp");
    background-size: cover;
    top: -1.5rem;
    left: 2rem;
    right: -.3rem;
    bottom: -.3rem;
    padding: .4rem;
    border-radius: 20px;
    filter: blur(12px) saturate(1.5) opacity(.3);
    z-index: -1;
    line-height: 100%;
}
.gallery-item.dinner::before {
    position: absolute;
    content: "";
    background-image: url("dinner400.webp");
    background-size: cover;
    top: -1.5rem;
    left: 2rem;
    right: -.3rem;
    bottom: -.3rem;
    padding: .4rem;
    border-radius: 20px;
    filter: blur(12px) saturate(1.5) opacity(.3);
    z-index: -1;
    line-height: 100%;
}

.gallery-item img {
    width: 100%;
    height: auto;
    max-width: 400px;
    border-radius: 20px;
}

.wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    &::before {
        content: "";
        position: absolute;
        background: #bbbbbb88;
        filter: drop-shadow(5px 5px 10px #555);
        height: calc(100% + 2rem);
        width: 100vw;
        top: 0px;
        z-index: -2;
    }
}

.gallery {
    max-width: 85vw;
    display: grid;
    grid-template-areas: 'breakfast lunch dinner';
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 20px;
}

.gallery  img {
    border-radius: 20px;
}

.breakfast {
    grid-area: breakfast;
}

.lunch {
    grid-area: lunch;
}

.dinner {
    grid-area: dinner;
}

.hero-image img {
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 90vw;
    overflow: visible;
}

div.logo {
    position: relative;
    margin: 1rem 2rem;
    top: 1.5rem;
    left: 1.5rem;
    height: 96px;
    width: 96px;
    z-index: 2;
    display: flex;
    &::after {
        display: inline;
        position: absolute;
        content: "R";
        color: transparent;
        background: linear-gradient(60deg, #FF930F, #FFF95B, #C8600A);
        background-clip: text;
        font-size: 3rem;
        top: 50%;
        left: 50%;
        translate: -62% -62%;
        z-index: 2;
    }
}

.hero-image::before {
    position: absolute;
    content:"";
    background-image:url("Hero800px.webp");
    top: -10px;
    left: 20px;
    width: 100%;
    height: 100%;
    max-width: 95vw;
    background-size: cover;
    filter: blur(22px) saturate(2);
}
.hero-image::before {
    position: absolute;
    content:"";
    background-image:url("Hero800px.webp");
    top: -10px;
    left: 20px;
    width: 100%;
    height: 100%;
    max-width: 95vw;
    background-size: cover;
    filter: blur(22px) saturate(2);
}

img {
    position: relative;
    display: inline;
    margin-bottom: 1rem;
}

picture {
    color: #e3e3e3;
    font-family: sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    z-index: 1;
    text-align: center;
    line-height: 120%;
    letter-spacing: -.5px;
}

div  {
    text-align: center;
}

.hero-text {
    display: inline;
    left: 50%;
    top: 40%;
    translate: -50% -100%;
    position: absolute;
    color: white;
    font-family: sans-serif;
    font-size: calc(100vw/20);
    font-weight: 800;
    z-index: 1;
}

button {
    display: inline;
    position: absolute;
    text-shadow:.3px .2px #fff ;
    top: 40%;
    left: 50%;
    translate: -50%;
    margin-top: 1.5rem;
    width: calc(100vw/6);
    min-width: 100px;
    max-width: 150px;
    height: 2rem;
    background: white;
    border-style: none;
    border-radius: 20px;
    box-shadow: 2px 2px 2px grey;
    z-index: 1;
}

.cta {
    scale: 1.3;
    top: 60%;
    font-weight: 500;
    letter-spacing: -1px ;
    font-size: .975rem;
    background: linear-gradient(60deg, #FF930F, #FFF95B, #C8600A);
}

.cta:active {
    scale: 1.2;
    box-shadow: none;
}

button:active:not(.cta) {
    box-shadow: none;
    scale: .98;
}

img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.3s;
}

img[loading="lazy"].loaded {
    opacity: 1;
}

@media (max-width: 600px) {
    .gallery{
        grid-template-areas: 'breakfast' 'lunch' 'dinner';
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr;
    }

    .breakfast, .dinner, .lunch {
        margin-top: 1.5rem;
    }

    picture {
        font-size:1.2rem ;
        font-weight: 500;
        letter-spacing: 1px;
    }


    .gallery img {
        max-width: 60vw;
        display: block;
    }

    nav {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    div.logo {
        top: 10px;
        left: 0;
        right: 0;
        bottom: 0;
        
        
    }
}