@import url("https://fonts.googleapis.com/css?family=Roboto:300,500|Oswald:400");

/* Rules for the slideshow */
.slideshow {
    list-style-type: none;
}

/** SLIDESHOW **/
.slideshow,
.slideshow:after {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    z-index: 0; 
}

.slideshow li span { 
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 40s linear infinite 0s; 
}

.slideshow li:nth-child(1) span {
    background-image: url("../../hi/images/unsplash1.jpg");
}
.slideshow li:nth-child(2) span {
    background-image: url("../../hi/images/unsplash2.jpg");
    animation-delay: 8s; 
}
.slideshow li:nth-child(3) span {
    background-image: url("../../hi/images/unsplash3.jpg");
    animation-delay: 16s; 
}

@keyframes imageAnimation { 
    0% { opacity: 0; animation-timing-function: ease-in; }
    8% { opacity: 1; animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}

@keyframes titleAnimation { 
    0% { opacity: 0 }
    8% { opacity: 1 }
    17% { opacity: 1 }
    19% { opacity: 0 }
    100% { opacity: 0 }
}

.no-cssanimations .cb-slideshow li span {
    opacity: 1;
}

/* Rules for the header */
#header {
    padding: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-left {
    display: flex;
    align-items: center;
}

.header-right {
    display: flex;
    align-items: center;
}

.nav-opener {
    margin-left: 1em;
}

#header .logo {
    font-family: "Roboto", Helvetica, sans-serif;
    font-weight: 500;
    letter-spacing: 0.25em;
    font-size: .8em;
    color: #fff;
}

.nameHeaderIndex:after {
    content: '';
    height: 50%;
    width: 1px;
    position: absolute;
    margin-left: 1em;
    top: 25%;
    background-color: #000; /* The color of the border */
}

#header nav a {
    color: #fff;
    text-decoration: none;
    margin: 0 1em;
}

#header nav a:hover {
    color: #7bd2ed;
}

#header .button.primary {
    background-color: #7bd2ed;
    color: #fff !important;
}

/* Page Wrapper */
#page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ensure it takes full viewport height */
}

/* Rules for the banner */
#banner {
    background-image: url("../../hi/images/unsplash2.jpg");
    background-size: cover;
    background-position: center;
    text-align: center;
    flex-grow: 1; /* Allow banner to grow and fill space */
    color: #fff;
}

@media screen and (max-width: 736px) {
    #banner {
        height: 100vh; /* Use viewport height for smaller screens */
    }
}

#banner h1 {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    font-size: 4em;
    margin-bottom: 0.5em;
}

#banner h2 {
    font-size: 1.5em;
    font-weight: 300;
}

#banner hr {
    border-color: #fff;
    width: 50%;
    margin: 1em auto;
}

/* Styles for about.html header */
#header.light-page-header {
    background-color: #fff;
}

#header.light-page-header .logo,
#header.light-page-header nav a {
    color: #8e8e8e;
}


.light-page-header .nameHeader:after {
    background-color: #8e8e8e; /* Dark gray separator */
}

.light-page-header .nav-opener {
    color: #8e8e8e;
}

.light-page-header .nav-opener:hover {
    color: #7bd2ed;
}

.light-page-header .header-left a img {
    height: 3.5em; /* Default height for logo image */
}

@media screen and (max-width: 980px) {
    .light-page-header .nameHeader:after {
        background-color: #fff; /* The color of the border */
    }

    #nav {
        display: none;
    }

    .nav-opener {
        display: block;
    }

    .header-right .button.primary {
        display: none;
    }

    .nameHeaderIndex:after {
        display: none;
    }

    .header-left a img {
        height: 2.5em; /* Slightly reduced height */
        padding: 0.5em 0; /* Add vertical padding */
    }

    /* Specific rules for about.html header on narrow screens */
    .light-page-header #nav {
        display: none !important;
    }

    .light-page-header .nav-opener {
        display: block !important;
    }

    .light-page-header .header-right .button.primary {
        display: none !important;
    }
}

@media screen and (min-width: 981px) {
    .nav-opener {
        display: none;
    }

    #nav {
        display: block; /* Ensure main nav is visible on larger screens */
    }

    .header-right .button.primary {
        display: block; /* Ensure contact button is visible on larger screens */
    }

    /* Specific rules for about.html header on larger screens */
    .light-page-header .nav-opener {
        display: none !important;
    }

    .light-page-header #nav {
        display: block !important;
    }

    .light-page-header .header-right .button.primary {
        display: block !important;
    }
}
