/*** CSS by Luigi Astarita @ Astartup ***/
/* Copyright 2023 Luigi Astarita */

/*** Import fonts ***/
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@500;600;700;900&family=Red+Hat+Text:wght@300;400;500;600;700&display=swap');

:root {
    --color-grigiosfondo: #EBEBEB;
    --color-base: #1D212A;
    --color-rosso: #DD0112;
    --color-verde: #47B301;
    --color-main: #00A2E0;
    --color-giallo: #FFBF00;
    --color-arancione: #F3663A;
    --color-vet: #7D00E0;
    --color-trasp: rgba(0, 0, 0, 0);
    --font-1: 'Red Hat Display', sans-serif;
    --font-2: 'Red Hat Text', sans-serif;
    --gradient-base: linear-gradient(180deg, rgba(0, 41, 57, 1) 0%, rgba(0, 0, 0, 1) 100%);
}

body {
    font-family: var(--font-2);
    color: var(--color-base);
    background: rgba(6, 26, 44, 1);
}

/* body::before {
    background: linear-gradient(0deg, rgba(6, 26, 44, 1) 0%, rgba(6, 26, 44, 0.5) 100%), url(../images/bg.png) no-repeat;
    background-size: cover;
    background-position: top;
    display: block;
    position: fixed;
    content: "";
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
} */

body::before {
    background: url(../images/bg/bg.jpg) no-repeat;
    background-size: cover;
    background-position: top;
    display: block;
    position: fixed;
    content: "";
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-1);
    font-weight: 900;
    margin: 0;
}

h3,
h4 {
    font-weight: 700;
}

h1.h1-success,
h1.h1-success a {
    color: var(--color-verde);
}

h1.h1-success svg {
    width: 52px;
    height: auto;
    vertical-align: middle;
    margin: -8px 5px 0 0;
}

h1.h1-success svg * {
    stroke: var(--color-verde);
}

h1 a {
    text-decoration: none;
    transition: color .2s;
}

h1 .h1-text {
    display: block;
    font-weight: 400;
    font-size: 1.1rem;
    margin-top: .3rem;
    color: #888;
    line-height: 130%;
}

h1.h1-success .h1-text {
    padding-left: 66px;
    margin-top: 0;
}

.sottotitolo {
    margin: 1rem 0 0;
    border-bottom: 2px solid var(--color-main);
}

.sottotitolo-vet {
    border-bottom: 2px solid var(--color-vet);
}

.sottotitolo span {
    font-size: .8rem;
    /* border-left: 3px solid var(--color-main); */
    padding: .5rem 1rem;
    background: var(--color-main);
    display: inline-block;
    color: #FFF;
    border-radius: 0 6px 0 0;
    text-transform: uppercase;
    font-weight: 500;
    position: relative;
    z-index: 2;
}

.btn-collapse span {
    cursor: row-resize;
}

.sottotitolo-big span {
    font-size: 1.2rem;
    text-transform: none;
}

.sottotitolo-big span svg {
    width: 28px;
    height: auto;
}

.sottotitolo span:nth-of-type(2) {
    background: var(--color-grigiosfondo);
    color: #888;
    margin-left: -10px;
    padding-left: calc(1rem + 10px);
    z-index: 1;
    text-transform: none;
}

.sottotitolo span:nth-of-type(2) b {
    color: var(--color-arancione);
}

.sottotitolo-warning {
    border-color: var(--color-arancione);
}

.sottotitolo-warning span {
    background: var(--color-arancione);
}

.sottotitolo2 {
    margin: 1rem 0 0;
    border-bottom: 2px solid #666;
}

.sottotitolo2 span {
    font-size: .8rem;
    /* border-left: 3px solid var(--color-main); */
    padding: .5rem 1rem;
    background: #666;
    display: inline-block;
    color: #FFF;
    border-radius: 0 6px 0 0;
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    z-index: 2;
}

.info {
    font-size: .9rem;
    font-weight: 400;
    line-height: 120%;
    color: rgba(0, 0, 0, .4);
}

.helper {
    vertical-align: top;
    transform: translateY(-1px);
    display: inline-block;
    float: right;
    cursor: help;
}

.helper svg circle {
    stroke: var(--color-main);
}

.helper svg rect {
    fill: var(--color-main);
}

a {
    color: var(--color-base);
}

a:hover {
    color: var(--color-main);
}

.text-success {
    color: var(--color-verde) !important;
}

.text-primary {
    color: var(--color-main) !important;
}

.bg-success {
    background-color: var(--color-verde) !important;
}

.bg-dark {
    background-color: var(--color-base) !important;
}

.bg-danger {
    background-color: var(--color-rosso) !important;
    border-color: var(--color-rosso) !important;
}

.bg-warning.modal-header {
    background: var(--color-arancione) !important;
    color: #FFF;
}

.bg-vet {
    background: var(--color-vet) !important;
}

.text-bg-main {
    background: var(--color-main);
}

.btn {
    font-weight: 500;
    border-radius: 5px;
    font-family: var(--font-1);
}

.table .btn {
    border-radius: 3px;
}

.btn-lg {
    padding: .3rem 1.2rem .3rem .7rem;
}

.ricerca .btn-lg {
    padding: .5rem 1.2rem .5rem .7rem;
}

.ricerca .btn.dropdown-toggle {
    border: 1px solid var(--bs-border-color);
}

.btn-success,
.btn-success:hover {
    background-color: var(--color-verde);
    border-color: var(--color-verde);
}

.btn-danger,
.btn-danger:hover {
    background-color: var(--color-rosso);
    border-color: var(--color-rosso);
}

.btn-primary,
.btn-primary:hover {
    background-color: var(--color-main);
    border-color: var(--color-main);
}

.btn-info {
    color: #FFF !important;
}

.btn-hover {
    transition: transform .2s;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: transform .3s, box-shadow .3s, border-radius .3s;
}

.btn-hover:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
}

.btn-main,
.btn-main:hover {
    background-color: var(--color-main);
    border-color: var(--color-main);
    color: #FFF;
}

.btn-vet,
.btn-vet:hover {
    background-color: var(--color-vet);
    border-color: var(--color-vet);
    color: #FFF;
}

#visibles {
    position: fixed;
    bottom: calc(50px + 2rem);
    width: 100%;
    height: 1px;
    background: rgba(255, 0, 0, .1);
    z-index: 1000;
    display: block;
}

.btn-container {
    min-height: 52px;
    display: flex;
    justify-content: flex-end;
    margin: 0 1rem 1rem;
    align-items: flex-start;
}

.btn-floating {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    /* border: 3px solid #FFF; */
    transition: box-shadow .3s, border .3s, transform .3s;
}

.lock .btn-floating {
    box-shadow: 0 15px 30px rgba(0, 0, 0, .3);
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 2;
}

.btn-container:not(.lock) .btn-floating {
    animation: lock .3s;
}

@keyframes lock {
    0% {
        transform: scale(1);
        box-shadow: 0 25px 50px rgba(0, 0, 0, .3);
    }

    75% {
        transform: scale(1.1);
        box-shadow: 0 25px 50px rgba(0, 0, 0, .3);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }
}

.btn span {
    /* background: rgba(255, 255, 255, .2); */
    /* border: 1px solid rgba(255, 255, 255, .3); */
    /* border: none; */
    display: inline-block;
    border-radius: 3px;
    margin-top: -3px;
    padding: 5px 7px;
    margin-left: -5px;
    /* box-shadow: 0 3px 6px rgba(0, 0, 0, .2) inset;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .2) inset, 1px 1px 0px rgba(0, 0, 0, .2) inset, 1px 1px 0px rgba(255, 255, 255, .3); */
}

.btn-lg span {
    padding: 5px 9px;
}

.btn-success span {
    /* background: #42A600; */
    /* border: 1px solid rgba(255, 255, 255, .2); */
}

.btn-danger span {
    /* background: #BF0110; */
    /* border: 1px solid rgba(255, 255, 255, .2); */
}

.btn-warning {
    color: #FFF;
    background: var(--color-arancione);
    border-color: var(--color-arancione);
}

.btn-warning:hover {
    color: #FFF;
    background: var(--color-arancione);
    border-color: var(--color-arancione);
}

.btn svg {
    width: 24px;
    height: auto;
}

.btn-del svg {
    width: auto;
    height: auto;
}

.btn-shop svg {
    margin-right: -3px;
    width: 30px;
    margin-top: -5px;
}

.btn-offerta svg {
    margin-right: -3px;
    width: 22px;
    margin-top: -6px;
    margin-bottom: -4px;
}

.btn-alimentarista svg {
    width: 26px;
    margin-top: -6px;
    margin-bottom: -3px;
}

.btn-alimentarista svg * {
    stroke: #FFF;
}

.btn-attivita svg {
    width: 26px;
    margin-top: -6px;
    margin-bottom: -3px;
}

.btn-attivita svg * {
    stroke: #FFF;
}

.btn-documento {
    background: rgba(0, 0, 0, .05);
    padding: .2rem .5rem;
    font-weight: 400;
    border: 1px solid rgba(0, 0, 0, .05);
    font-size: .8rem;
    font-weight: 500;
    text-align: left;
}

.btn-documento:hover {
    background: var(--color-base);
    border-color: var(--color-base);
    color: #FFF;
}

.btn-documento svg {
    width: 15px;
    height: auto;
    vertical-align: bottom;
    margin-right: 3px;
}

br+.btn-documento {
    margin-top: 4px;
}

.btn-indietro {
    font-size: 1rem;
    display: block;
    margin-bottom: .2rem;
}

.btn-indietro span {
    font-size: 1rem;
    display: inline-block;
    font-weight: 400;
    background: var(--color-grigiosfondo);
    padding: .2rem .7rem;
    border-radius: 5px;
}

.btn-elimina svg {
    width: 16px !important;
    height: auto;
    margin-top: -3px;
}

.btn-add svg {
    width: 16px;
    height: auto;
    margin-top: -3px;
}

.btn-edit svg {
    width: 20px;
    height: auto;
    margin-top: -3px;
}

.btn-fad svg {
    width: 40px;
    height: auto;
    margin-top: -3px;
    margin-right: -4px;
}

.btn strong {
    font-weight: 400;
    display: inline-block;
    padding-right: 0;
    font-size: 1.1rem;
    vertical-align: middle;
}

.btn-export svg {
    width: 20px;
    height: auto;
    margin-top: -3px;
    margin-right: -4px;
}

.btn-group-export .btn {
    background: #212529;
}

.btn-group-export .btn-check:checked+.btn {
    background: var(--color-verde);
    border-color: var(--color-verde);
}

.input-group-regola svg {
    width: 20px;
    vertical-align: middle;
    margin-top: -4px;
}

.bootstrap-select>.dropdown-toggle {
    background: #FFF;
    border: none;
}

.bootstrap-select>.selectpicker+.dropdown-toggle {
    border: 1px solid var(--bs-border-color);
}

.quick-search .bootstrap-select>.selectpicker+.dropdown-toggle {
    border: none;
    padding: .55rem .8rem;
}

.quick-search .bootstrap-select>.selectpicker.selez-mese+.dropdown-toggle {
    min-width: 120px;
}

.quick-search .bootstrap-select .dropdown-toggle {
    max-width: 500px;
}

.table .bootstrap-select>.selectpicker+.dropdown-toggle {
    font-weight: 400;
}

.table {
    font-size: .9rem;
}

.table thead tr th {
    /* background: var(--color-grigiosfondo); */
    background: rgb(235, 235, 235);
    background: linear-gradient(0deg, rgba(235, 235, 235, .6) 0%, rgba(235, 235, 235, 0) 100%);
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.card .table thead tr th {
    background: #FFF;
}

.table th,
.table td {
    vertical-align: middle;
}

.card .table td {
    background: rgba(255, 255, 255, .3) !important;
}

.tablesaw th,
.tablesaw td {
    padding: .5em .25em;
}

.table tr th:first-of-type,
.table tr th:last-of-type,
.table tr td:first-of-type,
.table tr td:last-of-type {
    /* padding-left: 0;
    padding-right: 0; */
}

.table tr.disabled th,
.table tr.disabled td {
    opacity: .5;
}

.table tbody th {
    background: rgba(0, 0, 0, .05);
}

.table tbody th:last-of-type {
    background: rgba(0, 0, 0, .03);
}

.alert {
    border-radius: 5px;
    margin: 0 1rem 1rem;
}

.login .alert {
    margin: 1rem 0 0;
}

.alert-danger {
    background-color: var(--color-rosso);
    border-color: var(--color-rosso);
    color: #FFF;
}

.alert-success {
    background-color: var(--color-verde);
    border-color: var(--color-verde);
    color: #FFF;
}

.alert-warning {
    background-color: var(--color-giallo);
    border-color: var(--color-giallo);
    color: #FFF;
}

.dropdown-menu {
    box-shadow: 0 0 0 rgba(0, 0, 0, .0);
    transition: box-shadow .3s;
    border-radius: 6px 20px 20px 20px;
}

.dropdown-menu-end {
    border-radius: 20px 6px 20px 20px;
}

.dropdown-menu.show {
    box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
}

/* Misure fisse */

.w-100px {
    width: 100px;
}

/* Layout */

.main {
    /* background: #FFF; */
    margin: 1rem auto;
    width: calc(100% - 2rem);
    /* border-radius: 20px; */
    padding: 0;
    /* max-width: 1600px; */
    /* box-shadow: 0 30px 60px rgba(0, 0, 0, .7); */
    display: flex;
}

/* Sidebar */

.sidebar {
    background: var(--color-base);
    border-radius: 20px 0 0 20px;
    padding: 1rem 1.5rem 1.5rem;
    font-family: var(--font-1);
    position: relative;
    z-index: 3;
    transition: border-radius .3s, box-shadow .3s;
    box-shadow: 0 0 0 rgba(0, 0, 0, .0);
}

@media (max-width: 1199.98px) {
    .sidebar {
        position: absolute;
        width: calc(100% - 2rem);
        padding: 1rem;
        transition: border-radius .3s, max-height .3s;
        max-height: 72px;
        overflow: hidden;
        border-radius: 19px 19px 0 0;
    }

    .sidebar.open {
        max-height: 1000px;
        overflow: visible;
        border-radius: 20px;
        z-index: 5;
    }
}

@media (min-width: 1200px) {
    .sidebar {
        position: fixed;
        top: 1rem;
        left: 1rem;
        bottom: 1rem;
        width: 240px;
        overflow: visible;
        border-radius: 20px;
        box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
        transition: width .3s;
    }

    .scrolled .sidebar {}

    .sidebar.closed {
        width: 94px;
    }
}

.sidebar .logo {
    margin-bottom: 1rem;
    white-space: nowrap;
}

.sidebar .logo1 {
    width: auto;
    height: 50px;
    transition: height .3s, width .3s, margin .3s;
    margin-right: 2.5rem;
}

.sidebar .logo2 {
    width: auto;
    height: 42px;
    transition: height .3s, width .3s, margin .3s, opacity .3s;
    margin-left: 2.5rem;
}

@media (max-width: 1199.98px) {
    .sidebar .logo1 {
        height: 38px;
    }

    .sidebar .logo2 {
        height: 35px;
        margin-left: .3rem;
    }
}

@media (min-width: 1200px) {
    .sidebar.closed .logo1 {
        width: auto;
        height: 50px;
        margin: 0 6px;
    }

    .sidebar.closed .logo2 {
        height: 0;
        margin: 0;
    }
}

.navbar-toggler {
    position: absolute;
    top: 1.45rem;
    right: 1.4rem;
}

@media (min-width: 1200px) {
    .navbar-toggler {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .sidebar .navbar-nav {
        animation: hidenav .3s;
        animation-delay: 0;
        animation-fill-mode: both;
    }

    @keyframes hidenav {
        0% {
            opacity: 1;
        }

        100% {
            opacity: 0;
        }
    }

    .sidebar.open .navbar-nav {
        animation: shownav .3s;
        animation-delay: .2s;
        animation-fill-mode: both;
    }

    @keyframes shownav {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }
}

.sidebar .nav-item-divider {
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    border-top: 1px solid rgba(0, 0, 0, 1);
}

.sidebar .nav-link {
    color: #FFF;
    padding: .2rem 0;
    position: relative;
    border-radius: 4px;
}

.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .2);
}

