/* GDES306 | MMDD253 - Coding Your Portfolio     */
/* Extra small devices (phones, less than 600px) */
/* No media query since this is the default CSS */
/* Basic page styling */
:root {
  --black: black;
  --dark-grey: #333;
  --mid-grey: #666;
  --light-yellow: #ffe9b3;
  --white: white;
  --accent-colour: #cadaff;
  --headline-font: "spinwerad", serif;
  --body-font: "Lexend", sans-serif; /* Update to use Lato */
  --horizontal-shift: 6px;
  --section-padding-top: 60px;
}
@font-face {
  font-family: "spinwerad";
  src: url("/fonts/spinwerad.bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

html {
  scroll-behavior: smooth;
}
* {
  margin: 0;
  padding: 0;
  transition: 0.5s;
}
body {
  font-family: var(--body-font);
  font-weight: 200; /* Light */
  line-height: 1.8;
}
h1,
h2,
h3,
h4,
h4-1,
h5,
h5-1,
h6 {
  border-bottom: none;
  color: var(--black);
  text-decoration: none;
  font-family: var(--headline-font);
}
h1 {
  margin-top: 150px;
  font-weight: bold;
  font-size: calc(20px + (56 - 30) * (100vw - 400px) / (1800 - 400));

  margin-bottom: 3rem;
}
h2 {
  margin-top: 100px;
  font-size: calc(32px + (48 - 32) * (100vw - 400px) / (1800 - 400));
  margin-bottom: 1.5rem;
  color: var(--black);
}
h3 {
  font-size: calc(30px + (36 - 20) * (100vw - 400px) / (1800 - 400));
  color: var(--black);
  margin: 30px 0;
}
.footer-h3 {
  font-size: calc(24px + (30 - 20) * (100vw - 400px) / (1800 - 400));
  color: var(--white);
}
h4 {
  font-size: calc(30px + (30 - 20) * (100vw - 400px) / (1800 - 400));
  color: #ba551b;
}
h4-1 {
  font-size: calc(28px + (28 - 20) * (100vw - 400px) / (1800 - 400));
  color: var(--black);
}
h5 {
  font-size: calc(18px + (30 - 20) * (100vw - 400px) / (1800 - 400));
  color: var(--black);
}
h5-1 {
  font-size: calc(18px + (30 - 20) * (100vw - 400px) / (1800 - 400));
  color: #5b5b5b;
}

p {
  color: var(--black);
  font-size: calc(20px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  margin: 1rem 0;
}

.footer-p {
  color: var(--white);
  font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  margin-bottom: 2rem;
}
.footer-copy {
  display: flex;
  color: var(--white);
  font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  /* margin-bottom: 2rem; */
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
a {
  font-size: calc(14px + (16 - 12) * (100vw - 400px) / (1800 - 400));
  text-decoration: none;
  color: var(--black);
}
a:visited {
  color: var(--black);
}
.bold-p {
  font-size: calc(16px + (24 - 16) * (100vw - 400px) / (1800 - 400));
  font-weight: 600; /* or try 700 for even bolder */
  margin: 12px 0;
}
.btn {
  background-color: #cadaff; /* Light blue */
  color: var(--black);
  border: none;
  font-weight: 400;
  border-radius: 4px;
  transition: background-color 0.3s ease-in-out;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  width: fit-content;
}
.btn:hover {
  background-color: #ffe9b3;
  color: var(--black);
}
.btn:visited {
  color: var(--black);
}
.btn:hover:visited {
  color: var(--black);
}
img {
  width: 100%;
}
.emoji {
  font-size: 2em;
}
@keyframes bounceText {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes colorChangeText {
  0% {
    color: #000;
  }
  50% {
    color: #ff6347;
  } /* Tomato color */
  100% {
    color: #000;
  }
}

@keyframes bounceEmoji {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes colorChangeEmoji {
  0% {
    filter: hue-rotate(0deg);
  }
  50% {
    filter: hue-rotate(180deg);
  }
  100% {
    filter: hue-rotate(0deg);
  }
}

.animated-word {
  display: inline-block;
  font-size: 2em;
  font-weight: bold;
  /* animation: bounceText 1s infinite, colorChangeText 2s infinite; */
}

/* .animated-emoji {
  display: inline-block;
  font-size: 2em;
  animation: bounceEmoji 1s infinite, colorChangeEmoji 2s infinite;
} */
/* Styling the Navigation */
header {
  position: fixed;
  width: 100%;
  z-index: 10;
}
nav {
  background: var(--white);
  height: 60px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1);
}
.navexpanded {
  height: auto;
}
nav ul {
  display: flex;
  list-style-type: none;
  flex-wrap: wrap;
  text-align: center;
}
nav ul > li {
  font-weight: 300;
  margin-bottom: 8px;
  flex-basis: 100%;
}
nav ul li a {
  text-decoration: none;
  color: var(--black);
  margin: 20px;
}
nav ul li a:hover {
  text-decoration: none;
  color: var(--dark-grey);
  border-bottom: 2px solid var(--accent-colour);
  padding-bottom: 2px; /* Adjust spacing if needed */
}
#logo {
  margin-top: 12px;
  /* font-family: "Fascinate", cursive; */
  margin-right: auto;
  flex-basis: 50%;
  text-align: left;
}
#logo img {
  width: 50px; /* Adjust size as needed */
  height: auto; /* Maintain aspect ratio */
}
#logo a {
  font-size: 28px;
  height: 2rem;
  width: auto;
}
.fa-bars {
  font-size: 24px; /* Adjust the size as needed */
}
#menu-icon,
#close-icon {
  margin-left: auto;
  flex-basis: 50%;
  text-align: right;
  font-size: 40px;
  margin-top: 0px;
}
#close-icon {
  display: none;
}
.navexpanded #close-icon {
  display: inline-block;
}
.navexpanded #menu-icon {
  display: none;
}
#logo a:hover,
#menu-icon a:hover,
#close-icon a:hover {
  background: none;
}
/* #menu-icon {
  margin-left: auto;
  flex-basis: 50%;
  text-align: right;
  font-size: 40px;
  margin-top: 0px;
} */
#logo a:hover,
#menu-icon a:hover {
  background: none;
}
.resume-btn {
  display: inline-block;
  padding: 10px 20px;
  margin: 0 10px;
  font-size: 18px;
  font-weight: 500;
  background-color: #cadaff;
  color: black;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s ease-in-out;
}
.project-btn {
  display: inline-block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  background-color: #cadaff;
  color: black;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s ease-in-out;
}
.project-btn:hover {
  background-color: #ffe9b3;
  color: black;
}

