* {
    margin: 0; padding: 0; border: 0; box-sizing: border-box;
}

body {
    max-width: 100vw; min-height: 100vh;
}

.container {
    width: 100%;
}

header {
    width: 100%; height: 12.5vh;
    background-color: #111;
    background-image: url(/images/wk07-sun48.svg); background-repeat: no-repeat; 
    background-position-y: center;
    color: #eee;
    font-family: 'Lora', serif;
    position: fixed;
}

h1 {
    margin-left: 5vw;
    padding-top: 3vh;
    position: relative;
}

header ul {
    width: 40vw; min-width: 375px; height: 10.5vh;
    display: block; position: absolute; top: 1vh;
    display: flex; justify-content: space-around;
    margin-left: 50vw;
}

header li {
    list-style-type: none;
    padding-top: 3vh;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 1.2em;
}

header a:link, :visited {
    text-decoration: none;
    color: #eee;
    padding: 5px;
    border-radius: 10px;
    transition: 300ms ease-in-out;
}

header a:hover {
    background-color: #555;
    padding: 7px;
}

.order a {
    background-color: red;
    font-size: 1.25em;
    font-weight: 500;
}

.order a:hover {
    outline: 2px solid red;
}

.banner {
    height: 100vh;
    background-color: orange;
    background-image: url(/images/wk05-salad.jpg); background-size: cover; background-repeat: no-repeat; background-position: center;
}

.intro {
    height: 90vh;
    background-color: #333;
    outline: 1px solid yellow; outline-offset: -15px;
}

.intro h2 {
    font-family: 'Calibri', sans-serif; font-size: 3.5em; font-weight: lighter;
    color: #eee;
    text-align: center;
    padding-top: 50px; padding-bottom: 50px;
}

.intro p {
    width: 65%;
    margin: 0 auto;
    padding-top: 2vh; padding-bottom: 2vh;
    font-family: 'Calibri', sans-serif; font-size: 1.3em;
    color: #eee;
    text-align: left;
}

.main {
    height: 70vh;
    background-color: #333;
}

.main ul {
    width: 98%; height: 98%;
    margin: 0 auto;
    display: flex; justify-content: space-evenly;
}

.main li {
    list-style-type: none;
    width: 25%; height: 70%;
    border: 2px solid lightgray;
    margin-top: 3.25%;
    overflow: hidden;
    position: relative;
    transition: 300ms ease-in-out;
}

.main a {
    width: 100%; height: 100%;
}

.main img {
    width: 100%;
}

.main li:nth-of-type(1) img {
    width: 140%;
}

.main li:last-child {
    display: none;
}

.main p {
    padding: 5px;
    width: 100%;
    text-align: center;
    background-color: rgba(250, 250, 250, 0.7);
    position: absolute; top: 50%; transform: translateY(-50%);
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 1.8em; font-weight: 500;
    color: #222;
}

.main li:hover {
    filter: grayscale(30%);
    border: 4px solid blue;
}

 footer {
    height: 24vh;
    background-image: linear-gradient(#333, black);
    color: rgba(250, 250, 250, 0.7)
}


/* Styling for tablet ----------------------------------------------------- */

@media screen and (width < 1051px) {
    header {
        background-image: url(/images/wk07-sun48.svg); background-repeat: no-repeat;
        background-position-y: 10px; background-size: 6%;
        height: 25vh;
        position: relative;
    }
    
    h1 {
        display: block;
        margin-top: 0;
        margin-left: 8vw;
        font-size: 2em;
        padding-top: 2vh;
    }
    
    header ul {
        width: 100vw; max-width: 1050px; height: 10.5vh;
        margin: 10% auto 0 auto;
    }
    
    header li {
        margin-left: 10vw;
        font-size: 1.4em;
    }
    
    .order a {
        font-size: 1.2em;
        position: absolute; top: -10vh; right: 3vw;
    }
    
    .banner {
        display: none;
    }

    .intro {
        display: none;
    }
       
    .main {
        min-height: 120vh;
    }

    .main ul {
        flex-direction: column;
    }
    
    .main li {
        width: 100%; max-width: 300px; height: 110%;
        margin: 5px auto;
    }

    .main li:last-child {
        display: block;
    }
}


/* Styling for mobile ----------------------------------------------------- */

@media screen and (width < 401px) {
    header {
        height: 25vh;
        position: relative;
        background-image: none;
    }
    
    h1 {
        display: block;
        margin-top: 1vh;
        margin-left: 2vw;
        font-size: 1.4em;
    }
    
    header ul {
        width: 100vw; max-width: 600px; height: 10.5vh;
        display: block;
        display: flex; justify-content: space-around;
        margin: 16% auto 0 auto;
    }
    
    header li {
        margin-left: 5vw;
        font-size: 1.2em;
    }
    
    .order a {
        font-size: 1.2em;
        position: absolute; top: -10vh; right: 3vw;
    }
    
    .banner {
        display: none;
    }

    .intro {
        display: none;
    }
       
    .main {
        min-height: 120vh;
    }

    .main ul {
        flex-direction: column;
    }
    
    .main li {
        width: 100%; max-width: 300px; height: 110%;
        margin: 5px auto;
    }

    .main li:last-child {
        display: block;
    }
}




