.header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0.75rem;
    position: fixed;
    top: 0;
    left: 0;
    width: var(--parent-width, 100%);
    z-index: 1000;
    color: white;
    mix-blend-mode: difference;
    transition: 100ms;
}


.header.open {
    background-color: rgba(0, 0, 0, 0.5);
    grid-template-rows: auto 1fr auto;
    bottom: 0;
    color: white;
    mix-blend-mode: normal;
    backdrop-filter: blur(46px);
    -webkit-backdrop-filter: blur(46px);
}

.header-button span {
    display: none;
    text-align: right;
    pointer-events: none;
    text-transform: uppercase;
}

.header-button span.active {
    display: block;
}

/* Menu */
.header-menu {
    display: none;
    grid-column: 1 / -1;
    list-style-type: none;
    margin: auto 0;
    padding: 0.25rem;

}

.header.open .header-menu {
    display: block;
}

.header-menu-item,
.header-menu-item a {
    font-size: 30px;
    line-height: 1em;
}

.header-menu-item.text-right {
    text-align: left;
}

/* Links Social */
.header-links {
    display: none;
    grid-column: 1 / 2;
    list-style-type: none;
    margin: auto 0;
    padding: 0.25rem;
}

.header.open .header-links {
    display: block;
}

/* Copyright and Credits*/
.header-credits {
    display: none;
    grid-column: 2 / -1;
    padding: 0.25rem;
    text-align: right;
}

.header.open .header-credits {
    display: block;
}

/* Tablet (>768px) */
@media screen and (min-width: 48rem) {
    .header-button,
    .header-links,
    .header-credits {
        display: none;
    }

    .header {
        grid-template-columns: repeat(18, 1fr);
        padding: 0.75rem;
        gap: 0.75rem;
    }

    .header-title {
        padding: 0;
        text-transform: uppercase;
        grid-column: 1/7;
    }

    .header-menu {
        grid-column: 2/-1;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 0.75rem;
        padding: 0;
        text-transform: uppercase;
        grid-column: 7/-1;
    }

    .header-menu-item,
    .header-menu-item a {
        font-size: 14px;
        line-height: 1em;
        letter-spacing: 0.02em;
        grid-column: span 4;
    }

    .header-menu-item:first-child {
        grid-column: span 6;
    }

    .header-menu-item:last-child {
        grid-column: span 2;
    }

    .header-menu-item.text-right {
        text-align: right;
    }   
}