html, body {
    min-height: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient(to right, #0d140e 0%, #00031a 50%, #0a192f 100%);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}


body {
    font-family: 'Poppins', sans-serif;
    color: #ddd6cb;
}

header {
    text-align: left;
    padding-left: 10%;
    padding-top: 1%;
    color: #ddd6cb;
    margin-bottom: -5%;

}

header h1, header p {
    font-weight: 200;
    color: #ddd6cb;
}

header h9 {
    font-size: clamp(50px, 5vw, 150px);
    margin: 0;
    letter-spacing: 0.1em;
    opacity: 0.4;
    font-weight: 200;
}

header h1 {
    font-size: clamp(50px, 7vw, 150px);
    margin: 0;

    letter-spacing: 0.1em;
    opacity: 0.4;
    font-weight: 200;
}

h2 {
    margin: 0;
    text-align: center;
    margin-top: 100px;
    margin-bottom: 20px;
    font-weight: 350;
    font-size: 1.9em;
    letter-spacing: 0.08em;
    font-style: normal;
    color: #ddd6cb;
    opacity: 1;
}

h3 {
    font-size: clamp(7px, 0.5vw, 50%);
    font-weight: 200;
    font-style: italic;
    color: #fcf3e6;
    padding-left: 0;
    line-height: 0;
}
.profile-info h3 a {
    text-decoration: none; /* Removes underline */
    color: inherit; /* Optional: Ensures the link uses the parent's text color */
}

.profile-info h3 a:hover, .profile-info h3 a:focus {
    text-decoration: underline; /* Adds underline on hover for better accessibility */
    color: #fdeed8; /* Optional: Changes color on hover, set to any color you prefer */
}

.profile-container {
    display: flex;
    align-items: center; /* This will vertically center align the items */
    flex-wrap: nowrap; /* This will prevent the items from wrapping */
    max-width: 1200px; /* Or whatever max width you prefer */
    gap: 10px;
}

.profile-info {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    
}

.profile-info h6, .profile-info h3 {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* You might want to set a responsive font-size here */
}

h4 {
    margin: 0;
    font-size: 0.5em;
    letter-spacing: 0.01em;
    font-weight: 400;
    margin-top: -50px;
    font-style: italic;
    color: #fcf3e6;
}

h5 {
    font-size: 1.3em;
    letter-spacing: 0.07em;
    font-weight: 500;
    font-style: italic;
    color: #ffffff;
}

h6 {
    font-size: clamp(0.8vw, 3vw, 70%);
    font-weight: 200;
    font-style: normal;
    color: #fcf3e6;
    line-height: 0;
    
}

header h7 {
    font-size: clamp(0.8rem, 2.1vw, 1rem);
    font-weight: 200;
    font-style: normal;
    color: #ffffff;
    line-height: 0;
    margin-bottom: 8vw;
    margin-top: -3rem;
    display: inline-block;
    
}



header p {
    margin-top: 10px;
    font-size: 2.5em;
    letter-spacing: 0.2em;
    font-style: italic;
    color: #dcdcdc;
}

.centered-content h2 {
    font-family: 'Poppins', sans-serif;
    text-align: center;
    font-size: 2em;
    margin-bottom: 20px;
    font-weight: 10;
}

.box-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* This will space out your items nicely */
    margin: 0 auto;
    max-width: 1200px; /* Adjust the max-width to fit 3 boxes comfortably */
    padding: 0 15px; /* Adjust this to ensure alignment with buttons */
}

.box {
    position: relative;
    width: calc(33.333% - 20px); /* Adjust the width as necessary */
    margin: 10px;
    padding-top: 25%; /* 4:3 Aspect Ratio */
    overflow: hidden;
    transition: transform 0.3s ease;
    box-sizing: border-box;
}

.box img {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: auto;
    transform: translate(-50%, -50%);
}
  
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    color: #f1f1f1;
    opacity: 0;
    transition: .5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    font-size: clamp(0.5rem, 1.4vw, 1.1rem);
}

