
html
{
        height: 100%;
}
body
{
        height: 100%;
        background: var(--color-gray-clear);
}
.page_container
{
        /*height: 100%;*/
        min-height: 100%;
}
.content
{
        padding: var(--content-padding);
        background: var(--color-gray-clear);
}
.menu
{
        transition: all var(--transition-menu);
        background: var(--color-gray-dark);
        z-index: 3;
        /*overflow-y: auto;*/
        /*overflow-y: hidden;*/
}
/* desktop */
@media (min-width: 1200px)
{
        .content
        {
                width: 80%;
        }
        .content.content_large
        {
                width: 90%;
        }
        .menu
        {
                width: 20%;
                /*height: 100%;*/
                min-height: 100%;
        }
        .menu.menu_collapsed
        {
                width: 10%;
        }
        #menu_ul_toggler
        {
                display: none;
        }
        .menu_ul
        {
                padding-bottom: var(--content-padding);
        }
        .menu_ul .accordion-body .dropdown-menu
        {
                position: absolute;
                padding: 0.5rem 0;
                top: 0 !important;
                left: 100% !important;
                transform: none !important;
                margin-left: var(--content-padding) !important;
                background: var(--color-gray-dark);
                border: none;
                border-top-right-radius: 12px;
                border-bottom-right-radius: 12px;
        }
        .menu_ul .accordion-body .dropdown-menu.scroll
        {
                overflow-y: scroll;
        }
        .menu_ul .accordion-body .dropdown-menu.move_up
        {
                top: -62.8px !important;
        }
        .menu_ul .accordion-body .dropdown-menu .dropend
        {
                padding: 0 var(--content-padding);
                background: var(--color-gray-dark);
        }
        .menu .menu_icon_div
        {
                text-align: center;
                padding: var(--content-padding);
        }
        .menu .menu_icon_div .menu_icon_link img
        {
                width: 100px;
                transition: all var(--transition-menu);
        }
        /* il menù collapsed è solo per la versione desktop */
        .menu .menu_icon_div .menu_collapse_link
        {
                position: absolute;
                background: var(--color-blue-electric);
                top: var(--content-padding);
                right: 0;
                border-top-left-radius: 8px;
                border-bottom-left-radius: 8px;
                padding: 0px 10px 3px 12px;
        }
        .menu .menu_icon_div .menu_collapse_link img
        {
                width: 15px;
                transition: all 0.8s;
                transform: rotateY(0);
        }
        .menu.menu_collapsed .menu_icon_div .menu_collapse_link img
        {
                transform: rotateY(180deg);
        }
        .menu.menu_collapsed .menu_ul .accordion-body .dropdown-menu
        {
                top: -0.5rem !important;
                left: calc(100% - 12px) !important;
        }
        .menu.menu_collapsed .menu_icon_div .menu_icon_link img
        {
                width: 60px;
        }
        .menu_collapsed .menu_li_level1 > a > span.menu_title_span
        {
                width: 0;
                overflow-x: hidden;
                white-space: nowrap;
        }
        .menu_collapsed .menu_li_level1 > a > img.menu_icon_arrow
        {
                /*display: none;*/
        }
        .menu.menu_collapsed .menu_ul .menu_li .accordion-collapse
        {
                position: absolute;
                background: var(--color-gray-dark);
                top: 0px;
                left: 100%;
                border-top-right-radius: 12px;
                border-bottom-right-radius: 12px;
        }
        .menu .menu_ul .menu_li .accordion-collapse.below
        {
                top: unset;
                bottom: 0;
        }
        .menu.menu_collapsed .accordion-collapse .accordion-body:nth-child(1 of :not(.d-none))
        {
                margin-top: 0.5rem;
        }
        .menu.menu_collapsed .accordion-collapse .accordion-body:nth-last-child(1 of :not(.d-none))
        {
                margin-bottom: 0.5rem;
        }
        .menu.menu_collapsed .menu_ul .accordion-body
        {
                white-space: nowrap;
        }
        .menu.menu_collapsed .menu_ul .dropend .menu_icon_arrow
        {
                margin-bottom: 3px;
        }
}
/* mobile */
@media (max-width: 1199.98px)
{
        .content
        {
                width: 100%;
        }
        .menu
        {
                width: 100%;
        }
        .menu .menu_icon_div
        {
                padding: 0.5rem 2.5rem;
        }
        .menu .menu_icon_div .menu_icon_link img
        {
                width: 75px;
        }
        .menu .menu_icon_div .menu_collapse_link
        {
                display: none;
        }
        .menu .menu_icon_div #menu_ul_toggler
        {
                position: absolute;
                top: 50%;
                right: 2.5rem;
                transform: translateY(-50%);
                font-size: 1.25rem;
        }
        .menu_ul
        {
                max-height: 100vh;
                overflow-y: auto;
                transition: all 0.3s;
                scrollbar-width: none; /* Firefox */
                -ms-overflow-style: none; /* Internet Explorer e Edge */
        }
        .menu_ul::-webkit-scrollbar
        {
                display: none; /* Chrome, Safari e Edge (versioni basate su Chromium) */
        }
        .menu_ul.menu_ul_collapsed
        {
                max-height: 0;
        }
        .menu_ul .accordion-body .dropdown-menu
        {
                position: relative !important;
                /*padding: 0.5rem var(--content-padding);*/
                padding: 0 var(--content-padding);
                top: unset !important;
                left: unset !important;
                transform: none !important;
                margin-left: var(--content-padding) !important;
                background: var(--color-gray-dark);
                border: none;
                display: block;
                max-height: 0;
                opacity: 0;
                transition: all 0.2s;
                pointer-events: none;
                overflow-y: hidden;
                /*transition: max-height 0.2s;*/
        }
        .menu_ul .accordion-body .dropdown-menu.show
        {
                max-height: 100vh;
                opacity: 1;
                pointer-events: auto;
                overflow-y: auto;
        }
        .menu_ul .accordion-body .dropdown-menu a.dropdown-item
        {
                white-space: normal;
        }
}

