html {
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit
}

:root {
    --background-color: #463558;
    --section-color: #5c607f;
    --heading1-color: #a1dde8;
    --heading2-color: #d3f2ff;
    --heading3-color: #f8cf99;
    --section-text-color: #c9ffda;
    --section-link-color: #a4ebf7;
    --footer-link-color: #ade8f4;
    --footer-link-hover: #ccffbf;
    --section-hover-color: #7088a1;
}

body {
    background: var(--background-color);
    font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

main {
    grid-column: 1 / 6;
}

.wrapper {
    padding: 1rem;
    border-radius: 1rem;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    column-gap: 1em;
}

header {
    grid-column: 3 / 6;
    justify-self: center;
    place-self: center;
}

h1 {
    text-align: center;
    color: var(--heading1-color);
}

h2 {
    color: var(--heading2-color);
}

h3 {
    color: var(--heading3-color);
}

section p {
    color: var(--section-text-color);
    font-size: 1.08rem;
}

section {
    background: var(--section-color);
    border: 3px solid var(--section-color);
    padding: 1rem;
    margin: 1rem 0;
    border-radius: .5rem;
    text-indent: 0.5em;
    transition-duration: 175ms;
}

section:hover {
    transition-duration: 175ms;
    border: 3px solid var(--section-hover-color);
}

section a {
    color: var(--section-link-color);
    text-decoration: none;
    transition-duration: 400ms;
    font-size: 1em;
    border-radius: 6px;
    border: none;
    padding: 10px;
    font-weight: 250;
    text-align: center;
}

section a:hover {
    transition-duration: 400ms;
    color: #ffffff;
    border-radius: 6px;
    padding: 10px;
    font-weight: 250;
}

aside {
    grid-column: 6 / 8;
}

aside h2 {
    margin-bottom: 0.5em;
}

aside hr {
    margin: 0;
}

aside ul {
    padding-left: 0;
    margin-bottom: 0;
}

aside li {
    list-style: none;
    padding-bottom: 1.2em;
}

footer {
    grid-column: 1 / 8;
}

footer a {
    color: var(--footer-link-color);
    transition-duration: 400ms;
    text-decoration: none;
    font-weight: 550;
}

footer a:hover {
    color: var(--footer-link-hover);
    transition-duration: 400ms;
}

p {
    line-height: 1.8;
}

footer {
    display: flex;
}

footer :first-child {
    margin-right: auto;
}

footer :nth-child(n+2) {
    margin-left: 1rem;
}