:root {
    --Gray-300: #a2a4a9;
    --primary-font: Helvetica Now Display, -apple-system, Roboto, Helvetica, sans-serif;
    --background-color: #121212;
    --text-color: #ffffff;
    --link-color: #ffffff;
    --highlight-color: #dddddd;
    --nav-background: none;
}

html {
    scroll-behavior: smooth;
}

/* Define the grid container for the entire page */
body {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* Define 12 columns */
    gap: 20px; /* Gutter */
    margin: 80px 40px;
    margin-bottom: 20px;
    padding: 0;
    font-family: var(--primary-font);
    line-height: 1.6;
    background-color: var(--background-color);
    color: var(--text-color);
    overflow-x: hidden; /* Hide any overflow */
}

/* Position the navigation bar in the first column */
.navigation {
    grid-column: 1 / span 1; /* Span the first column */
    position: fixed; /* Make the navigation fixed */
    top: 0;
    left: 0;
    margin: 100px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 12px 0px;
    height: 100vh;
    width: 200px;
    overflow-y: auto;
    background-color: none; /* Ensure background color is set */
    z-index: 1;
}

.item {
    margin-bottom: 8px; /* Space between items */
}

/* Style for the navigation links */
.nav-link {
    color: var(--Gray-300);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.3s ease; /* Smooth transition for text color */
}

/* Hover effect for the navigation links */
.nav-link:hover {
    color: var(--text-color); /* Change text color to white on hover */
}

/* Define the grid container for the main content */
.grid-container {
    grid-column: 5 / span 8; /* Start on the 5th column and span the remaining columns */
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px; /* Gutter */
    margin: 0px 0px; /* Margin */
}

/* Adjust sections to span the full width of the main content */
.grid-section {
    margin-top: 20px; /* Space between sections */
    grid-column: span 12;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; /* Ensures both sections stretch to the same height */
}

/* Define the info container to start on the 5th column */
.info-container {
    grid-column: 5 / span 8; /* Start on the 5th column and span 8 columns */
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* Define 12 columns within the container */
    gap: 20px; /* Gutter */
    margin: 40px 0px;
}

/* Position the left info on the 5th column */
.info-left {
    grid-column: 1 / span 8; /* Start on the 1st column within the container and span 6 columns */
    font-size: 1rem; /* Adjust the size as needed */
    font-weight: medium; /* Optional: make the text bold */
    color: var(--Gray-300);
}

/* Position the right info on the 12th column and right-align */
.info-right {
    grid-column: 12 / span 1; /* Start on the 12th column within the container */
    text-align: right; /* Right-align the text */
    font-size: 1rem; /* Adjust the size as needed */
    font-weight: medium; /* Optional: make the text bold */
    color: var(--Gray-300);
}

/* Highlight class for white text */
.highlight {
    color: var(--text-color); /* Set the text color to white */
}

/* Define a class for large text */
.large-text {
    font-size: 5rem; /* Adjust the size as needed */
    font-weight: bold; /* Optional: make the text bold */
    line-height: 1; /* Optional: adjust line height */
    margin: 0px;
}

.large-header {
    font-size: 5rem; /* Adjust the size as needed */
    font-weight: bold; /* Optional: make the text bold */
    line-height: 1; /* Optional: adjust line height */
    margin-bottom: 10vh;
}

/* Work grid styles */
.work-grid {
    width: 100%;
    max-width: 100%; /* Prevent any max-width constraints */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    margin: none;
    padding: none;
    gap: none;
}

.work-item {
    position: relative; /* Ensure it is positioned relative to the viewport */
    overflow: visible; /* Hide any overflow */
    background-color: none;
    border-radius: 5px;
}

/* Ensure the work item spans the entire width */
.work-item img {
    opacity: 0.25;
    width: 100vw; /* Span the entire viewport width */
    height: 90vh;
    position: relative; /* Ensure it is positioned relative to the viewport */
    left: 50%; /* Move it to the center */
    transform: translateX(-50%); /* Center it horizontally */
    margin-left: calc(-50vw + 55%); /* Adjust the margin to span the entire width */
    margin-right: 0; /* Remove any right margin */
    max-width: 100vw; /* Remove any max-width constraints */
    object-fit: cover; /* Crop the image if it expands further than the width of the desktop */
    z-index: 0;
    margin-bottom: none;
    padding-bottom: none;
}

