/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

body {
  margin: 0;
  font-family: "Georgia", serif;
  background: #f5f1e8;
  position: relative;
}

/* Navigation */
.nav ul {
  list-style: none;
  display: flex;
  gap: 2rem;
  padding: 1.5rem;
  justify-content: center;
}

.nav a {
  text-decoration: none;
  color: transparent;
  position: relative;
  font-size: 1.1rem;
  transition: color 0.3s ease;
}

.nav a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -10px;
  width: 8px;
  height: 8px;
  background: black;
  border-radius: 50%;
  transform: translateX(-50%);
  opacity: 0.4;
  transition: transform 0.3s ease;
}

.nav a:hover {
  color: #333;
}

.nav a:hover::before {
  transform: translateX(-50%) translateY(-4px);
}

/* Title block */
.title-block {
  text-align: center;
  margin-top: 3rem;
}

.title {
  font-size: 3rem;
  margin: 0;
}

.subtitle {
  font-size: 1.5rem;
  margin: 0.5rem 0 2rem;
}

/* Scrollable text area */
.scroll-area {
  width: 60%;
  max-width: 700px;
  height: 300px;
  margin: 0 auto;
  border: 2px solid #000;
  padding: 1rem;
  overflow: hidden;
  background-image: url("images/aged-paper.png");
  background-size: cover;
}

.scroll-inner {
  height: 100%;
  overflow-y: auto;
  padding-right: 1rem;
}

/* Map section */
.map-section {
  margin-top: 4rem;
  text-align: center;
}

.map-container {
  position: relative;
  width: 70%;
  margin: 2rem auto;
}

.map-image {
  width: 100%;
  display: block;
}

.region {
  position: absolute;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0);
  border: none;
  cursor: pointer;
}

/* Popup */
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.popup.hidden {
  display: none;
}

.popup-content {
  background: #fff;
  padding: 2rem;
  width: 300px;
  border-radius: 8px;
  position: relative;
}

#popup-close {
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}

/* Decorative elements */
.decor {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

.decor-frame {
  background-image: url("images/decorative-frame.png");
  width: 200px;
  height: 200px;
  bottom: 20px;
  left: 20px;
}

.decor-postcards {
  background-image: url("images/postcards.png");
  width: 250px;
  height: 200px;
  top: 100px;
  right: 30px;
}

.decor-map {
  background-image: url("images/historical-map.png");
  width: 300px;
  height: 250px;
  top: 300px;
  left: -40px;
}
script.js
javascript
const regions = document.querySelectorAll(".region");
const popup = document.getElementById("region-popup");
const popupTitle = document.getElementById("popup-title");
const popupText = document.getElementById("popup-text");
const popupClose = document.getElementById("popup-close");

regions.forEach(region => {
  region.addEventListener("click", () => {
    const name = region.dataset.region;

    popupTitle.textContent = name;
    popupText.textContent = `Placeholder description for ${name}. Replace this with your own text.`;

    popup.classList.remove("hidden");
  });
});

popupClose.addEventListener("click", () => {
  popup.classList.add("hidden");
});