:root {
    --base-clr: #324B50;
    --line-clr: #42434a;
    --hover-clr: rgba(149, 176, 182, 0.3);
    --text-clr: #e6e6ef;
    --accent-clr: #81cad9;
    --secondary-text-clr: #b0b3c1;
    --Tertiary-Color: #95b0b6; /* Light Greyish/Blue */
    --Header-Color: #e4eef2;
}
html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden; /* Prevent horizontal scrolling */
    height: 100%; /* Ensure the body takes up the full height of the viewport */
    width: 100%; /* Ensure the body doesn't exceed the viewport width */
}
body {
    font-family: 'Figtree', sans-serif;
    background-color: #ffffff;
    background-image: 
        url(../assets/images/HomeBackgroundTest.png), /* First background image */
        url(../assets/images/WebBackground2.png); /* Second background (red-to-blue gradient) */
    background-size: 100% auto, 100% auto; /* Ensure both images cover their respective areas */
    background-position: top center, top 250vh center; /* Position the second background below the first */
    background-repeat: no-repeat, repeat-y; /* Prevent repeating for both images */
    background-attachment: scroll, scroll; /* Ensure the background scrolls with the page */
    height: auto; /* Allow the body to grow with the content */
    min-height: 400vh; /* Ensure the body is at least as tall as the viewport */
    overflow-x: hidden; /* Prevent horizontal scrolling */
}
main {
    margin: 0;
    padding: 0;
    max-width: 100%;
}
header {
    box-shadow: none;
    margin: 0 auto; /* Add a gap between the top and sides of the page */
    background-color: var(--Header-Color); /* Optional: Set a background color for better visibility */
}
/* Front Introduction Page*/
.home-container {
    display: flex; /* Use Flexbox to align items horizontally */
    align-items: center; /* Vertically center the text and image */
    justify-content: space-between; /* Add space between the text and image */
    max-width: 100vw; /* Limit the width of the container */
    margin: 0 auto; /* Center the container horizontally */
    box-sizing: border-box; /* Include padding and border in the width */
}

.fronttext {
    flex: 1; /* Allow the text to take up 50% of the container */
    text-align: left; /* Align text to the left */
    color: var(--base-clr); /* Use the base color for the text */
    max-width: 50%; /* Limit the width of the text */
    padding-left: 6rem;
    padding-bottom: 3rem;
}

.fronttext h1 {
    font-size: 4rem; /* Adjust font size for the heading */
    font-weight: 800; /* Make the text bold */
    margin: 0 0 1rem 0; /* Add spacing below the h1 */
    color: var(--base-clr); /* Ensure consistent color */
}

.fronttext h2 {
    font-size: 3rem; /* Adjust font size for the subheading */
    font-weight: 600; /* Make the text slightly less bold */
    margin: 0; /* Remove unnecessary margins */
    color: var(--base-clr); /* Ensure consistent color */
}

.homepage-img {
    flex: 1; /* Allow the image to take up 50% of the container */
    display: flex; /* Use Flexbox to center the image */
    justify-content: center; /* Center the image horizontally */
    align-items: center; /* Center the image vertically */
    max-width: 60%; /* Limit the width of the image container */
    padding-right: 1rem;
}

.homepage-img img {
    max-width: 100%; /* Ensure the image fits within its container */
    height: auto; /* Maintain the aspect ratio of the image */
}

/* Testimonial Section */
.TopLine {
    font-size: 3rem;
    color: var(--base-clr); /* Set the color for the top line */
    margin-top: 5rem;
    text-align: center;
}
.testimonial-carousel {
    position: relative;
    width: 100vw; /* Ensure the carousel spans the full width */
    height: 24rem; /* Increase the height to accommodate hover scaling */
    overflow: visible; /* Allow items to scale beyond the container */
    margin: 3rem auto; /* Center the carousel */
    padding: 0;
}

