* {
  box-sizing: border-box;
}

 /* Override navbar colors for this page */
 header nav a,
 header .logo {
     color: rgba(255,255,255,1);
 }

body {
  font-size: 14px;
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
}

/* Main Container */
.main-container {
  width: 100%;
  background: rgba(255, 255, 255, 1);
  position: relative;
  margin-top: 0;
  overflow: visible;
}

/* Hero Stripe */
.hero-stripe {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: url("../images/final-hero.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  top: 0;
  left: 0;
}

/* Main Heading Section */
.main-heading-section {
  width: 100%;
  position: relative;
  display: flex;
}
.main-heading-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
  gap: 10%;
}

.main-heading {
  flex: 1;
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Urbanist;
  font-weight: Regular;
  font-size: 35px;
  opacity: 1;
  text-align: left;
}

.project-info {
  height: auto;
  opacity: 1;
  position: relative;
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 20px 15px;
}

.info-row-label {
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: Regular;
  font-size: 14px;
  opacity: 1;
  text-align: left;
  grid-column: 1;
}

.info-row-text {
  color: rgba(0,0,0,1);
  position: relative;
  font-family: Poppins;
  font-weight: bold;
  font-size: 14px;
  opacity: 1;
  text-align: left;
}

/* Responsive Design for Project Info Section */

@media (max-width: 1200px) {
  .main-heading-container {
    flex-direction: column;
  }

  .main-heading {
    width: 100%;
  }

  .project-info {
    width: 100%;
    margin-top: 30px;
  }
}

/* Shared Section Label */
.section-label {
  width: 10%;
  position: relative;
  align-items: flex-start;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}

/* Background Section */
.background-section {
  max-width: 100%;
  background: rgba(244, 244, 244, 1);
  position: relative;
}

.background-wrapper {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}

.background-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
}

.background-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
  align-self: flex-start;
  margin: 0;
}

.background-description {
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
  padding-top: 5%;
}

/* Challenge Section */
.challenge-section {
  max-width: 100%;
  position: relative;
  background: rgb(23, 23, 23);
}

.challenge-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.challenge-content-wrapper {
  display: flex;
  align-items: flex-start;
}

.challenge-label {
  width: 10%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #ffffff;
  display: flex;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.challenge-description-container {
  width: 80%;
  padding-left: 10%;
  position: relative;
  display: flex;
  flex-direction: column;
}

.description-wrapper {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
}

.challenge-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #ffffff;
}

.challenge-description {
  font-family: "Poppins";
  padding-top: 5%;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
  flex: 1;
}

.challenge-pain-container {
  width: 100%;
  padding-top: 15%;
  display: flex;
  flex-direction: row;
}

