:root {
  --primary-color: #202124;
  --secondary-color: white;
  --font-family-title: "Spline Sans", sans-serif;
  --font-family-subtitle: "Spline Sans Mono", monospace;
  --font-family-text: "Inter", sans-serif;
}

.primary-section {
  text-align: center;
  padding: 130px 20px;
  background-color: var(--primary-color);
}

.primary-section h1 {
  color: var(--secondary-color);
  font-family: var(--font-family-title);
  font-size: 140px;
  letter-spacing: 8px;
}

.primary-section h3 {
  color: var(--secondary-color);
  font-family: var(--font-family-title);
  font-weight: 100;
  letter-spacing: 2px;
}

.footer {
  background-color: var(--primary-color);
  color: var(--secondary-color);
}

.footer h2 {
  color: var(--secondary-color);
  font-family: var(--font-family-subtitle);
  font-size: 22px;
  font-weight: 500;
}

.footer a {
  color: var(--secondary-color);
  text-decoration-line: none;
  font-size: 16px;
}

.footer a:hover {
  text-decoration: underline;
  color: gray;
}

.database-header h1 {
  color: var(--primary-color);
  font-family: var(--font-family-title);
  font-size: 60px;
  letter-spacing: 8px;
  padding: 30px;
  margin: 10px;
  text-align: center;
}

.database-content a {
  color: var(--primary-color);
  text-decoration-line: none;
  font-size: 16px;
  font-weight: bold;
}

.database-content a:hover {
  text-decoration: underline;
  color: gray;
}

.database-content li {
  font-size: 14px;
  font-family: var(--font-family-text);
}

.database-content img {
  width: 100%;
  height: 15vw;
  object-fit: cover;
}

.database-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

.card {
  display: block;
}

@media (min-width: 1600px) {
  .database-content {
      grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .database-content {
      grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .database-content {
      grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .database-content {
      grid-template-columns: 1fr;
  }
}

@media (max-width: 990px) {

  .container {
    text-align: center;
  }

  .hide-on-small {
    display: none;
  }

  .card-img-top {
    width: 100%;
  }

  .footer {
    font-size: 12px;
  }

  .footer a {
    font-size: 12px;
  }

  .database-header h1 {
    font-size: 40px;
  }

}
