
/*light*/
:root
{
    --logo-color-1: #0f394c;
    --logo-color-2: #71a5b9;
    --body-background: #EBEBEB;
    --structure-header-background: white;
    --structure-header-item-border: gray;
    --structure-header-item-font-color: #404040;
    --structure-menu-background: white;
    --structure-menu-border: transparent;
    --structure-menu-header-item-border: gray;
    --structure-menu-header-item-font-color: #404040;
    --structure-menu-sezioni-font-color: #404040;
    --structure-menu-sezioni-gruppo-background: #ddd;
    --structure-menu-sezione-item-hover-background: #EBEBEB;
    --structure-menu-sezione-item-button-icon-color: #E9A93A;
    --structure-menu-sezione-item-fav-background: #ebcf5350;
    --structure-menu-sezione-item-fav-hover-background: #ebcf532d;
    --structure-menu-sezione-item-font-color: #404040;
    --sg-color: rgb(76, 145, 203);
    --structure-header-page-icon-color: var(--logo-color-2);
    --structure-menu-page-icon-color: var(--logo-color-2);
}
/*dark*/
[data-theme="dark"]
{
    --logo-color-1: #0f394c;
    --logo-color-2: #71a5b9;
    --body-background: #404040;
    --structure-header-background: #333333;
    --structure-header-item-border: gray;
    --structure-header-item-font-color: #aaa;
    --structure-menu-background: #333333;
    --structure-menu-border: #575757;
    --structure-menu-header-item-border: gray;
    --structure-menu-header-item-font-color: #aaa;
    --structure-menu-sezioni-font-color: #aaa;
    --structure-menu-sezioni-gruppo-background: #272727;
    --structure-menu-sezione-item-hover-background: #272727;
    --structure-menu-sezione-item-button-icon-color: #E9A93A;
    --structure-menu-sezione-item-fav-background: #ebcf5350;
    --structure-menu-sezione-item-fav-hover-background: #ebcf532d;
    --structure-menu-sezione-item-font-color: white;
    --sg-color: rgb(76, 145, 203);
    --structure-header-page-icon-color: var(--logo-color-2);
    --structure-menu-page-icon-color: var(--logo-color-2);
}
@media (min-width:0px)  {:root{--structure-menu-inner-container-width: 80vw;}.structure-header-page{display: none;}} /* smartphones, iPhone, portrait 480x320 phones */ 
@media (min-width:320px)  {:root{--structure-menu-inner-container-width: 80vw;}.structure-header-page{display: none;}} /* smartphones, iPhone, portrait 480x320 phones */ 
@media (min-width:481px)  {:root{--structure-menu-inner-container-width: 60vw;}.structure-header-page{display: none;}} /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */ 
@media (min-width:641px)  {:root{--structure-menu-inner-container-width: 60vw;}.structure-header-page{display: none;}} /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */ 
@media (min-width:961px)  {:root{--structure-menu-inner-container-width: 40vw;}.structure-header-page{display: flex;}} /* tablet, landscape iPad, lo-res laptops ands desktops */ 
@media (min-width:1025px) {:root{--structure-menu-inner-container-width: 40vw;}.structure-header-page{display: flex;}} /* big landscape tablets, laptops, and desktops */ 
@media (min-width:1281px) {:root{--structure-menu-inner-container-width: 30vw;}.structure-header-page{display: flex;}} /* hi-res laptops and desktops */ 
@media (min-width:1800px) {:root{--structure-menu-inner-container-width: 20vw;}.structure-header-page{display: flex;}} /* hi-res laptops and desktops */ 
@media (min-width:2000px) {:root{--structure-menu-inner-container-width: 15vw;}.structure-header-page{display: flex;}} /* hi-res laptops and desktops */ 
.swal2-title
{
    font-family:'Montserrat',sans-serif;
    font-size: 1rem;
    font-weight: bold;
}
.swal2-content
{
    font-family:'Montserrat',sans-serif;
    font-size: 0.9rem;
    font-weight: normal;
}
.swal2-confirm,.swal2-cancel
{
    font-family:'Montserrat',sans-serif;
    font-weight: normal;
}
html
{
    width:100%;
    min-width:100%;
    max-width:100%;
    height:100%;
    min-height: 100%;
    max-height: 100%;
    overflow: hidden;
    margin:0;
}
body
{
    width:100%;
    min-width:100%;
    max-width:100%;
    height:100%;
    min-height: 100%;
    max-height: 100%;
    background-color: var(--body-background);
    margin:0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.structure-outer-container
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.structure-header
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 4rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    background-color: var(--structure-header-background);
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.16), 0 0.1rem 0.2rem rgba(0,0,0,0.23);
    box-sizing: border-box;
    padding: 0.4rem;
}
.structure-header-icon-button
{
    margin: 0;
    padding: 0;
    height: 2.3rem;
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
    background-color: transparent;
    border: 0.1rem solid var(--structure-header-item-border);
    color: var(--structure-header-item-font-color);
    font-size: 1rem;
    border-radius: 0.3rem;
    margin: 0.4rem;
    box-sizing: border-box;
}
.spacer-left
{
    margin-left: auto;
}
.spacer-top
{
    margin-top: auto;
}
.structure-header-user
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    height: 2.3rem;
    background-color: transparent;
    border: 0.1rem solid var(--structure-header-item-border);
    border-radius: 0.3rem;
    margin: 0.4rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    box-sizing: border-box;
    color: var(--structure-header-item-font-color);
    overflow: hidden;
}
.structure-header-user-icon
{
    margin-right: 0.8rem;
    font-size: 1rem;
}
.structure-header-user-span
{
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.structure-header-page
{
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    height: 2.3rem;
    background-color: transparent;
    border: 0.1rem solid var(--structure-header-item-border);
    border-radius: 0.3rem;
    margin: 0.4rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    box-sizing: border-box;
    overflow: hidden;
}
.structure-header-page-icon
{
    margin-right: 0.8rem;
    color: var(--structure-header-page-icon-color);
    font-size: 1.3rem;
    margin-top: 0.2rem;
}
.structure-header-page-span
{
    color: var(--structure-header-item-font-color);
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.structure-menu-outer-container
{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    background-color: rgba(0,0,0,.4);
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    z-index: 1000;
}
.structure-menu-inner-container
{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    box-sizing: border-box;
    background-color: var(--structure-menu-background);
    box-shadow: 0 0.1rem 0.13rem rgba(0,0,0,0.16), 0 0.1rem 0.13rem rgba(0,0,0,0.23);
    border-right: 0.1rem solid var(--structure-menu-border);
    border-top: 0.1rem solid var(--structure-menu-border);
    border-bottom: 0.1rem solid var(--structure-menu-border);
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
    width: 0;
    transition: 0.3s cubic-bezier(.25,.8,.25,1);
    overflow: hidden;
}
.structure-menu-spacer
{
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    flex: 1;
}
.structure-menu-header
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 4rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 0.4rem;
}
.structure-menu-sezioni-container
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}
.structure-menu-footer-container
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 1.5rem;
    box-sizing: border-box;
    padding-left: 0.3rem;
    padding-right: 0.6rem;
}
.structure-menu-footer-span
{
    color: var(--structure-menu-header-item-font-color);
    font-family: 'Montserrat', sans-serif;
    font-weight: normal;
    font-size: 0.7rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.structure-menu-header-page
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    height: 2.3rem;
    background-color: transparent;
    border: 0.1rem solid var(--structure-menu-header-item-border);
    border-radius: 0.3rem;
    margin: 0.4rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    box-sizing: border-box;
    overflow: hidden;
}
.structure-menu-header-page-icon
{
    margin-right: 0.8rem;
    color: var(--structure-menu-page-icon-color);
    font-size: 1.3rem;
    margin-top: 0.2rem;
}
.structure-menu-header-page-span
{
    color: var(--structure-menu-header-item-font-color);
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.structure-menu-header-icon-button
{
    margin: 0;
    padding: 0;
    height: 2.3rem;
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none;
    background-color: transparent;
    border: 0.1rem solid var(--structure-menu-header-item-border);
    color: var(--structure-menu-header-item-font-color);
    font-size: 1rem;
    border-radius: 0.3rem;
    margin: 0.4rem;
    box-sizing: border-box;
}
.structure-menu-sezioni-gruppo
{
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    background-color: var(--structure-menu-sezioni-gruppo-background);
    border-radius: 0.3rem;
    height: 2.3rem;
    min-height: 2.3rem;
    max-height: 2.3rem;
    box-sizing: border-box;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
}
.structure-menu-sezioni-gruppo:first-child
{
    margin-top: 0;
}
.structure-menu-sezioni-gruppo-span
{
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
    color: var(--structure-menu-sezioni-font-color);
}
.structure-menu-sezione-item
{
    text-decoration: none;
    width:100%;
    min-width:100%;
    max-width:100%;
    background-color: transparent;
    border-radius: 0.3rem;
    padding-right: 0.8rem;
    padding-left: 0.8rem;
    height: 1.8rem;
    min-height: 1.8rem;
    max-height: 1.8rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    overflow: hidden;
    color: var(--structure-menu-sezione-item-font-color);
}
.structure-menu-sezione-item-fav
{
    background-color:var(--structure-menu-sezione-item-fav-background);
    border-bottom: 0.1rem solid var(--structure-menu-background);
    border-top: 0.1rem solid var(--structure-menu-background);
}
.structure-menu-sezione-item:hover
{
    background-color: var(--structure-menu-sezione-item-hover-background);
}
.structure-menu-sezione-item-fav:hover
{
    background-color: var(--structure-menu-sezione-item-fav-hover-background);
}
.structure-menu-sezione-item-icon
{
    margin-right: 0.8rem;
}
.structure-menu-sezione-item-span
{
    font-family: 'Montserrat', sans-serif;
    font-weight: normal;
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}
.structure-menu-sezione-item-button
{
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    cursor: pointer;
    border: none;
}
.structure-menu-sezione-item-button-icon
{
    font-size: 1rem;
    color: var(--structure-menu-sezione-item-button-icon-color);
}