:root {
    --nav-height: 80px;
    --nav-background: var(--color-primary-alt);
    --nav-text-color: white;
    --nav-hover-color: var(--color-accent);
    --nav-font-size: 17px;
    --nav-font-weight: 300;

    --bar-additional-height: 120px;
    --bar-additional-background: var(--color-primary);
}

header {
    nav {
        ul {
            list-style: none;

            a {
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: var(--nav-font-size);
                font-weight: var(--nav-font-weight);
                color: var(--nav-text-color);
            }

            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)
                }
            }

            .separator-line {
                width: 1px;
                min-width: 1px;
                height: 25%;
                margin: 0 10px;
                background-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-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 {
            width: 200px;
            max-width: 15%;

            a {
                box-sizing: border-box;
                padding: 10px;
            }

            a:hover {
                box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
            }
        }
    }

    #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 10px;
        }

        #header-bar-menu nav li {
            max-width: 12%;
        }
    }

    @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;
        }
    }
}