.resume-btn:hover {
  background-color: #ffe9b3;
  color: black;
}
/* Styling for the Sections */
section {
  display: grid;
  min-height: calc(50vh - var(--section-padding-top));
  padding-top: var(--section-padding-top);
  grid-template-columns: 5% 1fr 5%;
  align-content: start;
}

section > * {
  grid-column: 2;
}
.introduction {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 4rem;
  /* padding: var(--section-padding-top) 5%; */
  /* min-height: calc(100vh - var(--section-padding-top)); */
}

.competitive-viva {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.competitive-viva ul li {
  font-size: calc(16px + (24 - 16) * (100vw - 400px) / (1800 - 400));
  margin: 40px 0;
}
/* animation viva-project */

.competitive-viva ul {
  list-style: none;
  padding: 0;
}
.p-detail {
  margin: 2rem;
}

/* Smooth color animation */
@keyframes colorChange {
  0% {
    color: rgb(190, 185, 185); /* Blue */
  }
  50% {
    color: #ba551b; /* Brown */
  }

  100% {
    color: var(--accent-colour); /* Back to Blue */
  }
}

/* Apply color animation to each span element */
.animate-item {
  animation: colorChange 3s ease-in-out infinite; /* Infinite color change */
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  transition: color 0.3s ease; /* Smooth transition for the color change */
}

/* Apply delays for each span to stagger the color animations */
.animate-item:nth-child(1) {
  animation-delay: 0s;
}

.animate-item:nth-child(2) {
  animation-delay: 0.3s;
}

.animate-item:nth-child(3) {
  animation-delay: 0.6s;
}

.animate-item:nth-child(4) {
  animation-delay: 0.9s;
}

.animate-item:nth-child(5) {
  animation-delay: 1.2s;
}
/* Styling the Sections-viva */
.project-image {
  width: 100%;
  height: auto;
  border: 2px solid #ccc; /* Light gray stroke */
  border-radius: 8px; /* Optional: rounded corners */
  padding: 4px; /* Optional: space between image and border */
  box-sizing: border-box; /* Ensures padding doesn't break layout */
}
.two-columns {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
  margin-bottom: 2rem;
  align-items: center;
}

.video-hero {
  display: flex; /* Use flexbox to center content */
  flex-direction: column;
  justify-content: center; /* Center the content horizontally */
  align-items: center; /* Center the content vertically */
  width: 80%; /* You can adjust this as needed */
  margin: 0 auto; /* This ensures the container is centered on the page */
}
video {
  display: grid;
  width: 100%;
}
.video-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.two-columns-video {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}
.art-video {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}
.Humber-video {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* .two-columns1 {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
  margin-bottom: 2rem;
  align-items: center;
} */

.project-title {
  display: flex;
  justify-content: center;
  /* margin: 50px 0; */
}
.featured {
  grid-column: 1/-1; /*This Class can be used to stretch an item the entire width of the parent grid */
}
/* footer */

/* Styling for about section */

.intro-image-light {
  width: 30%;
}

/* Styling for the About */
.about-container {
  flex-direction: column;
  align-items: flex-start;
}

.about-video-wrapper {
  width: 100%;
  min-width: auto;
  position: relative; /* keep position for video */
}

.about-video-title {
  position: static; /* remove absolute positioning */
  margin: 20px 0 10px 0; /* spacing between video and h3 */
  white-space: normal; /* allow wrapping */
  background-color: transparent; /* optional: remove bg */
  color: #000; /* optional: better contrast on white bg */
  padding: 0;
  box-shadow: none;
  min-width: auto;
  font-size: 1.8rem;
  text-align: left;
}

#about ul {
  list-style: none;
}
.column video {
  width: 100%;
  max-width: 100%; /* Set a max size for consistency */
  aspect-ratio: 16 / 9; /* Keeps videos proportional */
  object-fit: cover;
  border-radius: 8px; /* Optional: rounded corners */
  background-color: #000; /* Optional: background fill for aspect ratio */
}
.three-column {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr; /* This creates 3 equal columns */
  gap: 20px; /* Adds spacing between the items */
  margin: 100px 0;
}
.column {
  width: 100%;
  height: auto; /* allow height to adjust */
}

.column img {
  width: 100%;
  height: 330px; /* set the desired consistent height */
  object-fit: cover; /* crop the image to fill the area without stretching */
  display: block;
}
.about-p {
  font-size: calc(20px + (18 - 16) * (100vw - 400px) / (1800 - 400));
  font-weight: 200; /* or try 700 for even bolder */
  margin: 40px 0;
}
.about-p2 {
  font-size: calc(24px + (24 - 18) * (100vw - 400px) / (1800 - 400));
  font-weight: 200; /* or try 700 for even bolder */
  margin: 40px 0;
}
.two-columns-skills ul li {
  color: var(--black);
  font-size: calc(24px + (24 - 16) * (100vw - 400px) / (1800 - 400));
  margin: 1rem 0;
}
/* skill lists below */
.two-columns-fixed {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
  margin-bottom: 2rem;
}

.three-column1 {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr; /* This creates 3 equal columns */
  gap: 20px;
  margin: 100px 0;
}

.three-column1 > div {
  flex: 1; /* each video takes equal width */
  min-width: 200px; /* prevents videos from shrinking too small */
}

.column video,
.three-column1 > div video {
  width: 100%; /* make video fill the column width */
  height: auto; /* maintain aspect ratio */
  display: block;
}

/* Styling for the Portfolio Section */
#projects a:hover h3,
#projects a:hover p {
  padding-left: var(--horizontal-shift);
}
/* style for art-team-lab */
/* .video-artteam-lab {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
} */
.section-divider {
  border: none;
  border-top: 2px solid #ccc; /* light gray line */
  margin: 2rem 0; /* space above and below */
  width: 100%;
}

