/* @import url('https://fonts.googleapis.com/css2?family=Recursive&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Raleway&display=swap');

:root {
    --background-color: whitesmoke;
    --nav-color: #DDD;

    --bs-primary: #12853f;
    --bs-primary_2: #6e9627;
    --bs-secondary: #9392FC;
    --bs-success: #1F52FE;
    --bs-info: #669971; /*#2085c2;*/
    --bs-warning: #FCE36D;
    --bs-danger: #B03831;
}

* {
    box-sizing: border-box;
    user-select: none;
}

html,
body {
    margin: 0;
    min-height: 100vh;
    background-color: var(--background-color);
    scroll-behavior: smooth;
    /* font-family: 'Recursive', sans-serif; */
    font-family: 'Raleway', sans-serif;
    color: #4f4f4f;
}

nav {
    background-color: var(--nav-color);
}

/* input:not([type=checkbox]):not([type=radio]){
    padding: 8px;
    margin: 5px;
    width: 100%;
    max-width: 350px;
} */

/**************************************************************************************************************************/
/***************************************************OVERRIDE BOOTSTRAP*****************************************************/
/**************************************************************************************************************************/

.form-floating>.form-control,
.form-floating>.form-select {
    height: calc(2.5rem + 2px);
}

.form-floating>label {
    padding: 0.5rem 0.75rem;
}

.form-floating>.form-select {
    padding: .6rem .75rem 0;
}

table.dataTable tbody tr{
    background-color: transparent;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
    background: transparent;
    border-radius: 100%;
}

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


/**************************************************************************************************************************/
/*******************************************************CLASSI e ID********************************************************/
/**************************************************************************************************************************/

.btn-primary {
    background-color: var(--bs-primary);
    border: 0;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--bs-primary) !important;
    opacity: .9;
    border: 0;
}

.btn-info {
    background-color: var(--bs-info);
    border: 0;
    color: white;
}

.btn-info:hover,
.btn-info:active,
.btn-info:focus {
    background-color: var(--bs-info) !important;
    opacity: .9;
    border: 0;
    color: white;
}

.btn-outline-info{
    color: white;
    border-color: white;
}
.btn-outline-info:hover,
.btn-outline-info:active,
.btn-outline-info:focus{
    color: black;
    background-color: transparent !important;
    border-color: white !important;
}


.btn-link {
    color: var(--bs-primary);
}

.container-smartphone {
    /*SOLO PER DEV*/
    max-width: 600px;
    margin: 0 auto;

    /*TENERE*/
    margin-bottom: 4rem;
    margin-top: 1rem;
}

.cardRecord {
    background-color: lightgray;
    padding: 1em;
    margin: 1em 0;
    border-radius: 1em;
}

#containerBottomNavbar{
    padding: 0 20px; 
    text-align: center;
    max-width: 550px;
    margin: 0 auto;
}

.navButton {
    text-decoration: none;
    color: #888;
}

.navButton i {
    padding: 7px 14px;
}

.navButton:hover{
    color: var(--bs-primary);
}

.navButton:hover > i{
    background-color: var(--bs-primary);
    opacity: .5;
    color: white;
    border-radius: 7px;
}

.navButtonActive {
    color: var(--bs-primary);
}

.navButtonActive>i {
    background-color: var(--bs-primary);
    color: white;
    border-radius: 7px;
}

.btn-block {
    width: 100%;
}


/************************************** CSS LOADER **************************************/
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--bs-primary);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(24px, 0);
    }
}

/************************************** CSS LOADER - FINE **************************************/

/************************************** ANIMAZIONE SCRITTE **************************************/

.pulseGreen {
    color: var(--bs-primary);
    box-shadow: 0 0 0 0 var(--bs-primary);
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 var(--bs-primary);
    }
    
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(51, 217, 178, 0);
    }
    
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(51, 217, 178, 0);
    }
}

.pulseRed {
    color: var(--bs-danger);
    box-shadow: 0 0 0 0 var(--bs-danger);
    animation: pulse-red 2s infinite;
}
@keyframes pulse-red {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 var(--bs-danger);
    }
    
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(255, 82, 82, 0);
    }
    
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 82, 82, 0);
    }
}

/************************************** ANIMAZIONE SCRITTE - FINE **************************************/


.modal-body{
    max-width: 400px;
    margin: 0 auto;
}

#backButton{
    cursor: pointer;
    user-select: none;
}

#backButtonText{
    font-size: 18px;
}

.spanTime{
    float: right;
    line-height: 2em;
}

.spanTime, .spanTime i{
    font-size: .8em;
}

/*PADDING tra l'input number e le frecce a DX del numero*/
input::-webkit-outer-spin-button, 
input::-webkit-inner-spin-button { 
    margin-left: 10px; 
} 