﻿:root {
    --heigt-header: 6rem;

    /* Base Palette */
    --theme-primary: #73b32a;
    --theme-primary-dark: #3d682c;
    --theme-primary-light: #c8e2aa;
    --theme-secondary: #05192f;
    --theme-accent: #77d237;

    /* Backgrounds */
    --theme-background-base: #FFFFFF;
    --theme-background-light: #FFFFFF;
    --theme-background-dark: #05192f;
    --theme-background-gradient-start: var(--theme-background-dark);
    --theme-background-gradient-end: var(--theme-primary);
    --theme-menu-grid-bg-gradient: linear-gradient(180deg, var(--theme-background-dark) 3%, var(--theme-primary) 100%);
    --theme-functionalities-bg-gradient: linear-gradient(180deg, var(--theme-background-dark) 3%, var(--theme-primary) 100%);

    /* Text */
    --theme-text-on-primary: #FFFFFF;
    --theme-text-on-secondary: #FFFFFF;
    --theme-text-on-dark-bg: #FFFFFF;
    --theme-text-on-light-bg: #000000;
    --theme-text-on-dark: #FFFFFF;
    --theme-text-link: #000000;
    --theme-text-link-hover: var(--theme-primary-light);
    --theme-text-muted: #000000;

    /* Borders & Dividers */
    --theme-border-heavy: #3a3a3a;
    --theme-border-medium: var(--theme-primary);
    --theme-border-light: #ccc;
    --theme-border-focus-shadow: rgba(118, 183, 42, 0.25);
    --theme-secondary-focus-shadow: rgba(5, 25, 47, 0.25);
    --theme-divider-on-dark: var(--theme-primary);
    --theme-divider-light: var(--theme-text-on-primary);
    --theme-menu-grid-border: solid 1px var(--theme-primary-dark);

    /* Components */
    --theme-button-primary-bg: #76b72a;
    --theme-button-primary-border: #76b72a;
    --theme-button-primary-hover-bg: #77d237;
    --theme-button-primary-hover-border: #77d237;
    --theme-button-secondary-bg: var(--theme-background-light);
    --theme-button-secondary-text: var(--theme-background-dark);
    --theme-button-secondary-border: var(--theme-primary-dark);
    --theme-button-secondary-hover-bg: var(--theme-background-light);
    --theme-button-secondary-hover-text: var(--theme-background-dark);
    --theme-input-border: var(--theme-primary-light);
    --theme-input-checked-bg: var(--theme-primary-dark);
    --theme-shadow: var(--theme-primary);
    --theme-scrollbar-track: var(--theme-primary-dark);
    --theme-scrollbar-thumb: var(--theme-primary);
    --theme-scrollbar-thumb-hover: #FFFFFF;
    --theme-spinner-overlay: rgba(5, 25, 47, 0.9);
    --theme-table-control-bg: var(--theme-background-dark);
    --theme-page-item-active-bg: var(--theme-background-dark);
    --theme-ms-hover-bg: var(--theme-button-primary-bg);
    --theme-csv-card-bg: var(--theme-background-dark);
    --bs-border-width: 0.02rem;

    /* Header */
    --theme-header-bg: var(--theme-background-dark);
    --theme-header-shadow: var(--theme-primary);
    --theme-header-text-color: var(--theme-text-on-primary);
    --theme-header-link-color: var(--theme-text-on-primary);
    --theme-header-icon-color: var(--theme-text-on-primary);
    --theme-header-menu-bg: var(--theme-background-dark);
    --theme-header-menu-shadow: var(--theme-primary);
    --theme-header-menu-link-color: var(--theme-text-on-primary);
    --theme-header-menu-link-hover-color: var(--theme-text-on-primary);
    --theme-header-menu-divider-color: var(--theme-text-on-primary);

    /* Footer */
    --theme-footer-bg: var(--theme-background-dark);
    --theme-footer-text-color: var(--theme-text-on-primary);
    --theme-footer-link-color: var(--theme-text-on-primary);
    --theme-footer-link-hover-color: var(--theme-text-on-primary);
    --theme-footer-border-top-color: var(--theme-primary);
}

html {
    color: var(--theme-text-on-dark-bg);
}

body.body-dark {
    background: var(--theme-background-dark);
}

body.body-dark main[role="main"] {
    display: flex;
    flex-direction: column;
}

p, h1, h2, h3, label, div, a, span, input, button, select, textarea, li {
    font-family: 'Montserrat', sans-serif !important;
}

label, tr, th, div, input, p, .form-control {
    font-size: 15px;
    font-weight: 700;
}

.text-dynamic-contrast {
    color: var(--theme-text-on-dark-bg);
}

a {
    cursor: pointer;
    text-decoration: none;
    color: var(--theme-text-link);
}

