html {
    font-size: 62.5%; /* 16px x 62.5 = 10px = 1 rem */
    box-sizing: border-box;
}
body{
    margin: 0;
    height: 100vh;
    font-size: 1.6rem;
    font-family: Helvetica, Arial, sans-serif;
}

/* Layout */
.grid-container{
    display: grid;
    grid-template-areas: 'header'
    'main'
    'footer';
    grid-template-columns: 1fr;
    grid-template-rows: 5rem 1fr 5rem;
    height: 100%;
}
header{
   grid-area: header;
   background-color: #203040; 
}
main{
    grid-area: main;
    padding: 1rem;
}
footer{
    grid-area: footer;
    background-color: #203040;
    color: #ffffff;
}
/* Common */
h1{
    font-size: 1.8rem;
    padding: 1rem 0;
}
h2{
    font-size: 1.6rem;
    padding: 1rem 0;
}
a{
    text-decoration: none;
}
a:hover{
    color: #ff8000;
}
/* Header */
header a{
    color: #ffffff;
    padding: 1rem;
}
a.brand{
    color: #ffffff;
    font-size: 3rem;
    font-weight: bold;
}
.row{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.row.center{
    justify-content: center;
}
/* Images */
img{
    border-radius: 0.5rem;
}
img.medium{
    max-width: 29rem;
    width: 100%;
}
/* Card */
.card{
    border: 0.1rem #c0c0c0 solid;
    background-color: #f8f8f8;
    border-radius: 0.5rem;
    margin: 1rem;
}
.card-body{
    padding: 1rem;
}
.card-body > * {
    margin-bottom: 0.5rem;
}
.price {
    size: 2rem;
}
/* Rating */
.rating span{
    color: #f0c040;
    margin: 0.1rem;
}