*{
    font-size: small;
    font-family: "Segoe UI", Tahoma, Helvetica, Arial, "Helvetica Neue", "Lucida Grande", sans-serif !important;
}

html {
    min-height: 100%;
}

body {
    /*margin: 0;
    padding: 0;
    width: 100%;*/
    min-height: 100%;
}

/* layout */
.masterPane {
    margin: 10px auto 10px auto;
    max-width: 1050px;
    min-height: 600px;
    border: 7px solid lightgray;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

/* layout - header*/
.headerPane {
    background-color: #267576;
    border-bottom: 2px solid lightgray;
    display: grid;
    grid-template-columns: auto 1fr auto;
}

.logoLeft {

}

.loadingMid {
    align-self: center;
    justify-self: end;
    margin-right: 10px;
    display: none;
}

.userRight {
    align-self:center;
    margin-right: 10px;
    text-align: right;
    color: white;
}

/* layout - nav/content */
.contentPane {
    display: grid;
}

.navArea {
    border-right: 2px solid #2d5986;
    background-color: #E6E6E6;
}

ul.nav {
    list-style-type: none;
    margin-top: 0;
    padding-left: 5px;
    padding-top: 0;
}

li.nav {
    line-height: 2.3em;
    margin: 0 0 0 0;
    padding: 0 0 0 18px;
    background: url(/Content/Images/arrow_right.png) no-repeat 0 8px;
}

/* layout - titlebar */
.contentTitleLeft {
    font-weight: bold;
    color: white;
    background-color: #2d5986;
    text-align: left;
    float: left;
    position: relative;
    line-height: 40px;
    height: 40px;
    padding-left: 8px;
    padding-right: 0;
    box-sizing: border-box;
}

.contentTitleRight {
    background-color: #2d5986;
    line-height: 40px;
    height: 40px;
    padding-left: 0;
    padding-right: 5px;
    box-sizing: border-box;
    overflow: auto;
}

/* layout - footer */
.footerPane {
    background-color: whitesmoke !important;
    border-top: 2px solid lightgray;
}

/* mini buttons */
button:not(.ui-button) {
    /*background-color: #5c85d6;
    border-radius: 2px;
    border: none;
    color: white;
    text-align: center;
    text-decoration: none;
    cursor: pointer;*/

    background: none !important;
    border: none;
    padding: 0 !important;
    text-decoration: underline;
    cursor: pointer;
    margin-right: 5px;
    color: blue;
}

button:hover {
    /*color: purple;*/
}

/* full buttons */
input[type=button] {
    background-color: #d9d9d9;
    border: 1px solid #b3b3b3;
    border-radius: 2px;
    color: black;
    height: 26px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

input[type=button]:hover {
    background-color: #e6e6e6;
}

input[type=button]:disabled {
    background-color: #999999;
}

/* navigation buttons (prior/browse/next) */
.navButton {
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    min-width: 30px;
}

/* save button */
input[type=button].saveButtonPending {
    background: #ffe066;
    border: 1px solid #ffd633;
    color: black;
}

input[type=button].saveButtonPending:hover {
    background-color: #ffeb99;
}

/* links */
a:not(.ui-tabs-anchor):not(.totalsLinkOT) {
    color: blue !important;
}

/* general inputs */
input[type="text"], input[type="password"], textarea {
    border: 2px #ccdde3 solid;
}

input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
    border: 2px #0099ff solid;
}

input[type=checkbox] {
    vertical-align:middle;
}

select {
    border: 2px #ccdde3 solid;
    padding: 1px;
}

select:focus {
    border: 2px #0099ff solid;
    padding: 1px;
}

.gridRadio {
    display: flex;
    align-items: center;
}

.filterLabel {
    font-weight: bold;
    padding-bottom: 3px;
    display: inline-block;
}

/* box headers? */
.groupTitle {
    background-color: #2d5986 !important;
    font-weight: bold;
    color: white !important;
    padding: 8px 5px;
}

.groupTdCaption {
    height: 24px;
    padding: 3px;
    background-color: #E6E6E6;
    white-space: nowrap;
}

.groupDivCaption {
    font-weight: bold;
    margin:3px;
}

.groupTdValue {
    height: 26px;
    padding: 3px 8px 3px 3px;
}

.pageBackground {
    background-color: #555555;
}

/* login */
.loginMaster {
    width: 450px; 
    text-align: center; 
    margin-left: auto; 
    margin-right: auto; 
    margin-top:50px; 
    padding-bottom: 25px; 
    padding-top: 0; 
    background-color: white;
    border: 7px solid lightgray;
}

.loginHeader {
    background-color: #267576;
    height: 55px;
}

.loginfieldset {
    width: 300px; 
    margin-left: auto; 
    margin-right: auto; 
    clear: both; 
    padding:10px;
    text-align:left;
}

.loginlegend {
    font-weight: bold; 
    margin-left: 5px;
}

/* pay period statuses */
[data-status-pp="O"] {
    background-color: #5bd75b;
}

[data-status-pp="C"] {
    background-color: #ff704d;
}

[data-status-pp="P"] {
    background-color: tan;
}

/* timesheet page */

/* timesheet statuses/totals */
[data-status-ts="A"] {
    background-color: #5bd75b;
    border: 1px solid #32cd32;
}

[data-status-ts="D"] {
    background-color: #ffcc66;
    border: 1px solid #ffbb33;
}

[data-status-ts="P"] {
    background-color: #33cccc;
    border: 1px solid #29a3a3;
}

/* totals block */
.totalsCaption {
    padding: 5px;
}

.totalsValue {
    text-align: right;
    padding: 5px;
}

.totalsBorderTop {
    border-top: 1px solid lightgray;
}

.totalsOT {
    color: red;
    font-weight: bold;
}

.totalsLinkOT {
    color: red !important;
}

/* misc timesheet elements */
.requiredExpired {
    padding: 8px;
/*    background-color: gold;*/
    border: 1px solid gray;
    color: black;
    font-weight: bold;
    margin: 10px 10px 0 10px;
}

#divIncompleteGoalsYellow {
    padding: 8px;
    background-color: gold;
    border: 1px solid #e6c300;
    color: black;
    font-weight: bold;
    margin: 10px 10px 0 10px;
}