/* Ensure the work item video spans the entire width */
.work-item-video {
    opacity: 0.25;
    width: 100vw; /* Span the entire viewport width */
    height: 100vh; /* Set the height to the viewport height */
    position: relative; /* Ensure it is positioned relative to the viewport */
    left: 50%; /* Move it to the center */
    transform: translateX(-50%); /* Center it horizontally */
    margin-left: calc(-50vw + 55%); /* Adjust the margin to span the entire width */
    margin-right: 0; /* Remove any right margin */
    max-width: none; /* Remove any max-width constraints */
    object-fit: cover; /* Crop the video if it expands further than the width of the desktop */
    z-index: 0;
    margin-bottom: none;
    padding-bottom: none;
}

/* Style for the overlay text */
.overlay-text {
    position: absolute; /* Position it absolutely */
    top: 10%; /* Position it 10% down from the top */
    left: 0%; /* Center it horizontally */
    text-align: left; /* Center the text */
    z-index: 1; /* Ensure it is above the image */
}

/* Style for the title */
.overlay-text .title {
    font-size: 2.5rem; /* Adjust the size as needed */
    font-weight: bold; /* Make the text bold */
    margin: 0; /* Remove default margin */
    color: var(white); /* Set the text color */
}

/* Style for the subtext */
.overlay-text .subtext {
    font-weight: bold; /* Optional: make the text bold */;
    font-size: 1rem; /* Adjust the size as needed */
    margin: 0; /* Remove default margin */
    color: var(--Gray-300); /* Set the text color */
}

/* Style for the case study button */
.case-study-button {
    position: absolute; /* Position it absolutely */
    top: 75%; /* Position it 60% down from the top */
    left: 0%; /* Center it horizontally */
    padding: 12px 20px; /* Add padding */
    background: rgba(255, 255, 255, 0.2); /* Semi-transparent white background */
    backdrop-filter: blur(10px); /* Blur effect */
    border-radius: 8px; /* Make the button pill-shaped */
    color: var(--text-color); /* Set the text color */
    font-weight: 700; /* Make the text bold */
    text-decoration: none; /* Remove underline */
    text-align: center; /* Center the text */
    transition: background 0.3s ease; /* Smooth transition for background */
    z-index: 1; /* Ensure it is above the image */
    display: flex; /* Use flexbox for alignment */
    align-items: center; /* Center items vertically */
    gap: 4px; /* Space between icon and text */
}

/* Rotate the icon */
.case-study-button i {
    transform: rotate(-45deg); /* Rotate the icon by 45 degrees */
}

/* Hover effect for the case study button */
.case-study-button:hover {
    background: rgba(255, 255, 255, 0.3); /* Slightly more opaque on hover */
}

/* Add spacing specifically for the playground section */
.play-section {
    margin-top: 20vh; /* Adjust the value as needed to create more space */
    margin-bottom: 20vh;
}

.play-item {
    background-color: none;
}

.play-item img, .play-item video {
    max-width: 100%;
    border-radius: 8px;
    height: auto;
    max-height: 100vh;
    margin-top: 20px;
    /* border: 1px solid #505359; Add border around play-item */
    transition: ease 0.3s;  /* Smooth transition for scaling */ 
}

/* Flexbox container for play items */
.play-item-container {
    grid-column: span 6; /* Full width */
    /* width: 62vw; */
    display: flex;
    justify-content: space-between; /* Space items evenly */
    gap: 20px; /* Add space between items */
}

/* Show the custom cursor on hover
.play-item img:hover{
    display: block;
} */

form {
    display: flex;
    flex-direction: column;
    max-width: 500px;
}

label {
    margin-top: 10px;
}

input, textarea {
    margin-bottom: 10px;
    padding: 5px;
}

button {
    padding: 10px;
    background-color: var(--Gray-300);
    color: white;
    border: none;
    cursor: pointer;
}

button:hover {
    background-color: #8a8c91;
}

/* Style for the contact wrapper */
.contact-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0; /* Remove margin */
    padding: 0; /* Remove padding */
}

/* Style for the contact icon */
.contact-icon {
    width: 20px;
    height: 20px;
}

