:root {
    --clMenu: #4e524e;
    --clGruen: #208033;
    --clhover: rgb(240, 100, 30);
    --clMenuBack: rgba(244, 240, 240, 0.92);
    --clMenuBackMobile: rgba(244, 240, 240, 0.92);
}

#menuToggle {
    display: block;
    position: absolute;
    width: 33px;
    top: 61px;
    left: 50px;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 0.94em;
    z-index: 100;
    -webkit-user-select: none;
    user-select: none;
}

#menuToggle a {
    text-decoration: none;
    color: var(--clMenu);
    font-weight: normal;
    transition: color 0.3s ease;
}

#menuToggle a:hover {
    color: var(--clhover);
}

#menuToggle input {
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: -7px;
    left: -5px;
    cursor: pointer;
    opacity: 0;
    z-index: 200;
    -webkit-touch-callout: none;
}

#menuToggle span.hamburger {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    background: var(--clGruen);
    border-radius: 3px;
    z-index: 100;
    transform-origin: 4px 0px;
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), opacity 0.55s ease;
}

#menuToggle span.hamburger:first-child {
    transform-origin: 0% 0%;
}

#menuToggle span.hamburger:nth-last-child(2) {
    transform-origin: 0% 100%;
}

#menuToggle input:checked~span.hamburger {
    opacity: 1;
    transform: rotate(45deg) translate(-2px, -1px);
    background: var(--clGruen);
}

#menuToggle input:checked~span.hamburger:nth-last-child(3) {
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}

#menuToggle input:checked~span.hamburger:nth-last-child(2) {
    transform: rotate(-45deg) translate(0, -1px);
}

#menu {
    position: absolute;
    width: 300px;
    margin: -100px 0 0 -50px;
    padding: 50px;
    padding-top: 125px;
    background: var(--clMenuBack);
    list-style-type: none;
    -webkit-font-smoothing: antialiased;
    /* to stop flickering of text in safari */
    transform-origin: 0% 0%;
    transform: translate(-100%, 0);
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
}

#headline {
    color: var(--clGruen);
    font-size: 0.9em;
}

#menu li,
#menu .ausgewaehlt {
    padding: 10px 0;
}

#menu .ausgewaehlt {
    color: #A0A0A0;
}

#menuToggle input:checked~ul {
    transform: none;
}

.fett {
    font-weight: bold;
}

@media (max-width: 1200px) {
    #menu {
        background: var(--clMenuBackMobile);
    }
}

@media (max-width: 720px) {
    #menuToggle {
        top: 40px;
        left: 17px;
    }
}

@media (max-width: 460px) {
    #menuToggle {
        top: 40px;
        left: 16px;
    }
}