body { font-family:Lato, sans-serif; letter-spacing:0.02rem; }

a, [data-toggle='popover'] { cursor:pointer!important; }

.container-fluid {
    padding:0;
}

.row {
    margin: 0;
}

.overflow-h {
    overflow: hidden;
    white-space: nowrap;
}

.page-header {
    padding: 0.5rem;
    border-bottom: 0.1rem solid #eceff2;
}

.page-title {
    display:flex;
    align-items:center;
    font:600 1rem Montserrat, Lato, sans-serif;
    color: #39b54a;
    text-transform:uppercase;
    letter-spacing:0.05rem;
}

.page-header span, .page-title span {
    color:#666666;
    cursor:pointer;
}

.page-subtitle {
    font-weight: bold;
    font-style: italic;
    color: #b3b3b3;
}

.page-header-text {
    text-align:center;
    font-size:0.8rem;
    font-weight:bold;
    font-style:italic;
    color:#a7a7a7;
}

.page-header-separator {
    color: #b3b3b3;
    margin: 0;
    padding: 0;
}

.page-header label {
    margin-bottom:0;
}

.page-description {
    color: #666666;
    margin: 0 0.5rem;
    padding: 0;
}

.list-bkgnd {
    background-color: #eceff2;
    overflow-y:auto;
}

.list-header {
    font-weight: bold;
    margin-left: 0.5rem;
}

.list-row {
    background-color:#fff;
    margin:0.5rem;
    box-shadow: -0.1rem 0.1rem 0.15rem #aaa;
}

.list-item {
    padding:0.5rem 0;
}

.list-item:hover {
    background-color:#f0f0f0;
}

.lbl {
    padding: 0.1rem 0.5rem;
}

.btn, .btn-toggle {
    padding: 0.2rem 0.75rem;
    cursor:pointer;
}

.btn-5 {
    min-width: 5rem;
}

.btn:hover:not([disabled]) {
    color: #fff;
    background-color: #005080;
}

.btn:disabled {
    background-color: #888;
    border-color:#888;
}

.btn, .lbl, .btn-toggle {
    font-size: 0.875rem;
    line-height: 1rem;
    border-radius:100rem;
    letter-spacing:0.01rem;
    color: #fff!important;
    background-color: #003a5d;
    border-color: #003a5d;
    font-weight: bold;
}

.btn-toggle {
    background-color: #fff;
    color: #003a5d!important;
    border: 0.1rem solid #003a5d;
}

.btn-toggle:hover {
    background-color: #e8e8e8;
}

.btn-block {
    min-width:10rem;
}

.btn-small {
    font-size: 0.75rem!important;
    line-height: 0.75rem!important;
}

.btn-x-small {
    font-size: .7rem;
    height: 1.25rem;
    line-height: .75rem;
}

.btn.active {
    background-color: #005e96;
}

.btn.focus {
    box-shadow:none;
}

.btn-tab {
    text-align:center;
    font-size:1rem;
    line-height:1.5rem;
    border-radius:0.3rem;
    border:none;
    color:#a6a6a6;
    background-color:#ffffff;
    font-weight:500;
    text-decoration:none!important;
}

.btn-tab.btn-tab-wide {
    width:10rem;
    max-width:100%;
}

.btn-tab.btn-tab-auto {
    width:auto;
}

.btn-tab:hover {
    cursor:pointer;
}

.btn-tab.active, .btn-tab.btn-tab-solid {
    outline:none;
    color:#757575;
    background-color:#e6e6e6;
    -webkit-box-shadow:inset 0 0.01rem 0.3rem #cfcfcf;
    -moz-box-shadow:inset 0 0.01rem 0.3rem #cfcfcf;
    box-shadow:inset 0 0.01rem 0.3rem #cfcfcf;
}

.btn-tab:focus {
    outline:0!important;
}

.form-group {
    margin-bottom:1rem!important;
}

.form-control, .input-group .input-group-append .input-group-text { font-size:0.9rem; padding: 0 0.5rem; }

select.form-control { height:auto!important; }

.widget {
    margin: 0;
    padding: 0.5rem;
    overflow: visible;
}

.widget-container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    overflow: visible;
}

.widget-header {
    color: #666666;
    background-color: #f1f1f1;
    padding: 0.25rem 0;
    font-weight: bold;
}

.widget-list {
    overflow-y:overlay;
    overflow-x:hidden;
    max-height: 30em;
    margin:0.25rem 0;
    padding:0 1rem;
}

.widget-list.full-page-widget {
    max-height:none;
}

.widget-list a.row:hover {
    color:#005080;
}

.widget-lbl {
    padding: 0;
    font-weight: normal;
}

.widget-separator {
    border-left: 0.05rem solid #eceff2;
}

.column-header {
    font-weight: bold;
    font-style: italic;
    color: #b3b3b3;
    margin: 0;
    font-size: 0.9rem;
}

