* {
  box-sizing: border-box; 
  margin: 0;
  padding: 0;
}

body {
  color: white;
  font-family: "Comic Neue", "Chalkboard SE", "Comic Sans MS", sans-serif;
  font-size: 4rem;
  margin: 0;
  padding: 0;
}

.under-logo {
  letter-spacing: 0.3rem; 
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden; 
  background-color: #000; 
}

.img-box {
  display: inline-flex;    
  align-items: center;     
  gap: 1rem;               
  border-radius: 0.5rem;
  background-color: rgba(0, 0, 0, 0);
  flex-wrap: nowrap;
  width: auto; 
  max-width: 95%; 
  margin-left: auto;
  margin-right: auto;
  justify-content: center; 
}

.img-box img {
  max-width: 100%;
  height: auto;
  display: block; 
}

.main-page, .about-page, .music-page, .press-kit-page, .gigs-page, .contact-page {
  font-family: "Comic Neue", "Chalkboard SE", "Comic Sans MS", sans-serif;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh; 
  width: 100vw;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll; 
  box-sizing: border-box; 
  border-bottom: 1rem solid white;
}

.main-page {
  background-image: url("/kingsFest.JPG");
}

.nav-links {
  display: flex;          
  list-style: none;       
  padding: 0;
  margin: 0;
  gap: 2rem;              
  justify-content: center; 
}

.nav-links a {
  text-decoration: none;  
  color: white;           
  font-size: 3rem;
  padding: 1.5rem 1.4rem;
  transition: color 0.3s ease;
}

.nav-links a:hover {
  color: #ffcc00;         
}

.about-page {
  background-image: url("/headline in crowd.jpeg");
  align-items: stretch;
}

.text-box {
  display: flex;
  flex-direction: row;     
  align-items: center;      
  gap: 2rem;          
  border-radius: 0.5rem;
  background-color: rgba(0, 0, 0, 0.65);
  width: 100%; 
  height: 70vh;
  margin-left: auto;
  margin-right: auto;
  align-items: flex-start;
  min-width: 400px;
}

.text-box-music {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border-radius: 0.5rem;
  background-color: rgba(0, 0, 0, 0.65);
  width: 100%; 
  height: 70vh;
  margin-left: auto;
  margin-right: auto;
}

.header-text {
  padding: 3rem;
  font-size: 7.5rem; 
}

.text-stack {
  display: flex;
  flex-direction: column;  
  align-items: flex-start; 
  gap: 0.5rem;             
}

.paragraph-text {
  font-family: 'Montserrat', sans-serif;
  padding: 4.5rem;
  line-height: 1.5;
  text-align: left;
}

.bigger-paragraph-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 6rem;
  padding: 4.5rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: left;
}

.biggest-paragraph-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 9rem;
  padding: 4.5rem;
  line-height: 1.5;
  font-weight: bold;
}

.title-and-photo {
  display: block; 
  width: 100%;
  overflow: auto; 
}

.main-photo {
  float: right;         
  width: 70%;           
  max-width: 1000px;     
  margin-left: 2rem;    
  margin-bottom: 1rem;  
  margin-right: 2rem;
  padding: 0rem;      
}

.title-and-photo {
}

.bottom-right-text-container {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  pointer-events: none; 
}

.bottom-right-text {
  color: rgba(255, 255, 255, 0.7); 
  background-color: rgba(0, 0, 0, 0.5); 
  font-size: clamp(1rem, 3vw, 3rem); 
  padding: 0.5% 1%; 
  margin: 5%;
  text-align: right;
}

.music-page {
  background-image: url("/MILKINCRISIS Horizontal Press Shot - Crowdsurf.jpeg");
  align-items: stretch;
}

.music-videos {
  display: flex;
  flex-direction: row; 
  justify-content: center;
  align-items: center;
  width: 100%;             
}

.video-container {
  width: 95%;          
  max-width: 1400px;   
  margin: 0 auto;
  padding: 1rem;       
  font-family: 'Montserrat', sans-serif;
}

.video-container iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}

.video-container h1 {
  font-size: 3rem;
}

.text-box2 {
  color: white;
  padding: 20px;         
  border-radius: 5px;     
  text-align: center;     
  background-color: rgba(0, 0, 0, 0.65);
  white-space: nowrap;      
  overflow: hidden;         
  text-overflow: ellipsis;
}

.press-kit-page {
  background-image: url("/LewisSharpe.jpeg");
  align-items: stretch; 
}

.photo-box {
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center; 
  overflow-y: auto; 
  padding: 2rem;
}

.photo-box .text-stack {
  width: 100%;
}

.photo-grid {
  column-count: 4;
  column-gap: 2rem;
  width: 100%;
  max-width: 3000px;
  padding: 2rem 0;
  display: block; 
}

