/*
 * 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;
    }

    a.logo > i > img {
        margin-left: 10px !important;
    }

    .navbar-default .navbar-left li:nth-last-child(1) h4 {
        width: auto !important;
    }
}

@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;
}

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

tbody .btn.btn-xs, thead .btn.btn-xs, tfoot .btn.btn-xs {
    height: 22px !important;
    width: 22px !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:not(.not-custom), .input-group-btn:not(.not-custom) {
    min-width: 38px;
    max-width: 38px;
    padding: 0;
}

.input-group-btn .btn {
    margin-left: 0;
    padding: 8px 12px;
}

.input-group {
    width: 100%;
}

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

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

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

/* whenever we want to have a disabled input work like a data-display-box, don't make it appear disabled */
input.data-display-box:disabled {
    cursor: default;
}

/* 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;
    margin-bottom: 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: 60%
}

.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;
    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;
}

/* cursore a manina sui link dentro i dropdown menu */
.dropdown-menu a {
    cursor: pointer;
}

/* dropdown su firefox */
select:not(.select2) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfhCxYOGjiB3zSaAAAAf0lEQVRo3u3VQQ5AQBBE0anT1pmclpWIsJiuaSv/raXyg2EMAAAAAPg7zVy07dm41RSQJVhtdyBJsBofQT3Ban0HqglW80tYS7DaT0ElwfrgGM4nWJ98B2YTHKxFAe8JjrbCgGeCw6U44J7geGch4Erw0spYS0h/VAAAAABwOgD2HR0+/WmdhgAAAABJRU5ErkJggg==');
    background-position: right;
    background-repeat: no-repeat;
    background-size: 20px;
    padding-right: 20px;
}

/* presentees multiselect */
.presentees-multiselect {
    width: 100%;
    height: 400px;
}

.presentees-multiselect .ms-selectable,
.presentees-multiselect .ms-selection {
    width: 48%;
    height: 100%;
}

.presentees-multiselect .ms-list {
    height: 100%;
}

/* icon in a btn-sm sized square */
.btnlike-icon-sm {
    height: 30px;
    width: 30px;
    padding: 5px 10px 5px 9px;
}

/* no wrap on table controls */
.table-controls {
    white-space: nowrap;
}

.table-controls .btn + .btn {
    margin-left: 0.5px;
}

/* no bullets on lists of class .data-display-box */
ul.data-display-box {
    list-style-type: none;
    line-height: 1.6;
}

/* links inside alert boxes */
div.alert a {
    font-weight: bold;
    text-decoration: underline;
}

/* Trasparenza toastr */
.toast-success {
    background-color: rgba(16, 196, 105, 1);
}

.toast-warning {
    background-color: rgba(249, 200, 81, 1);
}

.toast-error {
    background-color: rgba(255, 91, 91, 1);
}

/* Font size on tax roll cards */
.tax-roll-amount {
    font-size: 150%;
}

/* Margin for main page container */
.maincontainer {
    margin-bottom: 50px;
}

/* Links without color */
.a-uncolored {
    color: inherit;
}

/* Button rows for board meeting reports */
div.boardmeeting-buttons-wrapper > * {
    display: inline-block;
}

select > option.council-position {
    font-weight: bold;
    font-style: italic;
}

/* Calendar picker in date fields on Chrome. */
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button {
    display: none;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    margin-left: -50px;
    margin-right: 0;
    padding-right: 0;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
    background: transparent;
    cursor: pointer;
}

/* Fix input dates alignments */
.form-control[type="date"] {
    padding: 0 12px;
}

/* HOME PAGE - No logged */
.custom-panel-title {
    color: #FFFFFF;
}
.custom-panel-footer a {
    color: #FFFFFF;
}
.custom-panel-footer a:hover,
.custom-panel-footer a:active,
.custom-panel-footer a:focus {
    text-decoration: underline;
}
.custom-footer a{
    color: #FFFFFF;
}
.custom-footer a:hover,
.custom-footer a:active,
.custom-footer a:focus {
    color: #337AB7;
    text-decoration: underline;
}

.custom-footer-contacts{
    margin-left: 55px;
}

@media screen and (max-width: 768px) {
    .custom-panel-footer a {
        text-decoration: underline;
    }
    .navbar-default .navbar-left li:nth-last-child(1) h4 {
        white-space: normal;
        overflow: visible;
    }
    .page-title {
        font-size: 16px;
        font-weight: 600;
        line-height: 16px;
    }
    .navbar-default .navbar-left{
        padding-top: 25px;
        width: 80%;
    }
    .button-menu-mobile {
        font-size: 21px;
        line-height: inherit;
    }
}

.cursor-pointer{cursor: pointer;}
.d-block{display:block}
.mx-auto{margin-left:auto}
.mx-auto{margin-right:auto}

.help-button{font-size: 24px}
.help-button i{font-size: 24px}

.help-block {
    color: #f9c851 !important;
}

/* Label for required form fields */
.form-label-required:before {
    content: "* ";
}

/* Fullscreen modal mobile devices */
@media (max-width: 1025px) {
    .modal-dialog {
        margin: 2%;
        max-width: 100%;
        width: 96% !important;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        display: block;
        min-height: 100vh;
    }

    .modal-content {
        min-height: 98vh;
    }
}