html, body {
    margin: 0;
    padding: 0;
}

*, *::before, *::after {
  box-sizing: border-box;
}


/* Import Oswald font */
@font-face {
    font-family: 'Oswald';
    src: url('fonts/Oswald-Light.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Import TT Hoves font */
@font-face {
    font-family: 'TT Hoves';
    src: url('fonts/Poppins-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'TT Hoves';
    src: url('fonts/Poppins-Regular.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

/* Apply TT Hoves to h2 */


h2 {
    font-family: 'TT Hoves', sans-serif;
    font-size: 1.5rem;
    color: #f5e530;
    margin: 0;
    font-weight: normal;
    font-style: normal;
}

h3 {
    font-family: 'TT Hoves', sans-serif;
    font-size: 1.0rem;
    color: #ffffff;
    margin: 0;
}

h4 {
    font-family: 'TT Hoves', sans-serif;
    font-size: 0.7rem;
    color: #ffffff;
    margin: 0;
}





body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Oswald', sans-serif; /* Apply Oswald as the default font */
}

.video-background {
    position: fixed; /* Position it relative to the body */
    top: 0;
    left: 0;
    width: 100%; /* Full width of the screen */
    height: 100vh; /* Full viewport height */
    z-index: -1; /* Keep the video in the background */
}

.video-background video {
    width: 100%; /* Scale the video to 100% of the width */
    height: 100%; /* Scale the video to 100% of the height */
    object-fit: cover; /* Ensure it covers the entire screen, cropping if necessary */
    object-position: center center; /* Ensure the video stays centered */
}

header {
    position:absolute;
    top: 0;
    width: 100%;
    text-align: center;
    z-index: 1;
}

/* Positioning the logo container */
.vsco-container {
    justify-content: left;
    align-items: left;
    position:absolute;
    top: 1%;
    left: 7%;
    transform: translateX(-50%);
    display: inline-block; /* Ensure it's a clickable block */
    cursor: pointer; /* Makes it clickable */
    scale: 55%;
}

/* Styling for the logo */
.vsco-logo{
    width: auto;
    height: 150px; /* Adjust as needed */
}

/* Positioning the logo container */
.logo-container {
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block; /* Ensure it's a clickable block */
    cursor: pointer; /* Makes it clickable */
}

/* Styling for the logo */
.logo {
    width: auto;
    height: 100px; /* Adjust as needed */
}

/* Styling for the anchor link to remove default underline */
a {
    text-decoration: none; /* Remove default underline */
}


.title-container {
    position: absolute;
    top: 500px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    color: #f5e530;
    font-size: 4rem;
    white-space: nowrap; /* Prevent text from wrapping to the next line */
    font-style: normal;
}

.h2-container {
    position: absolute;
    top: 85vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
}

.h3-container {
    position: absolute;
    top: 90vh;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    
}



@media (max-width: 1300px) {
  .title-container {
    top: 35vh;                 /* move it slightly up */
    white-space: normal;       /* allow wrapping on very small screens */
    width: 90%;
  }
  .h2-container {
    top: 85vh;                 /* move it slightly up */
    white-space:initial;       /* allow wrapping on very small screens */
    width: 100%;
    font-size: 5vh;
  }
   .h3-container {
    top: 89vh;                 /* move it slightly up */
    white-space:unset;       /* allow wrapping on very small screens */
    width: 100%;
    font-size: 4vh;
    font-weight: normal;
    font-style: normal;
  }
}

@media (max-width: 700px) {
  .title-container {
    top: 45vh;                 /* move it slightly up */
    white-space:initial;       /* allow wrapping on very small screens */
    width: 100%;
    font-size: 5vh;
  }
   .h2-container {
    top: 83vh;                 /* move it slightly up */
    white-space:initial;       /* allow wrapping on very small screens */
    width: 100%;
    font-size: 5vh;
  }
   .h3-container {
    top: 90vh;                 /* move it slightly up */
    white-space:normal;       /* allow wrapping on very small screens */
    width: 100%;
    font-weight: normal;
    font-style: normal;
  }
 
}


.white-section{
  background: #fff;

  width: min(1400px, calc(100% - 26px));
  margin: 100vh auto 0;

  padding: 0;              /* IMPORTANT: no padding on the panel */
  position: relative;
  text-align: center;

  min-height: 100vh;
  height: auto;
}

.white-section .content{
  padding-top: -30px;       /* your spacing lives here instead */
}





.full-bleed {
  width: 100%;
  margin: -1px;
  padding: 0;
}

.full-bleed img {
  display: block;
  width: 100%;
  height: auto;
}


.portfolio-buttons{
  display: flex;
  justify-content: center;   /* centers the group */
  gap: -50px;                 /* equal spacing between buttons */
  align-items: center;
  margin-top: -130px;
}

.portfolio-btn img{
  display: block;
  width: 420px;        /* was ~360px */
  max-width: 32vw;     /* still responsive */
  height: auto;
}








/* PDV page layout */

/* Folio image layout */
.image-container {
  display: flex;
  justify-content: center;   /* horizontal centering */
  margin: 4rem 0;            /* vertical spacing between pages */
}

.image-container img {
  max-width: 90%;            /* responsive scaling */
  height: auto;
}





/*IAD page layout */
/* Apply fixed background */
body {
    background-image: url('images/iad/bg.svg'); /* Path to your fixed background image */
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    height: 100vh; /* Full viewport height */
    margin: 0; /* Remove default margin */
}

/* Container for the gallery */
.gallery-container {
    position: relative;
    z-index: 1; /* Ensure content is above the background */
    padding: 15%;
}

/* Gallery styling - Adjusted for vertical stacking */
.image-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* two per row */
  gap: 40px; /* keep your spacing */
  justify-items: center; /* optional: keeps items neatly aligned */
}


/* Each individual gallery item */
.gallery-item {
  width: 100%;      /* fills the grid column */
  max-width: 520px; /* optional: stops them getting huge on wide screens */
  height: auto;
  overflow: hidden;
  position: relative;
}

/* Image styling */
.gallery-item img {
    width: 100%; /* Full width of container */
    height: auto; /* Adjust height according to aspect ratio */
    object-fit: contain; /* Ensures the full image is visible without cropping */
    cursor: pointer; /* Adds pointer cursor on hover */
    transition: transform 0.3s ease;
}

.gallery-item img:hover {
    transform: scale(1.05); /* Slight zoom effect on hover */
}

@media (max-width: 800px) {
  .image-gallery {
    grid-template-columns: 1fr;
  }
}

.gallery-section {
  grid-column: 1 / -1; /* span full width of the grid */
  text-align: center;
  margin: 40px 0 20px;
}


/* Modal styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 10px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: center;
}

.modal-content {
    max-width: 90%;
    max-height: 90%;
    margin: auto;
    display: block;
}

#modalCaption {
    color: white;
    padding: 10px;
    text-align: center;
}

.close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}


/* Footer Styling */
footer {
    display: flex;
    justify-content:space-around; /* Space between the left, center, and right sections */
    align-items: center; /* Vertically center the content */
    padding: 0; /* Padding around the footer */
    background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent background */
    position: relative;
}

/* Left and Right sections in the footer */
.footer-left, .footer-right {
    display: flex;
    gap: 20px; /* Space between the icons */
    align-items: center; /* Ensures the icons are aligned properly */
}

/* Styling for the footer icons */
.footer-icon-left, .footer-icon {
  margin-top: 40px;  
  width: 30px; /* Set a specific size for the icons */
    height: 30px; /* Ensure the icons are square */
    object-fit: contain; /* Makes sure the icons maintain their aspect ratio */
    cursor: pointer; /* Makes the icon clickable */
}

/* Center: Logo styling */
.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ensure links don't have text decoration */
footer a {
    text-decoration: none; /* Removes the default underline */
    display: inline-block; /* Makes the link block-level */
}

/* Optional: Add a hover effect to icons */
.footer-icon-left:hover, .footer-icon:hover, .logo:hover{
    opacity: 0.7; /* Slight opacity change on hover */
    transition: opacity 0.3s ease; /* Smooth transition */
}







