/* FONT IMPORTS */
@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Italic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Regular.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Ultrabold.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Ultrabold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-Ultralight.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-Ultralight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-UltralightItalic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-UltralightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PP Editorial New';
    src: url('./FONTS/PPEditorialNew-UltraboldItalic.woff2') format('woff2'),
        url('./FONTS/PPEditorialNew-UltraboldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

/* PP Neue Montreal Book */
@font-face {
  font-family: "PP Neue Montreal";
  src: url("./FONTS/PPNeueMontreal-Book.otf") format("opentype");
  font-weight: normal; /* Book is typically considered a regular weight */
  font-style: normal;
}

/* PP Neue Montreal Bold */
@font-face {
  font-family: "PP Neue Montreal";
  src: url("./FONTS/PPNeueMontreal-Bold.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
}

/* General Styling */
body {
  margin: 0;
  padding: 0;
  font-family: 'PP Neue Montreal';
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #fff;
  overflow: hidden; /* Disables scrolling for the whole page */
}

/* MENU BAR */
.menu-bar {
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%; /* Spans the full width of the page */
  background: white;
  display: flex;
  justify-content: center; /* Centers the nav container horizontally */
}

/* NAVIGATION LINKS */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem; /* Adds space between links */
  max-width: 1200px; /* Restrict width */
  width: 100%; /* Ensures it stretches within the max-width */
  padding: 75px 20px; /* Adjust padding for vertical and horizontal spacing */
    font-family: 'PP Neue Montreal';
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: -0.7px;
    font-weight: 500;
}

.nav a {
  text-decoration: none;
  color: #0325AB; /* Default blue color */
  transition: color 0.3s ease, text-decoration 0.3s ease;
}

.nav a:hover {
  color: #F5ABED; /* Purple on hover */
  text-decoration: line-through;
}

.project-container {
  display: flex;
  justify-content: space-between;
  height: calc(100vh - 70px);
  margin-top: 250px;
}

.right-content {
  width: 50%; /* Adjust based on desired proportion */
  height: 100%; /* Ensures consistent height */
  display: flex;
  flex-direction: column; /* Aligns content vertically */
  align-items: center; /* Centers content horizontally */
  justify-content: flex-start; /* Aligns content at the top */
  text-align: center; /* Centers text content */
  margin: 0 auto; /* Centers the entire section */
  padding-bottom: 100px; /* Add space inside the right section */
  box-sizing: border-box; /* Includes padding in width/height calculations */
  overflow-y: auto; /* Ensures scrollable content if it overflows */
  margin-top: -100px;
}

.left-carousel {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.5s ease-in-out;
  width: 30%;
  margin-left: 70px;

}

.carousel-item img {
  width: 250px; /* Adjust this to control the size of carousel images */
  height: auto; /* Maintain aspect ratio */
  max-width: 100%;
}

.carousel-item.active {
  opacity: 1;
  transform: scale(1.2);
}

.carousel-btn {
  position: absolute;
  background: none;
  border: none;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 5; /* Ensure arrows are always on top */
}

.carousel-btn::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-left: 2px solid black;
  border-bottom: 2px solid black;
  transform: rotate(45deg);
  margin: auto;
}

.carousel-btn:hover {
  color: #F5ABED; /* Change to purple on hover */
}

.carousel-btn.up {
  transform: translate(-50%, -50%);
  transform: rotate(90deg); /* Rotate to point upward */
}

.carousel-btn.down {
  bottom: 10%; /* Fixed position at the bottom */
  transform: translate(-50%, 50%);
  transform: rotate(270deg); /* Rotate to point downward */
}

.carousel-btn:hover::before {
  border-color: #F5ABED; /* Optional: Change color on hover */
}

/* Title Styling */
#project-title {
  font-family: 'PP Neue Montreal';
  font-size: 1.8rem; /* Adjust the size of the title */
  font-weight: bold;
  margin-bottom: -5px; /* Adds space below the title */
  text-transform: uppercase; /* Makes the title uppercase */
  color: black; /* Adjust the color */
}

/* Description Styling */
#project-description {
  font-family: 'PP Editorial New';
  font-weight: 200;
  font-style: normal;
  font-size: 1.25rem; /* Adjust the size of the description */
  line-height: 1.8; /* Adjust line spacing */
  margin-bottom: 20px; /* Adds space below the description */
  color: black; /* Softer color for the description */
}

