/* ========================================
   IMPORT FONTS
   ======================================== */

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,300&display=swap');


/* ========================================
   RESET E STILI BASE GLOBALI
   ======================================== */

* {
    font-family: 'Roboto', sans-serif;
}

html, body {
    height: 100%;
}

body {
    font-family: var(--font-family-primary), serif, sans-serif;
    font-size: 15px;
    line-height: 1.4;
    color: var(--color-dark);
    background: linear-gradient(65deg, rgb(255 255 255) 0%, rgb(247 247 247) 100%);
}

body:has(div.login) {
    /*background-image: url('/static/img/tornelli-uscita-stazione-shape-GettyImages2216296074_1920x900.jpg');*/
    background-position: 30% center;
    background-repeat: no-repeat;
    background-size: cover;
}


/* ========================================
   SCROLLBAR PERSONALIZZATA
   ======================================== */

*::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    background: #f0f0f0;
}

*::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    border-radius: var(--border-radius-type-1);
}

*::-webkit-scrollbar-thumb {
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0,0,0,.3);
    background-color: #949494;
}


/* ========================================
   TIPOGRAFIA - INTESTAZIONI
   ======================================== */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--font-family-primary), serif, sans-serif, Arial;
    font-weight: 300;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
    color: #999999;
}


/* ========================================
   ELEMENTI BASE - HEADER
   ======================================== */

header {
    margin-bottom: 20px;
}


/* ========================================
   ELEMENTI BASE - LINK
   ======================================== */

a {
    color: var(--color-primary-dark);
}

a:hover,
a:focus {
    color: var(--color-primary-dark);
    text-decoration: none;
}

a:focus {
    outline: none;
}


/* ========================================
   ELEMENTI BASE - ICONE
   ======================================== */

i {
    font-size: 16px;
}


/* ========================================
   ELEMENTI BASE - CODICE E PRE
   ======================================== */

kbd {
    border-radius: 0;
}

pre {
    border-radius: 0;
}


/* ========================================
   ELEMENTI BASE - CITAZIONI
   ======================================== */

blockquote {
    border-left-width: 1px;
    color: #6f6f6f;
}

blockquote footer,
blockquote small,
blockquote .small {
    color: #6f6f6f;
    font-size: 12px;
    font-weight: 300;
}

.blockquote-reverse,
blockquote.pull-right {
    border-right-width: 1px;
}


/* ========================================
   ELEMENTI BASE - TABELLE
   ======================================== */

table {
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 0 !important;
}

caption {
    color: #999999;
}


/* ========================================
   ELEMENTI BASE - OUTPUT
   ======================================== */

output {
    color: #6f6f6f;
}


/* ========================================
   FORM - INPUT BASE
   ======================================== */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

input[type="checkbox"] {
    margin-top: 0;
    box-shadow: none;
}


/* ========================================
   FORM - FIELDSET
   ======================================== */

fieldset {
    border: 1px solid #dddddd;
    border-radius: 2px;
}


/* ========================================
   FORM - LABEL
   ======================================== */

label,
.control-label,
.checkbox,
.radio {
    font-size: 16px;
    font-weight: normal;
}


/* ========================================
   FORM - INPUT PERSONALIZZATI
   ======================================== */

.date_hour_picker {
    width: 100%;
}

.small-input {
    max-width: 100px;
    padding: 5px 8px;
}

.full-width-input {
    width: 100%;
    max-width: 250px;
    min-width: 100px;
    max-height: 150px;
    min-height: 30px;
}


/* ========================================
   NAVIGAZIONE - BREADCRUMB
   ======================================== */

.breadcrumb {
    border-radius: 3px;
    font-size: 10px;
    font-weight: 300;
    text-transform: uppercase;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li + li:before {
    padding: 0 5px;
    color: #999999;
    content: "/\00a0";
}

.breadcrumb > .active {
    color: #333333;
}


/* ========================================
   COMPONENTI - ALERT BASE
   ======================================== */

.alert {
    border-radius: 10px;
    padding: 10px 15px;
}

.alert .alert-link {
    font-weight: normal;
    color: #fff;
    text-decoration: underline;
}


/* ========================================
   COMPONENTI - ALERT SUCCESS
   ======================================== */

.alert-success {
    color: var(--color-white);
    background-color: #43ac6a;
    border-color: #3c9a5f;
}

.alert-success hr {
    border-top-color: #358753;
}

.alert-success .alert-link {
    color: #e6e6e6;
}


/* ========================================
   COMPONENTI - ALERT INFO
   ======================================== */

.alert-info {
    color: var(--color-white);
    background-color: #5bc0de;
    border-color: #3db5d8;
}

.alert-info hr {
    border-top-color: #2aabd2;
}

.alert-info .alert-link {
    color: #e6e6e6;
}


/* ========================================
   COMPONENTI - ALERT WARNING
   ======================================== */

.alert-warning {
    color: var(--color-white);
    background-color: #e99002;
    border-color: #d08002;
}

.alert-warning hr {
    border-top-color: #b67102;
}

.alert-warning .alert-link {
    color: #e6e6e6;
}


/* ========================================
   COMPONENTI - ALERT DANGER
   ======================================== */

.alert-danger {
    color: var(--color-white);
    background-color: #f04124;
    border-color: #ea2f10;
}

.alert-danger hr {
    border-top-color: #d32a0e;
}

.alert-danger .alert-link {
    color: #e6e6e6;
}


/* ========================================
   ANIMAZIONI - KEYFRAMES
   ======================================== */

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}


/* ========================================
   VIEWPORT - MS VIEWPORT
   ======================================== */

@-ms-viewport {
    width: 100vw;
}