.page-header {
  height: fit-content;
  width: 100%;
}

.front-container {
  height: fit-content;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header .front-container h1 {
  padding: 10vh 0 3vh 0;
  font-size: 3em;
  color: red;
  -webkit-text-stroke: 1px black;
}

.page-header .front-container p {
  font-size: 1em;
}

#search-bar {
  position: relative;
  bottom: 0;
  width: 80%;
  padding: 12px;
  margin: 20px auto;
  font-size: 1em;
  border-radius: 5px;
  background-color: #e3dede;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  outline: none;
}

#search-bar:hover {
  background-color: white;
}

/* For Tablets (between 600px and 1024px) */
@media screen and (max-width: 1024px) {
  .page-header {
    height: fit-content;
    width: 100%;
  }
  .page-header .front-container h1 {
    padding: 10vh 0 3vh 0;
    font-size: 3em;
  }

  .page-header .front-container p {
    font-size: 1em;
  }

  #search-bar {
    width: 80%;
    padding: 12px;
    margin: 20px auto;
    font-size: 1em;
  }
}

/* For Mobile (between 320px and 600px) */
@media screen and (max-width: 600px) {
  .page-header {
    height: fit-content;
    width: 100%;
  }
  .page-header .front-container h1 {
    padding: 5vh 0 3vh 0;
    font-size: 2.5em;
  }

  .page-header .front-container p {
    font-size: 1em;
  }

  #search-bar {
    width: 80%;
    padding: 12px;
    margin: 20px auto;
    font-size: 1em;
  }
}

/* For Extra Small Mobile Devices (below 320px) */
@media screen and (max-width: 320px) {
  .page-header {
    width: 100%;
    height: fit-content;
  }
  .page-header .front-container h1 {
    padding: 10vh 0 3vh 0;
    font-size: 1em;
  }

  .page-header .front-container p {
    font-size: 1em;
  }

  #search-bar {
    width: 80%;
    padding: 12px;
    margin: 20px auto;
    font-size: 1em;
  }
}