.sidebar .nav-link.active,
.sidebar .nav-link.show {
    color: #FFF;
    background: var(--color-main);
}

.sidebar .nav-link>span {
    width: 45px;
    height: 40px;
    line-height: 38px;
    vertical-align: middle;
    display: inline-block;
    /* background: rgba(255, 255, 255, .1); */
    text-align: center;
    cursor: pointer;
}

.sidebar .nav-link>span svg {
    max-width: 32px;
    max-height: 32px;
}

.sidebar .nav-link-fuel>span svg {
    max-width: 28px;
    max-height: 28px;
}

.sidebar .nav-link>b {
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    transition: width .3s;
    display: inline-block;
    width: calc(100% - 50px);
    vertical-align: middle;
    text-indent: 5px;
    height: 40px;
    line-height: 40px;
    border-radius: 0 10px 10px 0;
}

@media (min-width: 1200px) {
    .sidebar.closed .nav-link>b {
        width: 0;
        position: absolute;
        background: var(--color-base);
        box-shadow: 2px 15px 30px rgba(29, 33, 42, .4);
    }

    .sidebar.closed .nav-link:hover>b {
        width: 200px;
        padding-right: 1rem;
    }
}

.sidebar .dropdown-toggle::after {
    display: none;
}

/* Main container */

.maincol {
    background: #FFF;
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}

@media (max-width: 1199.98px) {
    .maincol {
        padding-top: 72px;
    }
}

@media (min-width: 1200px) {
    .maincol {
        /* width: calc(100% - 240px); */
        width: calc(100% - 250px);
        margin-left: 250px;
        min-height: 70vh;
        transition: margin-left .3s, width .3s;
    }

    .sidebar.closed+.maincol {
        width: calc(100% - 94px - 10px);
        margin-left: auto;
        min-height: 70vh;
    }
}

/* Topbar */

.topbar {
    background: var(--color-grigiosfondo);
    border-radius: 20px 20px 0 0;
    display: flex;
    font-family: var(--font-1);
}

@media (max-width: 1199.98px) {
    .topbar {
        border-radius: 0;
    }
}

.breadcrumb {
    margin: 0;
    padding: .5rem;
}

@media (max-width: 1199.98px) {
    .breadcrumb {
        display: none;
    }
}

.breadcrumb-item {
    margin-right: .3rem;
    position: relative;
}

.breadcrumb-item>a {
    color: var(--color-main);
    text-decoration: none;
    padding: .2rem .5rem !important;
    border-radius: 6px;
    background: #FFF;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.breadcrumb-item a:hover {
    color: #FFF;
    background: var(--color-main);
}

.breadcrumb-item span {
    color: var(--color-base);
    text-decoration: none;
    padding: .2rem .5rem !important;
    border-radius: 6px;
    background: #FFF;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "";
    display: block;
    width: 6px;
    height: 9px;
    background: url(../images/icons/breadcrumb.png) no-repeat;
    background-size: auto 100%;
    position: absolute;
    top: 8px;
    left: -1px;
    filter: grayscale(1);
}

.breadcrumb-item>a.breadcrumb-add {
    /* background: var(--color-main); */
    background: var(--color-verde);
    position: relative;
}

.breadcrumb-item>a.breadcrumb-add svg {
    margin: -2px 0 1px;
    transform: scale(.8);
    opacity: .6;
}

.breadcrumb-item>a.breadcrumb-add:hover svg {
    opacity: 1;
}

.breadcrumb-item>a.breadcrumb-add em {
    font-style: normal;
    color: #FFF;
    text-indent: 3px;
    display: inline-block;
    max-width: 0;
    transition: max-width .3s, padding .3s;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
    position: absolute;
    background: var(--color-verde);
    height: 100%;
    line-height: 100%;
    z-index: 2;
    top: 0;
    margin-left: -3px;
    padding: 5.5px 0 0 0;
    border-radius: 6px;
}

.breadcrumb-item>a.breadcrumb-add:hover em {
    max-width: 150px;
    padding: 5.5px 8px 0 0;
}

/* Menu secondario in alto a destra */

.menu2 {
    display: flex;
}

.menu2 .dropdown {
    margin-right: 4px;
}

.menu2 .dropdown-toggle {
    padding: 7px 4px;
    line-height: 120%;
    text-align: left;
    position: relative;
    border: none;
}

.menu2 .dropdown-toggle svg {
    vertical-align: middle;
    margin: 0 1px 1px 0;
    width: auto;
    height: auto;
}

.menu2 .dropdown-toggle strong {
    font-size: .9rem;
    font-weight: 600;
    font-family: var(--font-2);
}

.menu2 .dropdown-toggle::after {
    display: none;
}

.menu2 .dropdown-menu.show {
    animation: showdropdown .3s;
    animation-fill-mode: both;
    overflow: hidden;
}

@keyframes showdropdown {
    0% {
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
        opacity: 0;
    }

    100% {
        box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
        opacity: 1;
    }
}

/* Pagination */

.pagination .disabled>.page-link,
.page-link.disabled {
    background-color: transparent;
    opacity: .3;
}

.pagination .active>.page-link,
.page-link.active {
    background-color: var(--color-base);
    border-color: var(--color-base);
    color: #FFF;
}

.pagination .page-link {
    color: var(--color-base);
}

.ricerca {
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
}

.ricerca.open {}

.ricerca-inner {
    background: var(--color-grigiosfondo);
    padding: .6rem 1rem 1rem;
    display: none;
    margin-bottom: 1.5rem;
    border-radius: 6px;
    border: 3px solid var(--color-main);
}

.ricerca.open .ricerca-inner {
    /* transform: translateX(100%); */
    /* display: block; */
}

.ricerca-intro {
    background: #D2F2FF;
    margin: -.6rem -1rem .6rem -1rem;
    padding: .5rem .5rem .5rem 1rem;
    /* border-top: 2px solid var(--color-arancione); */
    border-bottom: 1px solid rgba(0, 0, 0, .15);
    line-height: 120%;
    border-radius: 3px 3px 0 0;
    display: flex;
    align-items: center;
}

.ricerca-intro svg {
    margin-right: .2rem;
    transform: scale(.9);
}

.ricerca-intro svg * {
    fill: var(--color-main);
}

.ricerca-intro strong {
    color: var(--color-main);
    /* padding: .5rem 0; */
}

.ricerca-intro .dropdown {
    border-color: var(--color-main);
}

.ricerca-intro .dropdown .btn-primary {
    border-color: var(--color-main);
    padding-left: .8rem;
    font-weight: 500;
    border-radius: 3px;
}

.ricerca-footer {
    /* background: rgba(255,255,255,.5); */
    margin: .5rem -1rem -1rem -1rem;
    padding: 0;
    /* border-top: 1px solid rgba(255, 255, 255, 1); */
    line-height: 120%;
    border-radius: 0 0 3px 3px;
    display: flex;
    align-items: stretch;
}

@media (max-width: 767.98px) {
    .ricerca-footer {
        flex-direction: column;
    }
}

.ricerca-footer p {
    padding: 1rem;
    margin: 0;
    font-size: .9rem;
    color: rgba(0, 0, 0, .5);
}

.ricerca-footer p svg {
    margin: -2px 3px 0 0;
}

.ricerca-footer .btn {
    margin-left: auto;
    padding: 1rem 2rem;
    border-radius: 6px 0 0 0;
    font-size: 1.2rem;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    .ricerca-footer .btn {
        margin-left: 0;
        border-radius: 0;
    }
}

.ricerca-footer .btn-lg-dropdown-toggle {
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, .4) !important;
}

.ricerca-footer .btn svg {
    margin-right: .3rem;
    margin-top: -2px;
}

@media (max-width: 767.98px) {
    .ricerca-footer .btn span {
        display: none;
    }
}

.ricerca .form-label {
    margin: 0;
    text-transform: uppercase;
    font-size: .85rem;
    font-weight: 500;
}

.ricerca .form-control {
    border-radius: 3px;
}

.ricerca .btn-group-submit {}

.ricerca .btn-group-submit .btn {
    border: none;
}

.ricerca .btn {
    /* border-radius: 3px; */
}

.ricerca .btn-block {
    /* width: 100%;
    height: 100%;
    display: block;
    padding: .5rem; */
}

.ricerca .btn-block svg {
    vertical-align: text-top;
}

.ricerca .btn-group {
    /* width: 100%;
    display: block; */
}

.ricerca .btn-block2 {
    /* width: 100%;
    height: 67%;
    display: block;
    padding: .5rem;
    border-radius: 3px 3px 0 0 !important;
    margin: 0 !important; */
}

.ricerca .btn-block3 {
    /* width: 100%;
    height: 33%;
    display: block;
    padding: .5rem;
    border-radius: 0 0 3px 3px !important;
    margin: 0 -1px 0 0 !important;
    border: none !important;
    border-top: 1px solid #555 !important; */
}

.ricerca .form-check {
    margin-top: -2px;
}

.ricerca .form-check-label {
    font-size: .8rem;
    text-transform: uppercase;
    font-weight: 500;
}

.ricerca label .form-check {
    margin: 0;
    min-height: auto;
}

.ricerca label .form-check-label {
    font-size: .7rem;
    text-transform: uppercase;
    font-weight: 400;
    line-height: 100%;
}

.ricerca label .form-switch .form-check-input {
    margin-left: -2rem;
}

/* ricerca-sm */

.ricerca-sm {}

.ricerca-sm .ricerca-inner {
    padding: .4rem .7rem .2rem;
}

.ricerca-sm .ricerca-intro {
    display: none;
}

.ricerca-sm form {
    display: flex;
}

.ricerca-sm form>.row {
    width: 100%;
    padding-right: .7rem;
}

.ricerca-sm .ricerca-footer {
    margin: -.4rem -.7rem -.2rem auto;
    border-radius: 0 0 3px 3px;
    display: flex;
}

.ricerca-sm .ricerca-footer .btn {
    padding: 1rem;
    border-radius: 0;
    font-size: 1rem;
    text-align: center;
}

.ricerca-sm .ricerca-footer .btn span {
    margin: 0;
}

.ricerca-sm .ricerca-footer .btn svg {
    display: none;
}

.ricerca-sm .form-label {
    font-size: .75rem;
    margin-bottom: -.1rem;
    display: block;
}

.toggle-ricerca-sm strong {
    font-size: .875rem !important;
}

.login {
    display: flex;
    height: 90vh;
}

.login .main {
    width: 90%;
    max-width: 400px;
    margin: auto;
    padding: 20px;
    display: block;

    background: #FFF;
    border-radius: 20px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, .7);
}

.login .navbar-brand {
    display: inline-block;
    background: var(--color-base);
    border-radius: 5px;
    padding: .5rem;
}

.login .navbar-brand {
    display: inline-block;
    background: var(--color-base);
    border-radius: 5px;
    padding: 1rem;
    width: 100%;
    text-align: center;
}

.login .navbar-brand img:first-of-type {
    height: 50px;
}

.login .navbar-brand img:last-of-type {
    height: 40px;
}

.login h1 {
    font-size: 2rem;
    line-height: 84px;
}

.login .form-control {
    background: var(--color-grigiosfondo);
    font-weight: 500;
    font-size: 1.1rem;
}

.login label::after {
    background: var(--color-grigiosfondo) !important;
}

.login .btn-dark {
    font-size: 2rem;
    /* text-transform: uppercase; */
    font-weight: 700;
    font-family: var(--font-1);
    padding: .7rem 1rem;
}

/* Header delle pagine */

.intestazione {
    padding: 1rem;
    display: flex;
    /* align-items: center; */
    align-items: flex-start;
    justify-content: space-between;
}

@media (max-width: 991.98px) {
    .intestazione {
        flex-wrap: wrap;
    }
}

.intestazione-center {
    justify-content: center;
    padding: 2rem 1rem 1rem;
}

.intestazione h1,
.intestazione h2 {
    padding-top: 5px;
    padding-left: 1rem;
}

@media (max-width: 575.98px) {

    .intestazione h1,
    .intestazione h2 {
        padding-top: 0;
        padding-left: 0;
    }
}

.intestazione h1 a,
.intestazione h2 a {
    text-decoration: none;
}

.intestazione h1 .btn-indietro,
.intestazione h2 .btn-indietro {
    line-height: 140%;
}

.intestazione h1 .badge.bg-secondary,
.intestazione h2 .badge.bg-secondary {
    font-size: 1rem;
    vertical-align: middle;
    background: rgba(0, 0, 0, .3) !important;
}

.intestazione h1 .badge.bg-danger,
.intestazione h2 .badge.bg-danger {
    font-size: .7rem;
    vertical-align: middle;
    background: var(--color-rosso) !important;
    margin-top: -2px;
    border-radius: 3px;
}

.intestazione h1 small .badge,
.intestazione h2 small .badge {
    font-size: .8rem;
    vertical-align: middle;
    margin-top: -2px;
    border-radius: 3px;
}

.intestazione h1 small,
.intestazione h2 small {
    font-size: 1.3rem;
    display: block;
    font-weight: 700;
    color: var(--color-main);
}

.intestazione h1 small em,
.intestazione h2 small em {
    font-size: .85rem;
    display: inline-block;
    font-weight: 600;
    color: #666;
    font-style: normal;
    background: var(--color-grigiosfondo);
    padding: .3rem 1rem .3rem .8rem;
    border-radius: 30px;
    margin: .4rem .2rem .4rem 0;
    font-family: var(--font-2);
}

@media (max-width: 575.98px) {

    .intestazione h1 small em,
    .intestazione h2 small em {
        border-radius: 6px;
    }
}

.intestazione h1 small em svg,
.intestazione h2 small em svg {
    margin: -1px 0 0 0;
    transform: scale(.8);
}

.intestazione h1 small em span,
.intestazione h2 small em span {
    vertical-align: middle;
    display: inline-block;
    margin-right: .5rem;
}

@media (max-width: 575.98px) {

    .intestazione h1 small em span,
    .intestazione h2 small em span {
        display: block;
        margin-top: .3rem;
        margin-bottom: .3rem;
    }
}

.intestazione h1 b,
.intestazione h2 b {
    background: var(--color-base);
    line-height: 100%;
    display: inline-block;
    white-space: nowrap;
    width: 48px;
    height: 42px;
    line-height: 40px;
    vertical-align: middle;
    border-radius: 3px;
    text-align: center;
    position: relative;
    margin-top: -3px;
}

.intestazione h1 b svg,
.intestazione h2 b svg {
    vertical-align: middle;
    height: auto;
    margin-top: -3px;
}

.intestazione h1 b i,
.intestazione h2 b i {
    font-style: normal;
    font-size: 1rem;
    color: #FFF;
    white-space: nowrap;
    width: 0;
    display: inline-block;
    overflow: hidden;
    position: absolute;
    background: var(--color-base);
    transition: width .3s, padding .3s;
    top: 0;
    bottom: 0;
    border-radius: 0 3px 3px 0;
    padding: 0;
    font-weight: 500;
}