.divider {
    width: 101px;
    height: 1px;
    background-color: #505359;
    margin: 8px 0;
    opacity: 0%;
}

/* Hide the social links by default */
.social-link {
    color: var(--Gray-300);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    text-transform: lowercase;
    margin-top: 8px;
    opacity: 1;
    /* transition: opacity 0.3s ease; */
}

/* Hover effect for the contact button */
.social-link:hover {
    background: none;
    outline: none; /* Remove default focus outline */
    color: var(--text-color); /* Change text color to white on hover */
}

.main-content {
    margin-left: 200px;
    padding: 20px;
}

/* Example of a grid item spanning multiple columns */
.grid-item {
    grid-column: span 12; /* Full width */
}

/* Example of a grid item spanning 6 columns */
.grid-item-half {
    grid-column: span 6;
    margin: 0px;
    padding: 0px;
    gap: 0px;
}

a {
    color: var(--link-color);
}

/* Show the social links when the contact button is clicked */
.contact-wrapper.active ~ .item .social-link {
    opacity: 1;
    color: var(--Gray-300);
}

/* Style for the contact button */
.contact-button {
    background: none;
    border: none;
    color: var(--Gray-300);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0; /* Remove margin */
    padding: 0; /* Remove padding */
    transition: color 0.3s ease; /* Smooth transition for text color */
    outline: none; /* Remove default focus outline */
}

/* Hover effect for the contact button */
.contact-button:hover {
    background: none;
    outline: none; /* Remove default focus outline */
    color: var(--text-color); /* Change text color to white on hover */
}

.contact-button:focus {
    background: none;
    outline: none; /* Remove default focus outline */
    color: var(--text-color); /* Change text color to white on hover */
}

.contact-button:active {
    background: none;
    outline: none; /* Remove default focus outline */
    color: var(--Gray-300); /* Change text color to white on hover */
}

/* Style for the separator */
.separator {
    background-color: var(--Gray-300);
    opacity: 0.5;
    height: 1px; /* Adjust the height as needed */
    width: 45%; /* Ensure it spans the full width */
    margin: 10px 0; /* Add some vertical margin */
}

/* Style for the my story section */
#my-story {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* Define 12 columns */
    padding-top: 10vh;
    margin-bottom: 20vh;
    align-items: stretch; /* Ensures both sections stretch to the same height */
}

.story-content {
    grid-column: 1 / span 6; /* Span 6 columns out of 12 (half) */
    display: flex;
    flex-direction: column;
    gap: 12px; /* Space between elements */
    justify-content: space-between; /* Aligns content evenly */
    align-self: stretch;
}

.story-item{
    display: grid;
    margin-bottom: 20vh;
    gap: 16px; /* Space between elements */
}

.story-content p1, .story-content h1, .story-content p2, .story-content p3 {
    margin: 0; /* Remove default margin */
    text-align: left; /* Align text to the left */
}

.story-content p1 {
    grid-column-start: 1; /* Start on the 1st column */
    font-size: 1.5rem; /* Adjust the size as needed */
    font-weight: bold; /* Make the text bold */
    margin-top: 12vh;
}

.story-content h1 {
    font-size: 2.5rem; /* Adjust the size as needed */
    font-weight: bold; /* Make the text bold */
}

.story-content p2 {
    font-size: 1rem; /* Adjust the size as needed */
    line-height: 1.6; /* Adjust the line height as needed */
    opacity: 80%;
}

.story-content p3 {
    font-size: 1rem; /* Adjust the size as needed */
    line-height: 1.6; /* Adjust the line height as needed */
    color: var(--Gray-300);
}

.story-pictures {
    grid-column: 8 / span 5; /* Start on the 8th column and span 5 columns */
    display: flex;
    flex-direction: column;
    gap: 4%; /* Space between elements */
    align-self: stretch; /* Stretch to match the grid row height */
    min-height: 0; /* Allow the container to shrink to the row's height */
    height: 100%; /* Match the row height from the grid */
    overflow: hidden; /* Prevent the image column from pushing content down */
}