.column-cell {
    display:flex;
    align-items:center;
    color: #666666;
    margin: 0;
    font-size: 0.9rem;
}

.dropdown-toggle {
    text-align: right;
}

.dropdown-item {
    cursor: pointer;
}

.dropdown-item.disabled {
    opacity:0.5;
}

.search-dropdown {
    display: none;
    left: auto;
    max-height: 20em;
    overflow-y: auto;
    width: 15em;
}

.search-dropdown a {
    color: black;
    padding: 6px 4px;
    text-decoration: none;
    width:100%;
}

.search-dropdown a:hover {
    background-color: #ddd
}

.search-dropdown-navigation {
    color: black;
    padding: 6px 4px;
    text-decoration: none;
    width: 100%;
    background-color: #ddd
}

.dataTable td {
    padding:0;
}

.dataTable td span, .dataTable td a {
    line-height:1.25rem;
}

.dataTable td a:hover {
    color:#005080;
}

.date, .tc-date {
    font-weight: bold;
    font-style: italic;
    color: #b3b3b3;
    min-width: 7rem;
}

.list-subject, .list-subject a {
    display:inline-block;
    margin:0;
    font-weight: bold;
    color: #333333;
    overflow:hidden;
}

.list-cell, .progress-lbl {
    display:inline-block;
    color: #333333;
    overflow:hidden;
}

.list-link {
    font-weight:normal!important;
    text-decoration:underline;
    color:#005080;
    cursor:pointer;
}

.list-text { font-weight:normal!important; }

.notes-row {
    border-top: 0.05rem dashed #d0d0d0;
    font-size: 0.9rem;
    margin: 0 0.5rem;
}

.notes {
    font-size: 0.9rem;
}

.row-separator {
    border-bottom: 0.05rem solid #eceff2;
}

.col-separator {
    border-right: 0.1rem solid #eceff2;
}

.icon-btn {
    background-color: transparent;
    border: none;
}

.icon-btn:focus, .icon-btn.focus, .icon-btn:active, .icon-btn.active {
    outline: none;
    box-shadow: none;
}

.icon-btn.dropdown-toggle::after {
    display:none;
}

.calendar {
    margin: 0 1rem;
}

.calendar-header {
    padding: 0.5rem;
}

.calendar-controls {
    color: #666666;
    cursor: pointer;
}

.calendar-title {
    display:inline-block;
    min-width: 8rem;
    text-align:center;
}

.dual-calendar-control {
    min-width: 15rem;
}

.dual-calendar-title {
    font-weight: bold;
}

.day-lbl {
    width:100%;
    white-space:nowrap;
    text-align:right;
    cursor:pointer;
}

.day-lbl:hover {
    text-decoration:underline;
}

.day-col {
    margin:0;
    padding:0;
}

.day-header {
    position:sticky;
    display:flex;
    top:0;
    z-index:3;
}

.day-client-header {
    display:inline-block;
    width:50%;
    top: -0.2rem;
    height: 0.2rem;
    background-color: #39b54a;
}

.day-provider-header {
    display:inline-block;
    width:50%;
    top: -0.2rem;
    height: 0.2rem;
    background-color: #951b80;
}

.hour-lbl {
    height:3rem;
    width:4rem;
    padding:1rem 0.5rem 0 0;
    margin:-1.5rem 0 1.5rem -1rem;
    text-align:right;
}

.hour-lbl:last-child {
    margin-bottom:0;
}

.hour-lbl-empty {
    width:4rem;
    padding:0 0.5rem 0 0;
    margin:0 0 0 -1rem;
}

.day-content {
    overflow: hidden;
    position: relative;
}

.month-day-col {
    margin: 0;
    padding: 0;
}

.month-weekday {
    padding-left: 0.2rem;
    background-color: #003a5d;
    color: #fff;
    line-height:1.5rem;
}

.month-weekday-first {
    border-top-left-radius: 0.3rem;
}

.month-weekday-last {
    border-top-right-radius: 0.3rem;
}

.month-day {
    height: 100%;
    padding-left: 0.2rem;
    border-left: 0.05rem solid #cccccc;
    border-top: 0.05rem solid #cccccc;
}

.month-day-last-col {
    border-right: 0.05rem solid #cccccc;
}

.month-day-last-row {
    border-bottom: 0.05rem solid #cccccc;
}

.hour-cell {
    height: 3rem;
    border-left: 0.05rem solid #cccccc;
    border-top: 0.05rem solid #ededed;
}

.hour-cell-last-col {
    border-right: 0.05rem solid #cccccc;
}

.hour-cell-first-row {
    border-top: 0.05rem solid #cccccc;
}

.hour-cell-last-row {
    border-bottom: 0.05rem solid #cccccc;
}