.intestazione h1 b:hover i,
.intestazione h2 b:hover i {
    width: 160px;
    padding: 0 1rem;
}

.intestazione h1 .badge-socio svg {
    width: 14px;
    height: auto;
    vertical-align: baseline;
    margin-right: 3px;
}

.badge-socio.badge-small {
    padding: .1rem .3rem 0;
    line-height: 100%;
    margin-top: -4px;
    vertical-align: middle;
}

.badge-socio.badge-small svg {
    width: 14px;
    vertical-align: middle;
    margin: -4px 3px -3px 0;
}

.intestazione .azioni {
    padding-left: 1rem;
    text-align: right;
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 991.98px) {
    .intestazione .azioni {
        padding: 1rem 0 0;
    }
}

.intestazione .azioni>* {
    margin-left: .3rem;
}

.intestazione .azioni .btn {
    white-space: nowrap;
    vertical-align: top;
}

@media (max-width: 991.98px) {
    .intestazione .azioni .btn {
        padding: 0 .8rem 0 .5rem;
    }

    .intestazione .azioni .btn strong {
        font-weight: 500;
        font-size: .9rem;
    }

    .intestazione .azioni .btn span {
        transform: scale(.8);
    }
}

.intestazione .azioni>.form-control {
    display: inline-block;
    width: auto;
    min-width: 120px;
    vertical-align: top;
    line-height: 1.65;
}

/* Badge tabelle */

.badge-si {
    background: var(--color-verde) url(../images/icons/check3.svg) center no-repeat;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    display: inline-block;
    vertical-align: text-bottom;
}

.badge-no {
    background: var(--color-rosso) url(../images/icons/close3.svg) center no-repeat;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    display: inline-block;
    vertical-align: text-bottom;
}

.badge-nooff {
    background: #CCC url(../images/icons/close3.svg) center no-repeat;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    display: inline-block;
    vertical-align: text-bottom;
}

.badge-wait {
    background: var(--color-giallo) url(../images/icons/wait.svg) center no-repeat;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    display: inline-block;
    vertical-align: text-bottom;
}

/* Quick search */

.quick-search {
    margin: 0 1rem 1rem;
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 767.98px) {
    .quick-search {
        width: 100%;
        margin: 0;
        padding: 0 1rem;
    }
}

.quick-search-planning-cont {
    height: 102px;
}

@media (max-width: 767.98px) {
    .quick-search-planning-cont {
        height: 228px;
    }

    .quick-search-planning>.input-group {
        margin-bottom: .5rem !important;
    }
}

.quick-search-planning {
    margin: 0 1rem;
    padding-top: 1rem;
    flex-wrap: wrap;
    /* height: 102px; */
}

@media (max-width: 767.98px) {
    .quick-search-planning {}
}

.quick-search>.input-group {
    border: 5px solid var(--color-main);
    font-weight: bold;
    background: var(--color-main);
    border-radius: 10px;
    margin-right: auto;
    width: auto;
    margin-bottom: .5rem;
}

@media (max-width: 767.98px) {
    .quick-search>.input-group {
        width: 100%;
    }
}

.quick-search-planning>.input-group {
    margin-bottom: 0;
}

.quick-search .input-group .input-group-text {
    background: var(--color-main);
    border: none !important;
}

.quick-search .input-group .form-select {
    border: none !important;
    border-radius: 4px !important;
    margin-right: 1px;
}

.quick-search>.form-control {
    width: auto;
}

.quick-search-pickup .btn {
    border-radius: 5px !important;
    margin: 0 !important;
}

.quick-search-pickup .btn.active {
    background: #004A66;
    font-weight: 700;
}

.quick-dates {
    background: var(--color-main);
    display: flex;
    padding: 5px;
    border-radius: 10px;
    margin-bottom: .5rem;
}

@media (max-width: 767.98px) {
    .quick-dates {
        width: 100%;
        margin-bottom: .5rem !important;
    }
}

.quick-search-planning .quick-dates {
    margin-right: auto;
    margin-bottom: 0;
}

.quick-dates>svg {
    width: 34px;
    height: auto;
    margin: 0 10px;
}

@media (max-width: 767.98px) {
    .quick-dates>svg {
        display: none;
    }
}

.quick-dates .btn svg {
    margin: 0;
    width: 20px;
}

.quick-dates>.btn,
.quick-dates>.input-group>.btn {
    background: var(--color-main);
    /* border: none; */
    border-color: rgba(255, 255, 255, .4);
    font-weight: 500 !important;
    color: #FFF;
    vertical-align: middle;
    border-radius: 4px;
    padding: .5rem 1rem;
}

@media (max-width: 767.98px) {
    .quick-dates>.btn {
        display: none;
    }
}

.quick-dates .form-control {
    border: none;
    border-radius: 4px 6px 6px 4px;
}

.quick-dates .input-group {
    border: none;
}

.quick-dates .input-group .input-group-text {
    background: var(--color-main);
    /* border: none; */
    border: 1px solid rgba(255, 255, 255, .4) !important;
    font-weight: 500 !important;
    color: #FFF;
    vertical-align: middle;
    border-radius: 4px;
    padding: .5rem 1rem;
}

.corse-td-sm,
.td-sm {
    width: 80px;
}

.corse-td-smd,
.td-smd {
    width: 100px;
}

.corse-td-md,
.td-md {
    width: 120px;
}

.table-corse strong {
    color: var(--color-main);
}

.table-corse em {
    font-style: normal;
    opacity: .5;
    font-size: .8rem;
}

.progress-biglietti {
    cursor: pointer;
}

.progress-biglietti .progress {
    margin-bottom: 3px;
    height: 8px;
    border-radius: 2px;
}

.progress-biglietti .progress:last-of-type {
    margin-bottom: 0;
}

.offcanvas-biglietti h5.offcanvas-title {
    line-height: 110%;
}

.offcanvas-biglietti h5.offcanvas-title small {
    font-size: .9rem;
    display: block;
    font-weight: 400;
    color: var(--color-main);
}

.offcanvas-biglietti h3 {
    font-size: 1.2rem;
    margin-bottom: .5rem;
    color: var(--color-main);
}

.offcanvas-biglietti h3 small {
    font-size: .9rem;
    display: block;
    font-weight: 400;
    color: var(--color-base);
}

.offcanvas-biglietti h4 {
    font-size: 1rem;
    margin-top: 2rem;
}

.offcanvas-biglietti h6 {
    /* color: var(--color-main); */
    opacity: .6;
    margin-top: .5rem;
    margin-bottom: .2rem;
    font-weight: 600;
    font-size: .9rem;
}

.offcanvas-corse span {
    display: inline-block;
    padding: .2rem .6rem;
    background: var(--color-grigiosfondo);
    font-size: .8rem;
    font-weight: 600;
    margin: 0 0 .2rem;
}

/* Card in cella */

td .card {
    margin: 0 .5rem .5rem 0;
    display: inline-block;
}

td .card h5 {
    font-size: .9rem;
}

.input-group-text {
    /* border: 1px solid #dee2e6 !important; */
}

.table-add .input-group-text {
    border: 1px solid var(--color-verde) !important;
}

.orari-sottozona-tr td {
    background: var(--color-grigiosfondo) !important;
}

.orari-sottozona,
.orari-sottozona .tablesaw-cell-content {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    padding-bottom: 0 !important;
}

.orario-sottozona {
    width: auto;
    margin: 0 .4rem .4rem 0;
}

.orario-sottozona .form-control {
    width: 90px;
}

.td-sottozona {
    white-space: nowrap;
    padding-left: 1rem !important;
    padding-right: .8rem !important;
}

th.pop span {
    border-bottom: 1px dotted #333;
    cursor: help;
}

th.pop svg {
    margin: auto;
}



























































/* Dashboard */

.nonconformita {
    border-radius: 5px;
    background: var(--color-grigiosfondo);
}

.nonconformita h2 {
    border-radius: 5px;
    background-color: var(--color-rosso);
    color: #FFF;
    padding: 1.3rem 1.5rem 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 8px;
    box-shadow: 0 10px 20px rgba(221, 1, 18, .3);
}

.nonconformita h2 svg {
    width: 32px;
    height: auto;
    margin-right: 5px;
    margin-top: 5px;
}

.nonconformita h2 .badge {
    padding: 4px 6px 3px;
    border-radius: 6px !important;
    margin-left: 4px;
}

.nonconformita ul {
    padding: .3rem 1.5rem 1rem;
    list-style: none;
    margin: 0;
}

.nonconformita ul li {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    font-weight: 500;
    font-size: 1rem;
}

.nonconformita ul li:last-of-type {
    border-bottom: none;
}

.nonconformita ul li a {
    text-decoration: none;
    display: block;
    padding: 6px 5px;
    transition: color .2s, background .2s;
    /* color: #FFF; */
}

.nonconformita ul li a:hover {
    background: rgba(0, 0, 0, .05);
}

.nonconformita ul li em {
    font-style: normal;
    color: rgba(0, 0, 0, .5);
    font-weight: 400;
}

.nonconformita ul li:last-of-type svg {
    width: 20px;
    height: auto;
    margin-left: 5px;
}

/* Dettaglio entità */

.card {
    background: var(--color-grigiosfondo);
    border-radius: 5px;
    border: none;
    padding: .7rem 1rem .2rem !important;
    margin: 0 1rem 1rem;
}

.card.pt-0 {
    padding-top: 0 !important;
}

.sottotitolo+.card,
.card+.card {
    border-radius: 0 0 5px 5px;
}

.card-consultant+.card {
    border-radius: 5px;
}

.card.card-info {
    margin-bottom: 0;
    border-radius: 0 !important;
    background: #D2F2FF;
    padding-bottom: 0 !important;
    /* border-bottom: 1px solid var(--color-main); */
    border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.card.card-vet {
    background: #DDD1E7;
    border-bottom: 1px solid var(--color-vet);
}

.card.card-info p {
    margin-bottom: .8rem !important;
    font-size: .9rem;
}

.card.card-consultant {
    /* background: #FFF; */
    display: flex;
    flex-direction: row;
    padding: 1rem !important;
    align-items: center;
    position: relative;
}

@media (max-width: 575.98px) {
    .card.card-consultant {
        flex-direction: column;
        padding-top: 1.5rem !important;
    }
}

.card.card-consultant div {
    width: 76px;
    height: 76px;
    overflow: hidden;
    border-radius: 50px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
}

.card.card-consultant div img {
    width: 100%;
}

.card.card-consultant span {
    width: calc(100% - 76px);
    padding-left: 1rem;
    display: flex;
    flex-direction: column;
    line-height: 115%;
}

@media (max-width: 575.98px) {
    .card.card-consultant span {
        width: 100%;
        padding: 1rem 0 0;
        text-align: center;
    }
}

.card.card-consultant span label {
    font-size: .75rem;
    text-transform: uppercase;
    padding-top: .2rem;
    font-weight: 600;
    background: var(--color-main);
    color: #FFF;
    position: absolute;
    top: -.7rem;
    display: inline-block;
    padding: .1rem .8rem;
    border-radius: 3px;
    transform: translateX(-.8rem);
    text-align: center;
}

@media (max-width: 575.98px) {
    .card.card-consultant span label {
        width: 90%;
        left: 5%;
        transform: translateX(0);
    }
}

.card.card-consultant span em {
    font-size: .8rem;
    font-style: normal;
}

.card.card-consultant span em i {
    font-style: normal;
}

@media (max-width: 575.98px) {
    .card.card-consultant span em i {
        display: block;
    }
}

.card.card-consultant span em u {
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .card.card-consultant span em u {
        display: none;
    }
}

.card.card-consultant span em b {
    font-weight: 600;
}

.card.card-consultant span em a {
    color: var(--color-main);
}

.card .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 0;
}

.card .row>* {
    /* margin-top: var(--bs-gutter-y); */
}

h3.titolo {
    font-size: 1.2rem;
    padding: .5rem 1rem;
    font-weight: 700;
}

.titolo .form-switch {
    font-size: .9rem;
    color: var(--color-base);
    display: inline-block;
    margin-left: .5rem;
    vertical-align: middle;
    margin-top: .3rem;
}

.titolo .form-switch .form-check-input {
    margin-top: 2px;
    margin-left: -33px;
}

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

.card .form-group {
    margin-bottom: .8rem;
}

.card .form-label {
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 500;
    margin: 0 0 .1rem;
    display: block;
}

.card .form-check-label {
    font-size: .9rem;
}

.card .form-control {
    border-radius: 3px;
    font-weight: 500;
    border: none;
}

.card .form-control:disabled {
    background-color: #FFF;
    color: #999;
    /* border: 1px solid #FFF; */
    opacity: 1;
}

.card .form-control::placeholder {
    color: #999;
}

.card .input-group-sm>.form-select {
    border: none;
}

.card .form-control-plaintext {
    padding: .375rem .75rem;
    font-weight: 500;
    background: rgba(255, 255, 255, .7);
    border-radius: 3px;
    border: none;
}

.card .form-control.form-control-color {
    height: 38px;
    width: 100%;
}

.card .btn {
    border-radius: 3px;
}

.input-group-text {
    border: none;
    font-weight: 500;
    border-radius: 3px 0 0 3px;
    /* border-color: #FFF !important; */
}

.card .table-responsive {
    margin: .25rem 0 -.25rem 0 !important;
}

.card .table td {
    background: transparent;
    border-color: rgba(0, 0, 0, .2);
    vertical-align: top;
}

/* .card .table tr:last-of-type td {
    border: none;
} */

/* Sopralluoghi */

.riepilogo {
    background: var(--color-grigiosfondo);
    margin: 0 1rem 1rem;
    border-radius: 10px;
    padding: 1.2rem 1.5rem;
    line-height: 130%;
}

.riepilogo label {
    display: block;
    text-transform: uppercase;
    font-size: .85rem;
    font-weight: 500;
    color: #999;
}

.riepilogo strong {
    display: block;
    font-size: 1.1rem;
}

.riepilogo .btn {
    font-size: .75rem;
    padding: 1px 6px;
    text-transform: uppercase;
    font-weight: 400;
}

.attivita {
    background: var(--color-grigiosfondo);
    border-radius: 54px 20px 20px 54px;
    padding: 1.3rem;
    margin: 0 0 1rem 1rem;
}

.stato-attivita {
    background: #FFF;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .2rem;
}

.attivita-success .stato-attivita {
    background: var(--color-verde);
    box-shadow: 0 5px 20px rgba(71, 179, 1, .7);
}

.attivita-danger .stato-attivita {
    background: var(--color-rosso);
    box-shadow: 0 5px 20px rgba(221, 1, 18, .5);
}

.stato-attivita svg {
    width: 34px;
    height: auto;
    margin-top: 4px;
}

.descrizione-attivita {
    display: flex;
    align-items: center;
    height: 100%;
    flex-wrap: wrap;
}

.attivita h3 {
    font-size: 1.4rem;
    font-weight: 500;
    width: 100%;
    line-height: 120%;
}

.attivita p {
    font-size: 1rem;
    font-weight: 400;
    width: 100%;
    line-height: 120%;
    color: #777;
    margin: 0;
}

.attivita p span.descrizione-attivita-continua {
    display: none;
}

.attivita p b {
    font-weight: 500;
}

.attivita p b em {
    text-decoration: underline;
    font-style: normal;
    cursor: pointer;
}

.attivita p b em:hover {
    color: var(--color-rosso);
}

.attivita p b em:not(.meno) span:last-of-type,
.attivita p b em.meno span:first-of-type {
    display: none;
}

