
html, body {
    overflow-x: hidden;
}

/* Gotham Light (300) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-light.woff2") format("woff2"),
         url("/fonts/gotham-light.woff") format("woff"),
         url("/fonts/gotham-light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Gotham Light Italic (300) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-lightitalic.woff2") format("woff2"),
         url("/fonts/gotham-lightitalic.woff") format("woff"),
         url("/fonts/gotham-lightitalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Gotham Medium (400) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-medium.woff2") format("woff2"),
         url("/fonts/gotham-medium.woff") format("woff"),
         url("/fonts/gotham-medium.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Gotham Medium Italic (400) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-mediumitalic.woff2") format("woff2"),
         url("/fonts/gotham-mediumitalic.woff") format("woff"),
         url("/fonts/gotham-mediumitalic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Gotham Bold (700) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-bold.woff2") format("woff2"),
         url("/fonts/gotham-bold.woff") format("woff"),
         url("/fonts/gotham-bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Gotham Bold Italic (700) */
@font-face {
    font-family: "Gotham";
    src: url("/fonts/gotham-bolditalic.woff2") format("woff2"),
         url("/fonts/gotham-bolditalic.woff") format("woff"),
         url("/fonts/gotham-bolditalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}


   a {
        color: inherit;          /* inherit text color from parent */
        text-decoration: none;   /* remove underline */
        background: none;        /* remove any background */
        border: none;            /* remove any border */
        padding: 0;              /* remove padding */
        margin: 0;               /* remove margin */
        font-weight: inherit;    /* inherit font weight */
        font-style: inherit;     /* inherit font style */
    }

    a:hover,
    a:focus,
    a:active {
        color: inherit;
        text-decoration: none;
    }

    .sec-1 {
    position: relative;
    overflow: hidden; /* ensures slideshow images don't overflow */
    }



    /*
    .sec-1 {
        background-image: linear-gradient(
                90deg,
                rgba(0, 0, 0, 1) 0%,
                rgba(0, 0, 0, 0.8) 100%
            ), url("img/bg.jpg");		
		background-size: cover; 
		background-position: center;
		background-repeat: no-repeat;
		background-attachment: fixed;
        padding-top: 100px;
        padding-bottom: 100px;
    }
    */

    .sec-2 {
        margin-top: 0;
        position: relative; 
        
    }


    .sec-3 {
        background: linear-gradient(135deg, #550565 0%, #856278 100%);
        color: white;
    }

    .sec-4 {

        position: relative;
        overflow: hidden; /* ensures slideshow images don't overflow */

        /*background: linear-gradient(135deg, #00ff55ff 0%, #00a083ff 100%);*/
        color: black;
    }

    .sec-5 {
        margin-top: 0;
        position: relative; 

    }

    .sec-6 {
        background: linear-gradient(135deg, #550565 0%, #856278 100%);
        color: white;
    }

    .footer {
        background-color: #2c2c2c;
        color: rgba(255, 255, 255, 0.466);
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: 300;
    }


    /* Navigation (sec-1)*/
    .nav-item {
        font-size: 2.5rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: bold;
        margin: 0;
        line-height: 1.5;
        color: rgb(255, 255, 255) !important;
    }

    
    .nav-item:hover,
    .nav-item:focus,
    .nav-item:active {
        color: rgba(255, 255, 255, 0.5) !important;
    }
    /*---*/

    /* Navigation (on scroll)*/
    .scroll-nav-item {
        font-size: 1rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: normal;
        margin: 0;
        line-height: 1.5;
        color: rgba(0, 0, 0, 1) !important;
    }

    .scroll-nav-item:hover,
    .scroll-nav-item:focus,
    .scroll-nav-item:active {
        color: rgba(0, 0, 0, 0.5) !important;
    }


    .scroll-navbar {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: rgba(255, 255, 255, 0.85);
        display: flex;
        justify-content: center;
        gap: 2rem;
        padding: 2rem 0;
        z-index: 9999;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .scroll-navbar a {
        color: white;
        font-weight: bold;
        text-decoration: none;
    }

    .scroll-navbar.show {
        display: flex;
        opacity: 1;
        transform: translateY(0);
    }

    .scroll-navbar.hide {
        opacity: 0;
        transform: translateY(-100%);
    }


    .scroll-nav-logo img {
        height: 50px;          /* adjust size */
        width: auto;
        display: block;
    }

    #scrollNav {
        display: flex;
        align-items: center;
        gap: 2rem;             /* spacing between logo and items */
    }

    /*---*/



    /*Sidenav*/
    /* The side navigation menu */
.sidenav {
  height: 100%; /* 100% Full-height */
  width: 0; /* 0 width - change this with JavaScript */
  position: fixed; /* Stay in place */
  z-index: 3; /* Stay on top */
  top: 0; /* Stay at the top */
  right: 0;
  background-color: rgba(0,0,0,0.8); /* Black*/
  overflow-x: hidden; /* Disable horizontal scroll */
  padding-top: 150px; /* Place content 60px from the top */
  transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}

/* The navigation menu links */
.sidenav a {
  padding: 8px 50px 8px 8px;
  text-decoration: none;
  font-size: 25px;
  color: #ffffff;
  display: block;
  transition: 0.3s;
}

/* When you mouse over the navigation links, change their color */
.sidenav a:hover {
  color: #f1f1f1;
}

/* Position and style the close button (top right corner) */
.sidenav .closebtn {
  position: absolute;
  top: 0;
  left: 0px;
  font-size: 36px;
  margin-left: 25px;
}

/* Style page content - use this if you want to push the page content to the right when you open the side navigation */
#main {
  transition: margin-left .5s;
  padding: 20px;
}

/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
    /*---*/

    /* Special Links (with animated underline) */
    .special-links {
    display: inline-block;
    position: relative;
    color: #ffffff;
    }

    .special-links:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .special-links:hover {
    color: rgba(255, 255, 255, 0.5);
    }
        

    .special-links:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }

    .special-links-lite {
    display: inline-block;
    position: relative;
    color: #000000;
    }

    .special-links-lite:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .special-links-lite:hover {
    color: rgba(0, 0, 0, 0.5);
    }
        

    .special-links-lite:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }

    /* kicker-special-links */
    .kicker-links {
    display: inline-block;
    position: relative;
    color: #000000;
    }

    .kicker-links:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .kicker-links:hover {
    color: rgba(0, 0, 0, 0.5);
    }
        

    .kicker-links:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }

    .kicker-links-lite {
    display: inline-block;
    position: relative;
    color: #ffffff;
    }

    .kicker-links-lite:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .kicker-links-lite:hover {
    color: rgba(255, 255, 255, 0.5);
    }
        

    .kicker-links-lite:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }

    /*---*/

    .headline{
        font-size: 2.5rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: bold;
        margin: 0;
        line-height: 1.5;
    }

    .subhead{
        font-size: 2rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: normal;
        margin: 0;
        line-height: 1.5;
    }

    .kicker{
        font-size: 1.5rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: normal;
        margin: 0;
        line-height: 1.5;
    }

    .write-up{
        font-size: 0.9rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: 300;
        margin: 0;
    }

    .write-up-lite{
        font-size: 0.9rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: 300;
        margin: 0;
        color: #ffffff;
    }

    /* project navigation */
    .project-nav{
        font-size: 1rem;
        font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
        font-weight: 300;
        margin: 0;
        line-height: 1.5;
        overflow: auto;
        white-space: nowrap;
    }

    .project-nav-links {
    display: inline-block;
    position: relative;
    color: #000000;
    }

    .project-nav-links:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .project-nav-links:hover {
    color: rgba(0, 0, 0, 1);
    font-weight: normal;
    }
        

    .project-nav-links:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }

    .project-nav-links-lite {
    display: inline-block;
    position: relative;
    color: #ffffff;
    }

    .project-nav-links-lite:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.5);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    }
        
    .project-nav-links-lite:hover {
    color: rgba(255, 255, 255, 0.5);
    font-weight: normal;
    
    }
        

    .project-nav-links-lite:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
    }
    /*---*/
    

    .thumbnails {
        display: block; /* Makes the <a> tag behave like a block element */
        text-decoration: none; /* Removes underline */
        width: 100%;
        padding-bottom: 100%;
        position: relative;
        overflow: hidden;
        
    }

    .thumbnails-img {
        position: absolute; 
        top: 0; 
        left: 0; 
        width: 100%; 
        height: 100%; 
        object-fit: cover;
        transition: transform 1s ease; /* Smooth animation */
    }
    

    .thumbnails:hover .thumbnails-img {
        transform: scale(1.5); /* Expands to 150% on hover */
    }

    .thumbnails-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* Black with 50% opacity */
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0; /* Hidden by default */
        transition: opacity 0.3s ease;
        z-index: 1; /* Sits above the image */
    }

    .thumbnails:hover .thumbnails-overlay {
        opacity: 1; /* Shows on hover */
    }


    /* Rectangle version: 2:1 aspect ratio (100% wide, 50% tall) */
    .thumbnails-rect {
        width: 100%;
        padding-bottom: 50%; /* 50% = rectangle height */
        position: relative;
        overflow: hidden;
        display: block;
    }

    .thumbnails-img-rect {
        position: absolute; 
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s ease;
    }

    /* Hover effects consistent with your square thumbnails */
    .thumbnails-rect:hover .thumbnails-img-rect {
        transform: scale(1.5);
    }

    .thumbnails-rect:hover .thumbnails-overlay {
        opacity: 1;
    }

    .thumbnails-title {
        color: white;
        font-size: 1.2rem;
        font-weight: normal;
        text-align: center;
        padding: 10px;
    }


    .thumb-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px;
    /*background: rgba(85, 5, 101,0.8); /* or solid black if you prefer */
    color: white;
    font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.thumb-caption-title {
    font-size: 1.2rem;
    font-weight: bold;
}