.box:hover .overlay {
    opacity: 1;
}

.box:hover {
    /* Hover effect should scale up the .box */
    transform: scale(1.1);
    z-index: 1; /* Ensure the scaled box is above other elements */
}

.modal {
    display: none;
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    overflow-y: auto;
}

.modal-content {
    display: block;
    max-width: 90%; /* Max width as a percentage of the viewport width */
    max-height: 90%; /* Max height as a percentage of the viewport height */
    margin: auto; /* Centering the image horizontally */
    top: 50%;
    left: 50%;
    object-fit: contain; /* The image will be scaled to be as large as possible without cropping or stretching */
    display: flex; /* Changed to flex for better centering */
    flex-direction: column; /* Stack children vertically */
    align-items: center; /* Center children horizontally */
    justify-content: center; /* Center children vertically */
    margin: auto; /* Centering the content horizontally */
}

.modal-contentP {
    position: fixed; /* Change to fixed position */
    top: 50%;       /* Position halfway down the viewport */
    left: 50%;      /* Position halfway across the viewport */
    transform: translate(-50%, -50%); /* Offset backward by half its width and height */
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    max-width: 90%; /* Maximum width relative to the viewport width */
    max-height: 90%; /* Maximum height relative to the viewport height */
    width: auto; /* Adjusts width to the content width */
    height: auto; /* Adjusts height to the content height */

    padding: 2px; /* Adjust padding to create space for the border */
    border-radius: 10px; /* Adjust border-radius for rounded corners */
    background: #000000; /* White background for the content */
    box-shadow: 
        0 0 0 2px rgb(255, 255, 255), /* Outer black line */
        0 0 0 0px rgba(0, 0, 0, 0), /* Main white border */
        0 0 0 0px rgba(255, 255, 255, 0); /* Inner black line */
}

.modal-description {
    /* Adjust padding and max-height */
    color: #ccc;
    padding: 10; /* Removed padding to allow the iframe to be as large as possible */
    max-height: 90vh; /* Adjust max-height to account for any modal padding/margins */
    overflow-y: auto; /* Keeps overflow handling */
    text-align: center;
    width: 100%; /* Full width to contain the video */
    display: flex; /* Added for centering */
    align-items: center; /* Added for vertical centering */
    justify-content: center; /* Added for horizontal centering */
}

.close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #ffdcd4;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
}

.image-gallery img, .video-gallery img {
    transition: transform 0.5s ease;
}

.image-gallery img:hover, .video-gallery img:hover {
    transform: scale(1.05);
}

.content {
    display: flex;
    padding: 2% 2%;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start; /* Align items at the top */
    justify-content: space-between; /* Space out children */
}

.image-gallery {
    flex: 0 1 70%; /* Take up to 70% of the container's width but allow shrinking */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 70%; /* Set a maximum width */
}

.video-gallery {
    flex: 0 1 70%; /* Take up to 70% of the container's width but allow shrinking */
    display: none;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    max-width: 70%; /* Set a maximum width */
}

.image-gallery img, .video-gallery img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover; /* This will cover the area of the box */
}

.project-info {
    position: absolute;
    right: 2%;
    top: 0%;
    margin-top: 25%;
    width: 25%;
    font-family: 'Poppins', sans-serif;
    color: #dcd8d1;
}

.additional-info {
    width: 68%; /* Full width of .content */
    font-style: italic;
    font-size: 0.75em;
    text-align: right;
    color: #dbdad9;
    padding: 0;
    margin-top: -2%;
    opacity: 0.4;
}

.people {
    width: 60%; /* Full width of .content */
    font-style: thin;
    font-size: 0.85em;
    text-align: left;
    color: #dcd8d1;
    padding: 0;
    margin-left: 2%;
    margin-top: 5%;
}