.btns-attivita {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.attivita-file {
    display: flex;
    align-items: center;
    height: 100%;
}

.attivita-file svg {
    width: 26px;
    height: auto;
    margin-right: 6px;
}

.attivita-file a {
    display: block;
    line-height: 110%;
    font-weight: 500;
    text-decoration: none;
}

.attivita-file a em {
    display: block;
    font-size: .8rem;
    color: #999;
    margin-bottom: -1rem;
}

.attivita-file label {
    display: block;
    font-weight: 500;
    text-transform: uppercase;
    font-size: .8rem;
    color: #999;
}

/* Dettaglio azienda */

.nav-tabs .nav-link {
    font-weight: 500;
    color: var(--color-base);
    text-transform: uppercase;
    font-size: .8rem;
    background: var(--color-grigiosfondo);
    margin-right: 3px;
}

.nav-tabs .nav-link.active {
    background: var(--color-base);
    color: #FFF;
    border-color: var(--color-base);
}

.nav-tabs .nav-link svg {
    width: 20px;
    height: auto;
    margin-right: 3px;
    margin-bottom: -3px;
}

.nav-tabs .nav-link svg * {
    stroke: var(--color-rosso);
    stroke-width: 8px;
}

.nav-tabs .nav-link.active svg * {
    stroke: #FFF;
}

.nav-tabs .nav-item {
    position: relative;
}

.nav-tabs .nav-link .badge {
    font-size: .9rem;
    padding: 4px 7px;
    /* box-shadow: 0 3px 5px rgba(0, 0, 0, .3); */
    min-width: 22px;
    z-index: 1;
    position: absolute;
    top: -14px;
    right: 5px;
    border-radius: 20px;
    font-weight: 600;
}

.nav-tabs .nav-link .badge.text-bg-danger {
    background: var(--color-rosso) !important;
}

/* Documenti */

.documento svg {
    width: 30px;
    height: auto;
    float: left;
}

.documento:not(.documento-modal) svg {
    width: 25px;
    margin-top: 3px;
}

.documento.p-3 {
    padding: .6rem !important;
}

.documento2.p-3 {
    padding: .6rem .6rem .2rem .7rem !important;
}

.documento .ps-3 {
    padding-left: .6rem !important;
}

.documento .download svg {
    width: 20px;
}

.documento strong {
    display: inline-block;
    line-height: 100%;
}

.documenti-info {
    margin-top: -3px;
}

.documento small {
    display: block;
    opacity: .6;
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 500;
}

.documento em {
    font-size: .9rem;
    font-weight: 500;
    font-style: normal;
    padding: .2rem .6rem;
    background: rgba(0, 0, 0, .1);
    display: inline-block;
    border-radius: 3px;
    margin-left: .2rem;
}

.documenti .accordion-item {
    border: none !important;
}

.documenti .accordion-body {
    transition: padding .3s;
    padding: 0 0 0 0;
}

.documenti .show .accordion-body {
    padding: 0 0 0 1.5rem;
}

.folder {
    background: var(--color-grigiosfondo) !important;
    background: #DDD !important;
    border-radius: 10px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-base) !important;
}

.folder.collapsed {
    background: var(--color-grigiosfondo) !important;
    background: #DDD !important;
}

.folder svg:first-of-type {
    width: 40px;
    height: auto;
    margin-right: .8rem;
}

.folder svg:last-of-type {
    width: 47px;
    height: auto;
    margin-right: .35rem;
}

.accordion .accordion .folder svg:first-of-type {
    width: 33px;
}

.accordion .accordion .folder svg:last-of-type {
    width: 40px;
}

.folder.collapsed svg:last-of-type {
    display: none;
}

.folder:not(.collapsed) svg:first-of-type {
    display: none;
}

/* Modali */

.modal-header {
    /* padding: 0 0 0 1rem; */
}

.modal-header .btn {
    padding: 0;
}

.modal-header svg {
    width: 48px;
}

.modal-body {
    background: var(--color-grigiosfondo);
    padding-top: .7rem;
}

.modal .btn {
    border-radius: 3px;
}

.modal .form-label {
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 500;
    margin: 0;
    opacity: .5;
}

.modal .form-control {
    border-radius: 3px;
    font-weight: 500;
    border: none;
    border-color: #FFF;
}

.modal-footer .btn-lg svg {
    margin-top: -4px;
}

/* Conformità stato */

.btn-conformita .btn-outline-dark,
.btn-conformita .btn-outline-success,
.btn-conformita .btn-outline-danger {
    border-color: var(--color-base);
    color: var(--color-base);
    border-color: #FFF;
    background: #FFF;
    margin-right: 5px;
    margin-left: 0 !important;
    border-radius: 3px !important;
    white-space: nowrap;
    padding: 0 .8rem 0 0;
    font-size: .9rem;
    border: none !important;
}

.btn-conformita .btn-outline-dark {
    border-color: #FFF !important;
    padding: 0;
    margin-right: 0;
}

.btn-conformita .btn-outline-success:hover {
    background: var(--color-verde);
    color: #FFF;
}

.btn-conformita .btn-outline-danger:hover {
    background: var(--color-rosso);
    color: #FFF;
}

.btn-conformita .btn-check:checked+.btn-outline-success {
    background: var(--color-verde);
}

.btn-conformita .btn-check:checked+.btn-outline-danger {
    background: var(--color-rosso);
}

.btn-conformita .btn-outline-success span {
    background: var(--color-verde);
    margin-left: 0;
    margin-right: 5px;
}

.btn-conformita .btn-outline-danger span {
    background: var(--color-rosso);
    margin-left: 0;
    margin-right: 7px;
}

.btn-conformita .btn-outline-dark svg {
    width: 30px;
    height: auto;
    margin: 4px;
}

.btn-conformita .btn-outline-success svg,
.btn-conformita .btn-outline-danger svg {
    width: 20px;
    height: auto;
    margin: 4px;
}

.btn-conformita .btn-outline-dark svg * {
    fill: var(--color-base);
}

.btn-conformita .btn-check:checked+.btn-outline-dark svg * {
    fill: #FFF;
}

.btn-conformita .btn-outline-success svg * {
    stroke: #FFF;
}

.btn-conformita .btn-outline-danger svg * {
    stroke: #FFF;
}

.stato-ok,
.stato-ko,
.stato-wait {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: var(--color-verde);
}

.stato-ko {
    background: var(--color-rosso);
}

.stato-wait {
    background: var(--color-giallo);
}

.socio-ok,
.socio-ko,
.socio-wait {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 15px;
    background: var(--color-verde);
    vertical-align: middle;
    text-align: center;
}

.socio-ko {
    background: var(--color-rosso);
}

.socio-wait {
    background: rgb(255, 193, 7);
}

.socio-ok svg,
.socio-ko svg,
.socio-wait svg {
    width: 12px;
    height: auto;
    vertical-align: baseline;
    margin-top: 7px;
}

.socio-ko svg {
    width: 11px;
    margin-top: 6px;
}

.socio-wait svg {
    width: 7px;
    margin-top: 4px;
    margin-left: 3px;
}

.grafico {
    background: var(--gradient-base);
    color: #FFF;
    text-align: center;
    padding: 1rem !important;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: transform .2s, box-shadow .2s;
    border-radius: 30px;
}

.grafico:hover {
    transform: scale(1.05);
    box-shadow: 0 30px 60px rgba(0, 0, 0, .5);
}

.grafico div {
    position: relative;
    z-index: 2;
}

.grafico img {
    position: absolute;
    top: 11%;
    left: 11%;
    right: 11%;
    bottom: 11%;
    width: 78%;
    height: auto;
    border-radius: 100%;
    z-index: 1;
}

.grafico .in-ritardo {
    position: absolute;
    right: 0;
    bottom: 0;
    color: #FFF;
    z-index: 4;
}

.grafico .in-ritardo svg {
    margin-top: -3px;
    margin-right: 1px;
}

.grafico .gotoplanner {
    position: absolute;
    left: 3PX;
    top: 0;
    color: #FFF;
    z-index: 4;
}

.grafico a {
    text-decoration: none;
}

.grafico div a.grafico-user {
    position: absolute;
    top: 11%;
    left: 11%;
    right: 11%;
    bottom: 11%;
    width: 78%;
    height: 78%;
    z-index: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    line-height: 110%;
    color: #FFF;
    font-weight: 500;
}

.grafico div a strong {
    font-weight: 500;
}

.grafico span {
    color: rgba(255, 255, 255, .8);
    font-size: .85rem;
    display: block;
    padding-top: .4rem;
}

.grafico span a {
    color: rgba(255, 255, 255, .8);
    font-weight: 400;
}

.grafico canvas {
    position: relative;
    z-index: 4;
}

.grafico .progress-stacked {
    border-radius: 3px;
    height: 5px;
    background: transparent;
}

.grafico .progress {
    background: transparent;
}

.grafico .progress-bar {
    margin-right: 1px;
}

.grafico .bg-dark {
    background: #444 !important;
}

.modal-body.uploads {
    background: rgba(0, 0, 0, .15);
}

.uploads {
    background: rgba(0, 0, 0, .1);
}

.documento-modal {
    background: #FFF;
}

.modale-documento h5 {
    font-weight: 700;
}

.documento-modal strong {
    font-size: .9rem;
    width: 100%;
}

.documento-modal strong small {
    line-height: 100%;
    margin-top: -2px;
    margin-left: 1px;
}

.documento-modal strong svg {
    margin-right: .4rem;
    margin-bottom: .4rem;
}

.documento-footer {
    background: rgba(0, 0, 0, .05);
    border-radius: 0 0 10px 10px;
}

.documento-modal .documento-footer strong {
    display: inline-block;
    line-height: 100%;
    font-size: .8rem;
    margin-bottom: .4rem;
    padding-left: .7rem;
    opacity: .8;
    width: auto;
}

.documento-modal .documento-footer small {
    display: inline-block;
    opacity: .6;
    text-transform: inherit;
    font-size: .8rem;
    font-weight: 500;
}

.documento-upload {
    padding-top: 0 !important;
}

.documento-upload .btn-success {
    width: 100%;
    height: calc(100% - 2rem);
    margin-top: 1rem;
}

.rinnovo-automatico {
    border-radius: 2px;
    font-size: .8rem;
    vertical-align: middle;
    margin-left: .2rem;
}

.rinnovo-automatico svg {
    width: 12px;
    height: auto;
    vertical-align: middle;
    margin-top: -2px;
    margin-right: 2px;
}

.table-servizi {
    white-space: nowrap;
}

.empty {
    text-align: center;
    padding-top: 4rem;
}

.empty .empty-icon svg {
    width: 100px;
    height: auto;
    opacity: .7;
    margin-bottom: 1rem;
}

/* Servizi */

.servizio svg {
    width: 30px;
    height: auto;
    float: left;
}

.servizio .download svg {
    width: 20px;
}

.servizio strong {
    display: inline-block;
    line-height: 100%;
}

.servizio small {
    display: block;
    opacity: .6;
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 500;
}

.dash-intab {
    /* background: var(--color-grigiosfondo);
    padding: .5rem;
    border-top: 2px solid var(--color-rosso); */
    overflow: hidden;
    text-align: center;
    background: transparent;
    padding: 0 !important;
}

.dash-intab>div {
    margin-left: -3px;
}

.dash-intab>div>div>div {
    background: var(--color-grigiosfondo);
    border: 3px solid #FFF;
    padding: .7rem;
    border-radius: 10px !important;
    /* height: 100%; */
}

.dash-intab>div>div:first-of-type {
    /* background: rgba(0, 0, 0, .15); */
}

.dash-intab svg,
.dash-pagamenti svg {
    width: 14px;
    height: auto;
    opacity: .5;
}

.dash-intab h3,
.dash-pagamenti h3 {
    font-size: 1.4rem;
    /* color: var(--color-rosso); */
    opacity: .8;
}

.dash-intab strong {
    display: inline-block;
    line-height: 100%;
    font-size: 1.2rem;
}

.dash-intab strong em {
    font-style: normal;
    font-size: 1rem;
}

.dash-intab small {
    display: block;
    opacity: .6;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 500;
}

.dash-intab .badge {
    border-radius: 2px;
    padding: 2px 8px;
    vertical-align: middle;
    margin-top: 5px;
    display: block;
    font-size: .8rem;
}

.dash-intab .badge.bg-secondary {
    background: rgba(0, 0, 0, .3) !important;
}

.seleziona-anno {
    /* background: #FFF; */
    /* background: rgba(0, 0, 0, .05); */
    border-radius: 2px;
    display: flex;
    /* width: calc(100% + 2rem); */
    width: 100%;
    justify-content: space-between;
    align-items: center;
    /* margin: -1rem 0 -1rem -1rem;
    padding: 1rem; */
    /* border-right: 3px solid #FFF; */
    margin-top: .7rem;
}

.seleziona-anno .btn {
    border-radius: 2px;
    background: transparent;
    border: none;
}

.dash-pagamenti {
    background: transparent;
    padding: 1rem 0 !important;
}

.dash-pagamenti>div>div>div {
    background: var(--color-grigiosfondo);
    padding: .5rem;
    border-radius: 5px !important;
    text-align: center;
    margin-bottom: .4rem;
}

.dash-pagamenti .seleziona-anno {
    margin: .15rem 0;
}

.dash-pagamenti label {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    font-weight: 600;
    opacity: .6;
}

.dash-pagamenti strong {
    display: block;
    font-weight: 500;
    color: #555;
}

.dash-pagamenti em {
    display: block;
    font-style: normal;
    font-weight: 500;
    color: #555;
}

.pagamenti-necessari {
    font-size: .75rem;
    text-transform: uppercase;
    font-weight: 600;
    opacity: .6;
}

.pagamenti-necessari.bg-danger {
    opacity: 1;
    color: #FFF;
}

.avatar {
    position: relative;
}

.avatar img {
    max-width: 100%;
    height: auto;
    border: 2px solid #FFF;
    box-shadow: 0 15px 30px rgba(0, 0, 0, .2);
}

.avatar .btn {
    position: absolute;
    top: .5rem;
    left: .5rem;
}

.avatar .btn svg {
    width: 20px;
    height: auto;
    margin: .2rem 0;
}

.btn-slab svg {
    width: 36px;
    height: auto;
    margin-top: -4px;
}

/* Note servizi */

.servizi-note {
    padding: .8rem 1rem 1rem !important;
}

.servizi-note h3 {
    font-size: 1.1rem;
    margin-bottom: .2rem;
    font-weight: 600;
}

.servizi-note p {
    font-size: .9rem;
    line-height: 130%;
    margin: 0;
}

.servizi-note p.no-note {
    opacity: .5;
    font-style: italic;
}

.group-prezzo {
    width: 140px;
}

.group-prezzo .form-control {
    text-align: right;
}

.field-quantita {
    width: 60px;
    text-align: center;
}

.riga-totale {
    font-size: 1.2rem;
}

.riga-totale .form-control {
    font-weight: 700;
}

.sedem {
    font-style: normal;
    opacity: .5;
    display: block;
    line-height: 120%;
}

.servizio {
    border-left: 10px solid var(--color-base);
    position: relative;
}

.servizio h5 {
    font-size: 1.1rem;
    font-weight: 700;
}

.servizio textarea {
    height: 172px;
}

.servizio .btn-elimina {
    position: absolute;
    top: -10px;
    right: -10px;
    border-radius: 50px;
    padding: .25rem .3rem;
}

.servizio .btn-elimina svg {
    width: 16px !important;
    height: auto;
    margin: 3px;
}

.tableau {
    margin-bottom: 1rem;
}

