/* Variables */
:root {
    --s: 3px; /* Base size variable */
    --transition-duration: 0.3s;
    /*--menu-background: rgba(0, 0, 0, 0.9);*/
    --menu-color: #fff;
    --icon-color: white;
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #ccc;
    font-family: Arial, sans-serif;
}

/* Header Styles */
.header {
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 50px;
    background-color: rgba(0, 0, 0, 0);
    color: #ffffff;
    z-index: 2000;
}

.title {
    transition: transform 0.2s ease-in-out;
}

.title.hidden {
    transform: translateY(-200%);
}

.title.entering {
    transition: transform 2s ease-in-out; /* This will be the entrance animation */
}

.title h1 {
    margin: 0;
    font-size: 1.8em;
    font-family: "greycliff-cf", sans-serif;
    font-weight: 600;
    text-transform: lowercase;
}

.title h2 {
    margin: 0;
    margin-top: -5px;
    font-size: 0.9em;
    font-family: "greycliff-cf", sans-serif;
    font-weight: 300;
    text-transform: lowercase;
}

.no-decoration {
    text-decoration: none;
    color: inherit;
    font: inherit;
}

.no-decoration:hover {
    text-decoration: none;
    color: inherit;
}

/* Plus Icon */
.menu-wrapper {
    cursor: pointer;
    width: calc(var(--s) * 20); /* 50px */
    height: calc(var(--s) * 20); /* 50px */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.plus-icon {
    position: relative;
    width: calc(var(--s) * 10);
    height: calc(var(--s) * 10);
    transition: transform var(--transition-duration) ease;
}

.plus-icon::before,
.plus-icon::after {
    content: '';
    position: absolute;
    background: var(--icon-color);
    width: 100%;
    height: var(--s); /* 5px */
    top: 50%;
    left: 0;
    transform: translateY(-50%); /* Center vertically */
}

.plus-icon::after {
    /* Vertical line */
    transform: translateY(-50%) rotate(90deg);
}

/* Rotate the entire plus icon to form an 'X' */
.menu-trigger:checked + .menu-wrapper .plus-icon {
    transform: rotate(-45deg);
}

/* Optional: Change color when menu is open */
body.menu-open .plus-icon::before,
body.menu-open .plus-icon::after {
    background: var(--menu-color);
}

/* Hide the checkbox */
.menu-trigger {
    display: none;
}

/* Styles for mobile devices */
@media only screen and (max-width: 767px) {
    .header {
        top: 0px;
        padding: 20px;
    }
}