/* Global Styles */
* {
    margin: 0;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* Section Styles */
.section-1, .section-2, .section-3, .section-4 {
    width: 100%;
    height: 100vh;
}

.section-1 { 
    background-color: black; 
    overflow: hidden;
}
.section-2 { 
    background-color: white; 
    overflow: hidden; /* Prevent scrolling within the section */
}
.section-3 { 
    background-color: black; 
    overflow: hidden;
}
.section-4 { 
    background-color: white; 
    overflow: hidden;
}

/* Navigation Bar */
.nav-bar ul {
    list-style-type: none;
    text-align: center;
}

.mobileNavBar{
    display: none;
}

.nav-bar li {
    display: inline-block;
    margin: 2.5rem 3rem;
    color: white;
    font-family: 'Epilogue', sans-serif;
    font-weight: 200;
    font-size: 1rem;
} 

.nav-bar a:link, a:visited {
    color: white;
    background-color: transparent;
    text-decoration: none;
}

.nav-bar a:active {
    color: #FF8000;
    background-color: transparent;
    text-decoration: none;
}

.nav-bar a:hover {
    color: #FF8000;
    background-color: transparent;
    text-decoration: none;
}

/* Section 1 Content */
.topContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -40px;
}

.s1-splashscreen {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* This makes sure the div takes up the full height of the viewport */
    overflow: hidden; /* This prevents any overflow due to rotation */
}

.images {
    display: flex;
    gap: 25px; /* Adjust the space between the images if necessary */
}

.angled-image {
    width: 10vw; /* Adjust width to fit the screen, 45vw means 45% of the viewport width */
    transform: rotate(-20deg);
    border-radius: 10px;
}

.angled-image:first-child {
    border: 1px solid #282727; /* Adds a black border of 5px around the first image */
    border-radius: 10px; /* Optional: Adds rounded corners to the border */
}

.s1-text-container {
    flex: 1;
    text-align: center;
}

.s1-title{
    padding-top: 40px;
    font-size: 1rem;
    color: #FF8000;
    font-family: 'Epilogue', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    padding-bottom: 20px;
}

.s1-header-white{
    font-family: 'Epilogue', sans-serif;
    font-weight: bold;
    font-size: 5vw;
    color: white;
}

.s1-header-blue{
    font-family: 'Epilogue', sans-serif;
    font-weight: bold;
    font-size: 5vw;
    color: #00B5FF;
}

.download-btn {
    padding-top: 20px;
}

/* Section 2 Styles */
.s2-title{
    text-align: center;
    padding-top: 40px;
    font-size: 1rem;
    color: #FF8000;
    font-family: 'Epilogue', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    padding-bottom: 20px;
}

.duration-container {
    position: relative;
    padding-bottom: 40px;
    padding-top: 20px;
}

.dashedBox {
    border-radius: 2px;
    border-color: black;
    border-style: dashed;
    position: relative;
    height: 50px;
    width: 230px;
    margin: 0 auto;
    display: flex; /* Apply Flexbox here */
    justify-content: center; /* Center content horizontally */
    align-items: center; /* Center content vertically */
}

.duration-txt {
    text-align: center;
    font-family: 'Epilogue', sans-serif;
    font-size: 15px;
    font-weight: 600;
    /* No need for Flexbox here */
}

.s2-mobile-txt {
    display: none;
}

.s2-desktop-txt {
    display: block;
}

.text-container {
    text-align: center;
    margin-top: 50px;
    color: black;
    font-size: 16px;
    font-family: 'Epilogue', sans-serif;
    font-weight: normal;
    font-weight: 200;
    line-height: 35px;
    padding-left: 100px;
    padding-right: 100px;
}

/* Section 3 Styles */
.section-3 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* Full viewport height */
    margin: 0; /* Remove default margin */
}

/* Style for the .video container to fit the video */
.video-container {
    position: relative;
    width: 100%; /* Adjust the width as needed */
    height: 100%;
    max-width: 100vw;
    max-height: 100vh;
    overflow: hidden;
    border-radius: 20px; /* Rounded corners for the container */
}

video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    border-radius: 15px; /* Rounded corners for the video */
}

/* Section 4 styles */

.s4-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Allows the items to wrap to the next line if necessary */
    justify-content: center; /* Center the items horizontally */
    gap: 20px; /* Space between the items */
    padding: 20px; /* Padding around the container */
    margin-top: 20px;
}

.s4-screenshot {
    text-align: center;
    flex: 1 1 200px; /* Flex-grow, flex-shrink, and flex-basis */
    max-width: 250px; /* Set a maximum width for each screenshot */
}

.screenshots {
    width: 100%; /* Make the image take up the full width of the container */
    height: auto; /* Maintain aspect ratio */
    border-radius: 8px; /* Optional: rounded corners for images */
}

.screenshot-title {
    padding-top: 20px;
    font-size: 1rem;
    color: #FF8000;
    font-family: 'Epilogue', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
}

.documents {
    text-align: center;
}

.doc-link {
    font-family: 'Epilogue', sans-serif;
    color: gray !important; /* Ensure it overrides other styles */
    font-weight: bold;
    text-decoration: none;
    display: inline-block; /* Ensure it stays visible */
}

