/* ===== RESPONSIVE MEDIA QUERIES ===== */

/* Large Screens (Desktops) */
@media screen and (max-width: 1200px) {
    h1 {
      font-size: 3.5rem;
    }
    
    h2 {
      font-size: 1.5rem;
    }
    
    p {
      font-size: 1.25rem;
    }

    .hamburger-menu,
    .hamburger-menu span {
        display: none;
    }

    .links-container {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .nav-links a{
      font-size: 1.5rem
    }

    .about-me-container p {
      padding: 0 15vh;
    }

    .about-me-container h2 {
      font-size: 3rem;
    }
    
    .slider {
      width: 90%;
    }

    .nav-logo h1 {
      font-size: 1.4rem;
    }

    .player-container {
      margin-left: 23vh;
      align-items: center;
      margin-top: 1.4vh;
    }
}
  
/* Medium Screens (Tablets) */
@media screen and (max-width: 992px) {
    h1 {
      font-size: 2.8rem;
    }
    
    h2 {
      font-size: 1.25rem;
    }
    
    p {
      font-size: 1.25rem;
    }


    
    .hero-text {
      top: 50%;
      left: 30%;
    }

    .nav-bar-container {
      overflow: hidden;
    }
    

    .nav-logo h1 {
      font-size: 1.0rem;
    }


    .nav-links {
      gap: 0px;
      margin: 0;
      padding: 0;
    }
    
    .nav-links a {
      font-size: 1.2rem;
      margin: 0 10px;
      padding: 8px 15px;
    }

    .dot-container {
      padding-bottom: 1rem;
    }
    
    .services-container h2 {
      font-size: 4rem;

    }
    
    .slideshow-container {
      width: 100%;
    }

    .rectangle {
      display: none;
    }

    .slider {
      width: 85%;
      margin-top: 5vh;
    }

    
    #samples-section {
      top: 45%;
      right: 5%;
      width: 300px;
    }

    .about-me-container {
      margin: 0;
    }
    
    .about-me-container p {
      padding: 0 10vh;
    }
    
    .row {
      font-size: 1.2rem;
    }

    .player-container {
      margin-left: 25%;
      width: 90%;
      align-items: center;
      margin-top: 1.4vh;
    }

    #contact-section {
      margin-top: 20vh;
    }

    .footer-container {
      justify-content: center;
      align-items: center;
      flex-direction: column;
    }

    .footer-left {
      align-items: center;
      order: 2;
    }

    .footer-right {
      align-items:center;
    }

    .footer-right hr {
      width: 70%
    }


}

/* Small Screens (Small Tablets & Large Phones) */
@media screen and (max-width: 768px) {
    /* Hamburger menu becomes visible */
    .hamburger-menu {
      display: flex;
    }
    
    h1 {
      font-size: 3.5rem;
    }
    
    h2 {
      font-size: 1.8rem;
    }
    
    p {
      font-size: 1.5rem;
    }
    
    .nav-bar-container {
      flex-direction: column;
      height: auto;
      padding: 10px;
      position: relative;
    }
    
    .nav-logo {
      height: auto;
      flex-direction: column;
      margin-bottom: 10px;
      align-items: center;
    }

    .nav-logo img {
      height: 100px;
      width: 100px;
    }
    
    .nav-logo h1 {
      font-size: 1.5rem;
      margin: 2vh 0 0 1vh;
      text-align: center;
    }
    
    /* Hide the regular nav links */
    .links-container {
      width: 100%;
      display: none;
    }
    
    /* Show links when menu is active */
    .links-container.active {
      display: block;
      animation: slideDown 0.3s ease-in-out;
    }
    
    @keyframes slideDown {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
  .nav-links {
    flex-direction: column;
    text-align: center;
    padding: 10px;
    background-color: var(--secondary-color);
  }

  .nav-links a {
    display: block;
    font-size: 1.5rem;
    margin: 10px 0;
    padding: 10px;
  }

    .links-container {
    display: none;
    width: 100%;
  }


  /* Show on active toggle */
  .links-container.active {
    display: block;
    animation: slideDown 0.3s ease-in-out;
  }
    
    #hero-section {
      height: 50vh;
    }
    
    .hero-img img {
      height: 70vh;
      object-fit: cover;
    }
    
    .hero-text {
      top: 40%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      width: 80%;
      line-height: 1.2;
    }
    
    .hero-text h1 {
      line-height: 1;
    }
    
    #samples-section {
      position: relative;
      top: 0;
      right: 0;
      width: 90%;
      margin: 20px auto;
      transform: translateY(-30px);
    }
    
    .player-container {
      margin-left: 0;
    }
    
    .about-me-container {
      padding: 50px 0;
    }
    
    .about-me-container h2 {
      font-size: 3.5rem;
    }
    
    .about-me-container p {
      padding: 0 5vh;
      font-size: 1.3rem;
    }

    #customer-revs {
      padding-bottom: 10vh;
      transform: translateY(-34%)
    }


    #customer-revs h1 {
      font-size: 2rem;
      text-align: center;
    }
    
    #customer-revs h1 span {
      font-size: 3rem;
    }


    .rectangle {
      display: none;
    }

    .prev, .next {
      top: 35%
    }
    
    .mySlidesContainer {
      padding: 2rem 1.5rem;
   
    }
    
    .slideshow-container {
      width: 100%;
      height: 26rem;
    }


    .services-container h2 {
      font-size: 3rem;
    }
    
    .row {
      flex-direction: column;
    }
    
    .cell {
      padding: 10px;
    }
    
    .slider {
      padding: 30px;
      height: 20rem;
      transform: translateY(10%);
    }
    
    .slide {
      height: 80px;
      width: 200px;
    }

    .dot-container {
      transform: translateY(-330%)
    }
    
    .contact-container {
      margin-top: 10vh;
    }
    
    .contact-middle {
      width: 100%;
    }
    
    .footer-container {
      flex-direction: column;
      padding: 1rem;
    }
    
    .footer-left, .footer-right {
      width: 100%;
      align-items: center;
      margin-bottom: 10px;
    }

    .hamburger-menu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        cursor: pointer;
      }

      .hamburger-menu span {
        display: block;
        width: 25px;
        height: 3px;
        background: var(--text-color);
        margin: 4px 0;
        transition: 0.3s ease;
      }
}

