/*********
* header *
*********/

header {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 10;

    display: table;

    transition: height 0.8s, background-color 0.8s;
}

header.large {
    background-color: rgba(0,0,0,0);
}

header.small {
    background-color: rgba(32,32,32,0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--c1strong);
}

@media (max-width: 1000px) {
    /* mobile version */
    header.large {
        /* same as header.small */
        background-color: var(--bg1);
        border-bottom: 1px solid var(--c1strong);
    }
}

/*******
* logo *
*******/
#logo {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
    margin: 0px;

    transition: transform 0.8s, height 0.8s, padding 0.8s;
}

#logo.large {
    height: 4.5rem;
    padding: 2.0rem;
}

#logo.small {
    height: 2.0rem;
    padding: 0.7rem;
}

@media (max-width: 1000px) {
    /* mobile version */
    #logo.large, #logo.small {
        /* a bit like logo small */
        padding: 0.7rem;
        max-width: 75%;
        height: auto;
        vertical-align: middle;
    }
}

/*******
* menu *
*******/

nav {
    padding: 0.5rem;
    line-height: 1.2em;
}

nav.large {
    margin:         0px;
    padding-top:    1.0rem;
    padding-left:   5.0rem;
    padding-right:  5.0rem;
    padding-bottom: 1.0rem;
}

nav.small {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
}

nav a {
    padding-right: 1.0em;
    white-space: nowrap;
}
nav a::after {
    content: "";
}

#lblHamburger, #chkHamburger {display: none;} /* only for mobile version */

@media (max-width: 1000px) {
    /* mobile version, hamburger menu */

    nav, nav.large, nav.small {
        display: none; /* only visible, when the hamburger is clicked, see below */
    }

    /* hamburger icon */
    #lblHamburger {
        display: table-cell;
        text-align: right;
        vertical-align: middle;
        padding: 1.0rem;
        cursor: pointer;
    }
    #lblHamburger img:nth-child(1) {
        display: inline;
        font-size: 2.2rem;
    }
    #lblHamburger img:nth-child(2) {
        display: none;
        font-size: 3.9rem;
    }

    /* X icon when menu is opened */
    #chkHamburger:checked ~ #lblHamburger img:nth-child(1) {
        display: none;
    }
    #chkHamburger:checked ~ #lblHamburger img:nth-child(2) {
        display: inline;
    }

    /* the menu */
    #chkHamburger:checked ~ nav {
        display: block;
        position: fixed;
        top: 3.5rem;
        right: 1.0rem;

        text-align: right;
        margin: 0px;
        padding: 0px;

        background-color: var(--bg1);
        border: 1px solid var(--light);

        z-index: 20;
    }

    nav a {
        padding: 0.0rem;
        margin: 0.8rem;
        font-size: 1.0rem;
        line-height: 1.7rem;
    }

    /* line breaks*/
    nav a::after {
        content: "\A";
        white-space: pre;
    }
}
