
/* ========================================
   MEDIA PRINT
   ======================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
    }
}


/* ========================================
   ACCESSIBILITY
   ======================================== */

span.sr-only {
    display: none;
}


/* ========================================
   TIPOGRAFIA - DIMENSIONI FONT
   ======================================== */

.text-12 {
    font-size: 12px;
}
.text-14 {
    font-size: 14px;
}
.text-15 {
    font-size: 15px;
}
.text-16 {
    font-size: 16px;
}
.text-17 {
    font-size: 17px;
}
.text-18 {
    font-size: 18px;
}
.text-21 {
    font-size: 21px;
}
.text-24 {
    font-size: 24px;
}
.text-30 {
    font-size: 30px;
}


/* ========================================
   TIPOGRAFIA - PESO FONT
   ======================================== */

.font-weight-light {
    font-weight: 300;
}
.font-weight-normal {
    font-weight: 400;
}
.font-weight-medium {
    font-weight: 500;
}
.font-weight-bold {
    font-weight: bold;
}


/* ========================================
   COLORI - TESTO
   ======================================== */

.text-dark {
    color: var(--color-dark);
}
.text-muted {
    color: #999999;
}
.text-primary {
    color: var(--color-primary);
}

a.text-primary:hover,
a.text-primary:focus {
    color: var(--color-primary);
}

.text-success {
    color: #43ac6a;
}
a.text-success:hover,
a.text-success:focus {
    color: #358753;
}

.text-info {
    color: #5bc0de;
}
a.text-info:hover,
a.text-info:focus {
    color: #31b0d5;
}

.text-warning {
    color: #e99002;
}
a.text-warning:hover,
a.text-warning:focus {
    color: #b67102;
}

.text-danger {
    color: #f04124;
}
a.text-danger:hover,
a.text-danger:focus {
    color: #d32a0e;
}


/* ========================================
   COLORI - SFONDO
   ======================================== */

.bg-primary {
    background-color: var(--color-primary);
}

.background-gradient-light-grey {
    background: transparent linear-gradient(56deg, #DDDDDD 0%, var(--color-white) 100%) 0 0 no-repeat padding-box;
}


/* ========================================
   COLORI - RIEMPIMENTO SVG
   ======================================== */

.white {
    fill: var(--color-white);
}
.gray {
    fill: #E0E0E0;
}
.yellow {
    fill: #FFEB3B;
}


/* ========================================
   EFFETTI - OMBRE
   ======================================== */

.shadow {
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.hover-shadow:hover {
    filter: drop-shadow(0px 2px 10px rgba(16, 16, 16, .15));
    transition: ease all .3s;
}


/* ========================================
   BORDI - STILI BASE
   ======================================== */

.border {
    border: 1px solid #f0f0f0;
}
.border-0 {
    border: 0 !important;
}

.highlight-red {
    border: 2px solid red;
}


/* ========================================
   BORDI - RADIUS
   ======================================== */

.border-radius-5 {
    border-radius: 5px !important;
}
.border-radius-10 {
    border-radius: 10px !important;
}
.border-radius-15 {
    border-radius: 15px !important;
}
.border-radius-20 {
    border-radius: 20px !important;
}


/* ========================================
   SPAZIATURA - MARGIN BASE
   ======================================== */

.m-0 { margin: 0 !important; }
.m-1 { margin: .25rem !important; }
.m-2 { margin: .5rem !important; }
.m-3 { margin: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.m-5 { margin: 3rem !important; }


/* ========================================
   SPAZIATURA - MARGIN TOP
   ======================================== */

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mt-50 { margin-top: 50px; }
.mt-auto { margin-top: auto !important; }


/* ========================================
   SPAZIATURA - MARGIN RIGHT
   ======================================== */

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: .25rem !important; }
.mr-2 { margin-right: .5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }
.mr-auto { margin-right: auto !important; }


/* ========================================
   SPAZIATURA - MARGIN BOTTOM
   ======================================== */

.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.mb-auto { margin-bottom: auto !important; }


/* ========================================
   SPAZIATURA - MARGIN LEFT
   ======================================== */

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: .25rem !important; }
.ml-2 { margin-left: .5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.ml-auto { margin-left: auto !important; }


/* ========================================
   SPAZIATURA - MARGIN ORIZZ/VERT
   ======================================== */

.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
.mx-2 { margin-right: .5rem !important; margin-left: .5rem !important; }
.mx-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
.mx-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
.mx-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }

.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.my-3 { margin-bottom: 1rem !important; margin-top: 1rem !important; }
.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.my-auto { margin-bottom: auto !important; margin-top: auto !important; }


/* ========================================
   SPAZIATURA - PADDING BASE
   ======================================== */

.p-0 { padding: 0 !important; }
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 3rem !important; }