.thumb-caption-snippet {
    font-size: 0.9rem;
    margin-top: 5px;
    font-weight: 300 !important;
}

.thumb-caption-readmore {
    margin-top: 8px;
    display: inline-block;
    font-size: 0.9rem;
    opacity: 0.8;
}
.thumb-caption-readmore:hover {
    opacity: 1;
}

/*insights overlay*/
.thumbnails-rect.overlay-purple {
    background-color: rgba(85, 5, 101, 1);
}

.thumbnails-rect.overlay-purple .thumbnails-img-rect {
    opacity: 0.5; /* Makes image semi-transparent so purple shows through */
}

.thumbnails-rect.overlay-purple .thumb-caption {
    z-index: 2;
}

.thumbnails.overlay-purple {
    background-color: rgba(85, 5, 101, 1);
}

.thumbnails.overlay-purple .thumbnails-img {
    opacity: 0.5; /* Makes image semi-transparent so purple shows through */
}

.thumbnails.overlay-purple .thumb-caption {
    z-index: 2;
}
/*---*/


.scroll-down {
    font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: white; /* default */
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    opacity: 0.2;
    transition: color 0.3s ease, opacity 0.3s ease;
    z-index: 9997;
}

.scroll-down.dark {
    color: black;
}

.scroll-down.light {
    color: white;
}

.scroll-down:hover {
    opacity: 1;
    animation: bounce 1s ease infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(-10px);
    }
}


.scroll-up {
    font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
    position: fixed;
    top: 120px; /* Default position */
    left: 50%;
    transform: translateX(-50%);
    color: white;
    text-decoration: none;
    font-size: 1rem;
    opacity: 0.2;
    text-align: center;
    transition: top 0.3s ease, color 0.3s ease, opacity 0.3s ease;
    z-index: 9996; /* Below navbar */
}

.scroll-up.with-navbar {
    top: 120px; /* Moves down when navbar is visible */
}

.scroll-up.dark {
    color: black;
}

.scroll-up.light {
    color: white;
}

.scroll-up:hover {
    opacity: 1;
    animation: bounceUp 1s ease infinite;
}

@keyframes bounceUp {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(10px);
    }
}

    .back-to-top {
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 50px;
        height: 50px;
        background: black;
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-size: 1.5rem;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
        z-index: 9999;
    }

    .back-to-top.show {
        opacity: 1;
        pointer-events: auto;
        transform: scale(1);
    }

    .back-to-top:hover {
        background: #333;
    }

