/* Reset and base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  height: 100dvh;
}

/* Main container with flexbox and background */
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  background-image: url("../images/gal_web_background.png");
  background-size: 100dvw 100dvh;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Logo styling */
.logo {
  max-width: 25dvw;
  max-height: 25dvh;
  width: auto;
  height: auto;
  object-fit: contain;
  margin-bottom: 2rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
  cursor: pointer;
}

.logo:hover {
  transform: scale(1.05);
  opacity: 1.1;
}

/* Content wrapper */
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Navigation items styling */
.nav-item {
  margin: 1.5dvh 0;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
  height: 3dvh; /* Fixed height for all nav items */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
}

.nav-item:hover {
  transform: scale(1.05);
  opacity: 0.6;
}

.nav-image {
  height: 100%; /* Fill the container height */
  width: auto;
  object-fit: contain;
}

.copyright {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  font-size: 0.9rem;
  color: #a4bdcf;
  font-size: 0.75rem;
  font-family: "Open Sans", sans-serif;
}

/* Responsive breakpoints */
@media (max-width: 768px) {
  .logo {
    max-width: 27.5dvw;
    max-height: 27.5dvh;
    margin-bottom: 1.5rem;
  }

  .nav-item {
    height: 4.25dvw; /* Slightly smaller height on mobile */
    margin: 3dvw 0;
  }

  .container {
    background-attachment: scroll;
  }
}