.calendar-entry, .pav, .cav, .av {
    position: absolute;
    left: 0.05rem;
    right: 0;
    margin: 0 0.2rem;
    background-color:rgba(180,180,180,0.2);
    border: 0.05rem solid #d0d0d0;
    border-radius: 0.2rem;
    z-index: 0;
}

.calendar-entry-dual, .cav {
    left: 50%;
    margin: 0 0.2rem 0 0.1rem;
}

.pav {
    right: 50%;
    margin: 0 0.1rem 0 0.2rem;
}

.pav-a, .cav-a, .av-a {
    background-color:rgba(4,118,199,0.2);
    border: none;
    border-radius: 0;
}

.pav-na, .cav-na, .av-na {
    background-color:rgba(180,180,180,0.2);
    border: none;
    border-radius: 0;
}

.appointment, .dual-appt, .day-appt, .selected-slot {
    position: absolute;
    left: 0.25rem;
    right: 0.2rem;
    margin: 0;
    background-color:rgba(230,230,230,0.6);
    border: 0.05rem solid #d0d0d0;
    border-radius: 0.2rem;
    padding-left: 0.5rem;
    font-size: 0.75rem;
    z-index:25;
}

.appointment, .day-appt, .dual-appt {
    overflow: hidden;
}

.selected-slot {
    cursor: pointer;
}

.appointment-client {
    left:50%;
    margin-left: 0.1rem;
}

.appointment-client, .tl-appt-client, .legend-client {
    background-color:#d7f0db;
    border: 0.05rem solid #39b54a;
}

.appointment-provider {
    right: 50%;
    margin-right: 0.1rem;
}

.appointment-provider, .tl-appt-provider, .legend-provider {
    background-color:#f0deed;
    border: 0.05rem solid #951b80;
}

.legend-provider, .legend-client, .legend-both {
    display:inline-block;
    vertical-align:middle;
    width: 1rem;
    height: 1rem;
}

.appointment-both, .selected-slot, .tl-slot, .tl-appt-both, .legend-both {
    background-color:#f7f795;
    border: 0.05rem solid #919102;
    z-index:3;
}

.pot {
    position: absolute;
    left: 0.05rem;
    right: 0;
    margin: 0 0.2rem;
    border: 0.05rem dashed #404040;
}

.pot-slot {
    position: absolute;
    left: 0.05rem;
    right: 0;
    margin: 0 0.2rem;
    background-color:#f7f795;
    border: 0.05rem solid #919102;
    border-radius: 0.2rem;
    opacity: 0;
    padding-left: 0.5rem;
    color: #000;
    font-size: 0.75rem;
    cursor: pointer;
    z-index:20;
}

.pot-slot:hover, .recurring-slot {
    opacity: 0.5;
}

.break-appt-wrapper {
    display: none;
    z-index:-1;
    position: absolute;
    right: 50%;
    left: 0;
}

.break-appt {
    position: absolute;
    left: 0.05rem;
    right: 0;
    margin: 0 0.2rem;
    border: 0.05rem solid #000000;
    border-radius: 0.2rem;
    opacity: 1;
    padding-left: 0.5rem;
    color: #000;
    font-size: 0.75rem;
    cursor: pointer;
    z-index:-1;
}

.break {
    background-color: #c0c0c0;
    border: 0.05rem solid #000000;
    cursor: pointer;
}

.save-break-popover {
    text-decoration: underline;
    cursor: pointer;
}

.break-popover {
    text-decoration: underline;
    cursor: pointer;
}

.meal {
    background-color: #0c5460;
    border: 0.05rem solid #0C404C;
    cursor: pointer;
}

.travel {
    background-color: #951b80;
    border: 0.05rem solid #6E1B59;
    cursor: pointer;
}

.pot-slot:hover + .break-appt-wrapper {
    display: block;
}

.selected-slot + .break-appt-wrapper {
    display: block;
}

.recurring-slot:hover {
    opacity: 1.0;
}

.recurring-slot {
    position: relative;
    margin: 0.25rem;
}

.selected-slot {
    opacity: 1.0;
    z-index:30;
}

.conflicted-slot:hover {
    opacity: 0.5;
    cursor:default;
}

.conflicted {
    position:absolute;
    right:1.25rem;
    color: red;
    top: 0;
    font-size: 0.8rem !important;
}

.recurring-slot i {
    font-size:1rem;
}

.appt-bar, .appt-bar-cancelled, .appt-bar-travel, .appt-bar-meal, .appt-bar-hold, .appt-bar-rescheduled, .appt-bar-staff-only, .appt-bar-completed, .appt-bar-pto {
     position:absolute;
     background-color: #A7F212;
     left:0.25rem;
     width:0.5rem;
     top:0.15rem;
     bottom:0.15rem;
 }

.appt-bar-staff-only {
    background-color: #0025CD
}

.appt-bar-rescheduled {
    background-color: #88CD00;
}

.appt-bar-completed {
    background-color: #158424;
}

.appt-bar-cancelled {
    background-color: #C90A00;
}