/* styling for project section */
.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background-color: #f9f9f9;
  text-align: center;
  flex-direction: column;
}

.hero-content {
  grid-template-columns: 10% 1fr 10%;
  /* max-width: 90%; */
}

.hero h2 {
  margin-top: 150px;
  font-weight: bold;
  font-size: calc(20px + (56 - 30) * (100vw - 400px) / (1800 - 400));
  margin-bottom: 3rem;
  color: #333;
}

.hero p {
  color: var(--black);
  font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  margin: 1rem 0;
  margin-bottom: 30px;
  color: #666;
}

.cta-button {
  display: inline-block;
  padding: 12px 24px;
  background-color: #333;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.3s ease;
}

.cta-button:hover {
  background-color: #555;
}
.marquee-container {
  overflow: hidden;
  width: 100%;
  background-color: #333; /* Stick the background here */
  padding: 5px 0;
}

.marquee {
  display: flex;
  width: max-content;
  animation: scroll-left 30s linear infinite;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 150;
  color: #f9f9f9;
}

.marquee-content {
  padding-right: 60px; /* spacing between repeated texts */
}
/* client card */
.testimonials-container {
  width: 80%; /* Or any fixed width like 1200px */
  max-width: 800px; /* Max width for large screens */
  margin: 0; /* Center horizontally */
  border-radius: 8px;
  padding: 20px;
  overflow: hidden; /* Hide scrollbar or overflow */
  background: #fff; /* White background or your preferred color */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.testimonials-track {
  overflow: visible; /* Set to visible because container hides overflow */
}

