header {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 5px 0 5px 10px;
    margin: 0 20px;
    animation: header 0.7s ease-out;
}
@keyframes header {
    0% {
        opacity: 0;
        transform: translateY(-5px);
    }
}
header a {
    color: #111;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 10px;
}
header a img {
    width: 70px;
    height: 70px;
    margin-right: 15px;
}
header a h1 {
    font-size: 2.2em;
    transition: color 0.1s;
}
header a:hover h1 {
    animation: ats 0.15s linear;
    color: red;
}
header ul {
    display: flex;
    flex-direction: row;
    align-items: center;
}
header ul li {
    display: flex;
    align-items: center;
    list-style: none;
}
header ul li a {
    font-size: 2.2em;
    margin: 0 25px;
    padding: 0 5px;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    position: relative;
}
header ul li a:hover {
    color: black;
}
header ul li a::after {
    content: '';
    width: 0;
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    display: block;
    box-shadow: black 0 0 0;
    opacity: 0;
    transition: width 0.3s steps(1), left 0.3s steps(1), box-shadow 0.3s, opacity 0.3s;
}
header ul li a:hover::after {
    opacity: 1;
    width: 100%;
    left: 0;
    box-shadow: black 0 0 15px;
    transition: width 0.3s, left 0.3s, box-shadow 0.3s, opacity 0s;
}
@keyframes ats {
    from {
        background: linear-gradient(120deg, darkred, darkred 0%, red 0%, red 15%, darkred 15%);
        background-clip: text;
        color: #0000;
        background-position-x: 0;
        /*, #fff -10px 0 10px,*/
        /*#fff 2px 0 5px*/
        /*, #fff 10px 0 10px*/
        ;
    }
    to {
        background: linear-gradient(120deg, darkred, darkred 85%, red 85%, red 100%, darkred 100%);
        background-clip: text;
        color: #0000;
        background-position-x: 340px;
        /*#fff 0 0 20px*/
        /*#fff 0 0 5px*/
        /*, #fff 0 0 10px*/
        ;
    }
}

@media (max-width: 1000px) {
    body.toggle-active header {
        position: fixed;
        z-index: 500;
    }
    header .toggle {
        width: 40px;
        height: 40px;
        background: #fff;
        margin: auto 30px;
        cursor: pointer;
    }
    header .inline-toggle {
        display: none;
    }
    header .toggle::before,
    header .toggle::after {
        content: '';
        display: block;
        position: relative;
        top: 20px;
        left: 5px;
        width: 30px;
        height: 0;
        border-top: 3px solid #ddd;
        transition: 0.2s;
    }
    header .toggle::before {
        -o-transform: translateY(-13px);
        -ms-transform: translateY(-13px);
        -moz-transform: translateY(-13px);
        -webkit-transform: translateY(-13px);
        transform: translateY(-13px);
        box-shadow: 0px 12px 0 0px #ddd;
    }
    header .toggle::after {
        -o-transform: translateY(8px);
        -ms-transform: translateY(8px);
        -moz-transform: translateY(8px);
        -webkit-transform: translateY(8px);
        transform: translateY(8px);
    }
    header .toggle.active::before {
        -o-transform: translateY(-1px) rotate(45deg);
        -ms-transform: translateY(-1px) rotate(45deg);
        -moz-transform: translateY(-1px) rotate(45deg);
        -webkit-transform: translateY(-1px) rotate(45deg);
        transform: translateY(-1px) rotate(45deg);
        box-shadow: none;
    }
    header .toggle.active::after {
        -o-transform: translateY(-4px) rotate(-45deg);
        -ms-transform: translateY(-4px) rotate(-45deg);
        -moz-transform: translateY(-4px) rotate(-45deg);
        -webkit-transform: translateY(-4px) rotate(-45deg);
        transform: translateY(-4px) rotate(-45deg);
    }
    header ul {
        display: none;
    }
    header ul.active {
        position: fixed;
        left: 0;
        right: 0;
        top: 100px;
        bottom: 0;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        background: #fff;
        justify-content: space-between;
        height: auto;
    }
    header ul.active li {
        width: 100%;
    }
    header ul.active li a {
        justify-content: center;
    }
}
@media (max-width: 556px) {
    header a img {
        margin-left: 5px;
    }
    header a h1 {
        display: none;
    }
}