.carousel-track {
    display: flex; /* Align items horizontally */
    transition: none; /* Disable transition for continuous scrolling */
    will-change: transform; /* Optimize for smooth scrolling */
}

.TestimonialItem {
    flex: 0 0 20%; /* Each item takes up 20% of the carousel width */
    margin: 0 0.5rem; /* Add spacing between items */
    height: 22rem; /* Match the height of the carousel */
    padding: 1.5rem; /* Add padding inside the box */
    display: flex; /* Enable flexbox for layout */
    flex-direction: column; /* Stack child elements vertically */
    justify-content: space-between; /* Push content to the top and bottom */
    align-items: center; /* Center-align items horizontally */
    text-align: center; /* Center-align the text */
    font-size: 1rem; /* Adjust font size for better fit */
    color: var(--base-clr); /* Set text color */
    box-sizing: border-box; /* Include padding and border in the width */
    border-radius: 10px; /* Rounded corners for each item */
    background-color: #f9f9f9; /* Light background color for better contrast */
    border: 1px solid var(--Tertiary-Color); /* Subtle border for separation */
    box-shadow: 0 4px 6px var(--base-clr); /* Add a subtle shadow for depth */
    overflow: hidden; /* Prevent text from overflowing the box */
    opacity: 0; /* Start with the item hidden */
    transition: opacity 0.5s linear, transform 0.3s ease-in-out; /* Smooth fade-in and hover effect */
    line-height: 1.5; /* Adjust line height for better readability */
}

.TestimonialItem:hover {
    transform: scale(1.05); /* Slightly enlarge the item on hover */
}

.TestimonialItem.active {
    opacity: 1; /* Fully visible when active */
}

.TestimonialItem p {
    font-size: 1rem;
    margin: 0.5rem 0; /* Add spacing around the paragraph */
    overflow: hidden; /* Prevent text overflow */
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
    white-space: normal; /* Allow text to wrap */
    word-wrap: break-word; /* Break long words if necessary */
    color: #555; /* Subtle text color for better readability */
}

.TestimonialItem h4 {
    font-size: 1.1rem; /* Slightly larger font size for the name */
    font-weight: bold; /* Make the name stand out */
    margin: 0.5rem 0; /* Add spacing around the name */
    color: var(--base-clr); /* Use the base color for the name */
}

.TestimonialItem h5 {
    font-size: 0.95rem; /* Slightly smaller font size for the title */
    font-weight: 500; /* Medium weight for the title */
    margin: 0.25rem 0; /* Add spacing around the title */
    color: #777; /* Subtle text color for the title */
}

.ownername {
    font-size: 1.25rem; /* Adjust font size for the owner's name */
    font-weight: 700; /* Make the text bold */
    margin: 0; /* Remove unnecessary margins */
    text-align: center; /* Center-align the text */
}

.ownertitle {
    font-size: 1rem; /* Adjust font size for the owner's title */
    font-weight: 500; /* Slightly less bold than the name */
    margin-top: 0.25rem; /* Add spacing between the name and title */
    text-align: center; /* Center-align the text */
}

.TestimonialItem .owner-container {
    margin-top: auto; /* Push the owner's name and title to the bottom */
    display: flex;
    flex-direction: column; /* Stack the name and title vertically */
    align-items: center; /* Center-align the text */
}