/* Extra Small Screens (Phones) */
@media screen and (max-width: 576px) {
    h1 {
      font-size: 2.8rem;
    }
    
    h2 {
      font-size: 1.5rem;
    }
    
    p {
      font-size: 1.2rem;
    }
    
    .nav-logo {
      height: auto;
      flex-direction: column;
      align-items: center;
    }
    
    .nav-logo img {
      height: 60px;
      width: 60px;
    }
    
    .nav-logo h1 {
      font-size: 1.2rem;
      margin: 10px 0;
      text-align: center;
    }
    
    #hero-section {
      height: 40vh;
    }
    
    .hero-img img {
      height: 50vh;
    }
    
    .hero-text {
      top: 50%;
    }
    
    .hero-text h1 {
      font-size: 2.5rem;
    }
    
    .hero-text h2 {
      font-size: 1.2rem;
    }
    
    .about-me-container {
      transform: skewY(-2deg);
      padding: 40px 0;
    }
    
    .about-me-container h2 {
      transform: skewY(2deg);
      font-size: 2.5rem;
      letter-spacing: -2px;
    }
    
    .about-me-container p {
      transform: skewY(2deg);
      padding: 0 3vh;
      font-size: 1.1rem;
    }


    
    #customer-revs {
      padding: 8vh 0 5vh 0;
    }
    
    #customer-revs h1 {
      font-size: 1.5rem;
    }
    
    #customer-revs h1 span {
      font-size: 2rem;
    }
    
    #customer-revs p, #customer-revs q {
      font-size: 1rem;
    }
    
    .prev, .next {
      font-size: 1.5rem;
      padding: 0.5rem;
    }
    
    .services-container h2 {
      font-size: 2.5rem;
      letter-spacing: -2px;
    }
    
    
    .cell {
      font-size: 1rem;
      padding: 8px;
    }
    
    .slider {
      padding: 20px;
      height: 15rem;
      top: 17rem;
    }
    
    .slider::before, .slider::after {
      padding: 20px;
      height: 60px;
      width: 100px;
    }
    
    .slide {
      height: 60px;
      width: 150px;
    }
    
    .slide img {
      height: 60px;
      width: auto;
    }
  
    
    .contact-inputs {
      width: 100%;
    }
    
    .contact-middle h2 {
      font-size: 3rem;
    }
}

/* Fix for very small phones */
@media screen and (max-width: 375px) {
    .nav-logo h1 {
      font-size: 1rem;
    }
    
    .hero-text h1 {
      font-size: 2rem;
    }
    
    .hero-text h2 {
      font-size: 1rem;
    }
    
    .about-me-container h2 {
      font-size: 2rem;
    }
    
    .services-container h2 {
      font-size: 2rem;
    }
    
    .audio-player {
      flex-direction: column;
    }
    
    .track-info {
      padding: 10px 5px;
    }
    
    .link-arrow {
      display: none;
    }
    
    .slider {
      padding: 15px;
      height: 50px;
    }
    
    .slide {
      height: 50px;
      width: 120px;
    }
}

/* Landscape mode adjustments */
@media screen and (max-height: 600px) and (orientation: landscape) {
    #hero-section, .hero-img img {
      height: 100vh;
    }
    
    .nav-bar-container {
      height: 8vh;
    }
    
    .about-me-container {
      padding: 30px 0;
    }
    
    .about-me-container p {
      font-size: 1rem;
    }
    
    #samples-section {
      top: 50%;
      right: 5%;
      width: 250px;
    }
    
    /* Adjust hamburger position in landscape */
    .hamburger-menu {
      top: 1vh;
      right: 1vh;
    }
}

/* Additional styling for form inputs */
@media screen and (max-width: 768px) {
    .contact-inputs {
      width: 90%;
      padding: 10px;
      margin-bottom: 10px;
    }
    
    .contact-middle button {
      padding: 10px 20px;
    }
}

/* Fix for audio player on small screens */
@media screen and (max-width: 480px) {
    .audio-player {
      flex-wrap: wrap;
    }
    
    .controls {
      width: 100%;
      justify-content: space-between;
    }
    
    .track-info {
      width: 100%;
      justify-content: space-between;
      padding: 10px 0;
    }

}

/* Hamburger Menu Styles */
.hamburger-menu {
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1000;
  cursor: url('ui/pointer.png') 16 16, auto;
}

.hamburger-menu span {
  height: 3px;
  width: 100%;
  background-color: var(--primary-dark-color);
  border-radius: 3px;
  transition: all 0.3s ease;
}

/* Hamburger animation */
.hamburger-menu.active span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}

.hamburger-menu.active span:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.active span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}