.tableau .giorno {
    border: 1px solid rgba(0, 0, 0, .1);
    padding: .3rem .3rem 0;
    min-height: 400px;
    height: 100%;
    background: var(--color-grigiosfondo);
    border-radius: 5px;
}

.tableau .giorno-oggi {
    background: rgba(0, 0, 0, .2);
}

.tableau .giorno .giorno-header {
    margin: calc(-.3rem - 1px) calc(-.3rem - 1px) .3rem;
    background: var(--color-base);
    color: #FFF;
    display: block;
    font-size: .8rem;
    text-align: center;
    padding: .4rem .2rem;
    line-height: 120%;
    font-weight: 500;
    border-radius: 5px 5px 0 0;
    position: relative;
}

.tableau .giorno .giorno-header .oggi {
    background: var(--color-rosso);
    color: #FFF;
    position: absolute;
    top: -10px;
    left: 10px;
    padding: .2rem .7rem;
    border-radius: 3px;
    text-transform: uppercase;
    font-size: .7rem;
}

.tableau .giorno .giorno-header em {
    display: block;
    font-style: normal;
    color: rgba(255, 255, 255, .7);
}

.box-attivita {
    background: #FFF;
    border-radius: 3px;
    padding: .5rem .6rem;
    font-size: .8rem;
    line-height: 120%;
    box-shadow: 0 3px 5px rgba(0, 0, 0, .1), 0 0 0 1px rgba(255, 255, 255, 1) inset, 0 0 20px rgba(0, 0, 0, .1) inset;
    margin-bottom: .3rem;
    display: block;
    text-decoration: none;
    transition: transform .2s, border-radius .2s, box-shadow .2s;
    position: relative;
    border: none;
    text-align: left;
}

.box-attivita:hover {
    color: var(--color-base);
    transform: scale(1.03);
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}

.box-attivita span.orario {
    display: block;
}

/* .box-attivita span.orario::after {
    display: block;
    width: 90%;
    height: 1px;
    border-bottom: 1px dashed rgba(0, 0, 0, .2);
    content: "";
    position: absolute;
    top: 15px;
    right: 5px;
} */

.box-attivita span.orario em {
    background: #FFF;
    position: relative;
    z-index: 1;
    display: inline-block;
    padding-right: 4px;
    color: var(--color-rosso);
    font-weight: 500;
}

.box-attivita span.cliente {
    display: block;
}

.box-attivita strong {
    display: block;
    font-size: .9rem;
    margin: .2rem 0;
}

.box-attivita em {
    display: block;
    font-style: normal;
    margin-bottom: .2rem;
}

.note-attivita {
    position: absolute;
    top: 5px;
    right: 3px;
    border: none;
    background: transparent;
    padding: 0;
    opacity: .6;
    transform: scale(.7);
}

.info-titolo {
    font-size: 1.1rem;
    font-weight: 500;
    vertical-align: middle;
}

.annotazione-iva {
    position: absolute;
    font-size: .8rem;
    background: #666;
    padding: 2px 6px;
    border-radius: 3px;
    top: -10px;
    color: #FFF;
    margin: 0 .5rem;
    line-height: 100%;
    display: inline-block;
    width: auto;
}

.check-formazione svg {
    margin-top: -5px;
    margin-left: -3px;
}

.dipendenti-coinvolti {
    margin: -5px 0;
}

.dipendenti-coinvolti th {
    border-bottom: 1px solid rgba(0, 0, 0, .2);
}

.dipendenti-coinvolti .btn {
    line-height: 100%;
}

.dashbox {}

.dashbox h3 {
    font-size: 1.2rem;
    margin-bottom: .2rem;
    color: #FFF;
    font-weight: 500;
}

.dashbox p {
    font-size: .95rem;
    line-height: 120%;
    color: rgba(255, 255, 255, .5);
    margin-bottom: .45rem;
}

.dashbox p strong {
    font-weight: 700;
}

.dashbox .card {
    height: 100%;
    padding: 1.2rem !important;
    border-radius: 30px;
    background: var(--gradient-base);
    border: 2px solid rgba(255, 255, 255, .05) inset;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .3);
    display: flex;
    flex-direction: row;
}

.dashbox-danger .card strong {
    color: var(--color-rosso);
    color: #FFF;
}

.dashbox-icon {
    display: inline-block;
    width: 110px;
    height: 110px;
    line-height: 110px;
    vertical-align: top;
    padding-bottom: .5rem;
    text-align: center;
    background: rgba(255, 255, 255, .1);
    border: 2px solid rgba(255, 255, 255, .05);
    padding: 0 .5rem;
    border-radius: 16px 16px 5px 16px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, .15);
}

.dashbox-icon svg {
    width: auto;
    height: 50px;
    margin-top: -8px;
}

.dashbox-icon svg * {
    stroke: #FFF;
}

.dashbox-topic {
    display: inline-block;
    width: calc(100% - 110px);
    vertical-align: top;
    padding-left: 1rem;
}

.dashbox-topic div {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: flex-start;
}

.dashbox-topic .btn {
    background: rgba(255, 255, 255, .2);
    border-color: rgba(255, 255, 255, .1);
    color: #FFF;
    padding: .3rem 1.3rem;
    transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.dashbox-topic .btn:hover {
    background: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 1);
    color: #000;
    padding: .3rem 1.3rem;
}

.dashbox-richieste svg {
    width: 60px;
}

.dashbox-rinnovo svg {
    width: 40px;
}

.dashboard h1 {
    font-size: 3.5rem;
    font-weight: 700;
}

.dashboard h2 {
    font-size: 3rem;
    font-weight: 700;
}

/* FAD */

.login-fad .main {
    max-width: 800px;
}

.login-fad .main .navbar-brand {
    margin-bottom: 1rem;
    width: 100%;
}

.login-fad .main h2 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: .3rem;
}

.login-fad .main .col-lg-6:last-of-type h2 {
    color: var(--color-main);
}

.login-fad .main p {
    line-height: 120%;
    margin-bottom: 0;
}

.login-fad .main .col-lg-6:first-of-type {
    border-right: 1px solid rgba(0, 0, 0, .1);
}

