:root
{
  --colour-purple-9: #9147ff;
  --colour-purple-10: #a970ff;
  --colour-purple-11: #bf94ff;

  --colour-black-2: rgba(83,83,95,.38);

  --colour-blue-1: #0542AD;
  --colour-blue-2: #0084ff;
  --colour-blue-3: #00D5FF;

  --colour-white-1:#fff;
  --colour-white-2:#eef3f9;
  --colour-white-3:#e4ebf4;
  --colour-white-4:#668;
  
  --accent: var(--colour-blue-2);

  --font-colour: var(--colour-white-4);

  --link: var(--colour-blue-2);
  --link-hover: var(--colour-blue-3);

  --footer-background: var(--colour-white-3);
  --footer-link: var(--colour-blue-2);
  --footer-link-hover: var(--colour-blue-3);

  --header-background: linear-gradient(180deg, var(--colour-blue-1) 0%, var(--colour-blue-2) 100%);

  --heading-colour: var(--colour-blue-2);

  --box-background: var(--colour-white-1);
  --body-background: var(--colour-white-2);
}
*, :after, :before, section
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body
{
  padding:0;
  margin:0;
  font-size:18px;
  line-height:24px;
  font-family: "Fredoka", sans-serif;
  color: var(--font-colour);
  background-color: var(--body-background);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
p
{
  margin: 0;
  margin-bottom:1rem;
}
h1
{
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: normal;
}
h2
{
  font-size: 1.5rem;
  line-height: 2rem;
  margin-top: 4rem;
  font-weight: normal;
  color:var(--heading-colour);
}
table, th, td, tr
{
  padding: 0.2rem 0.5rem;
  margin:0;
}
table
{
  width:100%;
  border-collapse: collapse;
}
th
{
  font-weight: 400;
  font-style: italic;
}
td
{
  padding-right:0.5rem;
}
tr:nth-child(odd)
{
  background-color:var(--body-background);
}
header
{
  background: var(--header-background);
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 5rem 3rem;
  position: relative;
  display: block;
}
nav
{
  width: 100%;
  text-align: center;
  font-size:0.9rem;
  line-height: 3rem;
  text-transform: uppercase;
  margin-top: 1rem;
}
nav a, nav a:visited
{
  padding:0rem 0.5rem;
  text-decoration: none;
}
footer
{
  width: 100%;
  margin: 0;
  margin-top: 1rem;
  display: block;
  background: var(--footer-background);
  padding: 3rem 3rem;
  text-align: center;
  font-size: 0.7rem;
}
footer a, footer a:visited
{
  color: var(--footer-link);
  text-decoration: none;
  font-size: 2rem;
  line-height: 2rem;
}
footer a:hover
{
  color: var(--footer-link-hover);
}
box
{
  display: block;
  margin: auto;
  margin-top: 1rem;
  position: relative;
  width:40rem;
  max-width:100%;
  background-color: var(--box-background);
  border-radius: 3rem;
  padding: 5rem 3rem;
}
a, a:visited
{
  color:var(--link);
}
a:hover
{
  color:var(--link-hover)
}
@media only screen and (min-width: 800px)
{
  nav
  {
    font-size:1rem;
  }
  nav a, nav a:visited
  {
    padding:0rem 1rem;
  }
  box
  {
    padding:5rem;
    border-radius: 5rem;
  }
}