.appt-bar-travel {
    background-color: #951B80;
}

.appt-bar-meal {
    background-color: #909090;
}

.appt-bar-hold {
    background-color: #909090;
}

.appt-bar-pto {
    background-color: #000000;
}

#color-legend {
    position:absolute;
    top:2rem;
    display:none;
    background: white;
    z-index:200;
    width: 15rem;
    border: 0.05rem solid #d0d0d0;
    border-bottom: 0;
}

#color-legend-lbl {
    cursor: default;
    font-weight: bold;
}

#color-legend-lbl:hover + #color-legend {
    display:block;
}


.appt-time {
    top:0;
    left:0;
    right:0;
    font-size: 0.8rem;
    font-weight: bold;
    margin: 0 0.5rem;
    padding-left: 0.5rem;
    border-bottom: 0.05rem solid #666666;
}

.appt-description, .appt-details {
    left:0;
    right:0;
    font-size: 1rem;
    margin: 0 0.5rem;
    padding-left: 0.5rem;
}

.appointment:hover, .appointment-toggle, .day-appt:hover {
    max-height:100rem !important;
    z-index: 30;
    background-color:#e6e6e6;
}

.appointment:hover, .appointment-toggle {
    width: calc(100% - 0.45rem) !important;
}

.appt-details {
    font-size: 0.75rem;
}

.appt-month-container {
    position: absolute;
    left: 0.05rem;
    right: 0;
    height:5.5rem;
    overflow-y:auto;
    overflow-x:hidden;
}

.appt-month {
    margin: 0 0.1rem;
    background-color:rgba(230,230,230,0.6);
    border: 0.05rem solid #d0d0d0;
    border-radius: 0.2rem;
    font-size: 10pt;
    padding: 0 0.2rem;
    line-height:1rem;
}

.appt-duration {
    width: 4rem!important;
    padding: 0 0.5rem;
    text-align: right;
}

.appt-cancelled {
    opacity: .5;
    z-index:1;
}

.appt-cancelled:not(.tl-col .appt-cancelled):hover {
    opacity: 1;
}

.appt-cancelled-icon {
    padding: 0;
    text-align: end;
}

.appt-pending {
    opacity:.5;
}

.appt-pending:hover {
    opacity: 1;
}

.appt-pending-selected {
    opacity:1;
}

.appt-split .appt-time{
    font-size:0.9rem;
}
.appt-split .appt-description {
    font-size:0.9rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: auto;
}

.ctrl {
    padding: 0 0.3rem;
}

.ctrl-lbl {
    line-height:1.7rem;
}

.full-page-container {
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow:hidden;
}

.full-page-header {
    flex: 0 1 auto;
}

.full-page-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height:0;
}

.full-page-footer {
    flex:initial;
}

.search-results {
    padding: 0;
    overflow-y:auto;
    flex: 1;
}

.tl-col {
    padding: 0;
}

.tl-row {
    margin: 0;
    min-height: 2rem;
}

.tl-lbl {
    padding: 0 0.5rem;
}

.tl-time {
    position:absolute;
}

.tl-hour, .tl-half {
    padding-left: 0.1rem;
    min-height: 2rem;
    font-size:0.9rem;
}

.tl-hour {
    border-left: 0.05rem solid #d0d0d0;
}

.tl-half {
    border-left: 0.05rem solid #eceff2;
}

.tl-divider {
    border-bottom: 0.05rem solid #d0d0d0;
}

.tl-slot, .tl-appt-both {
    position: absolute;
    top:2em;
    height:4em;
}

.tl-appt-provider {
    position: absolute;
    top:4.1em;
    height:1.9em;
}

.tl-appt-client {
    position: absolute;
    top:2em;
    height:1.8em;
}

.tl-gap {
    position:absolute;
    top:5.5em;
    margin-left:-0.5rem;
    width:0;
    height:0;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-top: 0.5rem solid #000;
}

.tl-travel-row {
    padding-top:0.2rem;
    height:5.5rem;
    position:relative;
    overflow:visible;
}

.tl-travel-container {
    position:absolute;
    width: 40rem;
    margin-left: -20rem;
}

.tl-travel {
    padding: 0 0 0.25rem 0;
    border: 0.05rem solid #444;
    box-shadow: -0.2rem 0.2rem 0.25rem #aaa;
    font-size: 0.75rem;
    background-color: #fff;
    z-index: 1;
}

.tl-address {
    padding: 0.2rem 0.5rem;
}

.tl-travel:hover {
    z-index: 2;
}

.tl-link {
    color: #005588;
}

.tl-link:hover {
    color: #006aaa;
    text-decoration: underline;
    cursor:pointer;
}

.tl-at-risk {
    color: red;
}

.error {
    color: red;
    font-weight: bold;
}

.tl-kicker {
    min-height: 1rem;
}

@keyframes spinner {
    to {transform: rotate(360deg);}
}

