/* RESET */

html, body, div, span, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, img, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, a, article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    /* Cancel out some differences between browser defaults */
    margin: 0;
    padding: 0;
    border: 0;
}
 
* {
    /* The width of an element will be the size of its border box,
       not its content box (which is the normal default). */
    box-sizing: border-box;
}

/* END OF RESET */


                
/* == YOUR CSS HERE =============================== */

/* LAYOUT GRID */
   
body {
    display: grid;
    grid-template-columns: 1fr 20rem 40rem 20rem 1fr;
    /* The 1fr columns add the flexible white space on
       either side. If you prefer and you know the 
       other standard way of centering a box using
       widths and auto margins you can use that. */
}

header, nav, footer {
    grid-column: 2 / 5;
}

main {
    grid-column: 3;
}

#books {
    grid-column: 2;
    grid-row: 3; /* Needed to position this before <main> */
}
    
#news {
    grid-column: 4;
}

/* FLEXBOXES */

nav ul {
    display: flex;
    justify-content: space-around;
}

footer {
    display: flex;
    justify-content: flex-end;
}

footer p {
    margin-left: 2em;
}

/* PADDING & MARGINS */

main, aside {
    padding: 2em;
}

nav {
    padding: 1em;
}

main {
    margin: 2em 0;
}

h1, main > img {
    margin-bottom: 1em;
}

h2 {
    margin: 1em 0;
}

footer {
    padding: 1em;
}

/* == END OF YOUR CSS ====================== */








/* == OTHER CSS - DO NOT EDIT ============= */

/* TYPOGRAPHY */

body {
    font-family: Verdana, Arial, sans-serif;
    line-height: 1.5;
}

h1, h2 {
    font-weight: bold;
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.25rem;
}

aside h2 {
    text-align: center;
}

h3 {
    font-size: 1rem;
    font-weight: bold;
}

#site-title {
    text-align: center;
    font-size: 2rem;
}

nav a {
    text-transform: uppercase;
    font-size: 1.25rem;
    text-decoration: none;
}

.title {
    font-style: italic;
}

/* COLOUR SCHEME & BORDERS */

body {
    color: #333333;
}

header {
    background-color: #e0d23a;
    color: #000;
}

nav, footer {
    background-color: #8c212a;
}

aside {
	background-color: #fcf9e3;
}

h1, h2 {
    color: #d61929;
}

nav a, footer {
    color: #ffffff;
}

.active {
    color: #e0d23a;
}

/* MISC */

nav ul {
    list-style-type: none;
}

ul, ol {
    list-style-position: inside;
}

img {
    width: 100%;
}
