/* ================================================================================ 
   teamcode.css
   1.0.3.14
   Ottobre 2025
   Foglio di stile principale per l'applicazione TeamCode.
   ================================================================================ */

/* -------------------------------------------------------------------------------- 
   Html
   -------------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------------- 
   Bootstrap
   -------------------------------------------------------------------------------- */

/* Modifica del colore della backdrop delle modali */
.modal-backdrop {
    background-color: lightgrey;
}

.dropdown-menu {
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
}

/* -------------------------------------------------------------------------------- 
   Page
   -------------------------------------------------------------------------------- */

/* Page body content class. */
.sm-body {
    min-height: 700px !important;
    background-color: whitesmoke !important;
    display: grid;
}

@media (max-height: 700px) {
    .sm-body {
        min-height: 100vh !important;  
    }
}

/* Client background color */
.sm-bg-client {
    background-color: whitesmoke !important;
}

/* Panel background color */
.sm-bg-panel {
    background-color: white !important;
}

/* Cursor pointer */
.sm-cr-pointer {
    cursor: pointer;
}

/* Cursor default */
.sm-cr-default {
    cursor: default;
}

/* Text foregrount color */
.sm-fg-text {
    color: darkslategray;
}

/* -------------------------------------------------------------------------------- 
   Menu
   -------------------------------------------------------------------------------- */

.sm-toolbar-item {
    max-height:96px;
}

.sm-nav-link {
    height: 64px;
}

/* -------------------------------------------------------------------------------- 
   Form
   -------------------------------------------------------------------------------- */

/* Page form */
.sm-form {
    height: 100% !important;
}

/* Form control */
.sm-form-control {
}

/* Form control that need disable class for disabling */
.sm-form-control-needdisableclass {
}

/* -------------------------------------------------------------------------------- 
   Control
   -------------------------------------------------------------------------------- */

/* Container principale del controllo */
.sm-control-container {
}

/* Classe dell'area di visualizzazione delle immagini */
.sm-control-image {
    border-style: dotted;
    border-width: 1px;
    border-color: #888;
    background-color: #AAA;
    background-image: url("/lib/teamcode/images/tools/tool-photo-128px.png");
    background-position-x: center;
    background-position-y: center;
    background-repeat: no-repeat;
}

/* Elemento span relativo all'etichetta (testo) della domanda */
.sm-control-label {
    font-size: 0.9em;
    font-weight: bold;
    opacity: 0.8;
    margin-top: 0rem;
}

/* Classe del controllo di visualizzazione delle immagini */
.sm-control-picture {
    text-decoration: none;
    border-style: none;
    width: 100%;
}

/* -------------------------------------------------------------------------------- 
   Control Chips
   -------------------------------------------------------------------------------- */

/* Classe dell'elemento di input con le chips */
.sm-control-chips {
}

/* Classe dell'area di visualizzazione delle chips */
.sm-control-chips-area {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: solid;
    border-width: 1px;
    border-color: #000;
    padding-top: 4px;
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 4px;
    background-color: white;
    height: auto;
    min-height: 2.8em;
}

/* -------------------------------------------------------------------------------- 
   Control Table
   -------------------------------------------------------------------------------- */

/* Classe generica delle tabelle di tipo SMTable */
.sm-table {

}

/* -------------------------------------------------------------------------------- 
   Control Maps
   -------------------------------------------------------------------------------- */

/* Classe del contenitore della mappa geografica */
.sm-container-map {
}

/* Bottoni all'interno della mappa geografica */
.sm-container-map button {
    padding-inline: 0px !important;
}

/* Classe dell'area di mapping geografico */
.sm-control-map {
    border-style: dotted;
    border-width: 1px;
    border-color: #888;
    background-color: #AAA;
}

