* {
    margin: 0;
    padding: 0;
    font-family: "Newgrounds", bold;
}
body{
    min-height: 100vh;
    overflow-y: visible;
    padding-bottom: 15%;
}

@font-face {
  font-family: "Newgrounds";
  src: url(Fonts/NewgroundsFont-Regular.otf);
}

.background-image {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(33, 15, 64, 0.779);
    background-image: linear-gradient(rgba(255, 127, 80, 0.488), rgba(255, 166, 0, 0.378));
    background-size: cover;
    z-index: -1;
}

/* HOME */
.header {
    min-height: 100vh;
    height: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 150px;
    box-sizing: border-box;
    color: white;
}

.header nav .active,
.nav-links ul li a:hover {
    color: white;
    transition: .5s;
}
/* Navbar */
nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: #350606;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    box-sizing: border-box;
}

.nav-links ul {
    list-style: none;
    display: flex;
    gap: 20px;
}

.nav-links ul li {
    padding: 8px 12px;
}

.nav-links ul li a {
    color: #F0B49D;
    text-decoration: none;
    font-size: 18px;
    white-space: nowrap;
}

.nav-links ul li::after {
    content: '';
    width: 0%;
    height: 2px;
    background: #00ffb3;
    display: block;
    margin: auto;
    transition: 0.5s;
}

.nav-links ul li:hover::after {
    width: 100%;
}

/* Logo underneath navbar */
.page-logo {
    margin-top: 20px;
    text-align: right;
}

.page-logo img {
    width: 600px;
}

img#PFP{
  width: 600px;
  height: auto;
  float: left;
}


/* About Info */
.about-info {
    width: 80%;
    color: #fff;
    text-align: center;
    margin-top: 40px;
}

.about-info h1 {
    text-decoration: underline;
    display: block;
    font-size: 44px;
    color: #fff;
}

.about-info p {
  margin: 12px 0 40px;
  text-align: center;
  font-size: 20px;
  float: none;
  color: #fff
}

/* Buttons */
.youtube-button,
.discord-button,
.kofi-button,
.instagram-button,
.newgrounds-button,
.venmo-button,
.warning,
.dropdown1,
.dropdown2,
.dropdown3,
.dropdown4{
    display: inline-block;
    color: white;
    border: 4px solid white;
    padding: 20px 24px;
    margin: 12px;
    font-size: 20px;
    border-radius: 4px;
    width: 8em;
    cursor: pointer;
    box-sizing: content-box;
}

.youtube-button {
    background: #CD201F;
}
.discord-button {
    background: #7289da;
}
.kofi-button {
    background: #FFA05A;
}
.instagram-button {
    background: #DD2A7B;
}
.newgrounds-button{
  background: #eeb211;
}
.venmo-button{
  background: #009cde;
}

.popup-container .popup-box h1, h2, p{
  color: black;
  text-align: center;
}

.popup-container .popup-box h1, h2 {
  text-decoration: underline;
  display: block;
  line-height: 1;
  font-size: 44px;
}

.popup-container .popup-box p {
margin: 12px 0 20px;
text-align: center;
font-size: 20px;
float: none;
}

.popup-container {
  position: absolute;
  width: 100%;
  height: 100%;
  background: black;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0%;
  pointer-events: none;
}

.popup-conatiner.active{
  opacity: 1;
  pointer-events: auto;
  transition: .4s ease;
}

.popup-container .popup-box {
  width: 500px;
  background: #f2f2f2;
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(0,0,0,.1);
  padding: 32px
}
.popup-box .close-btn {
  width: 100%;
  height: 44%;
  background: coral;
  border-radius:  4px;
  border: none;
  outline: none;
  box-shadow: 0 0 12px rgba(0, 0, 0, .1);
  cursor: pointer;
  font-size: 32px;
  color: #fff
}
/* Profile picture */
#PFP {
    width: 400px;
    max-width: 100%;
    height: auto;
    border: 4px solid white;
    margin-bottom: 20px;
}
/* SERVICES */

.warning{
    width: 20%;
    text-align: center;
    font-size: 12px;
    background: #000000;
    cursor: default;
}
/* Art gallery */
.art-gallery {
    margin-top: 40px;
    text-align: center;
  }
