.menu {
}

.menu-items {
    display: flex;
    gap: 20px;
}

.menu-item:not(.dropdown-menu .menu-item) {
    border-radius: var(--border-radius);
}

.menu-item,
.dropdown-menu a {
    color: var(--color-theme-4);
    padding: 16px;
    text-decoration: none;
    /* transition: ease .1s; */
}

.menu-item.active,
.dropdown:has(.menu-item.active) .dropdown-button {
    text-decoration: underline;
}

.menu-item:hover,
.dropdown-menu a:hover {
    background-color: var(--color-theme-2);
}

.menu-item-logout:hover {
    background-color: rgba(var(--color-red-rgb), .1) !important;
}

.menu-item:has(img) {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 16px;
    margin-right: -16px;
}

.dropdown {
    position: relative;
}

.dropdown-menu {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 10;
}

.dropdown:hover .dropdown-menu {
    display: flex;
    flex-direction: column;
}

.menu-item-icon {
    padding: 6px 2px;
}

.header-user {
    display: flex;
    align-items: center;
    margin-left: auto;
    /* margin-right: 50px; */
}

.header-user span {
    padding: 6px;
}

.header-user#clock {
    font-size: var(--font-size-totem);
}

.header-user img {
    height: 35px;
}

.header-user-icon,
.header-user-notifications {
    position: relative;
	/* -moz-border-radius: var(--border-radius);
	-webkit-border-radius: var(--border-radius);
	border-radius: var(--border-radius);
    cursor: pointer; */
}

.header-user-icon:hover,
.header-user-notifications:hover {
    /* background-color: var(--color-theme-2); */
}

.notification-counter {
    position: absolute;
    top: 6px;
    right: 4px;
    font-size: 10px !important;
    width: 13px;
    height: 13px;
    line-height: 13px;
    text-align: center;
    color: white;
    background-color: rgba(var(--color-red-rgb), .9);
    border-radius: 100vh;
}
  
/* cellulare in verticale o orizzontale */
@media screen and ((max-device-width: 480px) and (orientation: portrait)) {
    .menu {
        --menu-button-top: 32px;
        --menu-button-right: 15px;
        z-index: 100;
    }

    .menu-toggle {
        display: block;
        position: absolute;
        top: var(--menu-button-top);
        right: var(--menu-button-right);
        z-index: 1;
        -webkit-user-select: none;
        user-select: none;
    }

    .menu-toggle input {
        display: block;
        width: 40px;
        height: 32px;
        position: absolute;
        top: -5px;
        right: 7px;
        cursor: pointer;
        opacity: 0; /* input nascosto, solo per detect click */
        z-index: 2; /* sopra hamburger */
        -webkit-touch-callout: none;
    }

    .menu-toggle span {
        display: block;
        width: 33px;
        height: 4px;
        right: 10px;
        margin-bottom: 5px;
        position: relative;
        background: var(--color-theme-4);
        border-radius: 3px;
        z-index: 1;
        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;
    }

    .menu-toggle span:first-child {
        transform-origin: 0% 0%;
    }

    .menu-toggle span:nth-last-child(2) {
        transform-origin: 0% 100%;
    }

    /* ruota barre hamburger */
    .menu-toggle input:checked ~ span {
        opacity: 1;
        transform: rotate(45deg) translate(-2px, -1px);
        background: var(--color-theme-4);
    }

    /* nasconde barra centrale */
    .menu-toggle input:checked ~ span:nth-last-child(3) {
        opacity: 0;
        transform: rotate(0deg) scale(0.2, 0.2);
    }

    /* ruota barra nell'altra direzione per formare la x */
    .menu-toggle input:checked ~ span:nth-last-child(2) {
        transform: rotate(-45deg) translate(0, -1px);
    }

    .menu-items * {
        font-size: var(--font-size-mobile);
    }

    .menu-items {
        visibility: hidden;
        flex-direction: column;
        /* flex-grow: 1; */
        gap: 5px;
        position: fixed;
        overflow-y: scroll;
        height: 100vh;
        top: calc(-1 * var(--menu-button-top));
        right: -25px;
        width: 300px;
        background-color: var(--color-theme-2);
        padding: 70px 0;
        transform-origin: 0% 0%;
        transform: translate(150%, 0);
        transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
                    visibility 0.4s ease;
        -webkit-font-smoothing: antialiased;
    }    

    .menu-toggle input:checked ~ .menu-items {
        visibility: visible;
        transform: none;
    }

    .menu-toggle:has(input:checked) { 
        --menu-button-right: 15px;   

        position: fixed;
    }

    .dropdown {
        /* display: flex; */
    }

    .dropdown-button {
        height: fit-content;
    }

    a:has(.dropdown-button) {
        display: flex;
        align-items: center;
    }

    a:has(.dropdown-button) img {
        width: 12px;
        height: 12px;
        margin-left: -10px;
    }

    .dropdown-menu {
        display: flex;
        flex-direction: column;
        position: relative;
        box-shadow: 0px 1px 16px 0px rgba(0,0,0,0.2);
    }

    .header-user {
        gap: 10px;
        margin-left: 0;
        padding: 16px;
    }

    .notification-counter {
        top: 5px;
        right: 4px;
        z-index: 2;
        background-color: rgba(var(--color-red-rgb), 1);
    }
}

/* cellulare piccolo (samsung galaxy j3) in verticale */
@media screen and (max-device-height: 750px) and (orientation: portrait) {
}

/* cellulare grande in verticale */
@media screen and (min-device-height: 750px) and (max-device-width: 480px) and (orientation: portrait) {
}  

/* tablet in verticale */
@media only screen {
}

/* Internet Explorer (Gepro Web Browser) */ 

.pulsante.ie {
	color: black;
}

.menu-toggle.ie,
.menu-button.ie,
.menu-button.ie > span,
.menu-button.ie > span::before,
.menu-button.ie > span::after {
	display: none;
}

.menu-content.ie {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding: 5px 0;
	background-color: white;
}

.menu-content.ie .menu-items {
	display: inline !important;
	float: left;
}

.menu-content.ie .menu-item,
.menu-content.ie .menu-footer li {
	float: left;
	padding: 12px 12px;
}
