/* styles.css - Common styles used across multiple pages */
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap');

body {
    font-family: 'Ubuntu', Arial, Helvetica, sans-serif !important;
    margin: 0;
    padding: 0;
    padding-top: 70px; /* Reduced from 120px to match navbar height */
    /* Adjust this value to match your navbar height */
}

p {
    margin: 0;
    padding: 2px;
}

header {
    background-color: white;
    color: black;
    padding: 0;
    text-align: center;
    margin: 0;
}

main {
    text-align: center;
    width: 50%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.align-left {
    text-align: left;
}

footer {
    background-color: white;
    color: white;
    text-align: center;
    padding: 10px;
}

.nav-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden;
    background-color: white;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    box-sizing: border-box;
    height: 70px; /* Set a fixed height */
}

/* Navigation layout styles */
.logo-container {
    display: flex;
    padding: 5px 15px 5px 0;
    margin-left: 100px; /* Add space before logo */
}

.nav-items {
    display: flex;
    flex: 1;
    justify-content: space-between;
    align-items: center;
}

.left-nav, .right-nav {
    display: flex;
    align-items: center;
}

.right-nav {
    margin-left: auto;
    /* Pushes right navigation items to the right */
    padding-right: 100px;
    /* Add extra padding on the right side */
}

/* Add this to style the logo when active (but not on home page) */
#logo-link.active img {
    /* Subtle indication that logo is active */
    filter: drop-shadow(0 0 4px orange);
}

.centered-list {
    list-style-position: inside;
    text-align: center;
    padding: 0;
}

.nav-bar {
    float: left;
    padding: 5px 5px;
}

.nav-bar-element {
    display: block;
    color: darkblue;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 20px;
}

#navbar-placeholder {
    opacity: 1;
    transition: opacity 0.5s ease;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    min-height: 47px;
}

/* Change the link color to #111 (black) on hover */
.nav-bar-element:hover {
    background-color: orange;
}

.active {
    background-color: orange;
}

code {
    font-family: monospace;
    padding: 2px 4px;
    border-radius: 3px;
    outline: 2px solid #000000;
}

th {
    padding: 2px 10px;
}

td {
    padding: 2px 20px;
}

button {
    background-color: orange;
    color: #000;
    border: 1px solid #000;
    padding: 0.5em 1em;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    border-radius: 0.5rem;
}

button:hover:not(:disabled) {
    background-color: #00FFFF;
    color: #fff;
}

button:disabled {
    color: #999;
    border-color: #999;
    cursor: not-allowed;
    /* keep the white background */
    background-color: #fff;
}

footer {
    text-align: center;
    font-size: 20px;
    color: #666;
    margin-top: 2rem;
}

footer a {
    color: #0077cc;
    text-decoration: none;
}

.email-icon,
.youtube-icon,
.instagram-icon,
.facebook-icon {
    width: 40px;
    height: 40px;
    vertical-align: middle;
    margin-right: 10px;
}

/* Add these responsive navbar styles */
.hamburger-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    margin-left: auto;
    z-index: 1001;
}

.hamburger-btn span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: black;
    margin: 5px 0;
    transition: all 0.3s ease;
}

/* Responsive styles */
@media screen and (max-width: 900px) {
    .hamburger-btn {
        display: block;
    }
    
    .logo-container {
        margin-left: 20px; /* Reduce space on mobile */
    }
    
    .nav-items {
        position: fixed;
        top: 0;
        right: -100%;
        width: 250px;
        height: 100vh;
        background-color: white;
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
        transition: right 0.3s ease;
        flex-direction: column;
        padding-top: 80px;
        z-index: 1000;
        justify-content: flex-start;
        align-items: stretch; /* Changed from flex-start to stretch */
    }
    
    .nav-items.active {
        right: 0;
    }
    
    .left-nav, .right-nav {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0; /* Reset any margins */
    }
    
    .right-nav {
        padding-right: 0; /* Remove right padding in mobile */
        margin-top: 20px;
    }
    
    .nav-bar {
        float: none;
        width: 100%;
        display: block; /* Ensure it's block level */
        padding: 0;
    }
    
    .nav-bar-element {
        width: 100%;
        display: block;
        padding: 15px 20px;
        text-align: left;
        box-sizing: border-box; /* Include padding in width calculation */
        border-bottom: 1px solid #eee; /* Optional: add separators between items */
    }
    
    /* X animation for hamburger when active */
    .hamburger-btn.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 6px);
    }
    
    .hamburger-btn.active span:nth-child(2) {
        opacity: 0;
    }
    
    .hamburger-btn.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -6px);
    }
    
    /* Adjust body padding when the navbar is fixed */
    body {
        padding-top: 80px;
    }
}

/* Overlay for clicking outside to close menu */
.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: none;
}

.nav-overlay.active {
    display: block;
}

.submit-btn {
    background: orange;
    color: black;
    padding: 1rem 2rem;
    margin: 0.5rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s ease;
    font-size: 1rem;
    font-weight: 500;
}

button.submit-btn:hover {
    background: white;
    border: black 1px solid;
    color: black;
}