#divIncompleteGoalsRed {
    padding: 8px;
    background-color: tomato;
    border: 1px solid #e6c300;
    color: black;
    font-weight: bold;
    margin: 10px 10px 0 10px;
}

.attachGoals {
    background-color: #99e6ff;
}

#tblMileage > thead > tr {
    background-color: #9fdf9f;
}

#tblGoals > thead > tr {
    background-color: #9fdf9f;
}

.notBillable {
    display: inline-block;
    margin-left: 10px;
    background: tan;
    padding: 0 5px;
    border: 1px solid #c69f6c;
}

.signed,[data-sig-indicator] {
    background-color: #5bd75b;
    border: 1px solid #32cd32;
    padding: 3px;
}

.notSigned {
    background-color: lightgray;
    border: 1px solid #bfbfbf;
    padding: 3px;
}

[data-sig-btn] {
    margin-left: 5px;
}

/*jquery mods*/
.ui-tabs > .ui-tabs-nav > .ui-state-disabled {
    display: none;
}

.ui-datepicker-trigger {
    margin-bottom: -7px; 
}

.ui-tabs-panel { 
    padding: 0;
}

.ui-widget-overlay { 
    opacity: .75 !important;
    filter: Alpha(Opacity=75) !important;
}

/*datatables mods*/
table.dataTable thead tr {
    background-color: lightsteelblue;
}

.dataTables_wrapper .dataTables_length {
    margin-bottom: 10px;
}

.noTitleDialog .ui-dialog-titlebar {
    display: none
}

/* datatables col classes */
.colleft {
    text-align: left;
}

.colright {
    text-align: right;
}

.colcenter {
    text-align: center;
}

.colnowrap {
    white-space: nowrap;
    overflow: hidden;
}

.colpreline {
    white-space: pre-line;
}


/*small screen mods*/
@media all and (max-width: 650px) {
    .contentTitleLeft {
        line-height: 50px;
        height: 50px;
    }

    .contentTitleRight {
        line-height: 50px;
        height: 50px;
    }

    #btnSave {
        height: 35px;
    }

    #btnMobileActions {
        height: 35px;
    }

    button:not(.ui-button) {
        background: whitesmoke !important;
        border: 1px solid gray;
        padding: 3px !important;
        text-decoration: unset;
        min-width: 60px;
    }

    /*timesheet page*/
    #divTimesheet > div {
        grid-column: 1 / -1 !important;
    }

    #divTotals {
        grid-template-columns: 1fr 1fr !important;
    }

    #divTotals > div {
        align-self: start;
    }

    #divTimesheet .ui-tabs .ui-tabs-panel {
        padding: 10px 5px 0 5px;
    }

    #divTimesheet #tabs-1 a {
        text-transform: uppercase;
    }

    #tdDailyActivities > div {
        grid-template-columns: 1fr !important;
    }

    /*staff page*/
    #divStaff {
        grid-template-columns: 1fr !important;
    }

    #divStaff > div {
        grid-column: 1 / -1 !important;
    }

    #divDates {
        grid-template-columns: 1fr !important;
    }

    #divDates > div {
        grid-column: 1 / -1 !important;
    }

    /* login*/
    .loginMaster {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        margin-top: 0;
        border: 0 solid gray;
    }

    .loginfieldset {
        width: 90%;
        box-sizing: border-box;
        margin-left: auto;
        margin-right: auto;
    }

    /*general*/
    * {
        font-size: medium;
    }

    html, body {
        margin: 0;
        height: 100%;
    }

    .masterPane {
        margin: 0 auto 0 auto; 
        border: 0 solid gray;
        height: 100%;
    }

    #mobile {
        visibility: visible !important;
    }

    #menuMobile li {
        font-weight:bold;
        padding: 10px;
        border-bottom: 1px dotted gray;
    }

    .groupTdCaption {
        white-space: normal;
    }

    /*input[type=button] {
        width: auto !important;
    }*/

    #btnPrior, #btnNext {
        display: none;
    }

    .ui-tabs .ui-tabs-panel {
        padding: 8px 5px 5px 5px !important;
        overflow: scroll;
    }

    #divEVVLatest {
        margin-top: 5px;
    }
}
