/* Hamburger menu styles */
.hamburger {
  display: none;
  font-size: 2rem;
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 1000;
}

.nav-links {
  display: flex;
  gap: 10px;
}


.new-rocker-regular {
  font-family: "New Rocker", system-ui;
  font-weight: 400;
  font-style: normal;
}


* {
  
  font-family: "Lato", sans-serif;
  font-size: 16px;
  margin: 0;
}
body {
  background-color: #a9a9a9;
  color: #333;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

h1, h2, h3 {
  font-family: 'New Rocker', cursive;
  margin: 20px;
  font-weight: 700;
}

header h1 {
  text-align: center;
  color: #5c4033;
  margin-top: 10px;
  font-size: 2.5rem;
  font-weight: 700;
}

header h2 {
  text-align: center;
  color: #5c4033;
}


 .hero {
   position: relative;
   background-image: url("resource/glowing-tree.png");
    background-size: cover;
   height: 500px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
  background-color: #000000; /* Fallback color */
  background-blend-mode: screen;
 }
 
 .hero-content {
   text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  }

 .hero h1 {
   font-size: 3.5rem;
   color: #D4AF37;
   font-weight: 700; 
    text-shadow:0 0 10px rgba(0, 0, 0, 0.8);
   }

 .hero h2 {
   font-size: 36px;
   color: #D4AF37;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);

 }

 .navbar {
  background-color: #1b3b2f;
  width: 100%;
  height: 50px;
  justify-content: space-around;
  display: flex;
 }

 .navbar a {
  color: #D4AF37;
  display: inline-block;
  padding: 15px 20px;
  margin: 0 10px;
  text-decoration: none;
  
 }

  .navbar a:hover {
   
    color: #5c4033;
    
  }
   /*carousel */
   
   .carousel {
    position: relative;
    max-width: 300px;
    margin: auto;
    margin-top: 30px;
   }
    
  .mySlides {
    display: none;
    width: 100%;
    height: auto;

  }

 

    .carousel-item img {
      width: 300px;
      height: auto;
      border-radius: 20px;
    }


    .prev, .next {
      cursor: pointer;
      position: absolute;
      top: 50%;
      width: auto;
      margin-top: -22px;
      color: #D4AF37;
      font-weight: bold;
      font-size: 18px;
      transition: 0.6s ease;
      border-radius: 0 3px 3px 0;
      user-select: none;
    }

    .next {
      right: 0;
      border-radius: 3px 0 0 3px;
    }

    .prev {
      left: 0;
      border-radius: 3px 0 0 3px;
    }
    .prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
  cursor: pointer;
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

        /*games page layout */

    .games {
      display: flex;
      flex-wrap: wrap;
      gap: 30px;
      justify-content: center;
      padding: 20px;
      
    }
    .game-card {
      background: rgba(92, 64, 51, 0.8);
      border-radius: 8px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.1);
      transition: transform 0.3s, box-shadow 0.3s;
      width: 220px;
      text-align: center;
    }
    
     /* game page layout */


    .game-page {
      display: grid;
      grid-template-columns: 1fr 2fr 1fr;
      grid-template-rows: 1fr 1fr;
      grid-template-areas:
        "first-image main second-image"
        "first-image main third-image";
      gap: 20px;
      padding: 20px;
    }
    .first-image {
      grid-area: first-image;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      grid-row: 1 / span 2;
    }
    .second-image {
      grid-area: second-image;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .third-image {
      grid-area: third-image;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .game-details {
      grid-area: main;
    }

    .game-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 8px 15px rgba(0,0,0,0.2);
    }

    .game-card a {
      text-decoration: none;
      color: #333
    }

    .game-card img {
    width: 200px;
    height: auto;
    border-radius: 8px;
    padding: 10px;
    border-radius: 20px;
  }

  /* about page */
  .origin-story {
    background: rgba(92, 64, 51, 0.8);
    margin: 20px auto;
    padding: 20px;
    border-radius: 8px;
    max-width: 800px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }
  .symbolises {
   display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
  }

  #runebreak-symbolism {
    font-weight: bold;
    
  }

  /*game pages */

  .game-page img {
    max-width: 300px;
    height: auto;
    border-radius: 8px;
  }
  /* 
    .game-page grid layout:
    - 3 columns: first-image | main | second/third-image
    - 2 rows: first row has first-image, main, second-image
              second row has first-image, main, third-image
    - Intended for pages with a main content area and up to three images.
  */
  .game-page {
    display: grid;
    width: auto;
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: repeat(2, auto);
    grid-template-areas:  
      "first-image  main  second-image"
      "first-image  main  third-image";
    gap: 20px;
    padding: 20px;
    margin: 20px;
  }
  
  .first-image img {
    grid-area: first-image;
    grid-row: span 2;
  }
  .second-image img {
    grid-area: second-image;
  }
  .third-image img {
    grid-area: third-image;
  }

  .game-details {
    grid-area: main;
    padding: 20px;
    margin: 20px 0;
  }
  .game-details h2,
  .game-details h3 {
    font-size: 1.5rem;
    display: flex;
    justify-self: center;
    margin: 10px 0;
  }

  /* Footer */
  footer {
    background-color: #1b3b2f;
    color: #D4AF37;
    text-align: center;
    padding: 10px 0 0 0;
    width: 100%;
    margin-top: auto;
    position: relative;
    left: 0;
    bottom: 0;
  }

  aside {
    background-color: #1b3b2f;
    color: #D4AF37;
    text-align: center;
    padding: 10px 0 0 0;
    width: 100%;
    margin-top: auto;
    position: relative;
    left: 0;
    bottom: 0;
   
  }
  aside a {
    color:#5c4033;
    text-decoration: none;
    margin: 0 10px;
  }
  .blog-post {
    
    margin: 20px auto;
    padding: 20px;
    border-radius: 8px;
    max-width: 800px;
    
  }
  .blog-post h2 {
    font-size: 1.5rem;
    margin: 10px;
    justify-self: center;
  }

  .blog-post p {
    margin: 20px 0;
    line-height: 1.6;
  } 
  .signature {
    font-family: 'New Rocker', cursive;
    text-align: right;
    margin-top: 40px;
    font-size: 1.2rem;
    color: #5c4033;
  }

  .blog-link a {
    text-decoration: none;
    color: #5c4033;
  }
  .blog-link a:hover {
    text-decoration: underline;
  }
  .blog-link a:visited {
    color:#5c4033;
    opacity: 0.6;
  
  }

  .blog-link {
    color:#5c4033;
    text-decoration: none;
  }

  .contact-info {
    margin-top: 20px;
    font-size: 0.9rem;
    justify-items: center;
    margin: 30px;
  }
  .contact-info a {
    color: #5c4033;
    text-decoration: none;
  }

  /* media queries tablet*/