/* ========================================
   SPAZIATURA - PADDING TOP
   ======================================== */

.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: .25rem !important; }
.pt-2 { padding-top: .5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }


/* ========================================
   SPAZIATURA - PADDING RIGHT
   ======================================== */

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: .25rem !important; }
.pr-2 { padding-right: .5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }


/* ========================================
   SPAZIATURA - PADDING BOTTOM
   ======================================== */

.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: .25rem !important; }
.pb-2 { padding-bottom: .5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }


/* ========================================
   SPAZIATURA - PADDING LEFT
   ======================================== */

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: .25rem !important; }
.pl-2 { padding-left: .5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }


/* ========================================
   SPAZIATURA - PADDING ORIZZ/VERT
   ======================================== */

.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
.px-2 { padding-right: .5rem !important; padding-left: .5rem !important; }
.px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-bottom: 1rem !important; padding-top: 1rem !important; }
.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }


/* ========================================
   SPAZIATURA - GAP
   ======================================== */

.gap-5 {
    gap: 5px;
}
.gap-10 {
    gap: 10px;
}
.gap-15 {
    gap: 15px;
}


/* ========================================
   SPAZIATURA - SPACER
   ======================================== */

.spacer.height-20 {
    height: 20px;
}
.spacer.height-40 {
    height: 40px;
}
.spacer.height-60 {
    height: 60px;
}
.spacer.height-80 {
    height: 80px;
}
.spacer.height-100 {
    height: 100px;
}


/* ========================================
   DIMENSIONI - LARGHEZZA
   ======================================== */

.w-100 {
    width: 100%;
}

.w100 {
    width: calc(100vw - 30px);
}


/* ========================================
   DIMENSIONI - ALTEZZA
   ======================================== */

.h-100 {
    height: 100%;
}

.h100 {
    height: calc(100vh - 75px);
}


/* ========================================
   EFFETTI - OPACITÀ
   ======================================== */

.opacity-5 {
    opacity: 50%;
}
.opacity-6 {
    opacity: 60%;
}
.opacity-7 {
    opacity: 70%;
}


/* ========================================
   EFFETTI - TRANSIZIONI
   ======================================== */

.spinner-overlay {
    transition: opacity 0.4s;
}


/* ========================================
   COMPONENTI - BADGE
   ======================================== */

.badge-filter {
    position: relative;
    top: -12px;
    right: 12px;
    font-size: 1.2rem;
    border-radius: 50%;
    padding: 4px 6px;
}


/* ========================================
   COMPONENTI - SELEZIONE LINGUA
   ======================================== */

.selected_lang {
    background-color: var(--color-primary-rgba-3) !important;
}

.div_lang {
    display: flex;
}


/* ========================================
   OVERRIDE - SWAGGER UI
   ======================================== */

.swagger-ui .info .title small pre {
    padding: 2px 5px !important;
    border: none;
    background-color: transparent;
}


/* ========================================
   OVERRIDE - MEGA MENU
   ======================================== */

.mega-col .divider:first-child {
    display: none;
}


/* ========================================
   MEDIA QUERIES - RESPONSIVE
   ======================================== */

@media screen and (min-width: 768px) {
    .mb-sm-0 {
        margin-bottom: 0 !important;
    }
}
