/*
 * PERSONALIZZAZIONI GENERALI
 * comprendono tutte le trasformazioni che non agiscono sul colore.
 * Queste ultime si trovano in light/custom.css e dark/custom.css.
 */

/* Stili per adattare le pagine a schermi a dimensioni ridotte */
@media (max-width: 767px) {
    table {
        border: 0;
    }

    table thead {
        display: none;
    }

    table td, table td[class^=col-] {
        display: block;
        text-align: right;
    }

    table td:before {
        content: attr(data-title);
        float: left;
        text-transform: uppercase;
        font-weight: bold;
    }
}

@media (max-width: 340px) {
    .navbar-default .navbar-left {
        width: 80%
    }
}

/* z-index della sidebar alzato per essere maggiore di quello degli input-group */
.side-menu {
    z-index: 4;
}

/* classi analoghe a quelle già presenti in adminto 
per margini superiori e inferiori degli elementi pagina*/
.m-t-11 {
    margin-top: 11px !important;
}

.m-t-12 {
    margin-top: 12px !important;
}

.m-b-11 {
    margin-bottom: 11px !important;
}

.m-b-12 {
    margin-bottom: 12px !important;
}

/* titolo principale pagina */
.page-title {
    /* letter-spacing spostato negli stili dei due temi */
}

/* Titolo delle sezioni delle pagine e spazio che lo separa dal contenuto */
legend {
    font-family: 'Karla', sans-serif;
    margin: 10px 0;
    padding-bottom: 10px;
    /* letter-spacing spostato negli stili dei due temi */
}

/* tabelle: */
/* allineamento verticale testo */
td {
    vertical-align: middle !important;
    height: 47px;
}

/* bottoni inseriti nelle tabelle */
tbody .btn.btn-sm {
    height: 30px !important;
    width: 30px !important;
    padding-left: 9px !important;
}

/* n bottoni in fila nelle tabelle: hack, ma meglio di prima */
td .btn-array-3.pull-right {
    width: 97px;
}

/* testo sbarrato su righe appositamente segnalate */
tr.strike td {
    text-decoration: line-through;
}

/* bottoni quadrati nell'interfaccia */
.form-group .btn.btn-square {
    height: 38px !important;
    width: 38px !important;
    padding-left: 12px !important;
}