.testimonials-inner {
  display: flex;
  gap: 2em;
  animation: scroll-left 40s linear infinite;
  will-change: transform;
  /* Remove white-space: nowrap here */
}
.clients-card {
  flex-shrink: 0;
  background: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-width: 400px;
  min-width: 300px;
  color: #333;
  white-space: normal; /* ✅ Ensure text wraps inside cards */
}

.clients-quote {
  font-style: italic;
  margin-bottom: 15px;
  white-space: normal; /* Wrap text */
  overflow-wrap: break-word;
}

.clients-info-2 {
  display: flex;
  align-items: center;
  gap: 15px;
}

.clients-info-image-2 {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

/* Scroll animation */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Pause animation on hover */
.testimonials-inner:hover {
  animation-play-state: paused;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.marquee span {
  display: inline-block;
  padding-right: 60px;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
#contact {
  min-height: 33vh; /* Make footer ~1/3 of screen */
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  justify-content: flex-end;
}

#contact ul {
  display: flex;
  list-style-type: none;
  margin: 1rem 0;
  padding: 0;
  justify-content: center;
}
/* social media */
#contact ul li a {
  text-decoration: none;
  color: var(--accent-colour);
  margin-right: 20px;
  font-size: 32px;
}

#contact ul li a:hover {
  color: var(--light-yellow);
}
#contact .footer-content {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  text-align: left;
  align-self: flex-start;
}

#contact .footer-content h2,
#contact .footer-content p,
#contact .footer-content .btn {
  margin: 1.5rem 0;
}
/* Keep your existing button style */
.dark-colours {
  background: var(--black);
  color: var(--white);
  padding: 1.5rem 1rem;
}