.login-fad .main .col-lg-6>div {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.login-fad .main .col-lg-6>div form {
    margin-top: auto;
}

.login-fad .login-link {
    display: block;
    text-align: right;
    font-size: .9rem;
    text-decoration: none;
    padding-top: .4rem;
}

.login-fad .form-check {
    font-size: .9rem;
    margin-top: .3rem;
    margin-bottom: 0;
}

.login-fad .main .col-lg-6:last-of-type .btn-dark {
    background: var(--color-main);
    border-color: var(--color-main);
}

.banner-formazione {
    background: var(--color-grigiosfondo);
    border-radius: 10px;
    padding: 1rem;
}

.banner-formazione h2 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.banner-formazione h2 svg {
    width: 64px;
    height: auto;
}

.banner-formazione .corso {
    background: #FFF;
    padding: 1rem;
    border-radius: 5px;
    display: flex;
}

.banner-formazione .corso h3 {
    font-size: 1.4rem;
}

.banner-formazione .corso h3 a {
    text-decoration: none;
}

.banner-formazione .corso .corso-icon {
    display: flex;
    background: var(--color-verde);
    border-radius: 20px;
    margin-right: 1rem;
    width: 100px;
    justify-content: center;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
    transition: transform .3s, box-shadow .3s;
}

.banner-formazione .corso .corso-icon:hover {
    transform: scale(1.1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .4);
}

.banner-formazione .corso .corso-icon svg {
    width: 50px;
    height: auto;
    margin: auto 25px;
}

.banner-formazione .corso .corso-info {}

.banner-formazione .corso .corso-btn {}

.banner-formazione .corso .corso-btn .btn {
    white-space: nowrap;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 1.8rem !important;
}

.programma-corso {
    background: var(--color-grigiosfondo);
    border-radius: 10px 10px 30px 55px;
    padding: 1rem;
}

.programma-corso h2 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.programma-corso h2 svg {
    width: 64px;
    height: auto;
}

.lezione {
    background: #FFF;
    border-radius: 5px;
    /* display: flex; */
    border-radius: 54px 20px 20px 54px;
    padding: .8rem;
    margin: .5rem 0 0 0;
}

.stato-lezione {
    background: var(--color-grigiosfondo);
    width: 48px;
    height: 48px;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .2rem;
}

.lezione-success .stato-lezione {
    background: var(--color-verde);
    box-shadow: 0 5px 20px rgba(71, 179, 1, .7);
}

.lezione-danger .stato-lezione {
    background: var(--color-rossofsc);
    box-shadow: 0 5px 20px rgba(221, 1, 18, .5);
}

.stato-lezione svg {
    width: 28px;
    height: auto;
    margin-top: 4px;
}

.descrizione-lezione {
    display: flex;
    align-items: center;
    height: 100%;
}

@media (max-width: 575.98px) {
    .descrizione-lezione {
        flex-wrap: wrap;
    }
}

.lezione h3 {
    font-size: 1.2rem;
    font-weight: 500;
    width: 100%;
    line-height: 120%;
}

.lezione p {
    font-size: 1rem;
    font-weight: 400;
    width: 100%;
    line-height: 120%;
    color: #777;
    margin: 0;
}

.lezione p span.descrizione-attivita-continua {
    display: none;
}

.lezione p b {
    font-weight: 500;
}

.lezione p b em {
    text-decoration: underline;
    font-style: normal;
    cursor: pointer;
}

.lezione p b em:hover {
    color: var(--color-rossofsc);
}

.lezione p b em:not(.meno) span:last-of-type,
.lezione p b em.meno span:first-of-type {
    display: none;
}

.btns-lezione {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.btns-lezione .btn {
    white-space: nowrap;
    line-height: 100%;
    width: 200px;
    height: 52px;
    text-align: left;
}

.btns-lezione .btn span {
    padding: 0;
    width: 40px;
    text-align: center;
}

.btns-lezione .btn svg {
    width: auto;
    height: 28px;
}

.btns-lezione .btn-slide svg {
    /* width: 29px; */
}

.back-titolo {
    display: block;
    font-size: 1.1rem;
}

.back-titolo svg {
    width: 12px;
    height: auto;
    margin-right: 6px;
    vertical-align: middle;
}

.cronologia-corso {
    background: var(--color-grigiosfondo);
    border-radius: 10px 10px 27px 48px;
    padding: 1rem;
}

.cronologia-corso h2 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.cronologia-corso h2 svg {
    width: 44px;
    height: auto;
    margin: -2px 4px 0 0;
}

.cronologia {
    background: #FFF;
    border-radius: 5px;
    border-radius: 54px 20px 20px 54px;
    padding: .5rem;
    margin: .5rem 0 0 0;
    display: flex;
}

.cronologia-descrizione {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cronologia h3 {
    font-size: 1rem;
    font-weight: 500;
    width: 100%;
    line-height: 140%;
}

.cronologia p {
    font-size: .9rem;
    font-weight: 400;
    width: 100%;
    line-height: 120%;
    color: #777;
    margin: 0;
}

.cronologia-tipo {
    background: var(--color-grigiosfondo);
    width: 50px;
    height: 50px;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 10px 0 0;
}

.cronologia-tipo svg {
    width: 32px;
    height: auto;
    /* margin-top: 4px; */
}

.cronologia-registrazione .cronologia-tipo {
    background: var(--color-base);
}

.cronologia-accesso .cronologia-tipo {
    background: #0dcaf0;
}

.cronologia-check .cronologia-tipo {
    background: #ffc107;
}

.cronologia-esame .cronologia-tipo {
    background: #0d6efd;
}

.cronologia-esameok .cronologia-tipo {
    background: var(--color-verde);
}

.cronologia-esameko .cronologia-tipo {
    background: var(--color-rossofsc);
}

.cronologia-contenuto .cronologia-tipo {
    background: var(--color-verde);
}

.cronologia-download .cronologia-tipo {
    background: var(--color-verde);
}

.cronologia-registrazione .cronologia-tipo svg {
    margin-top: 2px;
}

.cronologia-accesso .cronologia-tipo svg {
    width: 30px;
    margin-top: 2px;
}

.cronologia-check .cronologia-tipo svg {
    width: 26px;
}

.cronologia-esame .cronologia-tipo svg {
    width: 34px;
}

.cronologia-contenuto .cronologia-tipo svg {
    width: 30px;
}

.cronologia-download .cronologia-tipo svg {
    width: 22px;
}

.cronologia-legenda {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}

.cronologia-legenda h4 {
    font-size: 1rem;
    font-weight: 700;
    width: calc(100% - 60px);
}

.cronologia-legenda h4 small {
    color: #888;
    font-size: .9rem;
    display: block;
    font-weight: 400;
}

.modal-lezione .modal-header {
    border: none;
    padding: 0;
    justify-content: flex-start;
}

.aula-titolo {
    background: var(--color-rossofsc);
    display: inline-block;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    font-weight: 900;
    font-size: 1.4rem;
    text-transform: uppercase;
}

.aula-lezione {
    background: var(--color-base);
    display: inline-block;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    font-weight: 900;
    font-size: 1.4rem;
    text-transform: uppercase;
    margin-right: 1rem;
}

.aula-tempo {
    margin-right: auto;
    font-weight: 900;
    font-size: 1.1rem;
}

.modal-lezione .modal-title {
    margin-right: auto;
    font-weight: 600;
    cursor: pointer;
}

.modal-body-description {
    background: var(--color-grigiosfondo);
    margin: 0;
    padding: 1rem;
    width: 100%;
}

.modal-body-description p {
    margin: 0;
    font-size: .95rem;
    line-height: 120%;
    color: rgba(0, 0, 0, .6);
}

.modal-lezione .modal-title svg {
    vertical-align: middle;
    margin: -3px 3px 0 0;
}

.modal-lezione .modal-title .badge {
    font-size: .8rem;
    font-weight: 600;
    border-radius: 2px;
    padding: .4rem .8rem;
    vertical-align: middle;
    opacity: .5;
    float: right;
}

.modal-lezione .modal-title.collapsed .badge:last-of-type,
.modal-lezione .modal-title:not(.collapsed) .badge:first-of-type {
    display: none;
}

.modal-lezione .modal-video {
    line-height: 0;
    background: #000;
    justify-content: center;
    align-items: center;
    display: flex;
}

.modal-lezione video {
    max-width: 100%;
    max-height: 100%;
    background: #000;
}

.modal-lezione .modal-download {
    line-height: 0;
    background: #000;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.modal-lezione .btn {
    padding: .4rem 1rem;
}

.modal-lezione .btn span {
    padding: 0;
    margin: 0 5px;
}

.modal-lezione .modal-footer {
    padding: 0;
}

.modal-lezione .modal-buttons {
    padding: 1rem;
    display: flex;
    width: 100%;
    margin: 0;
}

.domanda-esame {
    background: var(--color-grigiosfondo);
    padding: 0 !important;
    border: 5px solid var(--color-grigiosfondo);
}

.domanda-esame .card-header {
    background: transparent;
    font-weight: 600;
    padding: .4rem .7rem .7rem;
    border: none !important;
}

.domanda-esame .card-header .badge {
    border-radius: 3px;
    margin: -2px 5px 0 0;
    vertical-align: middle;
}

.domanda-esame .list-group-item {
    padding: 0 .7rem;
}

.domanda-esame .list-group-item input {
    vertical-align: middle;
    margin-top: .75rem;
}

.domanda-esame .list-group-item label {
    width: 100%;
    cursor: pointer;
    padding: .5rem 0;
}

.domanda-esame-ok .list-group-item input:checked+label {
    color: var(--color-verde);
    font-weight: 700;
}

.domanda-esame-ko .list-group-item input:checked+label {
    color: var(--color-rossofsc);
    font-weight: 700;
}

.domanda-esame-ko .list-group-item .form-check-input:checked {
    background-color: var(--color-rossofsc);
    border-color: var(--color-rossofsc);
}

.fad-progress {
    width: 300px;
}

.scegli-esame {
    padding: 0 !important;
}

.scegli-esame h4 {
    font-weight: 500;
    font-size: 1.2rem;
    padding: .2rem .4rem;
}

.scegli-esame h4 .badge {
    margin-top: -3px;
    vertical-align: middle;
    border-radius: 3px;
}

.elenco-esami {
    padding: .5rem 0 0;
}

.elenco-esami li .nav-link {
    padding: 0;
    color: var(--color-base);
    padding: .5rem 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
    width: 100%;
    text-align: left;
}

.domanda-titolo .btn {
    margin: -.2rem;
}

.domanda-titolo>div {
    cursor: pointer;
}

.timer {
    display: inline-block;
    width: 150px;
    padding: 1rem;
    background: var(--color-base);
    color: #FFF;
    text-align: center;
    font-size: 2rem;
    vertical-align: top;
    margin-right: 10px;
    border-radius: 3px;
    font-weight: 600;
}

.timer+p {
    display: inline-block;
    width: calc(100% - 170px);
    margin: 0;
    vertical-align: top;
}

.support {
    font-size: 1.1rem;
}

.support svg {
    width: 44px;
    height: auto;
    margin-right: 5px;
}

.docente-firma {
    text-decoration: none;
    margin-top: 1.7rem;
    display: inline-block;
    font-size: .9rem;
}

.docente-firma svg {
    width: 16px;
    height: auto;
    margin-right: 3px;
}

.docente-firma-elimina {
    text-decoration: none;
    margin-top: 1.7rem;
    display: inline-block;
    font-size: .9rem;
    border: none;
    background: transparent;
    margin-left: 1rem;
}

.docente-firma-elimina svg {
    width: 16px;
    height: auto;
    margin-right: 3px;
}

/* Verifica attestato */

.fadverifica {
    display: flex;
    /* height: 90vh; */
}

.fadverifica .main {
    width: 90%;
    max-width: 500px;
    margin: 2rem auto;
    padding: 20px 20px 4px;
}

.fadverifica .navbar-brand {
    display: inline-block;
}

.fadverifica h1 {
    font-size: 2rem;
    line-height: 84px;
}

.fadverifica h2 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1rem;
}

.fadverifica .form-control {
    background: var(--color-grigiosfondo);
    font-weight: 400;
    font-size: 1.1rem;
}

.fadverifica .card .form-control-plaintext {
    font-weight: 400;
}

.fadverifica .card {
    padding: 0 0 .5rem !important;
    margin-bottom: 1rem;
}

.fadverifica .card-header {
    background: rgba(0, 0, 0, .8);
    color: #FFF;
    border-radius: 10px 10px 0 0;
    font-weight: 600;
}

.fadverifica .col-form-label {
    padding-bottom: 0;
    font-weight: 500;
    text-transform: uppercase;
    font-size: .8rem;
}

.fadverifica-field {
    padding: 0 .8rem .3rem;
}

.upp {
    text-transform: uppercase;
}

.corso-img {
    width: 110px;
}

.corso-img img {
    width: 100px;
    height: auto;
}

.col-img img {
    max-width: 100%;
    height: auto;
    cursor: zoom-in;
}

.table-note {
    display: block;
    font-weight: 400;
    font-size: .9rem;
}

.table-note strong {
    color: var(--color-rosso);
}

/* Tabelle */

.table {
    border-color: #dee2e6;
}

.table-add td {
    background: #d1e7dd;
    --bs-table-bg-type: var(--color-trasp) !important;
}

@media (max-width: 39.9375em) {
    .tablesaw-stack tbody tr.table-add td:last-of-type {
        border-bottom-color: var(--color-verde);
    }
}

.table-add td .form-control,
.table-add td .form-select {
    border-color: var(--color-verde);
}

@media (max-width: 39.9375em) {
    .tablesaw-stack tbody tr td:last-of-type {
        border-bottom: 2px solid #bfbfbf;
    }
}

.flag {
    width: 20px;
    height: auto;
    vertical-align: middle;
    margin-top: -3px;
}

.col-btns {
    display: flex;
    justify-content: space-between;
}

.col-btns .btn {
    width: 100%;
}

.col-btns .btn-del {
    width: 36px;
    margin-left: 3px;
}

.tabs {
    margin: 0 1rem 1rem;
}

/* Bus planner */

.bus-planner-cont {
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.bus-info {
    background: var(--color-grigiosfondo);
    min-height: 40px;
    line-height: 40px;
    width: 100%;
    margin-bottom: 1rem;
    position: relative;
    border-radius: 5px;
}

.btn-back {
    border-right: 1px solid rgba(0, 0, 0, .2);
    height: 40px;
    width: 40px;
    display: inline-block;
    text-align: center;
}

.btn-export {
    border-right: 1px solid rgba(0, 0, 0, .2);
    height: 40px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    padding: 0 10px;
    color: var(--color-base);
    font-weight: 600;
}

.btn-export svg {
    margin-right: 3px;
}

.calendar {
    border: none;
    width: 40px;
    height: 40px;
    padding: 0;
    text-align: center;
}

.calendar svg {
    height: auto;
    vertical-align: middle;
    margin-bottom: 2px;
}

.data {
    display: inline-block;
    border-right: 1px solid rgba(0, 0, 0, .2);
    height: 40px;
    line-height: 40px;
    padding-right: 12px;
    font-size: 1rem;
    font-weight: 700;
}

input.data {
    border: none;
    background: var(--color-grigiosfondo);
    width: 100px;
    margin: 0;
    padding: 0;
}

/* input[type="date"]::-webkit-calendar-picker-indicator {
    background: transparent;
    bottom: 0;
    color: transparent;
    cursor: pointer;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
} */

.data small {
    display: inline-block;
    font-size: .8rem;
    font-weight: 700;
    color: #FFF;
    background: var(--color-main);
    line-height: 100%;
    padding: 2px 8px;
    text-transform: uppercase;
    border-radius: 3px;
    margin-left: 4px;
    vertical-align: middle;
    margin-bottom: 2px;
}

.bus-info h2 {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    border-right: 1px solid rgba(0, 0, 0, .2);
    padding: 0 14px 0 10px;
    height: 40px;
    line-height: 40px;
    margin: 0;
}

.sintesi {
    display: inline-block;
    padding: 0 12px 0 10px;
    border-right: 1px solid rgba(0, 0, 0, .2);
    height: 40px;
    line-height: 40px;
}

.sintesi strong {
    color: var(--color-main);
}

.dafare {
    display: inline-block;
    padding: 0 12px 0 10px;
    border-right: 1px solid rgba(0, 0, 0, .2);
    height: 40px;
    line-height: 40px;
}

.dafare strong {
    color: var(--color-arancione);
}

.sidebar-pickup {
    /* position: fixed;
	left: 0;
	top: 40px;
	bottom: 0; */
    overflow: auto;
    width: 250px;
    padding: 0 10px 20px 0;
}

.pickup-cat {
    color: var(--color-main);
    font-weight: bold;
    display: block;
    margin-top: 20px;
    padding: 0 10px 0 0;
}

.pickup {
    display: block;
    width: 100%;
    white-space: nowrap;
    text-align: left;
    border: none;
    padding: 0 10px 0;
    line-height: 30px;
    background: transparent;
    font-size: 1rem;
    font-weight: 500;
    transition: background .2s;
}

.pickup:hover {
    background: var(--color-grigiosfondo);
}

.pickup small {
    color: var(--color-base);
    font-size: .8rem;
}

.pickup small strong {
    color: var(--color-arancione);
}

.pickup small em {
    color: var(--color-verde);
    font-weight: bold;
}

.corse {
    /* margin: 0 310px 0 250px; */
    padding: 10px 0;
    position: relative;
    width: calc(100% - 250px - 300px);
}

.aggiungibus {
    display: block;
    background: var(--color-verde);
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 50px;
    position: absolute;
    right: 6px;
    top: -10px;
    transition: transform .3s, border-radius .3s;
    z-index: 1;
    cursor: pointer;
}

.aggiungibus:hover {
    transform: scale(1.2);
}

.corse .aggiungibus {
    transform: scale(.6);
    right: 2px;
    top: 2px;
    border-radius: 15px;
}

.corse .aggiungibus:hover {
    transform: scale(1);
    border-radius: 50px;
}

.corse-da {
    background: var(--color-grigiosfondo);
    margin: 0 10px 10px 0;
    padding: 20px 10px 10px 20px;
    border-radius: 20px;
    position: relative;
}

.corse-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.corse h1 {
    line-height: 100%;
    font-size: 1.4rem;
    padding: 0;
    margin: 0 0 10px;
    width: 100%;
    font-weight: 700;
    cursor: pointer;
}

.corse h1 span {
    display: inline-block;
    background: var(--color-arancione);
    color: #FFF;
    font-size: 1rem;
    padding: 1px 6px;
    border-radius: 3px;
    margin-left: 2px;
    margin-top: -2px;
    vertical-align: middle;
}

.corse h1 em {
    display: inline-block;
    background: var(--color-base);
    color: #FFF;
    font-size: 1rem;
    padding: 1px 6px;
    border-radius: 3px;
    margin-left: 5px;
    margin-top: -2px;
    vertical-align: middle;
    font-style: normal;
    font-weight: 600;
}

.corsa {
    background: #FFF;
    padding: 8px;
    border-radius: 10px;
    width: 250px;
    margin: 0 10px 10px 0;
    border: 2px solid #FFF;
}

.corsa:hover {
    border: 2px solid var(--color-main);
}

.info-corsa {
    display: flex;
    margin-bottom: 5px;
    cursor: pointer;
}

.targa {
    margin-right: auto;
    border-left: 7px solid var(--color-main);
    border-right: 7px solid var(--color-main);
    font-weight: bold;
    padding: 0 6px;
    background: var(--color-grigiosfondo);
    border-radius: 3px;
}

.buspax {
    margin-right: auto;
}

.buspax strong {
    color: var(--color-arancione);
}

.orario {
    color: var(--color-main);
    font-weight: bold;
}

.btn-bus {
    border: none;
    font-size: .9rem;
    border-radius: 3px;
}

.dropdown-menu.show {
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}

.tipotour {
    color: var(--color-main);
    font-weight: 700;
    margin: 12px 0 5px;
    display: block;
    line-height: 120%;
    /* font-size: .9rem; */
}

.tipotour span {
    color: #FFF;
    background: var(--color-arancione);
    float: right;
    display: inline-block;
    padding: 1px 5px;
    font-size: .8rem;
    border-radius: 3px;
    margin-left: 2px;
}

.corsavuota {
    text-align: center;
    padding: 15px;
}

.listaprenotazioni {
    list-style: none;
    padding: 0;
    margin: 0;
}

.listaprenotazioni:empty {}

.listaprenotazioni:empty::before {
    padding: 10px;
    content: "- vuoto -";
    display: block;
    text-align: center;
    border-top: 1px solid rgba(0, 0, 0, .1);
    color: rgba(0, 0, 0, .3);
}

.prenotazione {
    cursor: grab;
    font-weight: 500;
    position: relative;
    transition: background .2s;
    border-radius: 3px;
    border-top: 1px solid rgba(0, 0, 0, .1);
}

.prenotazione:hover {
    background: var(--color-grigiosfondo);
}

.prenotazione svg {
    vertical-align: middle;
    height: auto;
    margin: -3px 5px 0 2px;
}

.prenotazione .pax {
    color: var(--color-arancione);
    padding: 0 5px;
}

.prenotazione .orario2 {
    color: var(--color-base);
    display: none;
}

.prenotazione i {
    position: relative;
    float: right;
    cursor: pointer;
}

.prenotazione ul {
    list-style: none;
    padding: 10px 15px;
    line-height: 120%;
    background: var(--color-grigiosfondo);
    position: absolute;
    top: 18px;
    right: 25px;
    white-space: nowrap;
    border-radius: 5px 0 5px 5px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
    display: none;
    z-index: 2;
}

.prenotazione i:hover ul {
    display: block;
}

.prenotazione ul::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;
    border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
}

.form-label {
    margin-bottom: 0;
    font-weight: 500;
    text-transform: uppercase;
    font-size: .8rem;
}

.bootstrap-select .btn-light {
    background: #FFF;
    border: 1px solid #dee2e6;
}

.sidebar-prenotazioni {
    width: 300px;
    /* position: fixed;
	right: 0;
	top: 60px; */
    padding: 1px 20px 12px;
    z-index: 2;
    background: var(--color-main);
    border-radius: 20px 0 0 20px;
}

.elenco-prenotazioni {
    overflow: auto;
    width: 300px;
    /* position: fixed;
	right: 0;
	top: 245px;
	bottom: 0; */
    padding: 0 20px 20px;
}

.sidebar-prenotazioni .form-label {
    margin-top: 10px;
    color: #FFF;
    font-weight: 700;
}

.sidebar-prenotazioni .form-check-label {
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #FFF;
}

.sidebar-prenotazioni .dropdown-header .text {
    font-weight: bold;
    color: var(--color-main);
    font-size: 1rem;
}

.sidebar-prenotazioni .dropstart .dropdown-toggle::before {
    display: none;
}

.sidebar-prenotazioni .form-check-input:checked {
    background-color: var(--color-verde);
    border-color: var(--color-verde);
}

.collapseall {
    display: block;
    background: var(--color-base);
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50px;
    position: absolute;
    left: calc(50% - 0px);
    top: 40px;
    transition: transform .3s, border-radius .3s;
    z-index: 1;
    cursor: pointer;
    transform: scale(.8);
}

.collapseall svg {
    transform: scale(.8);
}

.expandall {
    display: block;
    background: var(--color-base);
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50px;
    position: absolute;
    left: calc(50% - 40px);
    top: 40px;
    transition: transform .3s, border-radius .3s;
    z-index: 1;
    cursor: pointer;
    transform: scale(.8);
}

.expandall svg {
    transform: scale(.8);
}

.chosen {
    background: var(--color-main) !important;
    color: #FFF !important;
}

.chosen>svg * {
    fill: #FFF !important;
}

.chosen i {
    opacity: 0;
}

.chosen .pax {
    color: #FFF !important;
}

.pianificazioni {
    list-style: none;
    padding: 0;
    width: 100%;
}

.pianificazioni li {
    background: var(--color-grigiosfondo);
    border-radius: 5px;
    padding: 10px 20px;
    margin-bottom: 10px;
}

.pianificazioni li a {
    text-decoration: none;
    color: var(--color-base);
    font-weight: 700;
    font-size: 1.2rem;
    display: block;
    padding-bottom: .2rem;
}

.corse-incluse {}

.corse-incluse span {
    display: block;
    font-size: .9rem;
    font-weight: 600;
    border-top: 1px solid rgba(0, 0, 0, .2);
    padding: .2rem 0;
    color: var(--color-b);
}

.corse-incluse small {
    color: #FFF;
    background: var(--color-main);
    display: inline-block;
    padding: 1px 5px;
    font-size: .8rem;
    border-radius: 3px;
    margin-left: 2px;
}

.corse-ext {
    margin: 0 10px;
}

.corse-ext .buspax {
    margin: 0;
}

.aggiungi-orari {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: 7px;
}

.aggiungi-orari .form-label {
    font-weight: bold;
    color: var(--color-main);
    display: block;
    text-transform: none;
    font-size: .9rem;
}

.aggiungi-orari .form-check {
    display: inline-block;
    margin-right: 10px;
    font-weight: 500;
    cursor: pointer;
}

/* Tableau */

.tableau {
    padding: 0 1rem;
}

.tableau-mese {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: .5rem;
}

.tableau-mese h3 {
    width: 100%;
    font-size: 1.4rem;
    margin-bottom: .3rem;
}

.tableau-mese h4 {
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: .3rem;
    color: var(--color-main);
}

.tableau-giorno {
    background: rgba(0, 0, 0, .05);
    border-radius: 10px;
    padding: 0;
    font-size: .8rem;
    margin-right: 5px;
    margin-bottom: 5px;
}

.tableau-giorno-1 {
    width: calc((100% / 31) - 5px);
}

.tableau-giorno-2 {
    width: calc((100% / 16) - 5px);
}

.tableau-giorno-3 {
    width: calc((100% / 7) - 5px);
}

@media (max-width: 991.98px) {
    .tableau-giorno {
        width: calc((100% / 7) - 5px);
    }
}

.tableau-giorno>div {
    display: flex;
    justify-content: space-evenly;
}

.tableau-giorno-2>div {
    justify-content: space-between;
}

.tableau-giorno>div>div {}

.tableau-giorno-1>div>div {
    width: 100%;
    margin-bottom: 0;
}

.tableau-giorno-2>div>div {
    width: calc((100% / 2) - 2px);
    margin-bottom: 0;
}

.tableau-giorno-3>div>div {
    width: calc((100% / 3) - 5px);
    margin-bottom: 3px;
}

.tableau-giorno span {
    display: block;
    text-align: center;
    font-weight: 400;
    line-height: 100%;
    padding: 4px 0;
    border-radius: 8px 8px 0 0;
    border: 2px solid #CCC;
    border-bottom: none;
}

.tableau-giorno-1 span {
    display: none;
}

.tableau-giorno label {
    display: block;
    text-align: center;
    font-weight: 500;
    line-height: 100%;
    padding: 4px 0;
}

.tableau-giorno label small {
    display: block;
    text-align: center;
    opacity: .4;
}

.tableau-giorno input {
    width: 100%;
    padding: 3px 0;
    text-align: center;
    font-weight: 500;
    /* border-radius: 8px 8px 0 0; */
    border-radius: 0;
    border: 2px solid #CCC;
    color: var(--color-base);
}

.tableau-giorno-1 input {
    border-radius: 8px 8px 0 0;
}

.tableau-giorno input:disabled {
    border-radius: 0 0 8px 8px;
    border: 2px solid #CCC;
    border-top: none;
    color: var(--color-main);
}

.nav-anni {
    /* width: 180px; */
    margin-bottom: 1rem;
    justify-content: center;
}

.nav-anni a.input-group-text {
    text-decoration: none;
    display: inline-block;
    width: 40px;
}

.nav-anni .dropdown-toggle::after {
    display: none;
}

.nav-anni .btn {
    /* width: 100px; */
}

.dropdown-item {
    border-radius: 8px;
}

.col-foto {
    padding-bottom: .8rem;
}

.col-foto img {
    max-width: 100%;
}

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

.img-crop-preview {
    display: block;
    max-width: 100%;
    margin: 14px;
}

.crop-preview {
    overflow: hidden;
    width: 160px;
    height: 160px;
    margin: 10px;
    border: 1px solid red;
}

.table-switch {
    display: inline-block;
    float: right;
}

.table-switch .input-group .btn {
    padding: .5rem 1rem calc(.5rem - 1px);
    font-size: .8rem;
    border: none;
    border-radius: 0;
    background: var(--color-grigiosfondo);
    color: var(--color-base);
    font-weight: 600;
}

.table-switch .input-group .btn:first-of-type {
    border-radius: 6px 0 0 0 !important;
}

.table-switch .input-group .btn:last-of-type {
    border-radius: 0 6px 0 0 !important;
}

.table-switch .input-group .btn-check:checked+.btn {
    background: var(--color-main);
    color: #FFF;
}

.table-switchable .td-biglietto,
.table-switchable .td-sottozona2 {
    transition: max-width .3s, padding .3s;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100px;
}

.table-switchable-sottozone .td-biglietto,
.table-switchable-biglietti .td-sottozona2 {
    /* display: none; */
    max-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.btn-risposta {
    font-size: .7rem;
    font-weight: 500;
    text-transform: uppercase;
    padding: .2rem .5rem;
    background: #FFF;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, .3);
    cursor: pointer;
    opacity: .6;
}

.btn-risposta:hover {
    opacity: 1;
}

.risposta {
    margin: 0 1rem 0 2.5rem;
    background: #FFF;
}

.risposta p {
    margin: 0;
    padding: 1rem;
    display: block;
}

.card.faq {
    padding: .4rem 1rem 1rem !important;
}

.card.faq .form-group {
    margin: .5rem 0 0 0;
}

/* Prenotazioni */

.table-prenotazioni td {
    vertical-align: top;
}

.table-prenotazioni small {
    display: block;
}

/* Bottoni scelta tour gruppo */

.card-week {
    padding: 0 !important;
    flex-direction: row;
}

.card-week>div {
    width: calc(100% / 7);
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
}

.card-week>div:nth-of-type(odd) {
    background: rgba(0, 0, 0, .15);
}

.card-week>div.oggi {
    /* background: #D2F2FF; */
    background: #94ca90;
}

.card-week>div:last-of-type {
    border-right: none;
}

.card-week>div>span {
    /* border-bottom: 2px solid #FFF; */
    padding: .4rem .5rem 0;
    display: block;
    text-align: center;
    font-size: .8rem;
    font-weight: 700;
    margin-bottom: .5rem;
}

.card-week>div.oggi>span::after {
    content: "Oggi";
    display: inline-block;
    background: var(--color-verde);
    color: #FFF;
    padding: .1rem .3rem;
    text-transform: uppercase;
    font-size: .6rem;
    border-radius: 2px;
    margin-left: .2rem;
}

.card-week>div>a {
    padding: .7rem .5rem 1rem;
    display: block;
    text-align: center;
    font-size: .9rem;
    font-weight: 500;
    margin: 0 .7rem .7rem .7rem;
    width: calc(100% - 1.4rem);
    border: none;
    background: #ddd;
    color: #333;
    border-radius: 3px;
    position: relative;
    text-decoration: none;
    transition: transform .2s, background .2s, color .2s, box-shadow .4s;
    border-top: 1px solid #FFF;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .1);
}

.card-week>div>a:hover {
    transform: scale(1.2);
    /* background: var(--color-main); */
    background: #333;
    color: #FFF;
    z-index: 1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 15px rgba(0, 0, 0, .2);
}

.card-week>div>a em {
    font-style: normal;
    font-weight: 600;
    font-family: var(--font-2);
}

.card-week>div>a .progress {
    border-radius: 0 0 3px 3px !important;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: 6px;
    background: rgba(0, 0, 0, .08);
    transition: background .2s;
}

.card-week>div>a:hover .progress {
    background: rgba(0, 0, 0, .8);
}

.card-week>div>a .progress-bar {
    border-bottom: 1px solid rgba(255, 255, 255, .3);
}

.card-week>div>em {
    padding: .85rem .5rem;
    display: block;
    text-align: center;
    font-size: .9rem;
    font-weight: 500;
    margin: 0 .5rem .5rem .5rem;
    width: calc(100% - 1rem);
    border: none;
    background: rgba(0, 0, 0, .05);
    color: #FFF;
    border-radius: 3px;
    font-style: normal;
    color: #666;
}

/* Bottoni scelta tour privati */

.card-pickups {
    padding: 0 !important;
    flex-direction: row;
    flex-wrap: wrap;
}

.card-pickups>div {
    width: calc(100% / 6);
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
}

.card-pickups>div:last-of-type {
    border-right: none;
}

.card-pickups>div>a {
    padding: .7rem .5rem 1rem;
    display: block;
    text-align: center;
    font-size: .9rem;
    font-weight: 500;
    margin: 0 .7rem .7rem .7rem;
    width: calc(100% - 1.4rem);
    border: none;
    background: #ddd;
    color: #333;
    border-radius: 3px;
    position: relative;
    text-decoration: none;
    transition: transform .2s, background .2s, color .2s, box-shadow .4s;
    border-top: 1px solid #FFF;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .1);
}

.card-pickups>div>a:hover {
    transform: scale(1.2);
    /* background: var(--color-main); */
    background: #333;
    color: #FFF;
    z-index: 1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 15px rgba(0, 0, 0, .2);
}

.card-pickups>div>a em {
    font-style: normal;
    font-weight: 600;
    font-family: var(--font-2);
}

/* Riepilogo */

.riepilogo-p {
    background: #FFF;
    padding: 0 1rem !important;
    margin: 0 !important;
    font-size: .7rem;
}

.riepilogo-p::before {
    display: none;
}

.riepilogo-p .main {
    background: #FFF;
    margin: 0;
    width: 100%;
    border-radius: 0;
    padding: 0 !important;
    box-shadow: none;
    display: flex;
}

.riepilogo-p .maincol {
    padding: 0;
}

.riepilogo-p .intestazione {
    padding: 0;
}

.logo-print {
    width: 250px;
    margin-bottom: 2rem;
}

.riepilogo-dati {
    background: var(--color-grigiosfondo);
    padding: .7rem 1rem;
    border-radius: 5px;
}

.riepilogo-dati>strong {
    display: block;
    font-size: .9rem;
}

.riepilogo-dati small {
    display: block;
    line-height: 100%;
    padding-top: .3rem;
    color: #666;
}

.riepilogo-dati small strong {
    font-size: 100%;
    display: inline;
}

.riepilogo-p h2 {
    font-weight: 600;
    font-family: var(--font-2);
    font-size: 1.4rem;
    margin-bottom: .5rem;
    padding-left: .5rem;
}

.riepilogo-p h2 svg {
    width: 3rem;
    height: auto;
    margin-right: .2rem;
}

.riepilogo-p h2 svg * {
    stroke: var(--color-base);
}

.r-table {
    font-size: .7rem;
    margin: 0;
}

.r-table th {
    font-family: var(--font-2);
    line-height: 120%;
    background: #999 !important;
    color: #FFF;
    border-bottom: 1px solid #999 !important;
}

.r-table th:first-of-type {
    border-left: 5px solid #666 !important;
}

.r-table th svg * {
    stroke: #FFF;
}

.r-table td {
    font-family: var(--font-2);
    line-height: 120%;
    border-color: #999;
    padding-top: .1rem;
    padding-bottom: .1rem;
}

.r-table svg {
    vertical-align: middle;
    margin-top: -1px;
    transform: scale(.9);
}

.r-servizio td {
    background: rgba(0, 0, 0, .1);
    font-weight: 600;
}

.r-puarea td:first-of-type {
    padding-left: .25;
    white-space: nowrap;
}

.r-puarea td {
    background: rgba(0, 0, 0, .07);
}

.r-pusottozona td:first-of-type {
    padding-left: .97rem;
    white-space: nowrap;
}

.r-pusottozona td {
    background: rgba(0, 0, 0, .04);
    font-weight: 500;
}

.r-prenotazione td:first-of-type {
    padding-left: 1.95rem;
}

.r-prenotazione td:first-of-type i {
    font-style: normal;
    font-weight: 500;
}

.r-prenotazione td:first-of-type em {
    display: block;
    font-style: normal;
    font-size: 90%;
}

.r-daincassare {
    color: var(--color-rosso);
}

.r-extra {
    padding: 0 !important;
}

.r-extra span {
    display: block;
    position: relative;
    padding: 3px 0 3px 26px;
}

.r-extra span svg {
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: auto;
}

.tdc {
    text-align: center !important;
}

.richieste {
    padding-bottom: 1rem;
}

.richiesta {
    padding: 0 1rem;
}

.richiesta>div {
    padding: .7rem .7rem .6rem .7rem;
}

.richiesta:nth-child(odd)>div {
    background: var(--color-grigiosfondo);
}

.richiesta-num {
    font-size: .8rem;
    margin-top: -5px;
}

.richiesta-num strong {
    color: var(--color-main);
}

/* Tableau */

.cal-table {
    position: relative;
}

.cal-table th {
    padding: 6px;
    font-size: .9rem;
    border-right: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    width: calc(100% / 7) !important;
    background: var(--color-grigiosfondo) !important;
    font-weight: 600;
    text-align: right;
}

.cal-table .cal-giorni th {
    padding: 3px;
    font-size: .8rem;
    text-align: center;
    background: #DDD !important;
    font-weight: 600;
}

.cal-table th.cal-oggi {
    background: var(--color-base) !important;
    color: #FFF;
}

@media (max-width: 767.98px) {
    .cal-table th.cal-oggi strong {
        display: none;
    }
}

.cal-table>tbody>tr>td {
    padding: 0;
    background: rgba(0, 0, 0, .05);
    /* border-right: 2px solid #FFF; */
    border-bottom: 0px solid rgba(255, 255, 255, 1);
    width: calc(100% / 7) !important;
    vertical-align: top;
}

.cal-table>tbody>tr>td table {
    width: 100%;
}

.cal-table>tbody>tr>td td {
    padding: 0;
    width: 100%;
    height: 42px;
    position: relative;
}

@media (max-width: 767.98px) {
    .cal-table>tbody>tr>td td {
        height: 12px;
    }
}

.cal-table td.cal-oggi {
    /* background: rgba(0, 0, 0, .2) url(../images/bg-stripes.png); */
    background: rgba(0, 0, 0, .2);
}

.cal-pren {
    color: #FFF !important;
    margin: 0;
    border-radius: 0;
    line-height: 100%;
    padding: 5px 7px 5px 40px;
    font-size: .9rem;
    background: var(--color-base);
    cursor: pointer;
    margin-bottom: 2px;
    /* box-shadow: 0 2px 2px rgba(0, 0, 0, .1); */
    width: 100%;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    /* white-space: nowrap; */
    overflow: hidden;
    /* border-bottom: 1px solid rgba(255, 255, 255, .5); */
    position: absolute;
    top: 0;
    left: 0;
    transition: max-height .3s;
    text-decoration: none;
}

.cal-pren:hover {
    /* height: 100px; */
    height: auto;
    max-height: 100px;
    /* margin-bottom: -58px; */
    z-index: 1;
}

@media (max-width: 767.98px) {
    .cal-pren {
        height: 10px;
        min-height: 10px;
        max-height: 10px;
    }
}

.cal-pren-start {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.cal-pren-end {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    width: calc(100% - 2px);
}

.cal-pren-empty {
    background: none !important;
}

.cal-pren-ext {
    background: #aaa !important;
}

.cal-pren-ext svg {
    width: 20px;
    height: auto;
    margin-top: -3px;
}

.cal-pren u {
    display: inline-block;
    font-weight: 500;
    float: left;
    text-decoration: none;
    height: 30px;
    line-height: 30px;
    width: 30px;
    text-align: center;
    background: rgba(0, 0, 0, .3);
    border-radius: 2px;
    position: absolute;
    left: 5px;
    top: 5px;
}

.cal-pren strong {
    display: block;
    font-weight: 500;
}

.cal-pren em {
    display: block;
    font-style: normal;
    font-size: .8rem;
    color: rgba(255, 255, 255, .7);
}

.cal-pren i {
    float: right;
}

@media (max-width: 767.98px) {
    .cal-pren u {
        display: none;
    }

    .cal-pren strong {
        display: none;
    }

    .cal-pren em {
        display: none;
    }

    .cal-pren i {
        display: none;
    }
}

.cal-btnday {
    /* background: var(--color-rosso); */
    background: transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: none;
    z-index: 3;
}

@media (min-width: 768px) {
    .cal-btnday {
        display: none;
    }
}

.cal-table tr th:nth-of-type(1) .cal-btnday {
    left: calc((100% / 7) * 0);
    right: calc((100% / 7) * 6);
}

.cal-table tr th:nth-of-type(2) .cal-btnday {
    left: calc((100% / 7) * 1);
    right: calc((100% / 7) * 5);
}

.cal-table tr th:nth-of-type(3) .cal-btnday {
    left: calc((100% / 7) * 2);
    right: calc((100% / 7) * 4);
}

.cal-table tr th:nth-of-type(4) .cal-btnday {
    left: calc((100% / 7) * 3);
    right: calc((100% / 7) * 3);
}

.cal-table tr th:nth-of-type(5) .cal-btnday {
    left: calc((100% / 7) * 4);
    right: calc((100% / 7) * 2);
}

.cal-table tr th:nth-of-type(6) .cal-btnday {
    left: calc((100% / 7) * 5);
    right: calc((100% / 7) * 1);
}

.cal-table tr th:nth-of-type(7) .cal-btnday {
    left: calc((100% / 7) * 6);
    right: calc((100% / 7) * 0);
}

.offmonth {
    opacity: .3;
}

.offcanvas-pren {
    background: var(--color-base);
    color: #FFF;
    padding: .7rem .8rem .7rem;
    border-radius: 4px;
    line-height: 130%;
    margin-bottom: .5rem;
    display: block;
    text-decoration: none;
}

.offcanvas-pren strong {
    display: block;
}

.offcanvas-pren strong span {
    padding-left: .5rem;
    font-weight: 400;
}

.offcanvas-pren strong span svg {
    margin-right: 0;
}

.offcanvas-pren em {
    display: block;
    font-style: normal;
    color: rgba(255, 255, 255, 1);
}

.offcanvas-pren span {
    display: inline-block;
    font-size: .8rem;
    padding: 0 1rem 0 0;
    margin-bottom: -2px;
    opacity: .8;
}

.offcanvas-pren span svg {
    vertical-align: middle;
    margin: -3px 4px 0 0;
}

.modal-cal .form-control-plaintext {
    padding: 0;
    font-weight: 600;
    line-height: 100%;
    margin-bottom: .6rem;
    margin-top: -.1rem;
}

.modal-cal .form-label {
    line-height: 100%;
}

.colore-barca {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    vertical-align: middle;
    margin-top: -3px;
    margin-right: 3px;
}

.td-container-reservations {
    cursor: crosshair;
}

/* Crew */

.crew-dashboard {
    padding: 0 1rem;
}

.crew h1 {
    font-size: 2rem;
    /* padding: .75rem .25rem 0; */
}

@media (max-width: 767.98px) {
    .crew h1 {
        font-size: 1.3rem;
        padding: .75rem .25rem 0;
        font-weight: 800;
    }

    .intestazione-pren-crew h1 {
        font-size: 1.5rem !important;
        font-weight: 800;
    }
}

.intestazione-pren-crew h1 .btn-dark svg {
    width: 18px;
    height: auto;
    margin-top: -3px;
}

.intestazione-pren-crew h1 .btn-dark svg * {
    stroke: #FFF;
}

.crew-imbarcazione {
    background: var(--color-grigiosfondo);
    border-left: 10px solid var(--color-main);
    /* color: #FFF; */
    text-decoration: none;
    padding: 1rem;
    border-radius: 10px;
    font-weight: 600;
    transition: background .3s, color .3s;
    display: block;
}

.crew-imbarcazione:hover {
    background: var(--color-main);
    color: #FFF;
}

.crew-imbarcazione svg {
    margin-right: 6px;
}

.crew-imbarcazione svg * {
    stroke: var(--color-base);
    transition: stroke .3s;
}

.crew-imbarcazione:hover svg * {
    stroke: #FFF;
}

.crew-crociera {
    background: var(--color-grigiosfondo);
    border-left: 10px solid var(--color-main);
    /* color: #FFF; */
    text-decoration: none;
    padding: .6rem 1rem 1rem;
    border-radius: 10px;
    font-weight: 600;
    transition: background .3s, color .3s;
    display: block;
}

.crew-crociera:hover {
    background: var(--color-main);
    color: #FFF;
}

.crew-crociera small {
    display: block;
    line-height: 100%;
    font-weight: 500;
}

.crew-crociera svg {
    margin-right: 6px;
}

.crew-crociera svg * {
    stroke: var(--color-base);
}

.btn-add-inline {
    float: right;
    padding: 1px 10px 2px;
    line-height: 100%;
    margin-top: -3px;
}

.selectstati .btn {
    border: none !important;
    color: #FFF;
}

.selectstati.selectstati-1 .btn {
    background: #DD0112;
}

.selectstati.selectstati-2 .btn {
    background: #FFBF00;
}

.selectstati.selectstati-3 .btn {
    background: #47B301;
}

.selectstati.selectstati-4 .btn {
    background: #0D6EFD;
}

.selectstati.selectstati-5 .btn {
    background: #6C757D;
}

.selectstati.selectstati-6 .btn {
    background: #6C757D;
}

.selectstati .dropdown-menu {
    padding: 0;
}

.selectstati .dropdown-menu .dropdown-item {
    border-radius: 0;
}

.por {
    background: var(--color-base);
    border-radius: 19px;
    padding: 1rem 1.5rem 1.5rem;
    font-family: var(--font-1);
    margin: 0 1rem 1rem;
    color: rgba(255, 255, 255, .4);
    font-size: .7rem;
    display: flex;
    line-height: 120%;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}

@media (max-width: 575.98px) {
    .por {
        flex-direction: column;
        gap: 1rem;
    }
}

@media (min-width: 1200px) {
    .por {
        margin: 0 1rem 1rem calc(250px + 1rem);
    }
}

.login+.por {
    display: none;
}

.por img {
    margin-right: 1rem;
}

.por p {
    margin-bottom: 0;
}

#fatturato {
    max-width: 100%;
    max-height: 80vh;
}

/* Livelli carburante */

.serbatoio {
    background: var(--color-grigiosfondo);
    padding: .7rem;
    border-radius: 5px;
    border: 2px solid rgba(0, 0, 0, .1);
    display: block;
    text-decoration: none;
    cursor: pointer;
    position: relative;
}

.serbatoio:hover {
    text-decoration: none;
    color: var(--color-base);
    /* border-color: var(--color-main); */
    cursor: default;
}

.serbatoio.active {
    border-color: var(--color-main);
}

.serbatoio label {
    line-height: 110%;
    font-size: .9rem;
    /* cursor: pointer; */
}

.serbatoio label strong {
    font-weight: 600;
    display: block;
}

.serbatoio label small {
    text-transform: uppercase;
    font-size: .7rem;
    display: block;
    /* font-weight: 500; */
    opacity: .4;
}

.serbatoio .progress {
    height: 8px;
    background: #FFF;
    border-radius: 2px;
    margin-bottom: 3px;
}

.livelli {
    display: flex;
    font-size: .7rem;
    width: 100%;
    line-height: 100%;
}

.livelli-litri {
    margin-right: auto;
}

.livelli-perc {
    text-align: right;
}

.table-carburante {
    font-size: .8rem;
}

.servizio-carburante td {
    background: rgba(0, 0, 0, .04);
}

.servizio-carburante td.servizio-sub svg {
    margin: -4px .2rem 0 .7rem;
}

.att-icon {
    text-align: center !important;
}

.att-icon svg {
    max-width: 16px;
}

.carburante-imbarcazione {
    line-height: 110%;
}

.carburante-imbarcazione strong {
    display: block;
}

.servizio-cancellato td,
.servizio-cancellato td a {
    color: var(--color-rosso);
}

.servizio-cancellato td svg * {
    stroke: var(--color-rosso);
}

.table-carburante .btn-secondary {
    background: rgba(0, 0, 0, .1);
    border: none;
    font-size: .8rem;
    color: rgba(0, 0, 0, .6);
}

.alert-carb svg {
    max-width: 16px;
}

.lt-imbarcati {
    width: 90px;
    margin: auto;
}

.lt-imbarcati svg {
    width: 16px;
}

.carica-contratto-file svg {
    width: 16px;
}

/* floatingdays */

.floatingtop:not(.quick-search-dashboard) {
    position: fixed;
    top: 0;
    left: calc(249px + 1rem + 1px);
    right: calc(1rem + 0px);
    z-index: 2;
    /* opacity: 0; */
    transition: opacity .3s;
    background: #FFF;
}

@media (min-width: 1200px) {
    .floatingtop.show {
        /* opacity: 1; */
    }
}

@media (max-width: 1199.98px) {
    .quick-search-planning {
        margin: 0 1rem;
    }

    .floatingtop:not(.quick-search-dashboard) {
        left: 1rem;
        right: 1rem;
        margin: 0 1rem;
        width: calc(100% - 4rem);
    }
}

@media (max-width: 767.98px) {
    .quick-search-planning {
        margin: 0;
    }

    .floatingtop:not(.quick-search-dashboard) {
        margin: 0;
        width: calc(100% - 2rem);
    }
}

.quick-search-planning .floatingdays {
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    width: calc(100% - 3px);
    margin: .5rem 1px 0 1px;
    border-bottom: 2px solid #FFF;
}

@media (max-width: 767.98px) {
    .quick-search-planning .floatingdays {
        margin-top: 1rem;
    }
}

.quick-search-planning .floatingdays li {
    width: calc((100% - 12px) / 7);
    padding: 3px;
    font-size: .8rem;
    text-align: center;
    background: #DDD !important;
    font-weight: 600;
    /* border: 1px solid #FFF; */
}

#planning .cal-giorni {
    display: none;
}

.quick-search-planning .btn-success {
    padding-top: .55rem;
}

.fuel-history {
    position: absolute;
    top: 5px;
    right: 5px;
    opacity: .6;
    transform: scale(.8);
}

/* Settings */

.settings-container .quick-search-planning {
    margin: 0;
}

.settings-container .card {
    margin: 0 0 1rem;
}

.settings-container .quick-search-planning-cont {
    height: auto;
}

.settings-container .btn-container {
    margin: 0 0 1rem;
}

.file-manager ul.list-group {
    padding: 0 1rem;
}

.file-manager ul.list-group li.list-group-item {
    background: var(--color-grigiosfondo);
    border: none;
    margin-bottom: .2rem;
    border-radius: 3px;
    padding: 0 .2rem 0 0;
}

.file-manager ul.list-group li.list-group-item a {
    text-decoration: none;
    display: block;
    width: 100%;
    padding: .5rem .8rem;
    font-size: .9rem;
    font-weight: 500;
}

.file-manager ul.list-group li.list-group-item a svg {
    margin-right: .4rem;
    transform: scale(.8);
}

.file-manager ul.list-group li.list-group-item .btn {
    border-radius: 3px;
}

.file-manager ul.list-group li.list-group-item .btn-light {
    background: none;
    border: none;
    border-left: 1px solid rgba(0, 0, 0, .1);
}

.file-manager ul.list-group li.list-group-item .btn-light:hover {
    background: rgba(0, 0, 0, .1);
    border-left: 1px solid rgba(0, 0, 0, 0);
}

.file-manager ul.list-group li.list-group-item .btn-light svg {
    transform: scale(.8);
    opacity: .6;
}

.file-manager ul.list-group li.list-group-item .btn-light:hover svg {
    opacity: 1;
}

.file-manager {
    margin-bottom: .8rem;
}

.file-manager .breadcrumb {
    background: var(--color-grigiosfondo);
    margin: 0 1rem .5rem;
    border-radius: 3px;
    padding: 0;
}

.file-manager .breadcrumb-item {
    margin-right: 0 !important;
    position: relative;
    display: flex;
    padding-left: 0 !important;
    padding-right: 5px;
    position: relative;
    background: url(../../../images/breadcrumb-next.png) no-repeat right center;
    background-size: auto 40px;
}

.file-manager .breadcrumb-item.active {
    background: none;
}

.file-manager .breadcrumb-item>a {
    background: transparent;
    padding: .3rem 0 .3rem .2rem !important;
    font-weight: 500;
    text-transform: none;
    font-size: .9rem;
    display: flex;
    height: 100%;
    align-items: center;
    color: rgba(0, 0, 0, .5);
}

.file-manager .breadcrumb-item a:not(.dropdown-item):hover {
    color: var(--color-base);
}

.file-manager .breadcrumb-item>a:not(.breadcrumb-add)::after {
    content: "/";
    display: inline-block;
    padding: 0 0 0 .3rem;
}

.file-manager .breadcrumb>li:first-of-type a:first-of-type {
    text-transform: capitalize;
    padding-left: .8rem !important;
}

.file-manager .breadcrumb-item>a.breadcrumb-add,
.file-manager .breadcrumb-item .btn-success {
    /* margin: -.3rem; */
    background: var(--color-verde);
    padding: .2rem .8rem .3rem .6rem !important;
    border-radius: 3px;
}

.file-manager .breadcrumb-item>a.breadcrumb-add {
    margin-left: -.4rem;
    padding: .2rem .5rem !important;
}

.file-manager .breadcrumb-item>a.breadcrumb-add:hover {
    background: var(--color-verde);
}

.file-manager .breadcrumb-item>a.breadcrumb-add:hover em {
    padding: 0 1rem 0 0;
    transition: max-width .3s, padding .3s;
}

.file-manager .breadcrumb-item>a.breadcrumb-add svg,
.file-manager .breadcrumb-item .btn-success svg {
    opacity: 1;
    width: 13px;
    margin-top: -2px;
    margin-right: 4px;
}

.file-manager .breadcrumb-item>a.breadcrumb-add svg *,
.file-manager .breadcrumb-item .btn-success svg * {
    fill: #FFF;
}

.file-manager .breadcrumb-item>a.breadcrumb-add em {
    display: flex;
    align-items: center;
    max-width: none;
    position: relative;
    left: 0;
    background: none;
    padding: 0 !important;
}

.file-manager .breadcrumb-item span {
    color: rgba(0, 0, 0, .5);
    padding: .2rem .8rem !important;
    border-radius: 3px;
    display: flex;
    align-items: center;
}

.file-manager .breadcrumb-item span.dropdown-toggle {
    cursor: pointer;
}

.file-manager .breadcrumb-item span.dropdown-toggle::after {
    display: none;
}

.file-manager .breadcrumb-item+.breadcrumb-item::before {
    display: none;
}

.file-manager .breadcrumb .dropdown-menu.show {
    margin-left: 2px !important;
    border-top-left-radius: 0;
}

.file-manager .btn-dir-back {
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, .1);
    font-size: .9rem;
    padding: .3rem .6rem .3rem .3rem;
    border-radius: 3px;
    margin-bottom: .5rem;
    margin-left: 1rem;
    display: inline-block;
}

.file-manager .btn-dir-back:hover svg * {
    stroke: #FFF;
}

.file-manager .btn-dir-back:hover {
    background: var(--color-base);
    color: #FFF;
}

.file-manager .btn-dir-back svg {
    transform: scale(.8);
    vertical-align: middle;
    margin-top: -.2rem;
}

.file-manager svg use {
    fill: transparent;
}

.file-manager .nofiles {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.file-manager .nofiles svg {
    width: 120px;
    height: auto;
    margin-bottom: 1rem;
}

.file-manager .nofiles span {
    display: block;
    margin-bottom: 2rem;
}