.doc-link:hover {
    text-decoration: underline;
}

.footer {
    text-align: center; 
    color: black;
    font-size: 1rem;
    font-family: 'Epilogue', sans-serif;
    font-weight: 300;
    padding-top: 50px;
    margin-bottom: 20px;
}

/* Media Query for Mobile Screens */
@media (max-width: 930px) {
   /* Section 1 Content */
   .nav-bar {
        display: none;
    }

    .mobileNavBar {
        display: block;
        position: fixed; 
        right: 5%;
        top: 5%;
        z-index: 1000; 
    }

    .popup {
        --burger-line-width: 1.125em;
        --burger-line-height: 0.125em;
        --burger-offset: 0.625em;
        --burger-bg: black;
        --burger-color: white;
        --burger-line-border-radius: 0.1875em;
        --burger-diameter: 2.125em;
        --burger-btn-border-radius: calc(var(--burger-diameter) / 2);
        --burger-line-transition: .3s;
        --burger-transition: all .1s ease-in-out;
        --burger-hover-scale: 1.1;
        --burger-active-scale: .95;
        --burger-enable-outline-color: var(--burger-bg);
        --burger-enable-outline-width: 0.125em;
        --burger-enable-outline-offset: var(--burger-enable-outline-width);
        /* nav */
        --nav-padding-x: 0.25em;
        --nav-padding-y: 0.625em;
        --nav-border-radius: 0.375em;
        --nav-border-color: white;
        --nav-border-width: 0.0625em;
        --nav-shadow-color: rgba(0, 0, 0, .2);
        --nav-shadow-width: 0 1px 5px;
        --nav-bg: gray;
        --nav-font-family: Menlo, Roboto Mono, monospace;
        --nav-default-scale: .8;
        --nav-active-scale: 1;
        --nav-position-left: unset;
        --nav-position-right: 0;
        /* if you want to change sides just switch one property */
        /* from properties to "unset" and the other to 0 */
        /* title */
        --nav-title-size: 0.625em;
        --nav-title-color: white;
        --nav-title-padding-x: 1rem;
        --nav-title-padding-y: 0.25em;
        /* nav button */
        --nav-button-padding-x: 1rem;
        --nav-button-padding-y: 0.375em;
        --nav-button-border-radius: 0.375em;
        --nav-button-font-size: 12px;
        --nav-button-hover-bg: #00B5FF;
        --nav-button-hover-text-color: white;
        --nav-button-distance: 0.875em;
        /* underline */
        --underline-border-width: 0.0625em;
        --underline-border-color: white;
        --underline-margin-y: 0.3125em;
    }

    /* popup settings 👆 */

    .popup {
        display: inline-block;
        text-rendering: optimizeLegibility;
        position: relative;
    }

    .popup input {
        display: none;
    }

    .burger {
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        background: var(--burger-bg);
        width: var(--burger-diameter);
        height: var(--burger-diameter);
        border-radius: var(--burger-btn-border-radius);
        border: none;
        cursor: pointer;
        overflow: hidden;
        transition: var(--burger-transition);
        outline: var(--burger-enable-outline-width) solid transparent;
        outline-offset: 0;
    }

    .burger span {
        height: var(--burger-line-height);
        width: var(--burger-line-width);
        background: var(--burger-color);
        border-radius: var(--burger-line-border-radius);
        position: absolute;
        transition: var(--burger-line-transition);
    }

    .burger span:nth-child(1) {
        top: var(--burger-offset);
    }

    .burger span:nth-child(2) {
        bottom: var(--burger-offset);
    }

    .burger span:nth-child(3) {
        top: 50%;
        transform: translateY(-50%);
    }

    .popup-window {
        transform: scale(var(--nav-default-scale));
        visibility: hidden;
        opacity: 0;
        position: absolute;
        padding: var(--nav-padding-y) var(--nav-padding-x);
        background: var(--nav-bg);
        font-family: var(--nav-font-family);
        color: var(--nav-text-color);
        border-radius: var(--nav-border-radius);
        box-shadow: var(--nav-shadow-width) var(--nav-shadow-color);
        border: var(--nav-border-width) solid var(--nav-border-color);
        top: calc(var(--burger-diameter) + var(--burger-enable-outline-width) + var(--burger-enable-outline-offset));
        left: var(--nav-position-left);
        right: var(--nav-position-right);
        transition: var(--burger-transition);
    }

    .popup-window legend {
        padding: var(--nav-title-padding-y) var(--nav-title-padding-x);
        margin: 0;
        color: var(--nav-title-color);
        font-size: var(--nav-title-size);
        text-transform: uppercase;
    }

    .popup-window ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

    .popup-window ul button {
        outline: none;
        width: 100%;
        border: none;
        background: none;
        display: flex;
        align-items: center;
        color: var(--burger-color);
        font-size: var(--nav-button-font-size);
        padding: var(--nav-button-padding-y) var(--nav-button-padding-x);
        white-space: nowrap;
        border-radius: var(--nav-button-border-radius);
        cursor: pointer;
        column-gap: var(--nav-button-distance);
        padding: 10px;
        
    }

    .popup-window ul li:nth-child(1) svg,
    .popup-window ul li:nth-child(2) svg {
        color: white;
    }

    .popup-window ul li:nth-child(4) svg,
    .popup-window ul li:nth-child(5) svg {
        color: white;
    }

    .popup-window ul li:nth-child(7) svg {
        color: white;
    }

    .popup-window hr {
        margin: var(--underline-margin-y) 0;
        border: none;
        border-bottom: var(--underline-border-width) solid var(--underline-border-color);
    }

    /* actions */

    .popup-window ul button:hover,
    .popup-window ul button:focus-visible,
    .popup-window ul button:hover svg,
    .popup-window ul button:focus-visible svg {
        color: var(--nav-button-hover-text-color);
        background: var(--nav-button-hover-bg);
    }

    .burger:hover {
        transform: scale(var(--burger-hover-scale));
    }

    .burger:active {
        transform: scale(var(--burger-active-scale));
    }

    .burger:focus:not(:hover) {
        outline-color: var(--burger-enable-outline-color);
        outline-offset: var(--burger-enable-outline-offset);
    }

    .popup input:checked+.burger span:nth-child(1) {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }

    .popup input:checked+.burger span:nth-child(2) {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
    }

    .popup input:checked+.burger span:nth-child(3) {
        transform: translateX(calc(var(--burger-diameter) * -1 - var(--burger-line-width)));
    }

    .popup input:checked~nav {
        transform: scale(var(--nav-active-scale));
        visibility: visible;
        opacity: 1;
    }

    .menu-txt {
        font-family: 'Epilogue', sans-serif;
        font-weight: bold;
        font-size: 12px;
    }

    .topContainer {
        display: flex;
        flex-direction: column; /* Stacks the elements vertically */
        align-items: flex-start; /* Aligns items to the top-left corner */
        height: 92vh; /* Takes up full viewport height */
        margin-top: 40px;
    }

    .s1-header-white{
        font-family: 'Epilogue', sans-serif;
        font-weight: bold;
        font-size: 56px;
        color: white;
    }
    
    .s1-header-blue{
        font-family: 'Epilogue', sans-serif;
        font-weight: bold;
        font-size: 56px;
        color: #00B5FF;
    }
    
    .s1-text-container {
        width: 100%; /* Takes up the full width of the container */
        margin-bottom: 0; /* Ensure no margin at the bottom */
        padding-bottom: 0; /* Ensure no padding at the bottom */
    }
    
    .s1-splashscreen {
        width: 100%; /* Takes up the full width of the container */
        margin-top: -150px; /* Ensure no margin at the top */
        padding-top: 0; /* Ensure no padding at the top */
    }

    .angled-image {
        width: 25vw; /* Adjust width to fit the screen, 45vw means 45% of the viewport width */
        transform: rotate(-20deg);
        border-radius: 10px;
    }

    /* Section 2 styles */
    .section-2 {
        height: 100%;
    }

    .s2-mobile-txt {
        display: block;
    }
    
    .s2-desktop-txt {
        display: none;
    }

    .text-container {
        text-align: center;
        margin-top: 50px;
        color: black;
        font-size: 16px;
        font-family: 'Epilogue', sans-serif;
        font-weight: normal;
        font-weight: 200;
        line-height: 35px;
        padding-left: 50px;
        padding-right: 50px;
        margin-bottom: 100px;
    }

    /* Section 3 Styles */
    .video-container {
        position: relative;
        width: 800px; /* Adjust the width as needed */
        height: 577px; /* Adjust the height as needed */
        max-width: 100vw;
        max-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        border-radius: 20px; /* Rounded corners for the container */
    }
    
    .video-wrapper {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }
    
    video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) scale(1.5); /* Increase the size of the video */
        height: 933px;
        width: 600px; /* Adjust width based on height */
        max-width: none; /* Ensure the video can grow beyond its normal max-width */
        max-height: none; /* Ensure the video can grow beyond its normal max-height */
        border-radius: 15px; /* Rounded corners for the video */
        cursor: pointer; /* Show a pointer cursor to indicate it's clickable */
    }

    /* Section 4 styles */

    .section-4 {
        height: 400%;
    }

    .s4-container {
        display: flex;
        flex-direction: column; /* Stack items vertically in a column */
        align-items: center; /* Center items horizontally */
        gap: 20px; /* Space between the items */
        margin-top: -20px;
    }
    
    .s4-screenshot {
        text-align: center;
        width: 100%; /* Make each screenshot take up full width of the container */
        max-width: 250px; /* Set a maximum width for each screenshot */
    }
    
    .screenshots {
        width: 100%; /* Make the image take up the full width of its container */
        height: auto; /* Maintain aspect ratio */
        border-radius: 8px; /* Optional: rounded corners for images */
    }
    
    .screenshot-title {
        padding-top: 20px;
        font-size: 1rem;
        color: #FF8000;
        font-family: 'Epilogue', sans-serif;
        font-weight: 300;
        letter-spacing: 2px;
    }

    .footer {
        margin-top: -150px;
        padding-top: 200px;
    }
}