.spinner:before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1rem;
    height: 1rem;
    margin-top: -0.5rem;
    margin-left: -0.5rem;
    border-radius: 50%;
    border: 2px solid #ccc;
    border-top-color: #333;
    animation: spinner .6s linear infinite;
}

.data-title {
    font-weight: bold;
    border-bottom: 0.05rem solid #eceff2;
    padding: 0;
}

.data-name {
    font-weight: bold;
    font-style: italic;
    color: #b3b3b3;
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
    white-space:nowrap;
}

.data-name::before, .data-name::after {
    color:#666666;
    bottom:0!important;
}

.data-value {
    margin: 0 0 0 0.5rem;
    padding: 0;
    font-size: 0.9rem;
}

.data-text {
    margin:0;
    padding: 0;
    font-weight:500;
}

.data-text p {
    display:inline-block;
    margin:0;
    padding:0;
}

.nopadding {
    padding:0;
}

.pot-slot i {
    font-size:1rem;
}

.selected-slot i {
    font-size:1rem;
}

.pot-cancel {
    position:absolute;
    right:0;
    top:-0.1rem;
}

.pot-conflict {
    position:absolute;
    right:1.25em;
    top:0;
    font-size:0.8rem !important;
    color: red;
}

.pot-slot .pot-cancel {
    display:none;
}

.selected-slot .pot-cancel {
    display:block;
}

.text-group {
    border-radius:0;
    border-color:#a9a9a9;
    padding: 0 0.75rem;
}

.text-group-append {
    border-radius: 0;
    border-color:#a9a9a9;
    border-left:0;
}

.clockpicker, .datepicker {
    width: 10rem;
}

.dtp {
    z-index:10000!important;
}

#calendarpicker {
    width: 11rem;
    opacity:0;
    position:absolute;
    z-index:-1;
}

#search-time-group, #addr-group {
    display:none;
}

#legend {
    display:none;
}

#alert-msg {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    bottom: 2rem;
    left: 0;
    right: 0;
    width: 30rem;
    display: none;
    text-align:center;
}

.list-group-lbl {
    margin-left: 0.5rem;
    padding:0;
    border-bottom:0.1rem solid #d0d0d0;
}

.progress-content {
    background-color: #36b1bf;
    height:100%
}

.progress-content.second {
    background-color: #98d4db;
}

.progress-content.third {
    background-color: #cbe9ed;
}

.progress-container {
    display:flex;
    border: 0.05rem solid #d0d0d0;
    height:1.2rem;
    width: 10rem;
    margin: 0.2rem 0.5rem;
    padding: 0.15rem;
}

.progress-group {
    display:flex;
    justify-content:space-between;
}

.progress-lbl {
    width: 4rem;
    white-space:nowrap;
}

.progress-lbl-wide {
    width: 6rem;
    white-space:nowrap;
}

.popover {
    max-width: 700px;
    font-family:inherit;
    letter-spacing:inherit;
    z-index:1000!important;
}

#cart {
    font-weight:bold;
    cursor:default;
}

#cart-contents {
    position:absolute;
    top:2rem;
    display:none;
    background: white;
    z-index:5;
}

.cart-contents-border {
    padding:0.25rem;
    border: 0.05rem solid #cccccc;
}

#cart:hover + #cart-contents {
    display:block;
}

.cart-icon {
    color: #36b1bf;
    margin-right: 0.5rem;
}

.cart-group {
    color: #666666;
    background-color: #f1f1f1;
    padding: 0 0.25rem;
    font-weight: bold;
}

.cart-item {
    white-space: nowrap;
    padding: 0.25rem 0;
    font-weight: bold;
}

.cart-item-sub {
    font-weight: normal;
}

.cancel-reason {
    width: 100%;
}

.cancel-reason-list, .code-list, .approval-list {
    max-height: 20rem;
    overflow-y:auto;
    margin: 0 0.5rem;
}

.approval-list { margin:0; }

.cancel-item, .code-item, .approval-item {
    padding: 0.1rem 0.5rem;
    cursor: pointer;
}

.approval-item {
    font-weight:500;
    font-size:0.9rem;
}

.cancel-item-selected, .code-item-selected, .approval-item-selected {
    background-color:#f1f1f1;
}

.cancel-item:hover:not(.cancel-item-selected), .code-item:hover:not(.code-item-selected), .approval-item:hover:not(.approval-item-selected) {
    background-color:#f1f1f1;
}

.day-hours {
    position:relative;
    overflow:visible;
}

.modal-header {
    padding:0 1em;
    background:#003a5d;
    color:white;
    display:initial;
}

.modal-title {
    text-transform:uppercase;
}

.dash-modal {
    width:100%;
    height:100%;
}

.dash-modal .modal-content {
    height:100%;
    border:0.75rem solid #eceff2;
}

.dash-modal .modal-body {
    padding:0;
}

