*,
::after,
::before {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  background: #f8fafc;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  color: black;
}

p {
  margin-bottom: 1.5rem;
  max-width: 40em;
}

h3,
h4 {
  margin: 0;
  margin-bottom: 1.38rem;
  font-weight: 400;
  line-height: 1.3;
  text-transform: capitalize;
  letter-spacing: var(--letterSpacing);
}

h3 {
  font-size: 1.953rem;
}

h4 {
  font-size: 1.563rem;
}

a {
  text-decoration: none;
}

.wiki {
  padding: 5rem 0;
  width: 90vw;
  max-width: 1170px;
  margin: 0 auto;
}
.container {
  text-align: center;
}
.container img {
  width: 200px;
}
.container h3 {
  margin-bottom: 2rem;
}

.form {
  background: #fff;
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem;
  border-radius: 10px;
  display: grid;
  grid-template-columns: auto 100px;
}
.form-input,
.submit-btn {
  padding: 0.375rem 0.75rem;
  background: #f8fafc;
  border: 1px solid #334155;
}
.form-input {
  border-right: transparent;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.submit-btn {
  border: 1px solid rgb(87, 87, 230);
  border-left: transparent;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  text-transform: capitalize;
  background: rgb(87, 87, 230);
  color: white;
  transition: 0.3s ease-in-out all;
  cursor: pointer;
}
.submit-btn:hover {
  background-color: rgb(32, 92, 204);
}

.results {
  padding: 2rem 0;
}

.error {
  text-align: center;
  text-transform: capitalize;
  color: red;
}

.articles {
  display: grid;
  gap: 1rem;
}

.articles a {
  display: block;
  background: white;
  color: black;
  padding: 1.5rem 2rem;
  border-radius: 4px;
  transition: 0.3s ease-in-out all;
}
.articles p {
  color: #3a748f;
  transition: 0.3s linear all;
}

.articles a:hover {
  background: #1f1f1f;
  color: white;
}

.loading {
  width: 6rem;
  height: 6rem;
  border: 5px solid grey;
  border-radius: 50%;
  border-top-color: rgb(87, 87, 230);
  animation: spinner 0.6s linear infinite;
}
.loading {
  margin: 0 auto;
  margin-top: 4rem;
}
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}

@media screen and (min-width: 768px) {
  .articles {
    grid-template-columns: 1fr 1fr;
  }
  .form {
    max-width: 600px;
  }
}
@media screen and (min-width: 992px) {
  .articles {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 400px) {
  .form-input,
  .submit-btn {
    padding: 0.375rem 0;
  }
  .form {
    padding: 1.5rem;
  }
}