.downloadable-photo {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center; 
  margin-bottom: 2rem; 
  break-inside: avoid; 
  text-align: center;
}

.downloadable-photo img {
  width: 100%; 
  height: auto; 
  border-radius: 0.5rem;
  border: 4px solid white; 
}

.download-btn {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.5rem;
  color: white;
  padding: 0.8rem 1.5rem;
  text-decoration: none; 
  border-radius: 0.5rem;
  transition: opacity 0.3s ease;
}

.download-btn:hover {
  opacity: 0.8; 
  color: #000 !important; 
}

.gigs-page {
  background-image: url("/MILKINCRISIS Horizontal Press Shot.JPG");
  align-items: stretch;
}

.center-text {
  display: flex;
  flex-direction: column;  
  justify-content: center; 
  align-items: center;     
  height: 100%;            
  width: 100%;             
  margin: 0;
  padding: 0;              
  text-align: center;
  box-sizing: border-box;
}

.contact-page {
  background-image: url("/MILKINCRISIS Horizontal Press Shot - Full Band.jpg");
  align-items: stretch; 
}

.nav-bar {
  position: fixed;       
  top: 0;                
  left: 0;               
  width: 100%;           
  z-index: 9999;         
  background-color: rgba(0, 0, 0, 0.85); 
  padding: 1rem 0;       
  backdrop-filter: blur(4px); 
}

@media (max-width: 768px) {
  body {
    color: white;
    font-family: "Comic Neue", "Chalkboard SE", "Comic Sans MS", sans-serif;
    font-size: 0.6rem;
    margin: 0;
    padding: 0;
  }
  
  .under-logo {
    letter-spacing: 0.2rem; 
  }
  
  .hyper-link {
    color: #89CFF0;
  }
  
  .main-page {
    background-attachment: scroll !important; 
  }
  
  .img-box {
    width: 75%; 
    gap: 0.1rem; 
    margin: 0rem;
  }
  
  .nav-links {
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 0rem; 
    width: 100%;
    padding: 0 1rem;
  }

  .nav-links a {
    font-size: 1.5rem; 
  }
  
  .about-page {
    background-attachment: scroll !important; 
  }
  
  .header-text {
    padding: 1rem;
    font-size: 3rem; 
  }

  .text-stack {
    width: 90%;          
    max-width: 100%;     
    margin: 0 auto;      
    display: block;      
  }

  .paragraph-text {
    padding: 1rem;
    line-height: 1.5;
    text-align: center; 
  }

  .bigger-paragraph-text {
    font-size: 0.8rem;
    padding: 1rem;
    line-height: 1.5;
    font-weight: bold;
    flex-grow: 1;
  }
  
  .text-box {
    display: block; 
    width: 100%;
  }

  .main-photo {
    width: 45%;
  }
  
  .music-page {
    background-attachment: scroll !important; 
    height: auto;
    min-height: 100vh;
    padding-top: 2rem;
    padding-bottom: 3rem;
  }

  .text-box-music {
    flex-direction: column;
    height: auto; 
    align-items: center;
    padding-bottom: 2rem;
    font-size: 0.1rem;
  }

  .music-videos {
    flex-direction: column;
    gap: 2rem; 
  }

  .video-container {
    width: 95%;          
    max-width: 900px;
    margin: 0 auto;
    padding: 0.3rem;
    font-family: 'Montserrat', sans-serif;
  }
  
  .video-container h1 {
    font-size: 0.9rem; 
    margin: 0;         
  }

  .text-box2 {
    color: white;
    padding: 0.3rem;         
    text-align: center;     
    background-color: rgba(0, 0, 0, 0.65);
    white-space: nowrap;      
    overflow: hidden;         
    text-overflow: ellipsis;
    font-size: 0.1rem;
  }
  
  .press-kit-page {
    background-attachment: scroll !important; 
    height: auto; 
    min-height: 100vh;
  }
  
  .photo-box {
    height: auto; 
    width: 95%;
    padding: 1rem;
  }

  .photo-grid {
    column-count: 1; 
    gap: 0; 
  }
  
  .download-btn {
    font-size: 1.2rem; 
    padding: 0.6rem 1.2rem;
  }
  
  .center-text {
    height: auto; 
    width: 100%;
    padding: 2rem 0;
  }

  .biggest-paragraph-text {
    font-size: 1.5rem; 
    padding: 1rem;
    line-height: 1.5;
    font-weight: bold;
    flex-grow: 1;
  }
  
  .about-text-left {
    text-align: left;
  }
  
  .main-page, .about-page, .music-page, .press-kit-page, .gigs-page, .contact-page {
    border-bottom: 0.2rem solid white;
  }
}