:root {
  --bg-color: #444242;
  --main-text-color: #be71cf;
}

body {
  background-color: var(--bg-color);
  color: var(--main-text-color);
  font-size: 16px;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

header,
footer,
main {
  padding: 10px 50px;
}

header {
  text-align: center;
  margin-bottom: 10px;
}


header h1 {
  padding: 15px;
  font-size: 180%
}

header p {
  color: #fff;
  font-size: 90%;
}

ul.card-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: 5px;

}

li.card {
  display: flex;
  flex: 1 0 30%;
  min-width: 0;
  padding: 10px;
}

li.card section {
  flex-grow: 1;
  background-image: linear-gradient(to bottom, #643961df, #e868eba5);
  color: #fff;
  min-width: 0;
  padding: 5px;
  border-radius: 5px;
}

article {
  flex: 1 0 33%;
  border: 1px dashed #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 10px;
  position: relative;
  padding: 0 15px 15px 15px;

}

article:hover {
  box-shadow: 10px 10px 15px var(--main-text-color);
}

article h2 {
  font-size: 150%;
  border: 1px solid white;
  border-radius: 5px;
  padding: 10px;
  margin: 0px;
  margin-top: -20px;

  background: var(--bg-color);
}

article p {
  font-size: 80%;
}

article h2:hover {
  box-shadow: 2px 2px 3px var(--main-text-color);
}

footer {
  text-align: center;
  font-size: 90%;
}


pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}




/* Responsive design */

/* tablets up to 768px */
@media screen and (max-width: 768px) {
  li.card {
    flex: 1 0 45%;
  }

}

/* mobile*/
@media screen and (max-width: 520px) {
  li.card {
    flex: 1 0 90%;
  }
}