.story-pictures img {
    opacity: 0.50;
    width: 100%; /* Ensure images take full width of the container */
    flex: 1 1 0%; /* Make images fill equal vertical space and shrink if needed */
    min-height: 0; /* Allow flex items to shrink inside the container */
    border-radius: 8px; /* Optional: add border radius to images */
    object-fit: cover; /* Crop the image if it expands further than the width of the desktop */
}

/* Remove extra margin-bottom for the last story-item */
.story-content .story-item:last-child {
    margin-bottom: 0; /* Remove margin-bottom for the last item */
}

.resume-content {
    /* margin-top: 12vh; */
    grid-column: 8 / span 6; /* Span 6 columns out of 12 (half) */
    display: flex;
    flex-direction: column;
    gap: 12px; /* Space between elements */
}

.resume-content p1, .resume-content h1, .resume-content p2,  .resume-content p3{
    margin: 0; /* Remove default margin */
    text-align: left;
}

.resume-content p1 {
    font-weight: 500; /* Make the text bold */
}

.resume-content h1 {
    font-size: 1rem; /* Adjust the size as needed */
    font-weight: 500; /* Make the text bold */
    grid-column: 2 / span 4;
    line-height: 1.6;
    width: 20vw;
    align-self: right;
}

.resume-content p2 {
    font-size: 1rem; /* Adjust the size as needed */
    line-height: 1.6; /* Adjust the line height as needed */
    grid-column: 2 / span 4;
    width: 20vw;
    align-self: right;
    opacity: 80%;
}

.resume-content p3 {
    font-size: 1rem; /* Adjust the size as needed */
    line-height: 1.6; /* Adjust the line height as needed */
    color: var(--Gray-300);
    opacity: 0;
}

/* Flexbox container for play items */
.resume-horizantal-container {
    grid-column: span 6; /* Full width */
    display: flex;
    justify-content: space-between; /* Space items evenly */
    height: fit-content;
}

/* Adjust sections to span the full width of the main content */
.resume-grid-section {
    margin-top: 0px; /* Space between sections */
    grid-column: span 12;
}

.resume-item {
    margin-bottom: 40px; /* Space between sections */
}


.last-remark-content {
    margin-top: 24vh;
    grid-column: 8 / span 6; /* Span 6 columns out of 12 (half) */
    display: flex;
    flex-direction: column;
    gap: 12px; /* Space between elements */
    margin-bottom: 10vh;
}

.last-remark-content p1, .last-remark-content h1 {
    margin: 0; /* Remove default margin */
    text-align: left;
}

.last-remark-content p1 {
    font-weight: 500; /* Make the text bold */
}

.last-remark-content h1 {
    font-size: 2.5rem; /* Adjust the size as needed */
    font-weight: bold; /* Make the text bold */
    grid-column: 2 / span 4;
    line-height: 1.6;
    width: 20vw;
    align-self: right;
}

/* Style for the footer */
.footer {
    grid-column: 1 / span 12; /* Span the full width */
    display: grid;
    grid-template-columns: repeat(12, 1fr); 
    background-color: var(--background-color);
    margin-top: 8vh;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    z-index: 1;
}

/* Style for the back to top button */
.back-to-top {
    grid-column: 1 / 3; /* Place in the 1st column */
}

.back-to-top-button {
    line-height: 1.2;
    font-size: 16px;
    font-family: var(--primary-font);
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.2); /* Semi-transparent white background */
    backdrop-filter: blur(10px); /* Blur effect */
    border-radius: 8px; /* Make the button pill-shaped */
    color: var(--text-color); /* Set the text color */;
    font-weight: 700; /* Make the text bold */
    text-decoration: none; /* Remove underline */
    text-align: center; /* Center the text */
    border: none; /* Remove border */
    cursor: pointer; /* Change cursor on hover */
    display: flex; /* Use flexbox for alignment */
    align-items: center; /* Center items vertically */
    gap: 8px; /* Space between text and icon */
    transition: background 0.3s ease; /* Smooth transition for background */
    width: fit-content;
}

.back-to-top-button:hover {
    background: rgba(255, 255, 255, 0.3); /* Slightly more opaque on hover */
}

/* Style for the last updated text */
.last-updated {
    grid-column: 11 / 13; /* Place in the last column */
    text-align: right; /* Align text to the right */
    color: var(--Gray-300); /* Set the text color */
    font-weight: 500;
}