.note {
    width: 65%; /* Full width of .content */
    font-style: italic;
    font-size: 0.9em;
    text-align: left;
    color: #dad8d4;
    padding: 0;
    margin-left: 2%;
    margin-top: 2%;
}

.image-gallery .box:hover {
    transform: scale(1.10);
    z-index: 1;
}

    .additional-info {
        order: 3; /* Ensure the additional info appears last */
    }


.back-button {
    position: fixed;
    top: 20px;
    left: 20px;
    padding: 10px 15px;
    border-radius: 5px;
    background-image: linear-gradient(to right, #0d140e, #00031a 50%, #0a192f);
    color: #ffffff;
    font-size: 0.8em;
    text-decoration: none;
    font-weight: bold;
    z-index: 10;
    display: inline-block;
    transition: background-color 0.3s;
}

.back-button:hover {
    background-image: linear-gradient(to right, #0f2518, #001c29 50%, #0b2133);
    color: #818181;
}

#toggleGallery {
    padding: 10px 15px;
    border-radius: 5px;
    background-image: linear-gradient(to right, #1c2b1e, #000736 50%, #0f2546);
    color: #dbdad9;
    font-size: 1em;
    text-decoration: none;
    font-weight: bold;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
    display: inline-block; /* Adjust as necessary */
    margin-top: 20px; /* Adds some space between the title and the button */
    margin-left: 5%;
}

#toggleGallery:hover {
    background-image: linear-gradient(to right, #0f2518, #005b85 100%, #0b2133);
    color: #d1a770;
}

iframe {
    width: 80%; /* Width can be less than 100% if you want to maintain some space around the video */
    margin-top: 5%;
    height: 80vh; /* Sets a responsive height based on the viewport height */
    border: none; /* Remove the border */
}

/* This is your existing container for images and videos, we're reusing it */
.image-overlay-container {
    position: relative;
    display: inline-block; /* Adjust display as needed */
    margin: 10px; /* Spacing between thumbnails */
    overflow: hidden; /* Prevents the overlay from spilling out */
}

/* Styling for the images to ensure the scale effect is present */
.image-overlay-container img {
    display: block;
    width: 100%;
    transition: transform 0.3s ease; /* Smooth transition for scaling */
}

/* Overlay that appears from left to right edge exactly */
.overlay-text {
    position: absolute;
    bottom: 0; /* Starts from the bottom */
    left: 0; /* Align to the left edge */
    right: 0; /* Align to the right edge */
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
    color: #dbdad9; /* White text */
    opacity: 0; /* Hidden by default */
    transition: opacity 0.5s ease; /* Smooth transition for text appearance */
    text-align: center;
    padding: 10px; /* Padding inside the overlay */
    pointer-events: none;
    font-size: clamp(0.5rem, 1.4vw, 1.1rem);
}



/* Hover effect for the container */
.image-overlay-container:hover img {
    transform: scale(1.05); /* Scale effect on hover */
}

/* Show the text on hover */
.image-overlay-container:hover .overlay-text {
    opacity: 1;
}

/* Additional styles to make sure your videos and posters are clickable */
.image-overlay-container a {
    display: block;
    width: 100%;
    height: 100%;
}

/* If your clickable element is the image itself, ensure it has no pointer-events set to none */
.image-overlay-container img {
    pointer-events: auto;
}

.image-overlay-container:hover .overlay-text {
    opacity: 1;
    pointer-events: auto; /* This will make the overlay clickable */
}

.button-container {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 20px auto;
    padding: 0;
    justify-content: space-between; /* This will create space between your buttons */
}

.button-container button {
    padding: 15px 20px; /* Adjust padding as necessary */
    font-style: italic;
    font-size: 1.2em; /* Increase the text size */
    cursor: pointer; /* Change cursor to pointer on hover */
    background-image: linear-gradient(to right, #001303, #000000, #060020); /* Gradient background */
    color: #dbdad9; /* White text color */
    letter-spacing: 2px; /* Space out the letters a bit */
    border-radius: 5px; /* Rounded corners */
    transition: background-color 0.3s ease; /* Smooth transition for hover effect */
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.795); /* Subtle shadow for depth */
    flex-grow: 0; /* Allows buttons to grow and fill the space */
    margin: 0 10px; /* Adds space between buttons */
    border: 2px solid #cfb190; /* White border */
    border-radius: 5px; /* Rounded corners, adjust as needed */
    

}

.button-container button:hover {
    background-image: linear-gradient(to left, #001303, #181818, #060020); /* Reverse gradient on hover */
}

.button-container button:focus {
    outline: none; /* Remove the focus outline */
    /* Optional: Add a style for focus state, such as a border or change in color */
}

/* If your buttons need to be even further apart, consider adding a max-width and justify-content */
.button-container {
    display: flex;
    justify-content: space-evenly; /* This will space your buttons evenly */
    max-width: 1200px; /* Adjust as necessary for your layout */
    margin: 30px auto; /* Centers the buttons container */
    margin-top: 10%;
}

/* Add or adjust existing .box-row for content alignment */
.box-row {
    max-width: 1200px; /* This should match the button container's width */
    margin: 0 auto; /* Center the row */
    padding: 0; /* Adjust this to align with the buttons if necessary */
    display: flex;
    justify-content: center;
}

/* To make sure the buttons don't grow too big and maintain the space between them */
.button-container button:first-child {
    margin-right: auto; /* Pushes the first button to the left edge */
}

.button-container button:last-child {
    margin-left: auto; /* Pushes the last button to the right edge */
}

.button-container button:not(:first-child):not(:last-child) {
    margin: 0 600px; /* Adjust space between buttons */
}

.cvModal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 2; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.cvModal-content {
    position: relative;
    margin: 10% auto;
    padding: 20px;
    border: 0px solid #888;
    width: 80%;
    max-width: 700px; /* Adjust as needed */
}

.closeCv {
    color: #aaa;
    position: absolute;
    top: 10px;
    right: 25px;
    font-size: 35px;
    font-weight: bold;
}

.closeCv:hover,
.closeCv:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.cvImage {
    width: 100%; /* Adjust as needed */
    height: auto;
}


.contact-form-container {
    width: 40%;
    padding: 20px;
    background-color: #333; /* Dark background for the form container */
    color: #dbdad9; /* White text color */
    box-sizing: border-box;
    background: none; /* No background for the container */
    bottom: 0; /* Align to the bottom */
    left: 50%; /* Start from the middle */
    margin-left: 30%;
}

#contactForm {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#contactForm input, #contactForm textarea {
    margin-bottom: 10px;
    padding: 5px;
}

#contactForm button {
    width: 40%;
    padding: 10px;
    background-color: #232357ce; /* Darker background for the button */
    color: #dbdad9;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s; /* Smooth transition for color change */
}

#contactForm button:hover {
    background-color: #504977cc; /* Slightly lighter on hover */
}