.dark-colours a {
  color: var(--white);
}

.dark-colours a:visited {
  color: var(--white);
}

.dark-colours .btn {
  color: var(--black);
  background: var(--white);
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.dark-colours .btn:hover {
  background: var(--light-yellow);
  color: var(--black);
}
/* Styling for each project */
.intro-paragraph {
  font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  grid-column: 1/-1;
}

.auto-height {
  min-height: auto;
}
.project-card a {
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 16px;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.project-card a:hover {
  transform: scale(1.02);
  background-color: #f5f5f5;
}
/* Styling for the flowfit project */
.flowfit-video {
  width: 100%; /* Full width of the container */
  max-height: 60vh; /* No taller than 90% of screen height */
  height: auto; /* Auto height based on aspect ratio */
  object-fit: contain; /* Cover the container nicely */
  display: block;
  margin: 50px auto;
}

.two-columns-flowfit {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
  margin-bottom: 2rem;
  align-items: center;
}
.flowfit-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.flowfit-grid img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.flowfit-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Styling for the ecommerce project */
.two-column-lists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-top: 1rem;
}

.two-column-lists ul {
  padding-left: 20px;
}
.two-column-lists li {
  list-style: disc;
  margin-bottom: 0.5rem; /* Adds spacing between list items */
}
.identify-solutions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem; /* Adjust spacing between columns as needed */
  align-items: center;
  margin-top: 2rem;
}

.identify-solutions-grid picture img {
  width: 100%;
  height: auto;
  display: block;
}
/* Small devices (i.e. tablets in portrait) */
@media (min-width: 600px) {
  nav {
    height: auto;
  }
  nav ul {
    padding: 0 100px;
    flex-direction: row;
    align-items: baseline;
  }
  nav ul > li {
    flex-basis: auto;
  }
  #logo {
    flex-basis: auto;
  }
  #menu-icon {
    display: none;
  }
  section {
    grid-template-columns: 10% 1fr 10%;
  }
  .introduction {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: center;
    gap: 4rem;
    /* padding: var(--section-padding-top) 5%; */
    min-height: calc(30vh - var(--section-padding-top));
  }
  .navexpanded #close-icon {
    display: none;
  }
  .two-columns {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    margin: 40px 0;
  }
  .two-columns-skills {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    margin: 30px 0;
  }

  .two-columns-slogan {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin: 30px 160px;
  }
  .about-p {
    grid-template-columns: 1fr;
  }
  .bold-p {
    font-size: calc(24px + (24 - 16) * (100vw - 400px) / (1800 - 400));
    font-weight: 600; /* or try 700 for even bolder */
    margin: 12px 0;
  }

  .two-columns-video {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
    margin-bottom: 2rem;
    justify-items: center;
  }
  .three-column {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
    gap: 20px;
    margin: 100px 0;
  }
  .column img {
    width: 100%;
    height: 500px; /* set the desired consistent height */
    object-fit: cover; /* crop the image to fill the area without stretching */
    display: block;
  }
  .three-column1 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
    margin: 100px 0;
    width: 100%;
    height: 300px; /* fixed height for consistency */
    object-fit: contain; /* ensures the whole video fits inside without cropping */
    margin: 100px 0;
  }
  .art-video {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin-bottom: 30px;
  }

  .art-video iframe {
    width: 100%;
    height: 100%; /* You can adjust this to whatever height suits your design */
    max-width: 100%;
    border: none;
  }

  .Humber-video {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  /* .two-columns-art {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  } */
  .identify-solutions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem; /* Adjust spacing between columns as needed */
    align-items: center;
    margin-top: 2rem;
  }
  .flowfit-video {
    width: 100%; /* Full width of the container */
    max-height: 50vh; /* No taller than 90% of screen height */
    height: auto; /* Auto height based on aspect ratio */
    object-fit: contain; /* Cover the container nicely */
    display: block;
    margin: 50px auto;
    border-radius: 12px;
  }
  .flowfit-grid {
    grid-template-columns: repeat(5, 1fr);
  }
  .marquee {
    display: flex;
    width: max-content;
    animation: scroll-left 30s linear infinite;
    white-space: nowrap;
    font-size: 1.5rem;
    font-weight: 150;
    color: #f9f9f9;
  }
  * Styling for the About */ .about-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
  }

  .about-left {
    flex: 1 1 40%;
    min-width: 300px;
  }
  .about-video-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: visible; /* <– Allow content outside video bounds */
    flex: 1 1 40%;
    /* box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); */
    min-width: 300px;
  }
  .about-video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
  }

  .about-video-title {
    position: absolute;
    bottom: -30px; /* push it below video */
    right: -10px; /* push it to the right of video */
    color: white;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.85);
    padding: 10px 20px;
    border-radius: 4px;
    z-index: 10;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    min-width: 50%; /* makes the box wider */
    text-align: center; /* center text inside */
  }
}