a:hover {
    color: var(--theme-text-link-hover);
}

.header_ {
    background: var(--theme-header-bg);
}

.header-shadow {
    box-shadow: 1px 0px 11px 1px var(--theme-header-shadow);
    margin-bottom: 0.5rem;
}

.fixed_height_img {
    padding: 0.5rem;
    height: calc(var(--heigt-header) - 1rem);
}

.burger-menu {
    width: 50px;
    height: 50px;
    transform: scale(0.6);
    cursor: pointer;
}

.burger-menu:before,
.burger-menu:after,
.burger-menu div,
.burger-menu_active:before,
.burger-menu_active:after,
.burger-menu_active div {
    background: var(--theme-header-icon-color);
    content: "";
    display: block;
    height: 6px;
    border-radius: 3px;
    margin: 7px 0;
    transition: 0.5s;
}

.burger-menu_active:before {
    transform: translateY(12px) rotate(135deg);
}

.burger-menu_active:after {
    transform: translateY(-12px) rotate(-135deg);
}

.burger-menu_active div {
    transform: scale(0);
}

.menu_actions {
    position: absolute;
    display: flex;
    flex-direction: column;
    right: 1rem;
    top: 6.5rem;
    width: 20rem;
    background: var(--theme-header-menu-bg);
    padding: 1rem;
    box-shadow: 0 0 10px var(--theme-header-menu-shadow);
    z-index: 100;
}

.menu_actions > * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.actions-section {
    display: flex;
    flex-direction: column;
    align-items: end;
    margin-right: 1rem;
}

.actions-section > div {
    height: 4rem;
    letter-spacing: 2.2px;
    display: flex;
    align-items: center;
}

.actions-section > div > a {
    height: 1rem;
    font-size: 20px;
    font-weight: 500;
    text-transform: capitalize;
    font-family: "Microsoft Sans Serif", serif;
    letter-spacing: 2.2px;
    cursor: pointer;
    color: var(--theme-header-menu-link-color);
    text-decoration: none;
}

.actions-section#top_section::after {
    content: "";
    margin-top: 1rem;
    width: 100%;
    display: flex;
    border-bottom: solid 1px var(--theme-header-menu-divider-color);
}

.actions-section#bottom_section {
    margin-top: 1rem;
}

.lang-box {
    margin-right: 2rem;
    color: var(--theme-header-text-color);
}

.lang-box a {
    color: var(--theme-header-link-color);
    margin: 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 600;
}

.powered-by-section {
    height: 1rem;
    gap: 6px;
    text-transform: uppercase;
    font-size: 10px;
}

.powered-by-section > img {
    height: 3rem;
}

.welcome-section {
    gap: 6px;
}

@media only screen and (max-width: 800px) {
    #central-section {
        display: none;
    }
}

.title-header-dark {
    background: var(--theme-background-dark);
}

#title-header:after {
    content: "";
    margin-top: 1.5rem;
    width: 75%;
}

.title-header-white:after {
    border-bottom: unset !important;
}

.title-header-black:after {
    border-bottom: 2px solid var(--theme-border-heavy);
}

#text-dynamic {
    color: var(--theme-text-on-dark-bg);
}

#title-header > * {
    color: var(--theme-secondary) !important;
}

.text-xxl {
    font-size: xx-large;
}

.title-text-style {
    text-transform: uppercase;
    font-family: revert;
    font-weight: 700;
    color: var(--theme-text-on-light-bg);
}

.responsive-back-high {
    display: block;
}

.responsive-back-low {
    display: none;
}

.d-flex-row-gap-2, .d-flex-col-gap-2 {
    display: flex;
    gap: 2rem;
    color: var(--theme-text-on-dark-bg);
    align-items: center;
    z-index: 2;
}

.d-flex-col-gap-2 {
    flex-direction: column;
}

.absolute-centering-x {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}

