/* ================================================================================================================

    Author: Tim David Saxen, netzmal GmbH

   =============================================================================================================== */

/* -------------------------------------------------------------------------------------------------------------- */
/* SIDE MENU */
/* -------------------------------------------------------------------------------------------------------------- */

#menuSide {
    width: 50px;
    position: fixed;
    top: 80px;
    left: 0;
    bottom: 0;
    margin-bottom:40px;
    height: fit-content;

    color: white;
    text-decoration: none;
    z-index: 100;
}

body.noMenuSide #menuSide {
    display: none;
}

#menuSideBackground {
    background-color: #1c94c4;
    width: 50px;
    position: fixed;
    top: 80px;
    left: 0;
    bottom: 0;
}

/* Hintergrundbreite und Menüzustand */
#menuSide.opened #menuSideBackground {
    width: 250px;
}
@media (min-width: 1000px) {
    #menuSide.pinned #menuSideBackground {
        width: 250px;
    }
}

/* Gesamte Breite des Menüs */
#menuSide.opened {
    width: 250px;
}
@media (min-width: 1000px) {
    #menuSide.pinned {
        width: 250px;
    }
}

#menuSide ul {
    margin-top: 20px;
    padding: 0;
    list-style: none;
}

#menuSide li {
    position: relative;

    display: block;
    height: 50px;

    color: white;
    text-decoration: none;

    cursor:pointer;
}

#menuSide li:hover {
    background-color: white;
}

#menuSide li:hover a {
    color: #1c94c4;
}

#menuSide a {
    display: block;
    text-decoration: none;
    color: white;
    width: 195px;
    height: 50px;
    font-family: 'Titillium Web', sans-serif;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 50px;
}

.menuSideIcon {
    display: flex;
    position: absolute;
    justify-content: center; /* Horizontal centering */
    align-items: center; /* Vertical centering */
    height:50px;
    width:50px;
    overflow:hidden;
}

#menuSide li:hover .menuSideIcon {
    color: #1c94c4;
}


.menuSideCaption {
    display: none;
    position: absolute;
    left: 50px;
    height: 50px;
    width: 200px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    font-family: 'Titillium Web', sans-serif;
    font-style: normal;
    font-weight: 700;
}

#menuSide.opened .menuSideCaption {
    display: block;
}
@media (min-width: 1000px) {
    #menuSide.pinned .menuSideCaption {
        display: block;
    }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Das Menü selber */
/* ------------------------------------------------------------------------------------------------------------------ */

/* Hamburger-Menü */
#burgerMenu {
    position: relative;
    width: 100%;
    height: 30px;
    background-color: #1c94c4; /* Beispiel-Hintergrundfarbe */
    text-align: center;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Die Icons */
/* ------------------------------------------------------------------------------------------------------------------ */

/* Burger-Icon */
#burgerIcon {
    color: white;
    font-size: 18px;
    cursor: pointer;
    margin: 16px 12px;
    transition: color 0.3s ease;
}

/* Pfeil-Icon */
#arrowIcon {
    float: right;
    color: white;
    font-size: 18px;
    cursor: pointer;
    margin: 16px 12px;
    transition: transform 0.3s ease, font-size 0.3s ease;
}

/* Pin-Icon */
@media (max-width: 999px) {
    #pinIcon {
        display: none;
    }
}
@media (min-width: 1000px) {
    #pinIcon {
        float: right;
        color: white;
        font-size: 18px;
        cursor: pointer;
        margin: 16px 24px 10px 10px;
        transition: transform 0.3s ease;
    }
    #menuSide:not(.pinned) #pinIcon {
        transform: rotate(45deg);
    }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Sichtbarkeit der Icons */
/* ------------------------------------------------------------------------------------------------------------------ */

/* Burger Menü */
@media (max-width: 999px) {
    #menuSide.opened #burgerIcon {
        display: none;
    }
    #menuSide:not(.opened) #burgerIcon {
        display: inline-block !important;
    }
}
@media (min-width: 1000px) {
    #menuSide.opened #burgerIcon,
    #menuSide.pinned #burgerIcon {
        display: none;
    }
    #menuSide:not(.opened):not(.pinned) #burgerIcon {
        display: inline-block !important;
    }
}

/* Pfeil links */
@media (max-width: 999px) {
    #menuSide:not(.opened) #arrowIcon {
        display: none;
    }
    #menuSide.opened #arrowIcon {
        display: inline-block !important;
    }
}
@media (min-width: 1000px) {
    #menuSide.pinned #arrowIcon,
    #menuSide:not(.opened) #arrowIcon {
        display: none;
    }
    #menuSide.opened:not(.pinned) #arrowIcon {
        display: inline-block !important;
    }
}

/* Pin-Icon */
@media (max-width: 999px) {
    #pinIcon {
        display: none;
    }
}
@media (min-width: 1000px) {
    #menuSide:not(.allow-pin) #pinIcon {
        display: none;
    }
    #menuSide:not(.opened):not(.pinned) #pinIcon {
        display: none;
    }
    #menuSide.pinned #pinIcon,
    #menuSide.opened.allow-pin #pinIcon {
        display: inline-block !important;
    }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Contentverschiebung beim Pin */
/* ------------------------------------------------------------------------------------------------------------------ */

@media (min-width: 1000px) {
    #menuSide.pinned ~ #content {
        margin-left: 250px !important; /* Abstand für das angepinnte Menü */
    }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Overlay */
/* ------------------------------------------------------------------------------------------------------------------ */

#menuSideOverlay {
    display: none;
    position:fixed;
    top: 80px;
    left: 250px;
    right: 0;
    bottom: 0;
    background: rgba(80,80,80,0.5);
    z-index: 100;
}

@media (max-width: 999px) {
    #menuSide.opened #menuSideOverlay {
        display: block !important;
    }
}
@media (min-width: 1000px) {
    #menuSide.opened:not(.pinned) #menuSideOverlay {
        display: block !important;
    }
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Kategorie */
/* ------------------------------------------------------------------------------------------------------------------ */

/* Kategorienüberschriften */
.menuCategory {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: white !important;
    text-transform: uppercase;
    margin: 10px 0 5px 0;
    line-height: 1.2;
    background-color: transparent;
    cursor: default !important;
    pointer-events: none;
    height: 25px !important;
    padding: 0 14px;
    text-decoration: underline !important;
}
.menuCategory:hover {
    background-color: transparent;
    color: white;
}

@media (max-width: 999px) {
    #menuSide.opened .menuCategory {
        display: block;
    }
    #menuSide:not(.opened) .menuCategory {
        display: none !important;
    }
}
@media (min-width: 1000px) {
    #menuSide.opened .menuCategory,
    #menuSide.pinned .menuCategory {
        display: block;
    }
    #menuSide:not(.opened):not(.pinned) .menuCategory {
        display: none !important;
    }
}