.stretching-image {
  width: 40%;
  aspect-ratio: 686 / 620;
  background: url("../images/StretchingForRoofbox.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.pain-points-container {
  width: 50;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.pain-points-title {
  font-family: "Urbanist", sans-serif;
  font-weight: 700;
  font-size: 25px;
  color: #ffffff;
  min-width: 300px;
}

.pain-points-list {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
  padding-left: 5%;
  white-space: pre-line;
}

/* Process Section */
.process-section {
  width: 100%;
  position: relative;
  display: flex;
}

.process-wrapper {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}

.process-content {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.process-title {
  width: 100%;
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
  align-self: flex-start;
  margin: 0;
}

.process-description {
  width: 100%;
  padding-top: 5%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
}

.process-list-description {
  width: 100%;
  font-family: "Poppins";
  padding-top: 3%;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
}

.process-list {
  width: 100%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
  padding-top: 1%;
  padding-left: 3%;
}

.process-list li {
  margin-bottom: 1%;
}

/* Observing Users Section */
.observing-section {
  width: 100%;
  background: rgba(244, 244, 244, 1);
}

.observing-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: column;
}

.observing-introduction {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: row;
}

.observing-content-wrapper {
  width: 80%;
  padding-left: 10%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.observing-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
}

.observing-description {
  width: 100%;
  padding-top: 5%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
  flex: 1;
}

.accessibility-container {
  width: 100%;
  padding-top: 8%;
  position: relative;
  display: flex;
  flex-direction: row;
}

.tall-user-problem,
.off-center-problem {
  width: 30%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.climbing-car-problem {
  width: 40%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding-left: 5%;
  padding-right: 5%;
}

.tall-user-title,
.climbing-car-title,
.off-center-title {
  padding-top: 10%;
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 20px;
  color: #000;
}

.tall-user-description,
.climbing-car-description,
.off-center-description {
  padding-top: 3%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
}

.tall-user-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url("../images/tall-user-struggle.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.climbing-car-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url("../images/climbing-car.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.off-center-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url("../images/off-center-mounting.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Concept Exploration Section */
.concept-exploration-section {
  width: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}

.concept-exploration-container {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: column;
}

.concept-exploration-header {
  width: 100%;
  display: flex;
  flex-direction: row;
}

.concept-exploration-label {
  width: 10%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.concept-exploration-question {
  width: 80%;
  padding-left: 10%;
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
  display: flex;
}

.concept-exploration-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  padding-top: 0%;
  background: url("../images/concept-exploration.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* Design Solution Section */
.solution-section {
  width: 100%;
  background: rgba(244, 244, 244, 1);
  display: flex;
  flex-direction: column;
}

.solution-container {
  width: 100%;
  padding-top: 8%;
  padding-left: 10%;
  padding-right: 10%;
  display: flex;
  flex-direction: row;
}

.solution-content-wrapper {
  width: 80%;
  padding-left: 10%;
  display: flex;
  flex-direction: column;
}

.solution-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
}

.solution-description {
  font-family: "Poppins";
  padding-top: 5%;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
  flex: 1;
}

.solution-image {
  width: 90%;
  aspect-ratio: 16 / 9;
  margin: 5%;
  background: url("../images/solution.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* How It Works Section */
.how-it-works-section {
  width: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}

.how-it-works-label {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 8%;
  left: 0;
  top: 0;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
}

.product-overview {
  width: 90%;
  aspect-ratio: 16 / 9;
  margin-left: 5%;
  margin-top: 5%;
  background: url("../images/product-overview.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.how-it-works-container {
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
  display: flex;
  flex-direction: column;
}

.how-it-works-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: url("../images/how-it-works-bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin-bottom: 40px;
}

.how-it-works-steps {
  display: flex;
  width: 100%;
  padding-left: 5%;
  padding-right: 5%;
}

.step-open-container,
.step-slide-container {
  width: 30%;
  display: flex;
  flex-direction: column;
}

.step-tilt-container {
  width: 40%;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
  flex-direction: column;
}

.step-open-title,
.step-tilt-title,
.step-slide-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 20px;
  color: #000;
  margin: 0;
}

.step-open-description,
.step-tilt-description,
.step-slide-description {
  font-family: "Poppins";
  padding-top: 5%;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  margin: 0;
}

.detail-design {
  width: 90%;
  margin-left: 5%;
  margin-top: 5%;
  aspect-ratio: 16 / 9;
  background: url("../images/detail-design.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* Accessibility Comparison Section */
.accessibility-section {
  width: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}

.accessibility-comparison-label {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 8%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #000;
  display: flex;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.accessibility-difference-image {
  width: 90%;
  aspect-ratio: 16 / 9;
  margin-top: 5%;
  margin-left: 5%;
  margin-right: 5%;
  background: url("../images/accessiblity-difference.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* Technical Drawing Section */
.technical-section {
  width: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}

.technical-drawing-label {
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 8%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  color: #000;
  display: flex;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.technical-drawing {
  width: 90%;
  aspect-ratio: 16 / 9;
  margin-top: 0;
  margin-left: 5%;
  margin-right: 5%;
  background: url("../images/technical-drawing.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* Final Hero Section */
.final-section {
  width: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
}

.final-hero {
  width: 90%;
  aspect-ratio: 16 / 9;
  margin-top: 0;
  margin-left: 5%;
  margin-right: 5%;
  background: url("../images/final-hero.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Impact/Benefits Section */
.benefits-section {
  width: 100%;
  background: rgba(244, 244, 244, 1);
  display: flex;
  flex-direction: row;
}

.benefits-content {
  width: 100%;
  padding: 8% 10%;
  display: flex;
  flex-direction: row;
}

.benefits-text-container {
  width: 80%;
  padding-left: 10%;
  display: flex;
  flex-direction: column;
}

.benefits-title {
  font-family: "Urbanist";
  font-weight: 700;
  font-size: 25px;
  color: #000;
}

.benefits-list {
  padding-top: 5%;
  padding-left: 3%;
  font-family: "Poppins";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0;
}

.benefits-list li {
  margin-bottom: 1%;
}