.italic {
    font-style: italic; /* Italicize the text */
    font-size: 0.9rem; /* Adjust font size for italic text */
    margin: 0.5rem 0; /* Add spacing around the italic text */
    color: #666; /* Subtle text color for the quote */
    overflow: hidden; /* Prevent text overflow */
    text-overflow: ellipsis; /* Add ellipsis if text overflows */
    white-space: normal; /* Allow text to wrap */
    word-wrap: break-word; /* Break long words if necessary */
}
/* Mobile App Section*/
.mobileapp-container {
    display: flex; /* Use Flexbox to align items horizontally */
    align-items: center; /* Vertically center the text and image */
    justify-content: space-between; /* Add space between the text and image */
    max-width: 100%; /* Limit the width of the container */
    height: 75vh; /* Set the height to 100vh for full-screen effect */
    margin: 0 auto; /* Center the container horizontally */
    box-sizing: border-box; /* Include padding and border in the width */
    background-color: var(--base-clr); /* Set background color to base color */
    border-bottom: 10px solid var(--Tertiary-Color);
    overflow: hidden;
}
.text-wrapper {
    width: 55%;
    height: 100%;
    margin: 0;
    margin-left: -1rem;
    border: 0px solid red;
    padding: 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.app-text {
    margin-left: 0 auto;
    color: white;
    line-height: 2;
    font-size: 1.5rem; /* Adjust font size for better readability */
}
.app-text h1 {
    color: white;
    line-height: 1.25;
}
.app-text h2 {
    color: white;
    font-weight: 400;
}
.accent-color {
    color: var(--accent-clr);
}
.header-color {
    color: var(--Header-Color);
}
.image-wrapper {
    width: 45%; /* Take up 45% of the container */
    height: 100%; /* Match the height of the container */
    display: flex; /* Use Flexbox for alignment */
    justify-content: center; /* Center the image horizontally */
    align-items: center; /* Center the image vertically */
    box-sizing: border-box; /* Include padding and border in the width */
}

.mobile-app-image {
    height: 120%; /* Maintain the aspect ratio of the image */
    width: 180%; /* Ensure the image fits within its container */
    margin-left: -7.5rem;
    margin-bottom: 5rem;
}
/* Experience Section */
.experience-container {
    width: 100%;
    height: 80vh;
    display: flex; /* Enable Flexbox */
    justify-content: center; /* Center content horizontally */
    box-sizing: border-box; /* Include padding and border in the width */
}

.TopLine2 { 
    font-size: 2.5rem;
    margin: 4rem auto; /* Remove unnecessary margins */
    text-align: center; /* Center-align the text */
    margin-bottom: 4rem;
}
.exp-text-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 0px 50px 50px 0px;
    background-color: var(--Header-Color);
    padding: 1.5rem;
    display: flex;
    align-items: center;
    box-shadow: 0px 4px 15px var(--base-clr);
}
.exp-img-wrapper {
    width: 45%; /* Take up 45% of the container */
    height: 100%; /* Match the height of the container */
    display: flex; /* Use Flexbox for alignment */
    justify-content: center; /* Center the image horizontally */
    align-items: center; /* Center the image vertically */
    box-sizing: border-box; /* Include padding and border in the width */
}
.exp-text {
    font-size: 2.5rem;
    line-height: 1.75;
}
/* Mobile Testimonial Section */
.mobile-testimonial-container {
    display: none;
    flex-wrap: nowrap;
    scroll-snap-type: x mandatory;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding: 0.5rem 0.5rem 0 0.5rem;
    height: 26rem;
    width: 100%;
    margin-bottom: 1rem;
    margin-top: 1rem;
}
.MobileTestimonialItem {
    flex: 0 0 auto;
    width: 70%;
    height: 90%;
    max-width: 600px;
    padding: 1rem;
    text-align: center;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px var(--base-clr);
    white-space: normal;
    scroll-snap-align: center;
    overflow: hidden;
}
.mobileitalic {
    font-style: italic;
    font-size: 1.15rem;
    line-height: 1.5;
}
.mobile-owner-container {
    margin-top: 1rem;
}
.mobileownertitle {
    margin-top: 0.25rem;
    font-weight: 400;
}