.dash-modal .btn-tab {
    min-width:8rem;
    padding: 0.25rem 1rem;
}

.dash-modal strong {
    display:block;
}

#sessionAlert {
    display:none;
    margin-bottom:0!important;
}

.edit-session-recurrences {
    max-height:8rem;
    width:100%;
    overflow:auto;
}

.edit-session-recurrences p {
    margin: 0 !important;
}

.alert ul {
    margin-bottom:0;
    padding-left:1rem;
}

.client-groups, .pending-appointments-list {
    max-height:16rem!important;
    overflow-y:auto;
}

#modal-alert {
    display:none;
    margin-bottom:0!important;
}

.modal-client-name {
    font-weight: bold;
    font-style: italic;
    color: #b3b3b3;
}

#dashModalBody .col{
    display:flex;
    flex-direction:column;
}

.sortableWidgets {
    border:0.05rem solid #ddd;
    min-height:3rem;
    list-style-type:none;
    margin:0;
    padding:0.5rem;
}

ul.sortableWidgets {
    flex-grow:1;
}

.sortableWidgets li {
    color: #666666;
    background-color: #e8e8e8;
    font-weight: bold;
    padding:0.25rem;
    font-size:0.9rem;
    cursor:move;
}

.sortableWidgets li:not(:last-of-type) {
    margin-bottom:0.25rem;
}

.sas {
    position:absolute;
    left: 0.25rem;
    right: 0.2rem;
    margin: 0;
}

.sas.selected {
    background-color:#003b5c;
    opacity:0.6;
}

.shortcutAppointment {
    position:absolute;
    left: 0.25rem;
    right: 0.2rem;
    margin: 0;
    background-color:#003b5c;
    border: 0.05rem solid #003a5d;
    border-radius: 0.2rem;
    opacity:0.6;
}

#addr-toggle, .search-inline-link {
    text-decoration: underline;
    color: #666666;
}

.search-inline-link:hover, #addr-toggle:hover {
    cursor:pointer;
    color: #0056b3;
}

/* KIDS TLC STUFF */

:root {

    --wg-other:rgb(179,179,179);
    --wg-other-light:rgb(179,179,179,0.2);
}

.workgroup-box {
    display:inline-block;
    height:0.8rem;
    width:0.8rem;
    margin:0;
    padding:0;
}


.workgroup-box.wg-other { background:var(--wg-other-light); }

.list-subject .workgroup-box { margin-right:0.25rem; }

.weekly-days {
    padding:0.5rem 0;
    text-align:center;
}

.weekly-header {
    position:sticky;
    top:0;
    width:100%;
    z-index:7;
}

.staff-dropdown .dropdown-header {
    padding-top:0.25rem;
    padding-bottom:0.25rem;
}

.staff-dropdown .dropdown-item {
    padding-top:0.05rem;
    padding-bottom:0.05rem;
}

.weekly-hours {
    display:flex;
    width:100%;
    margin:0 0 0 -1.5rem;
    padding:0;
}

.weekly-hour {
    display:inline-block;
    width:10%;
}

.weekly-row-group {
    padding:0.25rem 0;
}

.weekly-row-group:last-of-type {
    margin-bottom:0.5rem;
}

.weekly-row {
    position:relative;
    height:1.3rem;
    width:100%;
}

.weekly-person-display {
    display:inline;
    font-size:0.95rem;
    font-weight:bold;
    color:#555555!important;
    overflow:visible;
    white-space:nowrap;
}

.weekly-person-display a, .weekly-person-display p, .weekly-person-display div.workgroup-box {
    display:inline-block;
    margin:0 0 0 0.25rem;
}

.weekly-person-display a:first-child, .weekly-person-display p:first-child, .weekly-person-display div.workgroup-box:first-child {
    margin:0;
}

.weekly-person-display span {
    font-size:0.8rem;
}

.weekly-person-display span.fa-thumbtack {
    transform:rotate(45deg);
}

.weekly-person-display span.fa-thumbtack.pinned {
    transform:none;
}

.weekly-person-display .weekly-provider-title {
    font-size:0.8rem;
    font-style:italic;
    color:#b3b3b3!important;
    cursor:auto!important;
}

.weekly-person-icon {
    margin-left:0.25rem!important;
    color:#003a5d!important;
}

.weekly-person-icon span {
    color:#003a5d!important;
}

.weekly-popover ul, .weekly-summary-body ul {
    padding:0!important;
    margin:0;
    list-style:none;
}

.weekly-popover p, .weekly-popover ul {
    margin-bottom: 0.5rem;
}

.weekly-timeline {
    position:relative;
    display:flex;
    height:100%;
    width:100%;
    margin:0;
    padding:0;
    border-bottom:0.05rem solid #d0d0d0;
    border-right:0.1rem solid #c3c3c3;
    background:#ffffff;
    z-index:1;
}

.weekly-timeline-last {
    border-bottom:none;
}

