:root {
    --bg-colour: #242629;
    --container-bg: #16161a;
    --headline: #fffffe;
    --paragraph: #94a1b2;
    --link: #9be1ff;
    --button: #7f5af0;
    --button_txt: #fffffe;

    --primary: #7f5af0;
    --secondary: #ca5af0;
    --secondary-comp: #f07f5a; 
    --tertiary: #f05acb;
    --tertiary-comp: #;
}

body {
  background-color: var(--bg-colour);
  color: black;
  font-family: Verdana;
}

h1, h2, h3, h4 {
  color: var(--headline);
}

p, li, textarea{
  color: var(--paragraph);
}

p > a {
  color: var(--button_txt);
}

a {
  color: var(--link);
}

/*Main Layout*/
#main {
  width: 80%;
  margin: auto;
}

.flexContainer {
  display: flex;
}

.flexContainerCenter {
  display: flex;
  justify-content: center;
}

.sidebar, .mainbar{
  margin: 0px;
  padding: 0px;
}

.sidebar {
  flex: 1;
}

.mainbar {
  flex: 4;
}

.banner {
  width: 100%;
  background-color: var(--primary);
  text-align: center;
}

.button {
  margin-left: 10px;
  margin-right: 10px;
  background-color: var(--button);
  color: var(--button_txt);
  padding: 1em;
  border-radius: 1em;
}

.toTop {
  width: 40%;
  font-size: large;
}

section {
  background-color: var(container-bg);
  border: 4px ridge var(--primary);
  margin: 16px 8px 16px 8px;
  padding: 20px 20px 30px 20px;
}

.active {
  background-color: var(--secondary) !important;
  border: 3px groove var(--secondary) !important;
}

/* Card List */
.cardlist {
  padding: 0px;
}

.cardlist li {
  list-style-type: none;
  margin: 10px;
  background-color: var(--primary);
  border: 3px groove var(--primary);
  text-align: center;
  font-weight: bold;
}
.cardlist a {
  display: block;
  padding: 12px 5px 10px 5px;
}

.cardlist li, .cardlist a {
  color: var(--button_txt);
}

/* Update List */
.updateList {
  padding: 0;
}
.updateList > li {
  margin-bottom: 10px;
  border: 5px groove var(--primary);
  list-style-type: none;
  padding-left: 10px;
}
.updateList ul {
  padding-left: 10px;
  padding-right: 4px;
}

/* Nav Links */
.navlist {
  margin: 0px;
}
.navlist li {
  width: 140px;
  margin-left: 4px;
  margin-right: 4px;
}

/*Image Cards*/
.imageList {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
}

.imageList div {
  margin: 2px;
  padding: 5px;
  border: 2px groove var(--primary);
}

.imageList img {
  flex:1;
  height:300px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

.imageList h3 {
  margin-top: 0px;
  margin-bottom: 10px;
  font-size: 20px;
  margin: auto;
  text-align: center;
  text-wrap: wrap;
}

.blurImage {
  filter: blur(9px);
  -webkit-filter: blur(9px);
}

.focusImage { 
  height:600px;
  width:600px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}