body {
    margin: 0;
    height: 100vh;
    background-color: #2b2b2b;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: 'Courier Prime', monospace;
    color: #ffffff;
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><line x1="6" y1="0" x2="6" y2="12" stroke="white" stroke-width="2"/><line x1="0" y1="6" x2="12" y2="6" stroke="white" stroke-width="2"/></svg>') 6 6, crosshair;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
    box-sizing: border-box;
    background-color: #7B1D1D;
    transition: background-color 0.3s ease;
    z-index: 1000;
}

header:has(.logo-link:hover) {
    background-color: #ffffff;
}

header:has(.logo-link:hover) nav a {
    color: #7B1D1D;
}

header:has(.logo-link:hover) nav a::before {
    background-color: #7B1D1D;
}

header:has(.logo-link:hover) nav a:hover {
    color: #ffffff;
}

header:has(.logo-link:hover) nav a.active {
    color: #ffffff;
}

header:has(.logo-link:hover) nav a.active::before {
    background-color: #7B1D1D;
}

.logo-link {
    display: block;
    width: 160px;
    height: 35px;
    background-image: url('Icons/logo_white.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    text-decoration: none;
}

.logo-link:hover {
    background-image: url('Icons/logo_hover2.png');
}

nav {
    display: flex;
    align-items: center;
}

nav a {
    position: relative;
    color: #ffffff;
    text-decoration: none;
    margin-left: 30px;
    font-size: 14px;
    letter-spacing: 1px;
    z-index: 1;
    transition: color 0.3s ease;
    padding: 10px 15px;
    display: inline-block;
}

nav a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background-color: #ffffff;
    border-radius: 4px;
    transition: height 0.3s ease;
    z-index: -1;
}

nav a:hover {
    color: #7B1D1D;
}

nav a:hover::before {
    height: 100%;
}

.content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.content img {
    width: 80px;
    height: 80px;
    margin-bottom: 15px;
}

p {
    letter-spacing: 2px;
    font-size: 14px;
    margin: 0;
}

nav a.active {
    color: #7B1D1D;
}

nav a.active::before {
    height: 100%;
}

nav:hover a.active::before {
    height: 10%;
}

nav:has(a:not(.active):hover) a.active {
    color: #ffffff;
}

nav a.active:hover::before {
    height: 100%;
}

.email-link {
    position: relative;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    letter-spacing: 2px;
    transition: color 0.3s ease;
    padding: 5px 0;
    display: inline-block;
}

.email-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #ffffff;
    transition: width 0.3s ease, left 0.3s ease;
}

.email-link:hover {
    color: #ffffff;
}

.email-link:hover::after {
    width: 100%;
    left: 0;
}

a, button, .logo-link, .email-link {
    cursor: none;
}

#live-clock {
    white-space: nowrap;
}

@media (max-width: 600px) {
    header {
        padding: 15px 15px;
    }
    .logo-link {
        width: 120px;
        height: 25px;
    }
    nav a {
        margin-left: 6px;
        font-size: 10px;
    }
    #live-clock {
        font-size: 11px;
        letter-spacing: 1px;
        white-space: nowrap;
    }
}