#contactForm input[type="email"], #contactForm textarea {
    background-color: #333; /* Dark background */
    color: #dbdad9; /* Light text */
    width: 20%; /* Make the input field full width */
    padding: 15px; /* Add more padding for a larger appearance */
    margin: 5px 0; /* Add some margin between the fields */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    background-color: #333; /* Dark background */
    color: #dbdad9; /* Light text */
    border: 1px solid #444; /* Slightly lighter border for some depth */
    border-radius: 5px; /* Rounded corners */
    
}

#contactForm textarea {
    width: 40%; /* Full width of its container */
    height: 150px; /* Or any specific height you want */
    margin: center; /* Padding inside the textarea */
    /* Keep the rest of the padding consistent with the input field */
}


#contactForm input[type="text"] {
    width: 30%; /* Make the input field full width */
    padding: 15px; /* Add more padding for a larger appearance */
    margin: 5px 0; /* Add some margin between the fields */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    background-color: #333; /* Dark background */
    color: #dbdad9; /* Light text */
    border: 1px solid #444; /* Slightly lighter border for some depth */
    border-radius: 5px; /* Rounded corners */
}

#contactForm input[type="email"]:-webkit-autofill,
#contactForm input[type="email"]:-webkit-autofill:hover, 
#contactForm input[type="email"]:-webkit-autofill:focus,
#contactForm input[type="email"]:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #333 inset !important;
    -webkit-text-fill-color: #dbdad9 !important;
}

