/* Month header styling */
 .month {
     width: 100%;
     padding: 15px;
     font-family: "Tungsten A", "Tungsten B", "Open Sans", sans-serif;
     background: #041E42;
     text-align: center;
     border-bottom: 2px solid #FF8200;
     color: #fff;
}
 .month .prev, .month .next {
     color: #fff;
     font-size: 20px;
     text-decoration: none;
     padding-top: 10px;
}
 .month .prev {
     float: left;
}
 .month .next {
     float: right;
}
/* Calendar Table */
 .calendar {
     width: 100%;
     border-collapse: collapse;
     table-layout: fixed;
     background-color: #fff;
}
 .calendar th, .calendar td {
     border: 1px solid #ccc;
     vertical-align: top;
     padding: 4px;
     font-size: 12px;
     color: #333;
     position: relative;
}
 .calendar th {
     background-color: #041E42;
     color: #fff;
     font-weight: 600;
     text-align: center;
     padding: 10px;
}
 .calendar td {
     height: 100px;
}
 .calendar td.others {
     background-color: #dbdbdb;
     color: #777;
}
 .calendar td.day:hover {
     background-color: #d3d3d3;
     cursor: pointer;
}
/* Date number */
 .date {
     position: absolute;
     top: 1px;
     right: 1px;
     background: #041E42;
     color: #fff;
     padding: 2px 6px;
     font-size: 12px;
     font-weight: bold;
     border-radius: 4px;
}

/* Default events container */
 .eventsContainer{
     margin-top: 20px;
}

/* Default event block */
 .training, .payroll, .payroll2, .IAPD, .spayday, .holiday, .mpayday, .ABM, .hTimesheet, .managerTimesheet, .autoTerm, .off-cycle, .payrollSubmission, .no-event {
     display: block;
     font-size: 11px;
     text-align: center;
     padding: 2px;
     margin-top: 5px;
     line-height: 16px;
     text-decoration: none;
     border: 1px solid transparent;
     border-radius: 4px;
     border-color: #FF8200;
     word-break: break-word;
}
/* Specific event styles */
 .no-event {
     color: #666;
}
 .payroll {
     background: #333;
     border-color: #333;
     color: #fff;
     font-weight: bold;

}
 .payroll2 {
     background: #CED4DA;
     border-color: #343A40;
     color: #343A40;
     font-weight: bold;

}
 .IAPD {
     background: #e4f2f2;
     border-color: #ff0000;
     color: #ff0000;
     font-weight: bold;
}
 .spayday {
     background: #e4f2f2;
     border-color: #FF8200;
     color: #FF8200;
     font-weight: bold;
}
 .holiday {
     background: #e8e2ef;
     border-color: #BF40BF;
     color: #BF40BF;
     font-weight: bold;
}
 .mpayday {
     background: #e4f2f2;
     border-color: #3B5323;
     color: #3B5323;
     font-weight: bold;
}
 .ABM {
     background: #e4f2f2;
     border-color: #4B0082;
     color: #4B0082;
     font-weight: bold;
}
 .hTimesheet {
     background: #dff0d8;
     color: #31708f;
     font-weight: bold;
}
 .managerTimesheet {
     background: #337ab7;
     color: #fff;
     font-weight: bold;
}
 .autoTerm {
     background: #ccffff;
     border-color: #008080;
     color: #008080;
     font-weight: bold;
}
 .off-cycle {
     background: #000;
     border-color: #4B0082;
     color: #ffd25d;
     font-weight: bold;
}
/* Accessibility focus */
 td[tabindex="0"]:focus {
     outline: 3px solid #FF8200;
     outline-offset: 2px;
}
.payrollSubmission {
    background: #e4f2f2;
    border-color: #FF6A00;
    color: #FF6A00;
    font-weight: bold;
}
/* Utility classes for other labels */
 .register {
     color: #041E42;
     font-weight: bold;
}
 .cancelled {
     color: #ff0000;
     font-weight: bold;
     text-decoration: none;
}
 