body {
  margin: 0;
  padding: 0;
  background-color: white;
  overflow-x: hidden;
}

/* ---------- GENERAL ---------- */

section {
  clear: both;
}

/* ---------- TOP BAR ---------- */

#topbar {
  background-color: white;

  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 10px 60px;
}

/* ---------- TITLE WRAPPER ---------- */

#TitleWrapper {
  position: relative;

  width: fit-content;

  margin: 20px auto;

  display: flex;
  justify-content: center;
  align-items: center;
}

/* ---------- TITLE ---------- */

#TitleText {
  text-align: center;

  font-family: "Montserrat", sans-serif;
  font-size: 80px;
  line-height: 0.95;

  margin: 10px 0;

  display: inline-block;

  transition: transform 0.2s;

  background: linear-gradient(
    90deg,
    #fd6e03 0%,
    #fe9742 15%,
    #fdc573 35%,
    #dcbded 55%
  );

  background-size: 300%;

  background-clip: text;
  -webkit-background-clip: text;

  color: transparent;
  -webkit-text-fill-color: transparent;

  animation: gradientMove 5s linear infinite;
}

/* ---------- TITLE HOVER ---------- */

#TitleText:hover {
  transform: scale(1.03);
}

/* ---------- GRADIENT ANIMATION ---------- */

@keyframes gradientMove {

  0% {
    background-position: 0%;
  }

  100% {
    background-position: 300%;
  }

}

/* ---------- POP OUT IMAGES ---------- */

#TitleImageLeft,
#TitleImageRight {
  position: absolute;

  top: 50%;

  width: 220px;
  height: auto;

  opacity: 0;

  pointer-events: none;

  transition:
    all 0.4s ease;
}

/* ---------- LEFT IMAGE ---------- */

#TitleImageLeft {
  left: -250px;

  transform: translateY(-50%) scale(0.8);
}

/* ---------- RIGHT IMAGE ---------- */

#TitleImageRight {
  right: -250px;

  transform: translateY(-50%) scale(0.8);
}

/* ---------- IMAGE HOVER EFFECT ---------- */

#TitleWrapper:hover #TitleImageLeft {
  left: -180px;

  opacity: 1;

  transform: translateY(-50%) scale(1);
}

#TitleWrapper:hover #TitleImageRight {
  right: -180px;

  opacity: 1;

  transform: translateY(-50%) scale(1);
}

/* ---------- NAVBAR ---------- */

#navbar {
  background-color: #fe9742;

  display: flex;
  justify-content: center;
  align-items: center;

  gap: 60px;

  padding: 20px;

  transition: background-color 0.4s ease;
}

#navbar a {
  color: white;

  text-decoration: none;

  font-family: "Funnel Sans", sans-serif;
  font-size: 28px;
  font-weight: 500;

  transition:
    transform 0.2s ease,
    color 0.2s ease;
}

/* ---------- HOME ---------- */

#navbar:has(a:nth-child(1):hover) {
  background-color: #f57c73;
}

#navbar a:nth-child(1):hover {
  font-weight: bold;
  transform: scale(1.05);
}

/* ---------- INFO ---------- */

#navbar:has(a:nth-child(2):hover) {
  background-color: #e46e6e;
}

#navbar a:nth-child(2):hover {
  font-weight: bold;
  transform: scale(1.05);
}

/* ---------- ABOUT US ---------- */

#navbar:has(a:nth-child(3):hover) {
  background-color: #c26fa0;
}

#navbar a:nth-child(3):hover {
  font-weight: bold;
  transform: scale(1.05);
}

/* ---------- CONTACT US ---------- */

#navbar:has(a:nth-child(4):hover) {
  background-color: #9b6aa0;
}

#navbar a:nth-child(4):hover {
  font-weight: bold;
  transform: scale(1.05);
}

/* ---------- MAIN CONTAINER ---------- */

.container {
  background-color: #fdc573;

  padding: 50px;

  max-width: 600px;

  margin: 80px auto;

  border-radius: 10px;
}

/* ---------- MAIN TEXT ---------- */

#Main {
  text-align: center;

  font-family: "Funnel Sans", sans-serif;
  font-weight: 800;
  font-size: 25px;

  color: white;
}

/* ---------- FOOTER ---------- */

footer {
  padding: 20px;

  border: 5px solid #dcbded;

  margin: 20px auto;

  width: 90%;

  border-radius: 20px;

  text-align: center;

  background: white;

  color: #fd6e03;

  font-family: "Funnel Sans", sans-serif;
  font-weight: 800;
  font-size: 25px;

  transition: 0.3s;
}

footer:hover {
  transform: scale(1.03);
  border: 5px solid #D3A1EA;
}

/* ---------- MOBILE ---------- */

@media screen and (max-width: 768px) {

  #topbar {
    flex-direction: column;
    gap: 15px;

    padding: 20px;
  }

  #navbar {
    flex-direction: column;
    gap: 20px;
  }

  #TitleText {
    font-size: 50px;
  }

  #TitleImageLeft,
  #TitleImageRight {
    width: 140px;
  }

  #TitleImageLeft {
    left: -160px;
  }

  #TitleImageRight {
    right: -160px;
  }

  #TitleWrapper:hover #TitleImageLeft {
    left: -110px;
  }

  #TitleWrapper:hover #TitleImageRight {
    right: -110px;
  }

  .container {
    width: 85%;
    padding: 30px;
  }

  footer {
    font-size: 18px;
    width: 85%;
  }

}