#contactForm input[type="text"]:-webkit-autofill,
#contactForm input[type="text"]:-webkit-autofill:hover, 
#contactForm input[type="text"]:-webkit-autofill:focus,
#contactForm input[type="text"]:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #333 inset !important;
    -webkit-text-fill-color: #dbdad9 !important;
}

#profile-overlay {
    position: absolute;
    font-weight: 200;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5); /* Translucent black background */
    color: #dacbba; /* Text color */
    visibility: visible;
    opacity: 0.3;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s, visibility 0.5s;
    font-size: 5vw;
    border-radius: 50%; /* Make the overlay circular as well */
    font-family: 'Poppins', sans-serif;

}

#profile-picture-btn {
    position: relative; /* This will be the positioning context for the overlay */
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: inline-block; /* Ensures the button doesn't stretch full width */
}

#profile-picture {
    width: clamp(50px, 20vw, 200px); /* Min, preferred, and max values */
    height: auto; /* To maintain aspect ratio */
    border-radius: 50%; /* Ensures the image is circular */
}



#profile-picture-btn:hover #profile-overlay {
    visibility: visible;
    opacity: 1;
}

.modalCC {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(6, 0, 34, 0.39); /* Black w/ opacity */
  }
  
  .modal-contentC {
    background-color: 232357ce;
    margin: 3% auto;
    width: 80%;
    filter: invert(0.9) hue-rotate(175deg);
    min-width: 200px; /* Minimum width */
    box-sizing: border-box;
    position: relative; /* Needed for absolute positioning of children */
  }
  
  .closeC {
    color: #181818;
    float: right;
    font-size: 35px;
    font-weight: bold;
  }

  .modal-contentC iframe {
    display: block; /* Remove any inline spacing */
    width: 100%;
    min-height: 350px; /* Minimum height */

    border: none; /* Remove any default border */
}
  
  .closeC:hover,
  .closeC:focus {
    color: rgb(230, 0, 0);
    text-decoration: none;
    cursor: pointer;
  }
  
  .calendar-button {
    padding: 10px 15px;

    font-size: 0.9em;
    cursor: pointer;
    background-image: linear-gradient(to right, #002005, #000000, #080029);
    color: #dbdad9;
    letter-spacing: 2px;
    border-radius: 50px;
    transition: background-color 0.3s ease;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.795);
    border: 2px solid #cfb190;
    
}

.calendar-button:hover {
    background-image: linear-gradient(to left, #001303, #181818, #060020);
}

.calendar-button:focus {
    outline: none;  /* Optional: Customize focus state as needed */
}

footer {
    width: 100%;
    padding: 20px 0;
    background-color: #f3f3f300; /* Feel free to adjust the background color */
    box-sizing: border-box;
}

.company-details {
    display: flex;
    justify-content: center; /* Center the contents horizontally */
    align-items: center; /* Align items vertically */
    text-align: center; /* Center the text alignment */
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.company-info, .company-contact {
    flex: 1; /* Flex property to make both divs take up equal space */
    padding: 0 10px; /* Reduced padding to decrease space between */
    max-width: 50%; /* Optionally limit max width for each block */
}

hr {
    margin-top: 2%;
    border: 0;
    height: 1px;
    background-color: #cccccc6b; /* Light grey line */
}

.company-contact p a {
    color: #cfcfcf; /* Black color for email link, change as needed */
    text-decoration: none; /* No underline */
}

.company-contact p a:hover {
    text-decoration: underline; /* Underline on hover */
}
