/* general */

body{
    font: 1.10rem 'Open Sans', helvetica, sans-serif;
    overflow-wrap: break-word;
    background-color: #B4B1BF;
}
header, footer{
    background-color: #47485c;
}
h1, h2, .bold, #intro a:hover{
    font-weight: bold;
}
h2, p, li{
    margin-bottom: 15px;
    line-height: 1.6rem;
}
#intro a:active, footer a{
    text-decoration: none;
}
ul, ol{
    list-style-position: inside;
}
p:last-of-type, li:last-of-type, footer li{
    margin-bottom: 0;
}

/* header */

header{
    background-image: URL(../images/cover-sm.jpg);
    background-size: cover;
    background-position: center;
    min-height: 275px;
}
h1{
    padding: 5px;
    font-size: 2rem;
    text-align: center;
    background-color: rgba(241, 244, 248, 0.7);
}

/* main */

main{
    max-width: 1280px;
    margin: 0 auto;
}
section{
    padding: 25px;
}
#intro, #prep{
    background-color: #d5cede;
}
#ing, #tips, picture{
    background-color: #e4e5e9;
}
img{
    max-width: 100%;
    display: block;
}
#intro a{
    color:black;
}
h2{
    font-size: 1.35rem;
}

/* footer */

footer{
    padding: 15px 25px;
}
footer, footer a{
    color: #e4e5e9;
}
footer ul{
    list-style-type: none;
    display: flex;
    justify-content: space-between;
}
footer a:hover{
    text-decoration: underline; 
}
footer a:active{
    color: #d5cede;
}
.hide{
    display: none;
}

/* show copyright info, increase font size */

@media only screen and (min-width: 420px){
    .hide{
        display: block;
    }
    h1{
        font-size: 2.5rem; 
    }
    h2{
        font-size: 1.5rem;
    }
} 

/* change layout */

@media only screen and (min-width: 640px){
    header{
        background-image: URL(../images/cover-med.jpg);
    }
    main{
        display: grid;
        grid-template-areas: 
        "intro intro"
        "img ing"
        "prep prep"
        "tips tips";
        grid-template-columns: fit-content(640px) minmax(310px, 1fr); 
    } 
    picture{
        grid-area: img;
        display: flex;
        align-items: center;
    }
    #intro{
        grid-area: intro;
    }
    #ing{
        grid-area: ing;
    }
    #prep{
        grid-area: prep;
    }
    #tips{
        grid-area: tips;
    } 
}

/* increase cover photo size */

@media only screen and (min-width: 1920px){
    header{
        background-image: URL(../images/cover-lg.jpg);
    }
}