:root {
    /*colors*/
    --black: #0c0b0b;
    --white: #ffffff;
    --fo-background: #F5F4F4;
    --fo-login-background: #FAFAFA;
    --fo-menu-background: #FFFFFF;
    --fo-red: #EE615C;
    --fo-violet: #9474EE;
    --fo-pink: #FB9089;
    --fo-green: #56afa8;
    --fo-yellow: #e8ab68;
    --fo-blue: #5e7fa8;
    --fob-blue: #7ad1dc;
    --fo-purple: #656fda;
    --fo-grey: #EAEAEA;
    --fo-lightgrey: #707070;
    --fo-darkgrey: #9D9797;
    --fo-bordergray: #CBCBCB;
    --fo-textgray: #666666;
    --fo-websitecolor: #549D64;

    /*sizes*/
    --container-max: 768px;

    /*default square border*/
    --default-border: 1px solid var(--fo-bordergray);

}
/* GENERIC CLASS IN HELP TO BOOTSTRAP*/
.mb-30{
    margin-bottom: 30px;
}
.mb-35{
    margin-bottom: 35px;
}
.mb-40{
    margin-bottom: 40px;
}
/* GENERIC CLASS IN HELP TO BOOTSTRAP*/


*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-color: var(--fo-background);
}

.pb-150{
    padding-bottom: 150px!important;
}
.fo--mw{
    max-width: var(--container-max);
    margin: auto;
    padding-top: 90px;
    padding-bottom: 60px;
}
.text-xs{
    font-size: .75rem;
}
.text-red{
    color: var(--fo-red);
}
.text-green{
    color: var(--fo-green);
}
.text-yellow{
    color: var(--fo-yellow);
}
.text-blue{
    color: var(--fo-blue);
}
.text-light-blue{
    color: var(--fob-blue);
}
.text-purple{
    color: var(--fo-purple);
}
.half-opacity{
    opacity: 0.5;
}
.right-0{
    right: 0;
}
.full-vh-container{
    /*height: 100vh;*/
    /*padding: 20px;*/
    /*display: flex;*/
    /*flex-direction: column;*/
    /*justify-content: space-between;*/
    /*align-items: center;*/
}
.px-15 {
    padding-left: 15px;
    padding-right: 15px;
}
.fo--background{
    background-color: var(--fo-background);
}
.mb-40{
    margin-bottom: 40px;
}
.min-w-150{
    min-width: 150px;
}
label.password-view{
    position: relative;
    width: 100%;
}
.password-eye-icon{
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    cursor: pointer;
    background-repeat: no-repeat;
}
.website-logo{
    text-align: center;
}
.input-code-container{
    display: flex;
    align-items: center;
}
.input-code-number{
    height: 50px;
    text-align: center;
}
.input-code-container input:nth-child(3){
    margin-right: 20px;
    border-top-right-radius: 4px!important;
    border-bottom-right-radius: 4px!important;
}
.input-code-container input:nth-child(4){
    margin-left: 20px !important;
    border-top-left-radius: 4px!important;
    border-bottom-left-radius: 4px!important;
}
.input-code-container:after{
    content: '';
    position: absolute;
    left: 50%;
    width: 20px;
    height: 2px;
    transform: translateX(-50%);
    background-color: #a1a2a4;
}
.gps-localization-container{
    background: rgb(160, 160, 160);
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-weight: 600;
    font-size: 1.3rem;
    margin: 0 auto;
    width: 80%;
    padding: 16px;
    box-shadow: 0 0 0 0 rgb(160, 160, 160);
    transform: scale(1);
    animation: pulse 2s infinite;
}
.gps-localization-container.succeeded{
    background: rgba(46,204,113,1);
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-weight: 600;
    font-size: 1.3rem;
    margin: 0 auto;
    width: 80%;
    padding: 16px;
    box-shadow: 0 0 0 0 rgba(46,204,113, 1);
    transform: scale(1);
    animation: pulse-succeeded 2s infinite;
}
.gps-localization-container.failed{
    background: rgb(204, 46, 46);
    color: #ffffff;
    padding: 16px;
    animation: none;
}
.gps-succeeded{
    display: none;
}
.gps-failed{
    display: none;
}
.clock-container{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
    text-align: center;
    font-weight: 600;
    font-size: 3rem;
}
.clock-numbers{
    color: #5c5c5c;
    width: 90px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.date-container{
    color: #5c5c5c;
    /*margin-top: 50px;*/
    text-align: center;
    font-weight: 600;
    font-size: 3rem;
}
.stamp-card {
    margin: 50px auto 0;
    background-color: #79bbff;
    cursor: pointer;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 80%;
    background:linear-gradient(to bottom, #599bb3 5%, #408c99 100%);
    background-color:#599bb3;
    border-radius:38px;
    border:2px solid #29668f;
    font-size:20px;
    padding: 13px 32px;
    box-shadow: 0 10px 14px -7px #276873;
    text-shadow:0 2px 0 #3d768a;
}
.stamp-card:hover {
    background:linear-gradient(to bottom, #408c99 5%, #599bb3 100%);
    background-color:#408c99;
    color: #ffffff;
}
.stamp-card:active {
    position:relative;
    top:1px;
}
.stamp-card.success {
    margin: 50px auto 0;
    cursor: pointer;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 80%;
    background-color: #5bb359;
    background: linear-gradient(to bottom, #5bb359 5%, #589940 100%);
    border-radius:38px;
    border:2px solid #0a8216;
    font-size:20px;
    padding: 13px 32px;
    box-shadow: 0 10px 14px -7px #123b07;
    text-shadow:0 2px 0 #3e453d;
}
.stamp-card.success:hover {
    background:linear-gradient(to bottom, #589940 5%, #5bb359 100%);
    background-color:#589940;
}
.stamp-card.danger {
    margin: 50px auto 0;
    cursor: pointer;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 80%;
    background-color: #c44b4b;
    background: linear-gradient(to bottom, #b35959 5%, #994040 100%);
    border-radius:38px;
    border:2px solid #820a0a;
    font-size:20px;
    padding: 13px 32px;
    box-shadow: 0 10px 14px -7px #3b0707;
    text-shadow:0 2px 0 #3e453d;
}
.stamp-card.danger:hover {
    background:linear-gradient(to bottom, #994040 5%, #b35959 100%);
    background-color: #9c1616;
}
.stamp-card.disabled ,
.stamp-card:disabled {
    filter: grayscale(1);
    pointer-events: none;
    cursor: not-allowed;
    border-color: #838383;
}
.stamp-card.primary {
    margin: 50px auto 0;
    box-shadow: inset 0 1px 0 0 #54a3f7;
    background: linear-gradient(to bottom, #007dc1 5%, #0061a7 100%);
    background-color: #007dc1;
    border: 1px solid #124d77;
    cursor: pointer;
    color: #ffffff;
    font-size: 13px;
    line-height: 24px;
    text-decoration: none;
    text-shadow: 0 1px 0 #154682;
}
.stamp-card.primary:hover {
    background:linear-gradient(to bottom, #0061a7 5%, #007dc1 100%);
    background-color:#0061a7;
}
.stamp-card.primary:active {
    position:relative;
    top:1px;
}
.stamp-card.white {
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
    background-color: #ffffff;
    border: 1px solid #dcdcdc;
    cursor: pointer;
    color: #666666;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    text-shadow: 0 1px 0 #ffffff;
    -webkit-box-shadow: 4px 6px 3px -2px rgba(0,0,0,0.32);
    box-shadow: 4px 6px 3px -2px rgba(0,0,0,0.32);
}
.stamp-card.white:hover {
    background: linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
    background-color: #f6f6f6;
}
.stamp-card.white:active {
    position: relative;
    top: 1px;
}

.stamp-card.blue {
    box-shadow:inset 0 0 15px 3px #23395e;
    background:linear-gradient(to bottom, #7892c2 5%, #476e9e 100%);
    background-color:#2e466e;
    border-radius:5px;
    border:1px solid #1f2f47;
    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-size:15px;
    padding:5px 21px;
    text-decoration:none;
    text-shadow:0 1px 0 #263666;
    margin-top: 10px;
}
.stamp-card.blue:hover {
    background:linear-gradient(to bottom, #476e9e 5%, #7892c2 100%);
    background-color:#476e9e;
}
.stamp-card.blue:active {
    position:relative;
    top:1px;
}


#task-assignment-page-btn{
    display: block;
}
/*NAVBAR*/
.navbar-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    padding: 0 25px;
    color: #000000;
    z-index: 1000;
    transition: background-color 0.2s linear;
    background-color: #353434;
}
.navbar-container .inner-cont{
    position: relative;
    height: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
}
.navbar-container .inner-cont .menu-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar-container .inner-cont .menu-container a:not(.dropdown-link),
.navbar-container .inner-cont .menu-container .ve-nav-dropdown,
.navbar-container .inner-cont .menu-container .ve-nav-hover-dropdown{
    margin-right: 100px;
}
.navbar-container .inner-cont .menu-container a:not(.dropdown-link):last-child,
.navbar-container .inner-cont .menu-container .ve-nav-dropdown:last-child,
.navbar-container .inner-cont .menu-container .ve-nav-hover-dropdown:last-child{
    margin-right: 0;
}
.mobile-menu{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background-color: #353434;
    overflow: scroll;
    z-index: 9999;
}
.mobile-menu-btn{
    width: 30px;
    margin-left: 25px;
    cursor: pointer;
    z-index: 10000;
}
.mobile-menu-btn .line{
    width: 100%;
    height: 3px;
    background-color: #ffffff;
    margin-bottom: 5px;
    transition: all 0.2s linear;
    border-radius: 3px;
}
.mobile-menu-btn.open .line:nth-child(1){
    transform: translate(0, 6px) rotate(45deg);
}
.mobile-menu-btn.open .line:nth-child(2){
    transform: translateX(400px);
}
.mobile-menu-btn.open .line:nth-child(3){
    transform: translate(0, -10px) rotate(-45deg);
}
.mobile-menu-btn .line:last-child{
    margin-bottom: 0;
}
.mobile-menu .item-cont{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    min-height: 100%;
    font-size: 32px;
}
.mobile-menu .item-cont a{
    color: #ffffff;
    text-decoration: none;
}
.mobile-menu .item-cont a:first-child{
    margin-top: 55px;
}
.mobile-menu .item-cont .mobile-item-link:not(:last-child),
.mobile-menu .item-cont a:not(:last-child){
    margin-bottom: 16px;
}
.mobile-menu .item-cont a:last-child{
    margin-bottom: 55px;
}
.mobile-menu.less-than-four .item-cont{
    justify-content: center;
}
.mobile-menu.less-than-four .item-cont a{
    margin-bottom: 55px;
}
.mobile-menu.less-than-four .item-cont a:first-child{
    margin-top: 0;
}
.mobile-menu.less-than-four .item-cont a:last-child{
    margin-bottom: 0;
}
/* END NAVBAR */

.uscita-via-orario {
    display: none;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #c4c4c4;
    box-shadow: 1px 4px 7px 0 rgba(160, 160, 160, 0.42);
}
.uscita-via-orario #timbra-via-orario{
    width: 100%;
}
.uscita-via-orario .text-howto{
    font-size: 0.9rem;
    margin-bottom: 20px;
}
.uscita-via-orario input{
    width: 100%;
    margin: auto;
}
.miss-clockin-message{
    position: relative;
}
.miss-clockin-message:after{
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #dc3545;
}
.miss-clockin-message.show:after{
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #dc3545;
    border-top: 0 solid transparent;
}
.dropzone{
    background-color: #ffffff ;
    border: 1px solid #ced4da;
    border-radius: 4px;
}
.dropzone .dz-default.dz-message span{
    opacity: 0.4;
}
#admin-notifications .alert {
    word-break: break-word;
}
#admin-notifications .alert a{
    color: #0c0b0b;
}
.amount-container #currency,
.amount-container #reimbursable_currency{
    max-width: 20%;
    min-width: 120px;
}
@media(max-height: 667px){
    .mobile-menu .item-cont{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: 100%;
        font-size: 32px;
    }
    .mobile-menu .item-cont a:first-child {
        margin-top: 0;
    }
    .mobile-menu .item-cont a:last-child {
         margin-bottom: 0;
     }
    .mobile-menu .item-cont a.logout-btn {
        display: flex;
        align-items: center;
        justify-content: center;
     }
    .mobile-menu .item-cont a.logout-btn img {
        transform: rotate(180deg);
     }
}
@keyframes pulse {
    0% {
        transform: scale(0.90);
        box-shadow: 0 0 0 0 rgba(160, 160, 160, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(160, 160, 160, 0);
    }

    100% {
        transform: scale(0.90);
        box-shadow: 0 0 0 0 rgba(160, 160, 160, 0);
    }
}
@keyframes pulse-succeeded {
    0% {
        transform: scale(0.99);
        box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(46, 204, 113, 0);
    }

    100% {
        transform: scale(0.99);
        box-shadow: 0 0 0 0 rgba(46, 204, 113, 0);
    }
}