.weekly-timeline-snap {
    position:absolute;
    width:100%;
    height:calc(100% - 0.2rem);
    margin:0.1rem 0;
}

.weekly-cell {
    display:inline-block;
    position:relative;
    height:100%;
    width:2.78%;
    margin:0;
    padding:0;
    z-index:2;
}

.weekly-cell-hour {
    border-left:0.1rem solid #c3c3c3;
}

.weekly-cell-mid {
    border-left:0.05rem solid #d0d0d0;
}

.weekly-appt-wrap {
    position:absolute!important;
    height:100%;
    margin:0;
    padding:0.1rem 0.2rem 0.1rem 0.3rem;
    z-index:4;
}

.weekly-appt {
    position:relative;
    display:flex;
    height:100%;
    width:100%;
    align-items:center;
    overflow:visible;
    border:0.1rem solid;
    border-left:0.5rem solid;
    border-radius:0.08rem;
    line-height:0.8rem;
    font-size:0.8rem;
    font-weight:500;
    text-align:center;
    color:black;
    z-index:5;
}

.weekly-appt[data-toggle='popover'] {
    cursor:pointer;
}

.weekly-appt-icons span {
    font-size:calc(100% - 0.05rem);
}

.weekly-appt-icons {
    margin:0 0.25rem;
    color:#003a5d !important;
}

.weekly-appt-label {
    display:flex;
    height:100%;
    width:100%;
    padding:0.05rem 0;
    justify-content:center;
    white-space:nowrap;
    overflow:hidden;
}

.weekly-appt-label p, .weekly-appt-label strong {
    margin:0 0.25rem;
    overflow:hidden;
    text-overflow:ellipsis;
}


.weekly-appt.wg-other {
    background:var(--wg-other-light);
    border-color:var(--wg-other);
}

.weekly-appt.weekly-appt-empty {
    border-color:#909090;
    background:#ffffffaa;
    border-style:dashed;
}

.weekly-appt.weekly-appt-training {
    background:#ffffffaa;
    border-top-color:#909090;
    border-right-color:#909090;
    border-bottom-color:#909090;
    border-style:dashed;
}

.weekly-appt.weekly-appt-open {
    opacity:0;
    border-style:dashed;
}

.weekly-appt.weekly-appt-open:hover {
    opacity:0.9;
}

.weekly-appt.weekly-appt-open.selected {
    position:relative;
    opacity:0.9;
    z-index:6;
}

.weekly-appt-wrap.hidden {
    display:none;
}

.weekly-appt.weekly-appt-open.hidden {
    display:none;
}

.weekly-appt.weekly-appt-editing {
    border-style:dashed;
}

.weekly-appt.weekly-appt-staff {
    opacity:0.3;
}

.weekly-appt.weekly-appt-drop {
    border:none;
    opacity:0.8;
}

.ui-draggable-handle {
    cursor:move!important;
}

.ui-resizable-handle {
    cursor:ew-resize!important;
}

.ui-resizable-e, .ui-resizable-w {
    height:calc(100% + 0.2rem)!important;
    width:0.5rem!important;
    top:-0.1rem!important;
}

.ui-resizable-e {
    right:-0.25rem!important;
}

.ui-resizable-w {
    left:-0.5rem!important;
}

.weekly-shading {
    position:absolute;
    height:100%;
    margin:0;
    text-align:center;
    overflow:hidden;
    opacity:0.6;
    z-index:3;
}

.weekly-shading.weekly-shading-unav {
    background:#dadada;
}

/*.weekly-shading.weekly-shading-off {
    background:#b1b2c4;
}*/

.weekly-shading.weekly-shading-cancelled, .weekly-shading.weekly-shading-off {
    background:repeating-linear-gradient(
        -30deg,
        #dadada,
        #dadada 0.2rem,
        #eaeaea 0.2rem,
        #eaeaea 0.6rem
    );
}

.weekly-shading-label {
    height:100%;
    padding:0.25rem 0;
    line-height:0.8rem;
    font-size:0.8rem;
    font-weight:500;
}

.weekly-calendar-picker table.dtp-picker-days tbody tr:hover td a:not(.selected) {
    background-color:#d8dce6!important;
}

.dtp .dtp-buttons {
    display:none;
}

.w-20 {
    width:20%!important;
}

#check-in-btn span {
    cursor:pointer;
}

span.fa-chevron-right {
    cursor:pointer;
    transform:none;
}
span.fa-chevron-right.active {
    transform:rotate(90deg);
}

.check-in-group {
    padding-bottom:0.5rem;
}

.weekly-check-in-row:not(:last-of-type) {
    border-bottom:0.05rem solid #d0d0d0;
}

.weekly-check-in-col {
    padding:0.75rem;
}

.weekly-check-in-status {
    padding-left:2rem;
    font-size:0.875rem;
    font-weight:500;
}

