:root {
  --pia-background: #1e1e2e;
  --pia-text: #cdd6f4;
  --color-link: #cba6f7;
  --color-card-1: #f5c2e7;
  --color-card-2: #cba6f7;
  --color-card-3: #f38ba8;
  --color-card-4: #fab387;
  --color-card-5: #f9e2af;
  --color-card-6: #a6e3a1;
  --color-card-7: #89dceb;
  --color-card-8: #89b4fa;
  --color-tag: #89b4fa;
  --color-tag-text: #11111b;
  --color-box-title-bg: #11111b;
  --color-reload-button: #a6e3a1;
  --border-radius: 10px;
}

body {
  background-color: var(--pia-background);
  color: var(--pia-text);
}

main {
  clear: both;
  margin: 0 auto;
  width: 90%;
}

@media (min-width: 768px) {
  main {
    width: 80%;
  }
}

h1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3em;
  border-bottom: 2px solid var(--pia-text);
  margin-bottom: 0.5em;
}

h2 {
  text-align: center;
  font-size: 2em;
}

h3 {
  text-align: center;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

a {
  color: var(--color-link);
  text-decoration: none;
}

footer {
  border-top: 2px solid var(--pia-text);
  margin: 1em auto;
  text-align: center;
  width: 90%;
}

@media (min-width: 768px) {
  footer {
    width: 80%;
  }
}

footer > a {
  color: var(--pia-text);
  margin: 3em;
}

.cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
  max-width: 1600px;
}

.card {
  margin: 20px;
  padding: 0 20px;
  width: 300px;
  min-height: 200px;
  border-radius: var(--border-radius);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25);
  transition: all 0.2s;
}

.card > p {
  color: var(--pia-text);
  text-align: center;
}

.box {
  min-width: 300px;
  width: 60%;
  margin-left: 20%;
  margin-top: 2em;
}

.box-title {
  background-color: var(--color-box-title-bg);
  margin: 0;
  display: inline-block;
  width: 100%;
}

.box-title > span {
  margin: 1em;
}

.box-text {
  padding: 0 1em;
  color: var(--pia-text);
}

.card-1 {
  border: 4px solid var(--color-card-1) !important;
  color: var(--color-card-1);
}

.card-2 {
  border: 4px solid var(--color-card-2) !important;
  color: var(--color-card-2);
}

.card-3 {
  border: 4px solid var(--color-card-3) !important;
  color: var(--color-card-3);
}

.card-4 {
  border: 4px solid var(--color-card-4) !important;
  color: var(--color-card-4);
}

.card-5 {
  border: 4px solid var(--color-card-5) !important;
  color: var(--color-card-5);
}

.card-6 {
  border: 4px solid var(--color-card-6) !important;
  color: var(--color-card-6);
}

.card-7 {
  border: 4px solid var(--color-card-7) !important;
  color: var(--color-card-7);
}

.card-8 {
  border: 4px solid var(--color-card-8) !important;
  color: var(--color-card-8);
}

.tag {
  border: 4px solid var(--color-tag);
  background-color: var(--color-tag);
  color: var(--color-tag-text);
  margin-top: 10px;
  display: inline-block;
  margin: 0.2em;
}

.tag-container {
  text-align: center;
  margin: 1em 0;
}

.description-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.description {
  flex: 1;
  white-space: pre-wrap;
}

.type {
  white-space: nowrap;
  margin-left: 10px;
  color: var(--color-card-4);
  font-weight: bold;
  font-size: 1.2em;
}

.button-container {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.info-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1em 0;
}

.info-box {
  background-color: var(--pia-background);
  border: 4px solid var(--pia-text);
  border-radius: var(--border-radius);
  padding: 1em;
  margin: 0.5em;
  width: 100%;
  text-align: center;
}

@media (min-width: 768px) {
  .info-container {
    flex-direction: row;
    justify-content: center;
  }

  .info-box {
    width: auto;
    margin: 0.5em 1em;
  }
}

@media (min-width: 768px) {
  .info-container {
    flex-direction: row;
    justify-content: center;
  }

  .info-box {
    width: auto;
    margin: 0 1em;
  }
}

.list-section {
  margin: 1em;
}

.list-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.list-box {
  background-color: var(--pia-background);
  padding: 1em;
  margin: 0.5em;
  width: 300px;
  border: 4px solid var(--pia-text);
  text-align: center;
  color: var(--pia-text);
  text-decoration: none;
}

@media (min-width: 768px) {
  .list-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .list-box {
    width: auto;
    margin: 0.5em 1em;
  }
}

#reload-button {
  border: 4px solid var(--color-reload-button);
  color: var(--color-reload-button);
  padding: 1em;
  background-color: var(--pia-background);
  width: 100px;
  margin: 1em;
}

#tags-link {
  border: 4px solid var(--color-reload-button);
  color: var(--color-reload-button);
  padding: 1em;
  background-color: var(--pia-background);
  width: 100px;
  margin: 1em;
  t
}

#search-bar {
  width: calc(60% - 1em);
  margin-left: 20%;
  background-color: var(--pia-background);
  color: var(--pia-text);
  border: 4px solid var(--pia-text);
  height: 3em;
  padding-left: 1em;
  outline: none;
}
