@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Oxygen&display=swap');

body {
	background-color: #fefefe;
    margin: 20px;
	padding: 0px;
	text-shadow: none;
}

h1, h2, footer {
    color: #4d4d96;
    text-align: center;
    font-family: 'Bree Serif', serif;
}

h1 {
    margin: 0px 0px 10px 0px;
    font-size: 40px;
}

div.cards p {
    text-align: center;
    line-height: 0.7;
    font-family: 'Oxygen', sans-serif;
}

img {
    display: block;
    max-width: 50%;
    height: auto;
    margin: 0 auto;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

div.cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 5px;
    row-gap: 5px;
    background-color: #dddddd;
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
}

section {
    background-color: #b9b9cc;
    border: 1px solid #525298;
    margin: 0px;
    padding: 5px;
}

section:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/2;
}

section:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/2;
}

section:nth-child(3) {
    grid-column: 3/4;
    grid-row: 1/2;
}

section:nth-child(4) {
    grid-column: 4/5;
    grid-row: 1/2;
}

section:nth-child(5) {
    grid-column: 1/2;
    grid-row: 2/3;
}

section:nth-child(6) {
    grid-column: 2/3;
    grid-row: 2/3;
}

section:nth-child(7) {
    grid-column: 3/4;
    grid-row: 2/3;
}

section:nth-child(8) {
    grid-column: 4/5;
    grid-row: 2/3;
}

section:nth-child(9) {
    grid-column: 1/2;
    grid-row: 3/4;
}

section:nth-child(10) {
    grid-column: 2/3;
    grid-row: 3/4;
}

section:nth-child(11) {
    grid-column: 3/4;
    grid-row: 3/4;
}

section:nth-child(12) {
    grid-column: 4/5;
    grid-row: 3/4;
}

section:nth-child(13) {
    grid-column: 1/2;
    grid-row: 4/5;
}

section:nth-child(14) {
    grid-column: 2/3;
    grid-row: 4/5;
}

section:nth-child(15) {
    grid-column: 3/4;
    grid-row: 4/5;
}

section:nth-child(16) {
    grid-column: 4/5;
    grid-row: 4/5;
}

section:nth-child(17) {
    grid-column: 1/2;
    grid-row: 5/6;
}

footer {
    font-size: 20px;
    margin: 20px;
}

@media (min-width: 768px) and (max-width: 1024px) {
    div.cards {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    section:nth-child(1) {
        grid-column: 1/2;
        grid-row: 1/2;
    }
    
    section:nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    
    section:nth-child(3) {
        grid-column: 1/2;
        grid-row: 2/3;
    }
    
    section:nth-child(4) {
        grid-column: 2/3;
        grid-row: 2/3;
    }
    
    section:nth-child(5) {
        grid-column: 1/2;
        grid-row: 3/4;
    }
    
    section:nth-child(6) {
        grid-column: 2/3;
        grid-row: 3/4;
    }
    
    section:nth-child(7) {
        grid-column: 1/2;
        grid-row: 4/5;
    }
    
    section:nth-child(8) {
        grid-column: 2/3;
        grid-row: 4/5;
    }
    
    section:nth-child(9) {
        grid-column: 1/2;
        grid-row: 5/6;
    }
    
    section:nth-child(10) {
        grid-column: 2/3;
        grid-row: 5/6;
    }
    
    section:nth-child(11) {
        grid-column: 1/2;
        grid-row: 6/7;
    }
    
    section:nth-child(12) {
        grid-column: 2/3;
        grid-row: 6/7;
    }
    
    section:nth-child(13) {
        grid-column: 1/2;
        grid-row: 7/8;
    }
    
    section:nth-child(14) {
        grid-column: 2/3;
        grid-row: 7/8;
    }
    
    section:nth-child(15) {
        grid-column: 1/2;
        grid-row: 8/9;
    }
    
    section:nth-child(16) {
        grid-column: 2/3;
        grid-row: 8/9;
    }
    
    section:nth-child(17) {
        grid-column: 1/2;
        grid-row: 9/10;
    }
}

@media (max-width: 767px) {
    img {
        max-width: 100%;
    }

    div.cards {
        display: block;
        padding: 10px;
    }

    section:nth-child(1) {
        margin: 0px;
    }
    
    section {
        margin: 30px 0px 0px 0px;
        padding: 10px;
    }
}

@media (max-width: 280px) {
    body {
        margin: 10px;
    }

    div.cards {
        padding: 5px;
    }

    section {
        padding: 5px;
    }
}