.images-container img {
  width: 100%; /* Responsive for all screen sizes */
  max-width: 500px; /* Restrict maximum width */
  margin-bottom: 15px; /* Space below each media */
  display: block; /* Ensures consistent block layout */
  align-items: center;
}

.videos-container iframe {
  border: none; /* Remove iframe border */
  width: 500px; /* Set a fixed width */
  height: 300px; /* Set a fixed height */
  border: none; /* Removes any border around the iframe */
  display: block; /* Ensures the iframe is a block element */
  margin-bottom: 10px; /* Adds space below the title */
}

.scroll-banner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #F5ABED;
  overflow: hidden;
  z-index: 9999; /* keeps it on top of everything */
  display: flex;             /* enables flexbox */
  align-items: center;       /* centers vertically */
}

.scroll-text {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: scroll-left 30s linear infinite;
  font-size: 1.1rem;
  font-family: "PP Neue Montreal";
  font-weight: bold;
  line-height: 40px;
  color: black;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Mobile Responsive Design */
@media (max-width: 768px) {
    body {
        height: auto; /* Allow flexible height for content */
        overflow-y: auto; /* Enable vertical scrolling */
    }

    /* Menu Bar Adjustments */
    .nav {
        font-family: 'PP Neue Montreal';
        font-weight: 500;
        flex-direction: row; /* Stack navigation links */
        gap: 3px; /* Add spacing between links */
        padding: 35px 0;
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 10px;
        font-size: 0.9rem; /* Reduce title size for mobile */
    }

    .nav a {
    text-decoration: none;
    color: #0325AB;
    transition: color 0.05s ease, text-decoration 0.05s ease;
    }

    .nav a:hover {
    color: #F5ABED; /* Purple hover */
    text-decoration: line-through;
    }

    /* Project Container */
    .project-container {
        display: flex;
        flex-direction: row; /* Stack left and right sections */
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        margin-top: 120px; /* Account for the menu bar height */
    }

    /* Left Carousel Section */
    .left-carousel {
        width: 30%; /* Take full width on mobile */
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: left;
        overflow-y: visible; /* Allow scrolling for tall content */
        Margin-left: 5px;

    }

    .carousel-item img {
        width: 180px; /* Smaller image size for mobile */
        max-width: 80%; /* Ensure images don’t overflow */
        margin-bottom: 5px; /* Add spacing */
    }

    /* Right Content Section */
    .right-content {
        width: 70%; /* Full width for mobile */
        padding: 15px; /* Add padding for spacing */
        text-align: center; /* Center align text */
    }

    #project-title {
        font-family: 'PP Neue Montreal';
        font-weight: bold;
        font-weight: 900;
        font-size: 1.4rem; /* Adjust title size */
    }

    #project-description {
        font-family: 'PP Editorial New', serif;
        font-size: 0.8rem; /* Smaller description text */
        line-height: 1.5; /* Adjust line spacing */
        margin-bottom: 10px; /* Add space below description */
    }

    .images-container img {
        width: 100%; /* Responsive width */
        max-width: 300px; /* Limit maximum size */
        margin: 10px auto; /* Center images */
    }

    .videos-container iframe {
        width: 100%; /* Make video responsive */
        max-width: 300px; /* Limit maximum size */
        height: auto; /* Maintain aspect ratio */
        margin: 10px auto; /* Center video */
    }

    /* Carousel Buttons for Mobile */
    .carousel-btn.up {
        top: 16%;
        transform: translate(-50%, 0) rotate(90deg); /* Adjust for upward position */
        Margin-left: 10px;
    }

    .carousel-btn.down {
        bottom: 3%;
        transform: translate(-50%, 0) rotate(270deg); /* Adjust for downward position */
        Margin-left: 10px;
    }

  .scroll-banner {
    height: 30px; /* slightly shorter on phones */
  }

  .scroll-content {
    font-size: 0.8rem; /* smaller text for better fit */
    padding-right: 1rem; /* tighter spacing between loops */
  }

  .scroll-track {
    animation-duration: 25s; /* slightly slower scroll on phones */
  }

  body {
    padding-top: 30px; /* adjust if you’re offsetting body content */
  }
}