@media (max-width: 768px) {

    .hamburger {
    display: block;
  }
  .nav-links {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 50px;
    right: 0;
    background: #1b3b2f;
    width: 100%;
    padding: 10px 0;
    z-index: 999;
  }
  .nav-links.show {
    display: flex !important;
  }
    
    .top-nav {
        overflow: hidden;
        
        position: relative;
    }
    .top-nav #myLinks{
        display:none;
    }
    .top-nav a {
        
        padding: 14px 16px;
        text-decoration: none;
        font-size: 17px;
        display: block;
    }

    .top-nav a.icon {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        padding: 14px 16px;
        
        
    }
    
    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
        position: absolute;
        right: 20px;
        top: 10px;
        cursor: pointer;
        z-index: 1000;
        
        font-weight: 900;
    }
    
    body {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }

    section {
      margin: 20px;
    }

    .game-page {
      display: flex;
      flex-direction: column;
      gap: 20px;
      padding: 20px;
      margin: 20px; 
    }

    .origin-story, .blog-post, .contact-info {
      margin: 20px;
      padding: 20px;
    }
  }


/* media queries mobile */
@media (max-width: 480px) {
   .top-nav {
        overflow: hidden;
        
        position: relative;
    }
    .top-nav #myLinks{
        display:none;
    }
    .top-nav a {
        
        padding: 14px 16px;
        text-decoration: none;
        font-size: 17px;
        display: block;
    }

    .top-nav a.icon {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        padding: 14px 16px;
       

    }
   
    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
        position: absolute;
        right: 20px;
        top: 10px;
        cursor: pointer;
        z-index: 1000;
        
        font-weight: 900;
    }

    
    body {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    
    
}