.absolute-centering {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form-control {
    border: 0.02rem solid var(--theme-input-border);
}

.form-check-input {
    aspect-ratio: 1/1;
    width: 1.5em;
    height: 1.5em;
    border-radius: 0.05rem !important;
    border: 0.02rem solid var(--theme-input-border);
}

.input-group-lg > .btn, .input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text {
    border-radius: unset;
}

.btn {
    text-transform: uppercase;
    font-weight: 600;
    border-radius: unset;
}

.btn-success {
    background-color: var(--theme-button-primary-bg);
    border-color: var(--theme-button-primary-border);
    color: var(--theme-text-on-primary);
}

.btn-success:hover,
.btn-success:active,
.btn-success:focus {
    background-color: var(--theme-button-primary-hover-bg);
    border-color: var(--theme-button-primary-hover-border);
    color: var(--theme-text-on-primary);
    box-shadow: 0 0 0 .25rem var(--theme-border-focus-shadow);
}

.btn-secondary {
    background: var(--theme-button-secondary-bg);
    color: var(--theme-button-secondary-text);
    border: 1px solid var(--theme-button-secondary-border);
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
    background: var(--theme-button-secondary-hover-bg);
    color: var(--theme-button-secondary-hover-text);
    box-shadow: 0 0 0 .25rem var(--theme-secondary-focus-shadow);
}

.footer-color {
    background-color: var(--theme-footer-bg);
}

footer span {
    color: var(--theme-footer-text-color);
}

footer a {
    color: var(--theme-footer-link-color);
}

footer a:hover {
    color: var(--theme-footer-link-hover-color);
    text-decoration: underline;
}

.full-screen-blue {
    background: var(--theme-background-dark);
}

.menu-grid > a, .actions-green {
    border: var(--theme-menu-grid-border);
    background: var(--theme-menu-grid-bg-gradient);
}

.menu-grid-background-unset {
    background: unset !important;
}

.menu-grid-background-set {
    background: var(--theme-menu-grid-bg-gradient) !important;
}

#user-config-menu {
    height: unset;
}

.functionalities {
    padding: 1rem;
    align-items: center;
}

.functionalities > img {
    width: 35px;
    height: 45px;
}

.login-cool {
    flex-grow: 1;
    width: 100vw;
    background-image: linear-gradient(129deg, var(--theme-primary) -10%, var(--theme-background-dark) 80%);
    background-position: 0 0;
    background-repeat: no-repeat;
}

.form-login {
    width: 20rem;
    height: 15rem;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: var(--theme-scrollbar-track);
    border: solid 1px;
    border-radius: 5px;
    border-color: var(--theme-primary);
}

::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: var(--theme-scrollbar-thumb);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--theme-scrollbar-thumb-hover);
}

.dd-select, .dd-selected, .dd-option {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    height: 80px;
    padding-right: 2rem;
}

.dd-select {
    border: solid 1px var(--theme-border-light);
    position: relative;
    cursor: pointer;
    background-color: var(--theme-header-bg) !important;
    color: var(--theme-header-text-color);
}

.dd-option-text, .dd-selected-text {
    cursor: pointer;
    color: var(--theme-header-text-color);
}

.dd-option {
    border-radius: 2px;
    border: solid 1px var(--theme-border-light);
    cursor: pointer;
    background-color: var(--theme-header-bg) !important;
    color: var(--theme-header-text-color);
}

.dd-pointer-down {
    border-top: solid 5px var(--theme-header-icon-color) !important;
}

.vanish, .vanish-upo, .vanish-conlegno, .vanish-maestrale {
    display: none;
}

.csv-card {
    background: var(--theme-csv-card-bg);
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before, table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
    background-color: var(--theme-table-control-bg);
}

.page-item.active .page-link {
    background-color: var(--theme-page-item-active-bg);
    border-color: var(--theme-page-item-active-bg);
}

.divider-configurations {
    color: var(--theme-primary);
    border-bottom: 2px solid var(--theme-primary);
}

.field-validation-valid, .validation-summary-valid {
    display: none;
}

.page-link {
    color: var(--theme-text-muted);
}

.page-link:hover {
    color: var(--theme-text-muted);
}

.welcome-user > p {
    color: var(--theme-text-on-dark-bg);
}

.form-check-input:checked {
    background-color: var(--theme-input-checked-bg);
    border-color: var(--theme-input-checked-bg);
}

.green-dot {
    position: absolute;
    width: 50px;
    height: 50px;
    transform: translate(30px, -35px);
    background: radial-gradient(100% 100% at 50% 50%, var(--theme-primary) 0, rgba(255, 0, 0, 0) 40%, rgba(255, 0, 0, 0) 80%);
}

.colored-divider, .colored-divider::after, .colored-divider::before {
    color: var(--theme-primary);
}

.ms-hover {
    background-color: var(--theme-ms-hover-bg) !important;
}

.selected-language {
    color: var(--theme-primary-dark) !important;
}

.text-dynamic-dark-login {
    color: var(--theme-text-on-dark-bg) !important;
}

@media only screen and (max-width: 1060px) {
    #central-section {
        display: none;
    }
}

.min-height-main-body {
    min-height: 85vh !important;
}

#gerarchie {
    min-height: 85vh !important;
}

.text-expired-subscription {
    color: var(--theme-text-on-dark-bg);
}

.themed-icon {
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--theme-text-on-primary);
    width: 65px;
    height: 65px;
}

.functionalities .themed-icon {
    width: 35px;
    height: 45px;
}

.menu-grid .icons-text-style {
    color: var(--theme-text-on-primary);
}

.title-text-style-icons {
    text-transform: uppercase;
    font-family: revert;
    font-weight: 700;
    color: var(--theme-text-on-primary);
}