/* Drop Down Menu */
  .dropdown1{
    width: 60%;
    background-color: coral;
  }
  .dropdown2{
    width: 60%;
    background-color: purple;
  }
  .dropdown3{
    width: 60%;
    background-color: green;
  }
  .dropdown4{
    width: 60%;
    background-color: blue;
  }
  .dropdown-text{
    width: 100%;
    text-decoration: underline 3px;
  }
  
  .dropdown-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    transition: max-height 0.5s ease-in, opacity 0.5s ease-out;
    margin-top: 12px;
  }
  
  .dropdown-content.show {
    max-height: 100%; /* Should be enough to show all items */
    opacity: 1;
  }
  
  .image-container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .dropdown-item {
    width: 350px;
    height: 350px;
    object-fit: contain;
    border: 4px solid coral;
    background-color: beige;
    box-shadow: 0px 0px 10px black inset;
    margin-bottom: 5px;
    cursor: pointer;
  }
  
  .caption {
    white-space: normal;
    word-wrap: break-word;
    max-width: 250px;
    color: white;
    font-size: 14px;
    margin-top: 4px;
    text-align: center;
    font-family: "IBM Plex Mono", monospace;
    margin-bottom: 10px;
  }
  /* Overlay for image preview */
  #imagePreviewOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 15, 15, 0.95);
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
  }
  
  /* Preview image */
  #imagePreviewOverlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 1000;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    touch-action: manipulation;
  }
  
  #imagePreviewOverlay.visible {
    display: flex;
  }
  
  #imagePreviewOverlay img {
    width: auto;
    height: 70%;
    object-fit: contain;
    border: 4px solid white;
    background-color: rgba(245, 245, 220, 0.73);
    border-radius: 8px;
    box-shadow: 0 0 20px black;
    margin-bottom: 12px;
  }
  
  #previewCaption {
    color: white;
    font-size: 1rem;
    margin-bottom: 24px;
  }
  
  .preview-nav {
    position: fixed;
    bottom: 32px;
    padding: 12px 16px;
    font-size: 1.5rem;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: #000;
    cursor: pointer;
    z-index: 1001;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  }
  
  #prevBtn {
    left: 20px;
  }
  
  #nextBtn {
    right: 20px;
  }

.preview-nav:hover {
  background: rgba(255, 255, 255, 0.3);
}
  
/* PRICING */

table {
  font-family:'IMB Plex Mono', monospace;
  border: 3px solid white;
  width: 80%;
  text-align: center;
  background-color: #350606;
  margin: 24px;
}
th{
  color: white;
  font-size: 28px;
  text-decoration:underline dotted 3px;
}
td{
  color: #F0B49D;
  font-size: 24px;
}
td, th{
  border: 2px solid #F0B49D;
  padding: 8px;
}

/* SOFTWARE */

/* TERMS */

.term-text{
  text-align: center;
  font-size: 20px;
  width: 80%;
}
.term-text h1{
  text-decoration: underline 4px;
  padding-bottom: 16px;
}
.term-text p{
  margin-bottom: 12px 0 20px;
}

/* THIS FIXES WEIRD BUTTONS IF SCREEN IS 
SMALLER */
@media (max-width: 1537px) {
  img#PFP{
    float:none;
  }
}
/* PHONE LAYOUT */
@media (max-width: 756px) {
  img#PFP{
    float: none;
  }
  .about-info {
    justify-content: center;
  }
    body {
        padding-bottom: 10%;
    }
    nav {
        padding: 8px 12px;
    }

    .nav-links ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .nav-links ul li {
        padding: 4px 0px;
    }

    .nav-links ul li a {
        font-size: 16px;
    }
    
    img#PFP {
        width: 400px !important;
        max-width: 300px;
        height: auto;
        display: block;
        margin: 0 auto 20px;
    }
    img#logo {
      width: 300px;
      height: auto;
    }
    .dropdown-content {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
      }
    
      .dropdown-item {
        width: 150px;
        height: 150px;
        object-fit: contain;
      }
      .dropdown4 {
        font-size: 16px;
      }
    
      .caption {
        max-width: 175px;
        margin-bottom: 4px !important;
      }
      .youtube-button,
      .discord-button,
      .kofi-button,
      .instagram-button,
      .newgrounds-button,
      .paypal-button {
        display: inline-block;
        width: 40%;     /* Make them take ~half the row */
        margin: 2.5%;   /* Adds spacing and wraps to next row */
        box-sizing: border-box;
        padding: 10px 0;
        font-size: 16px;
      }
      .preview-nav{
        font-size: 32px;
        padding: 14px 20px;
      }
      .warning{
        width: 40%;
        font-size: 12px;
      }
      #imagePreviewOverlay img{
        width: 350px;
        height: 350px;
      }
      td, th{
        font-size: 16px;
      }
}