a.button {
    display: inline-block;
    padding: 1rem;
    margin: 1rem 0;
    color: var(--button-text-colour);
    background-color: var(--button-fill-colour);
    border-radius: var(--border-radius-normal);
    box-shadow: 1px 1px 1rem var(--shadow-colour);
    text-decoration: none;
}

a.button:hover {
    background-color: var(--button-hover-fill-colour);
    transform: scale(1.03);
}

main {
    display: flex;
    flex-flow: column wrap;
    justify-content: space-evenly;
    max-width: 700px;
    margin: auto;
    padding: 30px 60px;
    box-shadow: 0 0 30px var(--shadow-colour);
}

#navigation-and-logo {
    max-width: 820px;
    padding: 2rem;
    margin: auto;
}

#title {
    display: block;
    padding: 0 !important;
    margin: 0 !important;
}

#title > h1,
#title > h2 {
    padding: 0;
    margin: 0;
}

#title > h1 {
    margin-top: 40pt;
}

#title > h2 {
    margin-top: -15pt;
    margin-left: 45pt;
}

#cta > p {
    display: block;

    max-width: 320px;
    font-family: var(--font-family-alternative);
    color: var(--complementary-colour-lighter);
    text-shadow: 1px 1px 3px var(--shadow-colour);
    font-size: 2.4rem !important;
}

@media screen and (max-width: 800px) {
    #brandflag {
        opacity: 0;
    }

    #title {
        top: 400px;
    }

    #cta > p {
        top: 225px;
    }

}

@media screen and (max-width: 775px) {
    main {
        position: static !important;
    }
}

@media screen and (max-width: 540px) {
    #title > h1 {
        font-size: 3.5rem !important;
    }

    #cta > p {
        line-height: 120%;
    }
}

@media screen and (max-width: 319px) {
    #title > h1 {
        opacity: 0;
    }

}