:root {
    --nav-height: 60px;
    --nav-background: var(--color-accent);
    --nav-text-color: var(--color-primary-alt);
    --nav-hover-color: var(--color-primary);
    --nav-font: 'Playfair Display', serif;
    --nav-font-size: 15px;
    --nav-font-weight: 300;

    --bar-additional-height: 0px;
    --bar-additional-background: var(--color-primary);
}

header {
    nav ul {
        list-style: none;

        a {
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--nav-font);
            font-size: var(--nav-font-size);
            font-weight: var(--nav-font-weight);
            color: var(--nav-text-color);
            text-transform: uppercase;
        }

        a:hover {
            color: var(--nav-hover-color);
        }
    }

    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 3;
    }

    .header-bar nav,
    .header-bar nav ul,
    .header-bar nav li,
    .header-bar nav a {
        height: 100%;
    }

    .header-bar {
        nav {
            ul {
                margin: 0 10px;

                a {
                    width: 100%;
                }

                a:hover {
                    background-color: var(--nav-hover-color);
                    color: var(--nav-text-color)
                }
            }
        }

        .rrss ul {
            list-style: none;
            margin: 10px 0;

            li {
                margin: 0 7px;

                a {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    font-family: var(--nav-font);
                    font-size: var(--nav-font-size);
                    font-weight: var(--nav-font-weight);
                    color: var(--nav-text-color);
                }

                a:hover {
                    color: var(--nav-hover-color);
                }
            }
        }
    }

    .header-separator,
    .header-separator-line {
        margin: 0 15px;
    }

    .header-separator-sm {
        margin: 0 5px;
    }

    .header-separator-line {
        width: 1px;
        min-width: 1px;
        height: 70%;
        background-color: var(--nav-text-color);
    }

    .header-logo-container {
        height: 80%;
        display: flex;
        align-items: center;

        >.header-logo {
            max-height: 100%;
        }
    }

    #header-bar-menu {
        height: var(--nav-height);
        background: var(--nav-background);
        padding: 0 15px;

        nav li {
            display: inline-flex;
            align-items: center;

            &:not(:last-child)::after {
                content: "|";
                margin: 0 0.5em;
                color: var(--nav-text-color);
            }

            a {
                box-sizing: border-box;
                padding: 5px;
            }
        }
    }

    #header-bar-additional,
    #header-bar-additional-device {
        height: var(--bar-additional-height);
        background: var(--bar-additional-background);
        padding: 0 15px;
    }

    #header-filler {
        height: calc(var(--nav-height) + var(--bar-additional-height) - 1px);
    }

    #header-bar-menu-device {
        display: none;
    }

    @media all and (max-width: 1050px) {
        .header-separator,
        .header-separator-line {
            margin: 0 10px;
        }

        #header-bar-menu,
        #header-bar-additional,
        #header-bar-additional-device {
            padding: 0 5px;
        }

        #header-bar-menu nav li {
            max-width: 140px;
        }
    }

    @media all and (max-width: 850px) {
        .header-bar .rrss li {
            margin: 0 5px;
        }

        .header-separator,
        .header-separator-line {
            margin: 0 5px;
        }

        .header-separator-sm {
            margin: 0 3px;
        }

        #header-bar-menu,
        #header-bar-additional,
        #header-bar-additional-device {
            padding: 0 5px;
        }

        #header-bar-menu {
            display: none;
        }

        #header-bar-menu-device {
            display: flex;
            padding: 0 20px;
            height: var(--nav-height);
            background: var(--nav-background);
        }
    }

    @media all and (max-width: 550px) {
        .header-separator,
        .header-separator-line {
            margin: 0 3px;
        }

        #header-bar-menu,
        #header-bar-additional,
        #header-bar-additional-device {
            padding: 0 3px;
        }
    }
}