/* bottoni che si inseriscano armoniosamente nell'interfaccia */
.btn.btn-flush-interface {
    height: 38px !important;
    font-size: 1.95ex;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* personalizzazione bootstrap-tagsinput */
.bootstrap-tagsinput {
    width: 100% !important;
    min-height: 38px !important;
    padding: 6px 6px 1px 6px !important;
    box-shadow: none;
    outline: none !important;
    box-sizing: border-box !important;
}

.bootstrap-tagsinput.focus {
    transition: 300ms linear !important;
}

.bootstrap-tagsinput .tag {
    /* font-size e font-weight spostati negli stili dei due temi */
    margin-bottom: 5px !important;
}

/* Sposta a destra il numero nei campi monetari e in campi che contrassegnamo con .numberright */
.money .numberright {
    text-align: right !important;
}

/* Leva lo spinner dei campi numerici */
.nospinner {
    -moz-appearance: textfield;
}

input.nospinner::-webkit-outer-spin-button,
input.nospinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* .input-group e .input-group-addon */
.input-group-addon {
    min-width: 38px;
    max-width: 38px;
    padding: 0;
}

.input-group {
    width: 100%;
}

/* caselle di visualizzazione nelle pagine show
   e per i valori autoaggiornanti (js) */
p.data-display-box, p.computed-display-box {
    min-height: 38px;
    padding: 9px 10px 7px 10px;
    border-radius: 4px;
    margin: 0 0;
}

.input-group p.data-display-box,
.input-group p.computed-display-box {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* option group e option */
optgroup {
    font-style: italic;
}

option {
    font-style: normal;
}

/* altezza di tutti i campi dei form */
.form-control {
    min-height: 38px;
}

/* icona di errore nei campi compilati male */
.has-feedback .form-control-feedback {
    right: 20px;
}

.has-feedback .input-group + .form-control-feedback {
    right: 58px;
}

/* div prototipo: non mostrare */
div.prototype-hidden {
    display: none;
}

/* textarea: */
/* costringe le textarea nel bordo della pagina */
textarea {
    max-width: 100% !important;
    width: 100% !important;
    /* non ideale: se c'è solo il primo stile, non funziona. */
}

/* niente transizioni nel ridimensionamento delle textarea,
 solo nel cambio colore bordo */
textarea {
    -webkit-transition: border-color 300ms linear !important;
    -moz-transition: border-color 300ms linear !important;
    -o-transition: border-color 300ms linear !important;
    transition: border-color 300ms linear !important;
}

/* personalizzazione bootstrap-tagsinput */
.bootstrap-tagsinput {
    width: 100% !important;
    min-height: 38px !important;
    padding: 6px 6px 1px 6px !important;
    box-shadow: none;
    border: 1px solid !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.bootstrap-tagsinput.focus {
    transition: 300ms linear !important;
}

.bootstrap-tagsinput .tag {
    font-size: 100% !important;
    font-weight: 400 !important;
    margin-bottom: 5px !important;
}

.tag.label.label-info.inactive {
    letter-spacing: normal;
    font-weight: normal !important;
}

/* liste di elementi separati da virgole */
span.comma-separated-list {
    display: inline;
}

span.comma-separated-list + span.comma-separated-list:before {
    content: ' • ';
}

/* array di caselle cliccabili: */
/* in inserimento */
.license-category .btn,
.work-days .btn {
    height: 38px;
    width: 38px;
    padding: 0 !important;
    padding-top: 9px !important;
}

/* in visualizzazione */
.license-category div.btn:active, .license-category div.btn:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.license-category div.btn.btn-primary:active, .license-category div.btn-primary:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

div.btn {
    cursor: default;
}

/* icone ZMDI */
i.zmdi {
    font-size: 21px;
}

/* switchery e scritta su elemento mobile */
.switchery {
    margin-top: 3px;
}

.switchery:not(.switchery-small) > small:not(.sw-on):after {
    content: "NO";
    font-weight: bold;
    top: 8px;
    position: relative;
    left: 6px;
}

.sw-on:after {
    content: "SÌ";
    font-weight: bold;
    top: 8px;
    position: relative;
    left: 9px;
}

/* cursore 'divieto' su switchery disabilitato */
input[type="checkbox"]:disabled + span.switchery {
    cursor: not-allowed;
}

/* anteprima PDF */
.mfp-iframe-custom {
    padding-top: 100%;
}

.mfp-iframe-custom iframe {
    height: 100%;
}

/* testo informativo da posizionare accanto ai campi di input */
p.side-input {
    margin-bottom: 0;
    padding-top: 10px;
}

/* navigation bar */
.navbar-default .navbar-left {
    width: 70%
}

.navbar-default .navbar-left li:nth-last-child(1) {
    width: 70%
}

.navbar-default .navbar-left li:nth-last-child(1) h4 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: inline-flex;
    width: 100%;
}

/* spaziatura fieldset */
fieldset {
    margin-bottom: 40px;
}

fieldset:last-child {
    margin-bottom: 0;
}

/* hack per la corretta visualizzazione menu dropdown con i 3 puntini */
.card-box {
    position: relative;
}

.table-responsive.overflow-show {
    overflow: visible;
}

.dropdown {
    position: absolute;
    right: 20px;
    top: 15px;
}

/* larghezza generic modal */
#genericModal .modal-dialog {
    width: 70%
}

/* widget utente funzionante con object */
.widget-user object {
    height: 72px;
    float: left;
}

/* altezza righe tabella voti */
table.classes-table td {
    height: 40px;
}

/* larghezza colonne tabella voti */
table.classes-table th.classes-ssd {
    width: 20%;
}

table.classes-table th.classes-name {
    width: 60%;
}

table.classes-table th.classes-grade {
    width: 20%;
}

/* td contenente input voto */
td.grade-input-container {
    padding: 2px !important;
}

td.grade-input-container input[type="number"],
td.grade-input-container input[type="checkbox"] {
    width: 100% !important;
}

/* margine a sx per switch idoneità */
td.grade-input-container span.switchery {
    margin-left: 10px;
}

/* badge a sinistra del gruppo di esami svolti */
table.classes-table thead th span.badge {
    margin-left: 10px;
}

/* anno accademico allineato a destra */
.numberright {
    text-align: right !important;
}

/* larghezza input group addon anno accademico */
#academic_year + .input-group-addon {
    width: 4em;
}