/* Mobile Styling */
@media (max-width: 768px) {
    body {
        background-size: 200% auto, 200% auto;
        background-position: top center, top 200vh center;
        min-height: 330vh;
        overflow-x: hidden;
    }
    .fronttext h1 {
        margin-top: 6rem;
        margin-left: -5.5rem;
        font-size: 2.5rem;
        width: 14rem;
    }
    .fronttext h2 {
        font-size: 2rem;
        margin-left: -5.5rem;
        margin-top: -1rem;
        width: 16rem;
    }
    .homepage-img img {
        width: 120%; /* Scale the image to 120% of its container width */
        height: auto; /* Maintain the aspect ratio */
        transform: scale(1.5); /* Further scale the image */
        margin-left: -2rem;
        margin-top: 1.75rem;
    }

    .homepage-img {
        justify-content: center; /* Ensure the image stays centered */
        align-items: center;
    }
    .TopLine {
        margin-top: 8rem;
    }
    .testimonial-carousel {
        display: none;
    }
    .mobile-testimonial-container {
        display: flex;
    }
    .mobileapp-container {
        flex-direction: column; /* Stack the text and image vertically */
        height: auto; /* Allow the container to grow with content */
        padding: 2rem 1rem; /* Add padding for better spacing */
        text-align: center; /* Center-align the text */
    }

    .text-wrapper {
        width: 100%; /* Take up the full width */
        margin: 0 auto; /* Center the text */
        padding: 1rem; /* Add padding for spacing */
        margin-top: -2rem;
    }

    .app-text {
        font-size: 1.2rem; /* Adjust font size for better readability */
        line-height: 1.5; /* Adjust line height for better spacing */
    }

    .app-text h1 {
        font-size: 2rem; /* Adjust heading size */
        line-height: 1.3; /* Adjust line height for better spacing */
    }

    .app-text h2 {
        font-size: 1.5rem; /* Adjust subheading size */
        margin-top: 0.5rem; /* Add spacing above the subheading */
    }

    .image-wrapper {
        width: 100%; /* Take up the full width */
        margin-top: 1rem; /* Add spacing above the image */
        display: flex; /* Center the image */
        justify-content: center;
        align-items: center;
    }

    .mobile-app-image {
        width: 100%; /* Scale the image to fit within the container */
        height: auto; /* Maintain the aspect ratio */
        margin: 0 auto; /* Center the image */
        margin-right: 7rem;
        margin-bottom: 2rem;
        transform: scale(1.95);
    }
    .experience-container {
        flex-direction: column; /* Stack the text and image vertically */
        height: auto; /* Allow the container to grow with content */
        padding: 0 2rem 0 0; /* Add padding for better spacing */
        text-align: center; /* Center-align the text */
        margin-top: 2rem; /* Add a small gap above the container */
        margin-bottom: 2rem; /* Add a small gap below the container */
    }

    .exp-text-wrapper {
        width: 100%; /* Take up the full width */
        height: auto; /* Adjust height to fit content */
        margin-bottom: 1rem; /* Add spacing below the text */
        border-radius: 0 20px 20px 0; /* Adjust border radius for smaller screens */
        box-shadow: none; /* Remove the shadow for a cleaner look */
        margin-left: 0;
    }

    .exp-text {
        font-size: 1.5rem; /* Adjust font size for better readability */
        line-height: 1.5; /* Adjust line height for better spacing */
    }

    footer {
        margin-top: 2rem; /* Add a small gap above the footer */
        padding: 1rem; /* Add padding for better spacing */
        text-align: center; /* Center-align the footer content */
    }

    .footer-content {
        margin: 0 auto; /* Center the footer content */
        padding: 0.5rem 1rem; /* Add padding for spacing */
    }
    .testimonial-carousel {
        display: none;
    }
}
/* Max 440px — iPhone 14 Pro*/
@media (max-width: 440px) {
    body {
        min-height: 275vh;
    }
    .fronttext h1 {
        font-size: 1.7rem;
        margin-top: 7.5rem;
        margin-bottom: 20px;
        line-height: 1.75;
        width: 13rem;
    }
    .fronttext h2 {
        font-size: 1.5rem;
        line-height: 1;
        width: 14rem;
    }
    .homepage-img {
        transform: scale(0.95);
        margin-right: -0.75rem;
        margin-top: 5.6rem;
    }
    .mobile-app-image {
        transform: scale(1.85);
    }
    .exp-text-wrapper {
        height: 40rem;
    }
    .exp-text {
        font-size: 1.75rem;
        line-height: 2;
        text-align: left;
    }
}
/* Max 430px — iPhone XR*/
@media (max-width: 430px) {
    body {
        min-height: 285vh;
    }
    .fronttext h1 {
        font-size: 1.7rem;
        margin-top: 7.5rem;
        margin-bottom: 20px;
        line-height: 1.75;
        width: 13rem;
    }
    .fronttext h2 {
        font-size: 1.5rem;
        line-height: 1;
        width: 14rem;
    }
    .homepage-img {
        transform: scale(0.95);
        margin-right: -1rem;
        margin-top: 4.5rem;
    }
    .mobile-app-image {
        transform: scale(1.85);
    }
    .exp-text-wrapper {
        height: 40rem;
    }
    .exp-text {
        font-size: 1.75rem;
        line-height: 2;
        text-align: left;
    }
}