.menu .menu_icon_div
{
        position: relative;
}
.menu .menu_li.menu_li_level1
{
}
.menu .menu_li.menu_li_level1.active
{
}
.menu_ul
{
        list-style: none;
        padding: 0;
        margin: 0;
}
.menu_li
{
        position: relative;
}
.menu .menu_li.menu_li_level1 > .menu_link
{
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 0.65rem;
        padding: 0.65rem var(--content-padding);
        color: white;
        text-decoration: none;
        font-family: var(--fontfamily-title);
        font-size: var(--fontsize-menu1);
        text-transform: uppercase;
        font-weight: 700;
        background: var(--color-gray-dark);
}
.menu .menu_li.menu_li_level1 > .menu_link:hover
{
        /*color: var(--color-gray-dark);*/
        color: var(--color-blue-electric);
}
.menu .menu_li.menu_li_level1.active > .menu_link
{
        color: var(--color-gray-dark);
        background: var(--color-blue-electric);
}

span.menu_title_span
{
        transition: width var(--transition-menu);
        width: 100%;
}
.menu_ul .menu_icon
{
        width: 2rem;
}
.menu_ul .menu_icon_arrow
{
        width: 8px;
}
.menu_ul .dropend .menu_icon_arrow
{
        width: 6px;
}
.menu_ul .accordion-collapse
{
        /*padding-left: var(--content-padding);*/
        padding: 0 var(--content-padding);
}
.accordion-collapse
{
        list-style: none;
}
.menu a.accordion-button::after
{
        content: none;
}
.menu_ul .accordion-body
{
        padding: 0.65rem 0;
        color: white;
        font-family: var(--fontfamily-title);
        font-size: 13px;
        font-weight: 700;
        position: relative;
}
.menu_ul .accordion-body > a
{
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 0.65rem;
        font-family: var(--fontfamily-title);
        text-transform: uppercase;
        text-decoration: none;
        font-size: 13px;
        font-weight: 700;
        color: white;
}
.menu_ul .accordion-body > a .menu_title_span
{
        color: white;
        transition: color var(--transition-menu);
}
a.menu_link_disabled
{
        cursor: not-allowed;
}
.menu_ul .accordion-body > a:not(.menu_link_disabled):hover .menu_title_span
{
        color: var(--color-blue-electric);
}
.menu_ul .accordion-body.active > a .menu_title_span
{
        color: var(--color-blue-electric);
}
.menu_ul .accordion-body .dropdown-menu a.dropdown-item
{
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 0.65rem;
        color: white;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 700;
        transition: all var(--transition-menu);
        padding: 0.65rem 0;
}
.menu_ul .accordion-body .dropdown-menu a.dropdown-item .menu_title_span
{
        color: white;
}
.menu_ul .accordion-body .dropdown-menu a.dropdown-item:focus,
.menu_ul .accordion-body .dropdown-menu a.dropdown-item:hover
{
        background: transparent;
}
.menu_ul .accordion-body .dropdown-menu a.dropdown-item:not(.menu_link_disabled):hover .menu_title_span
{
        color: var(--color-blue-electric);
}
.menu_ul .accordion-body .dropdown-menu .active a.dropdown-item .menu_title_span
{
        color: var(--color-blue-electric);
}