/* Icon map link */
.sm-icon-map-link {
    background-image: url("/lib/leaflet/images/location-link-24px.png");
    background-position: center;
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

/* Icon map location */
.sm-icon-map-location {
    background-image: url("/lib/leaflet/images/location-24px.png");
    background-position: center;
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

/* Icon map paste */
.sm-icon-map-paste {
    background-image: url("/lib/leaflet/images/location-paste-24px.png");
    background-position: center;
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

/* Icon map reload */
.sm-icon-map-reload {
    background-image: url("/lib/leaflet/images/reload-24px.png");
    background-position: center;
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
}

/* -------------------------------------------------------------------------------- 
   Control Upload
   -------------------------------------------------------------------------------- */

/* Area di gestione dell'upload di file */
.sm-control-upload {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: solid;
    border-width: 1px;
    border-color: #000;
    padding-top: 4px;
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 4px;
    background: white;
}

    /* Area di gestione dell'upload di file */
    .sm-control-upload::file-selector-button {
        background: #06c !important;
        border: none;
        border-radius: 0.25rem !important;
        padding: 12px 24px;
        font-size: 1rem;
        white-space: initial;
        text-decoration: none;
        margin: 0px 0px 0px 0px !important;
        color: white;
    }

        /* Area di gestione dell'upload di file */
        .sm-control-upload::file-selector-button:hover {
            background: #004d99 !important;
        }

/* Area di gestione dell'upload multiplo di file */
.sm-control-uploads {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: solid;
    border-width: 1px;
    border-color: #000;
    padding-top: 4px;
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 4px;
    background: white;
}

    /* Area di gestione dell'upload multiplo di file */
    .sm-control-uploads::file-selector-button {
        background: #06c !important;
        border: none;
        border-radius: 0.25rem !important;
        padding: 12px 24px;
        font-size: 1rem;
        white-space: initial;
        text-decoration: none;
        margin: 0px 0px 0px 0px !important;
        color: white;
    }

        /* Area di gestione dell'upload multiplo di file */
        .sm-control-uploads::file-selector-button:hover {
            background: #004d99 !important;
        }

/* -------------------------------------------------------------------------------- 
   Fieldset
   -------------------------------------------------------------------------------- */

/* classe fieldset */
.sm-control-fieldset {
    background-color: white;
    margin-bottom: 2em;
    padding-left: 32px;
    padding-right: 32px;
}

/* -------------------------------------------------------------------------------- 
   Landing Pages
   -------------------------------------------------------------------------------- */

/* Landing centered div */
.sm-landing-center {
    display: table-cell;
    height:100%;
    text-align: center;
    vertical-align: middle;
}

/* Landing container div */
.sm-landing-container {
    display: table;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    width: 100%;
}

/* Landing dialog box */
.sm-landing-dialog {
    display: inline-block;
    left: auto;
    max-width: 1000px;
    width: 75%;
}

/* -------------------------------------------------------------------------------- 
   Loader
   -------------------------------------------------------------------------------- */

/* Spinner loader class */
.sm-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3) !important;
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* -------------------------------------------------------------------------------- 
   Paging
   -------------------------------------------------------------------------------- */

.sm-paging {

}

/* -------------------------------------------------------------------------------- 
   Rich Text
   -------------------------------------------------------------------------------- */

.sm-control-richtext {
}

.tox-tinymce {
    border-radius: 0px !important;
    border-width: 1px !important;
}

/* -------------------------------------------------------------------------------- 
   Select 2
   -------------------------------------------------------------------------------- */
/* Set height for select2 container */
.select2-container .select2-selection--single {
    height: 40px !important;
}

/* Set z-index for select2 open container */
.select2-container--open {
    z-index: 999999;
}

/* Set select2 selection arrow size */
.select2-selection__arrow {
    height: 39px !important;
}

/* Set select2 selection render line height */
.select2-selection__rendered {
    line-height: 37px !important;
}

/* Select2 standard class */
.sm-select2 {
}

/* Select2 for related data class */
.sm-select2-related {
}

/* -------------------------------------------------------------------------------- 
   Media width manager
   -------------------------------------------------------------------------------- */

.sm-on-mobile {
    display: none;
    visibility: hidden;
}

.sm-on-desk {
    display: block;
    visibility: visible;
}

@media screen and (max-width: 768px) {

    .sm-on-mobile {
        display: block;
        visibility: visible;
    }

    .sm-on-desk {
        display: none;
        visibility: hidden;
    }

}

/* -------------------------------------------------------------------------------- 
   Timeline
   -------------------------------------------------------------------------------- */

.sm-timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

    .sm-timeline:before {
        top: 0;
        bottom: 0;
        position: absolute;
        content: " ";
        width: 3px;
        background-color: #eeeeee;
        left: 50%;
        margin-left: -1.5px;
    }

    .sm-timeline > li {
        margin-bottom: 20px;
        position: relative;
    }

        .sm-timeline > li:before,
        .sm-timeline > li:after {
            content: " ";
            display: table;
        }

        .sm-timeline > li:after {
            clear: both;
        }

        .sm-timeline > li:before,
        .sm-timeline > li:after {
            content: " ";
            display: table;
        }

        .sm-timeline > li:after {
            clear: both;
        }

        .sm-timeline > li > .sm-timeline-panel {
            width: 46%;
            float: left;
            border: 1px solid #d4d4d4;
            border-radius: 2px;
            padding: 20px;
            position: relative;
            -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
        }

            .sm-timeline > li > .sm-timeline-panel:before {
                position: absolute;
                top: 21px;
                right: -15px;
                display: inline-block;
                border-top: 15px solid transparent;
                border-left: 15px solid #ccc;
                border-right: 0 solid #ccc;
                border-bottom: 15px solid transparent;
                content: " ";
            }

            .sm-timeline > li > .sm-timeline-panel:after {
                position: absolute;
                top: 22px;
                right: -14px;
                display: inline-block;
                border-top: 14px solid transparent;
                border-left: 14px solid #fff;
                border-right: 0 solid #fff;
                border-bottom: 14px solid transparent;
                content: " ";
            }

        .sm-timeline > li > .sm-timeline-badge {
            color: #fff;
            width: 42px;
            height: 42px;
            line-height: 36px;
            font-size: 1.4em;
            text-align: center;
            position: absolute;
            top: 16px;
            left: 50%;
            margin-left: -21px;
            background-color: #999999;
            z-index: 100;
            border-top-right-radius: 50%;
            border-top-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-bottom-left-radius: 50%;
        }

        .sm-timeline > li.sm-timeline-inverted > .sm-timeline-panel {
            float: right;
        }

            .sm-timeline > li.sm-timeline-inverted > .sm-timeline-panel:before {
                border-left-width: 0;
                border-right-width: 15px;
                left: -15px;
                right: auto;
            }

            .sm-timeline > li.sm-timeline-inverted > .sm-timeline-panel:after {
                border-left-width: 0;
                border-right-width: 14px;
                left: -14px;
                right: auto;
            }

.sm-timeline-badge.primary {
    background-color: #2e6da4 !important;
}

.sm-timeline-badge.success {
    background-color: #3f903f !important;
}

.sm-timeline-badge.warning {
    background-color: #f0ad4e !important;
}

.sm-timeline-badge.danger {
    background-color: #d9534f !important;
}

.sm-timeline-badge.info {
    background-color: #5bc0de !important;
}

.sm-timeline-title {
    margin-top: 0;
    color: inherit;
}

.sm-timeline-body > p,
.sm-timeline-body > ul {
    margin-bottom: 0;
}

    .sm-timeline-body > p + p {
        margin-top: 5px;
    }

.sm-task-error {
    color: firebrick;
}

.sm-task-success {
    color: darkgreen;
}

.sm-task-note {
    color: dimgray;
}

@media (max-width: 767px) {
    ul.sm-timeline:before {
        left: 40px;
    }

    ul.sm-timeline > li > .sm-timeline-panel {
        width: calc(100% - 90px);
        width: -moz-calc(100% - 90px);
        width: -webkit-calc(100% - 90px);
    }

    ul.sm-timeline > li > .sm-timeline-badge {
        left: 15px;
        margin-left: 0;
        top: 16px;
    }

    ul.sm-timeline > li > .sm-timeline-panel {
        float: right;
    }

        ul.sm-timeline > li > .sm-timeline-panel:before {
            border-left-width: 0;
            border-right-width: 15px;
            left: -15px;
            right: auto;
        }

        ul.sm-timeline > li > .sm-timeline-panel:after {
            border-left-width: 0;
            border-right-width: 14px;
            left: -14px;
            right: auto;
        }
}