body {
  max-width: 100vw;
  margin: 0;
  overflow-x: hidden;
  font-family: "Inter", sans-serif;
  scroll-behavior: smooth;
  color: white;
  background: linear-gradient(to bottom right, #151515 6.22%, #151515 139.21%);
}

a {
  color: inherit;
  text-decoration: none;
}

.main {
  min-height: 100vh;
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.introduction {
  margin-top: 14vh;
  margin-bottom: 14vh;
}

.introduction h1 {
  text-align: center;
  font-size: 4.5vh;
  color: #e79033;
  margin-left: 10vw;
  margin-right: 10vw;
}

.logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.introduction p {
  text-align: justify;
  font-size: 2.45vh;
  margin-top: 5vh;
  margin-left: 18vw;
  margin-right: 18vw;
}

h2 {
  text-align: center;
  margin-bottom: 6vh;
  margin-top: 6vh;
  min-width: 40vw;
  font-size: 3.7vh;
  margin-left: 10vw;
  margin-right: 10vw;
}

.mapping {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.details-menu {
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.details-menu h3 {
  display: block;
  margin-bottom: 0.75rem;
  font-weight: 600;
  font-size: 2.67vh;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.details-menu p {
  color: rgb(148 163 184 / var(1));
  margin-bottom: 1.25rem;
  font-weight: 500;
  font-size: 2.21vh;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #aaaaaa
}

.content-menu {
  height: fit-content;
  width: 300px;
  background: transparent;
  border-radius: 1rem;
  overflow: hidden;
  margin-left: 3rem;
  margin-right: 3rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  background-color: #242C30;
  transition: transform 0.3s ease-in-out;
}

.content-menu:hover {
  transform: scale(1.05);
  color: #f9ba33;
}

.content-menu img {
  width: 300px;
  height: 300px;
}

::-webkit-scrollbar {
  width: 5px;
}

/* Track */
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 30px transparent;
  border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #f5a046;
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(0.17deg, #ff7b00 1.22%, #ffbb00 59.21%);
}

@media only screen and (max-width: 415px) {
  .introduction h1 {
    text-align: center;
    font-size: 3vh;
    color: #e79033;
    margin-left: 10vw;
    margin-right: 10vw;
  }

  @media only screen and (max-width: 860px) {
    #search-bar {
      display: flex;
      outline: none;
      width: 30vw;
      background-color: white;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      padding: 4px;
    }
    #icons {
      margin-right: 3vw;
      display: flex;
      background: transparent;
      cursor: pointer;
      border-width: 0;
      border-color: none;
    }
    #search-input {
      text-align: center;
      width: 20vw;
      font-weight: 550;
      flex: 1 1 0%;
      outline: none;
      border-width: 0;
    }
  }

  .introduction p {
    text-align: justify;
    font-size: 1.9vh;
    margin-top: 5vh;
    margin-left: 18vw;
    margin-right: 18vw;
  }

  h2 {
    text-align: center;
    margin-bottom: 6vh;
    min-width: 40vw;
    font-size: 2.8vh;
    margin-left: 10vw;
    margin-right: 10vw;
  }

  .details-menu h3 {
    display: block;
    margin-bottom: 0.75rem;
    font-weight: 600;
    font-size: 2.6vh;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .details-menu p {
    color: rgb(148 163 184 / var(1));
    margin-bottom: 1.25rem;
    font-weight: 500;
    font-size: 1.7vh;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    color: #aaaaaa
  }
}

#search-bar {
  display: flex;
  outline: none;
  width: 70vw;
  background-color: white;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 4px;
}

#search-input {
  margin-right: 2vw;
  margin-left: 2vw;
  text-align: center;
  font-weight: 550;
  flex: 1 1 0%;
  outline: none;
  border-width: 0;
}

#icons {
  margin-right: 30px;
  display: flex;
  background: transparent;
  cursor: pointer;
  border-width: 0;
  border-color: none;
}

#search-icon {
  outline: none;
  background: transparent;
}