{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Body */
body {
  background-image: url("img/background.png");
  background-repeat: no-repeat;
  background-size: cover; /* better for responsiveness */
  color: white;
  font-size: 16px; /* base size */
  font-family: Arial, sans-serif;
}

/* Typography */
h1 {
  text-align: center;
  margin: 0;
}

h2 {
  margin: 20px;
  margin-bottom: 6px;
}

p {
  margin: 20px;
}

/* Navigation */
ul {
  list-style-type: none;
  display: flex;
  flex-wrap: nowrap; /* do not allow wrapping on small screens */
  justify-content: left;
  background-color: #f38d07;
  border: 1px solid #666666;
}

ul li a {
  display: block;
  color: #666666;
  padding: 12px 20px; /* reduced for smaller screens */
  text-decoration: none;
}

ul li a:hover:not(.active) {
  background-color: #dddddd;
}

ul li a.active {
  background-color: #dddddd;
}

/* Container */
div.relative {
  max-width: 1000px;
  width: 90%; /* responsive width */
  margin: 0 auto; /* center horizontally */
  position: relative;
  word-wrap: break-word;
}

/* Header */
header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap; /* stack on small screens */
  padding: 20px;
}

/* Links */
a {
  color: white;
  text-decoration: none;
}

a:hover {
  font-weight: bold;
}

/* Images */
img {
  max-width: 100%;
  height: auto;
}

/* ---------- MEDIA QUERIES ---------- */

/* Tablet */
@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  ul {
    flex-direction: column; /* stack menu */
    align-items: center;
  }

  ul li a {
    width: 100%;
    text-align: center;
    padding: 12px;
  }

  header {
    flex-direction: column;
  }
}

/* Mobile */
@media (max-width: 480px) {
  body {
    font-size: 14px;
  }

  h2, p {
    margin: 10px;
  }

  ul li a {
    padding: 10px;
  }
}