/* Medium devices (i.e. tablets in landscape */
@media (min-width: 900px) {
  .identify-solutions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem; /* Adjust spacing between columns as needed */
    align-items: center;
    margin-top: 2rem;
  }
  .flowfit-video {
    width: 100%; /* Full width of the container */
    max-height: 70vh; /* No taller than 90% of screen height */
    height: auto; /* Auto height based on aspect ratio */
    object-fit: contain; /* Cover the container nicely */
    display: block;
    margin: 50px auto;
    border-radius: 12px;
  }
  .marquee {
    display: flex;
    width: max-content;
    animation: scroll-left 30s linear infinite;
    white-space: nowrap;
    font-size: 1.5rem;
    font-weight: 150;
    color: #f9f9f9;
  }
  .about-video-wrapper {
    margin-top: 70px;
    position: relative;
    border-radius: 12px;
    overflow: visible; /* <– Allow content outside video bounds */
    flex: 1 1 40%;
    /* box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); */
    min-width: 300px;
  }
  .about-video {
    width: 70%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
  }

  .about-video-title {
    position: absolute;
    bottom: -20px; /* push it below video */
    right: 100px; /* push it to the right of video */
    color: white;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.85);
    padding: 10px 20px;
    border-radius: 4px;
    z-index: 10;
    white-space: nowrap;
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); */
    min-width: 30%; /* makes the box wider */
    text-align: center; /* center text inside */
  }
  #contact .footer-content {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
    align-self: flex-start;
  }
}

/* Large devices (i.e. desktop) */

@media (min-width: 1200px) {
  section {
    display: grid;
    min-height: calc(60vh - var(--section-padding-top));
    padding-top: var(--section-padding-top);
    grid-template-columns: 15% 1fr 15%;
    align-content: start;
  }

  nav ul {
    padding: 0 150px;
    flex-direction: row;
    align-items: baseline;
  }
  .testimonials-container {
    width: 100%;
    max-width: 1600px;
    margin: 0;
    border-radius: 8px;
    padding: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
  #contact .footer-content {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: left;
    align-self: flex-start;
  }
}

/* X-Large devices (i.e. big desktop) */

@media (min-width: 1800px) {
  .flowfit-video {
    width: 100%; /* Full width of the container */
    max-height: 80vh; /* No taller than 90% of screen height */
    height: auto; /* Auto height based on aspect ratio */
    object-fit: contain; /* Cover the container nicely */
    display: block;
    margin: 50px auto;
    border-radius: 12px;
  }
  nav ul {
    padding: 0 300px;
    flex-direction: row;
    align-items: baseline;
  }
  .testimonials-container {
    width: 100%;
    max-width: 900px;
    margin: 0;
    border-radius: 8px;
    padding: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
  #contact .footer-content {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    text-align: left;
    align-self: flex-start;
  }
}