/* Max 412px — iPhone 12 Pro and Pixel 7 */
@media (max-width: 412px) {
    body {
        min-height: 310vh;
    }
    .fronttext h1 {
        font-size: 1.6rem;
        margin-left: -5.5rem;
    }
    .fronttext h2 {
        font-size: 1.6rem;
        margin-left: -5.5rem;
    }
    .homepage-img {
        margin-top: 4rem;
        margin-right: -2rem;
        transform: scale(0.8);
    }
    .mobile-app-image {
        transform: scale(1.8);
    }
}

/* Max 390px — iPhone SE Size */
@media (max-width: 390px) {
    body {
        min-height: 380vh;
    }
    .fronttext h1 {
        font-size: 1.6rem;
        width: 8rem;
        margin-top: 6rem;
    }
    .fronttext h2 {
        font-size: 1.3rem;
        width: 12rem;
    }
    .homepage-img img {
        transform: scale(1.45);
        margin-left: -1.5rem;
        margin-top: 4.5rem;
    }
    .TopLine {
        font-size: 2.5rem;
    }
    .TopLine2 {
        margin-bottom: 0rem;
    }
    .exp-text {
        font-size: 1.6rem;
    }
}

/* Max 375px — idk yet */
@media (max-width: 375px) {
    .fronttext h1 {
        font-size: 1.5rem;
        margin-top: 5rem;
    }
    .fronttext h2 {
        font-size: 1.5rem;
    }
    .app-text h1 {
        font-size: 1.8rem;
    }
    .app-text h2 {
        font-size: 1.4rem;
    }
}

/* Max 360px — Samsung Galaxy S8+ */
@media (max-width: 360px) {
    body {
        min-height: 330vh;
    }
    .fronttext h1 {
        font-size: 1.6rem;
        margin-left: -5rem;
    }
    .fronttext h2 {
        font-size: 1.4rem;
        margin-left: -5rem;
    }
    .homepage-img {
        margin-top: -1rem;
        margin-right: -2rem;
        transform: scale(0.85);
    }
    .mobile-app-image {
        transform: scale(1.7);
    }
    .exp-text {
        font-size: 1.6rem;
    }
}

/* Max 320px — Older/Small phones (iPhone SE) */
@media (max-width: 320px) {
    .fronttext h1 {
        font-size: 1.4rem;
        margin-left: -4rem;
    }
    .fronttext h2 {
        font-size: 1.25rem;
        margin-left: -4rem;
    }
    .homepage-img img {
        transform: scale(1.4);
        width: 110%;
    }
    .app-text {
        font-size: 1rem;
    }
    .app-text h1 {
        font-size: 1.6rem;
    }
    .app-text h2 {
        font-size: 1.25rem;
    }
    footer {
        font-size: 0.9rem;
    }
}