.weekly-check-in-status.checked-in {
    color:#39b54a;
}

.btn-small.active, .btn-small.active:hover {
    background-color:#39b54a;
    border-color:#39b54a;
}

input, textarea {
    font-size:0.875rem;
    border:1px solid rgb(169, 169, 169);
    padding:0 0.3rem;
}

input:disabled, textarea:disabled {
    background-color:#f9fafb!important;
}

.weekly-summary-body {
    max-height:600px;
    overflow:auto;
}

.weekly-summary-day:not(:last-of-type) {
    margin-bottom:0.25rem;
}

.weekly-summary-date {
    font-weight:bold;
    color:#444444;
    border-bottom:0.05rem solid #d0d0d0;
}

.weekly-summary-panel {
    padding-bottom:0.75rem;
}

.center-y {
    display:flex;
    align-items:center;
}

span.icon-gray { color:#b6c3ce!important; }

span.icon-green { color:#39b54a!important; }

span.icon-yellow { color:#f4d03f!important; }

span.icon-orange { color:#ffa500!important; }

span.icon-red { color:#cf271e!important; }

/* ------------------------------------------------------------ */

.weekly-form-container {
    width:95%;
    margin:1rem auto;
}

.weekly-form-body {
    padding-right:1.5rem;
    overflow-y:overlay;
    overflow-x:hidden;
}

.weekly-lunch-header {
    padding:0.75rem 0;
    margin-right:1.5rem;
    border-bottom:0.1rem solid #eceff2;
    text-align:center;
}

.weekly-tm-header {
    margin-right:1.5rem;
}

.weekly-tm-subheader {
    margin-right:1.5rem;
    line-height:2rem;
    text-align:center;
    font-weight:500;
    border-bottom:0.1rem solid #eceff2;
}

.weekly-approved-staff-header {
    margin-right:1.5rem;
    border-bottom:0.1rem solid #eceff2;
}

.weekly-approved-staff-header .weekly-form-col {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    padding:0.5rem 0;
    border-bottom:none;
}

.weekly-approved-staff-header .weekly-form-col .weekly-person-display {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.weekly-approved-staff-header .weekly-form-col .weekly-person-display a,
.weekly-approved-staff-header .weekly-form-col .weekly-person-display p {
    margin:0.25rem 0 0 0;
}

.weekly-form-group {
    width:100%;
}

.weekly-form-group:not(:last-of-type) {
    border-bottom:0.1rem solid #eceff2;
}

.weekly-avail-group .weekly-form-group {
    padding:0.75rem 0;
    border:none;
}

.weekly-avail-group .weekly-form-group:not(:first-of-type) {
    border-top:0.1rem solid #eceff2;
}

.weekly-avail-group .weekly-form-col {
    border:none;
}

.weekly-form-row {
    height:auto;
    min-height:2.5rem;
}

.weekly-form-col {
    display:flex;
    padding:0.25rem;
    white-space:nowrap;
    border-bottom:0.05rem dashed #eceff2;
    min-width:0;
}

.weekly-form-col.accent {
    background:#eceff2a0;
}

.full-page-header .weekly-form-col, .weekly-form-group .weekly-form-row:last-of-type .weekly-form-col, .weekly-form-group .weekly-form-row:last-of-type.weekly-form-col {
    border-bottom:none;
}

.weekly-form-col {
    border-right:0.05rem dashed #eceff2;
}

.weekly-form-col:last-child, .weekly-form-row.weekly-form-col {
    border-right:none;
}

.weekly-form-col-last {
    border-right:0.1rem solid #eceff2!important;
}

.weekly-form-col-separator {
    margin: 0 1.5rem;
    padding:0;
    border-right:0.1rem dashed #eceff2!important;
}

.weekly-form-cell {
    flex:1 0 auto;
    width:100%;
    padding:0.25rem;
}

.weekly-form-cell-open {
    min-height:4rem;
}

.weekly-form-cell[data-toggle='popover'], .weekly-form-cell.editing, .weekly-form-cell-open.editing {
    cursor:pointer;
}

#monthly-content .weekly-form-cell:not(.editing) {
    cursor:default;
}

.weekly-form-cell-open.editing:hover {
    background:#f1f1f1;
}

.weekly-form-body span:not(.fa-inverse) {
    color:#666666;
}

.weekly-form-cell ul {
    margin:0!important;
    padding:0!important;
    list-style:none;
    font-size:0.9rem;
}

.weekly-form-cell ul li {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.weekly-form-popover-row {
    margin:0;
    padding:0 0.5rem;
    height:2rem;
    cursor:pointer;
}

.weekly-form-popover-row:hover, .weekly-form-popover-row.active {
    background:#f1f1f1;
}

.weekly-form-popover span {
    color:#666666;
}

.weekly-form-popover p {
    margin:0;
    font-weight:500;

.holiday-container .popover {
    z-index: 2000 !important;
}