﻿body {
    /*background-color: #f9f9f9 !important;*/
    background-color: #ebeef2 !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    --bs-body-font-family: 'Open Sans';
}
#page-footer {
    background-color: #fff !important;
    font-size:0.9rem;
}
.main-container {
}
.content-main-area {
    padding-top: 20px;
    margin-bottom: 50px;
}

.badge {
    padding: .3em .4em .3em .4em;
    font-size: 90%;
    font-weight: 400;
}

.alert {
    font-size: 90%;
}

.alert-danger {
    background-color: #ca4f3e;
}
.alert h2 {
    color: #fff;
}

.alert-warning {
    background-color: #f3b760;
}

.fw-light-bold{
    font-weight:600;
}


.form-group .text-danger {
    font-size: 80%;
}
.dataTables_info {
    font-size: .8rem;
    /*font-weight: 400;
    line-height: 1.5;
    color: #575757;
    text-align: left;*/
}
.pagination {
    font-size: .8rem;
}
.social-icon {
    color: #575757;
    color: #c8c8c8;
}
.control-label {
    font-size: .9rem;
    font-weight: 400;
}
.validation-summary-valid{
    display:none;
}
.validation-summary-errors {
    /*background-color: #ca4f3e;*/
    padding: .5rem;
}
    .validation-summary-errors ul {

        margin: 0px;
    }
    .validation-summary-errors ul li {
        color: #FFF;
        font-size: .8rem;
    }

table.dataTable {
     margin-top: 0px !important; 
     margin-bottom: 0px !important; 
}

.nav-tabs-block {
    background-color: #f0f0f0;
}
.btn-light {
    background-color: #f0f0f0;
    /*border-color: #f8f9fa;*/
    border-color: #ddd;
     
}

.profile-image{
    width:100px;
    aspect-ratio: 1/1;
    object-position: center;
    object-fit: cover;
    border-radius: 50%;
    display: block;
    margin: 0 auto 15px;
}

.profile-image.small{
    width: 50px;
}

.action-wrapper{
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.action-wrapper .message-header{
    align-self: flex-start;
    background: #007DC4;
    padding: 5px 15px;
    font-weight:bold;
    color:#FFF;
}

.action-wrapper.internal .message-header{
    background:#e46548;
}

.action-wrapper.company .message-header{
    background:#09c591;
    align-self: flex-end;
}

.action-wrapper .message-body{
    background:#c6e5f7;
    padding: 15px;
}

.action-wrapper.internal .message-body{
    background:#ffd5cb;
}

.action-wrapper.company .message-body{
    background:#d0f3e9;
}

.action-wrapper .message-body .message-user{
    order: 1;
}

.action-wrapper .message-body .message-text{
    order: 2;
}

.action-wrapper.company .message-body .message-user{
    order: 2;
}

.action-wrapper.company .message-body .message-text{
    order: 1;
}

.action-wrapper .event-wrapper,
.action-wrapper .time-entry-wrapper{
    display: flex;
    background: #EFF4F5;
}

.action-wrapper .event-wrapper .event-timestamp,
.action-wrapper .event-wrapper .event-body,
.action-wrapper .time-entry-wrapper .time-entry-timestamp,
.action-wrapper .time-entry-wrapper .time-entry-body {
    padding: 2px 8px;
}

.action-wrapper .event-wrapper .event-timestamp,
.action-wrapper .time-entry-wrapper .time-entry-timestamp{
    flex-grow: 0;
    font-weight:500;
    font-style: italic;
    background:#dadada;
    font-size: 0.9rem;
    width:125px;
    text-align:center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.action-wrapper .event-wrapper .event-body,
.action-wrapper .time-entry-wrapper .time-entry-body{
    flex-grow: 1;
}

.action-wrapper .time-entry-wrapper {

}

.action-wrapper .time-entry-wrapper .time-entry-timestamp {

}


/* TrayNotification START */
#tray-notification {
    position: fixed;
    z-index: 5000;
    bottom: 15px;
    margin:0;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    transform: translateX(-50%) translateY(calc(100% + 15px)); /*account for bottom offset*/
    transition: 0.3s;
    width: clamp(150px, 75%, 350px);
    text-align: center;
}

#tray-notification.top{
    bottom:auto;
    top:15px;
    transform:translateX(-50%) translateY(calc(-100% - 15px));
}

#tray-notification.bottom{
    top:auto;
    bottom:15px;
    transform:translateX(-50%) translateY(calc(100% + 15px));
}

    #tray-notification.show {
        transform: translateX(-50%);
    }

    #tray-notification-icon {
        font-family: 'Font Awesome 7 Free';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 5px;
        width: 30px;
        font-size: 18px;
        font-weight: 600;
    }

/* TrayNotification END */

/*password requirements displayed in popover that attach to input.validate-password-rules*/
ul.password-rules {
    list-style: none;
    margin-bottom: 0;
}

    ul.password-rules,
    ul.password-rules li {
        margin-left: 0;
        padding-left: 0;
    }


/*Sidebar START*/
#sidebar {
    flex: 0 0 70px;
    z-index: 500;
    transition: all 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    background-color: #1f2937;
    text-wrap: nowrap;
}

/*
#sidebar.expand{
    overflow-x:hidden;
}
*/

#sidebar.expand{
    flex: 0 0 260px;
}

#sidebar:not(.expand) .navbar-brand,
#sidebar:not(.expand) a.sidebar-link span{
    display: none;
}

#sidebar-nav-wrapper {
    flex: 1 1 auto;
}

.sidebar-nav {
    padding: 0;
    position: sticky;
    z-index:10;
    top:0;
}

#sidebar .content-header {
    justify-content: center;
    background: #374151;
}

#sidebar.expand .content-header{
    justify-content: space-between;
}

a.sidebar-link {
    padding: .625rem 1rem;
    color: #9faec1;
    position: relative;
    display: block;
    font-size: 1rem;
    border-left: 3px solid transparent;
    border-right:3px solid transparent;
    text-decoration: none;
}

.sidebar-link .fa{
    font-size: 1.1rem;
    width:30px;
    text-align: center;
}

a.sidebar-link:hover,
a.sidebar-link.active {
    background-color: rgba(0,0,0,.2);
    color: #90a0b7;
    border-color: #2356d7;
}

.sidebar-item{
    position: relative;
}

#sidebar .sidebar-dropdown .sidebar-link {
    font-size: .9rem;
    padding: .425rem 2.625rem;
}

    #sidebar .sidebar-dropdown .sidebar-link.active,
    #sidebar .sidebar-dropdown .sidebar-link:hover {
        border-color: #f59e0b;
        background:rgba(0,0,0,0.25);
    }

#sidebar:not(.expand) .sidebar-item .sidebar-dropdown {
    position: absolute;
    top: 0;
    left: 70px;
    padding: 0;
    min-width: 15rem;
    display: none;
    background: #1f2937;
}

#sidebar:not(.expand) .sidebar-item:hover .has-dropdown+.sidebar-dropdown,
#sidebar:not(.expand) .sidebar-item .has-dropdown.open+.sidebar-dropdown{
    display: block;
    max-height: 15em;
    width:100%;
    opacity:1;
}

.sidebar-link[data-bs-toggle="collapse"]::after {
    font-family: 'Font Awesome 7 Free';
    content: "\f104";
    font-weight: 900;
    position: absolute;
    right: 5px;
    background: none;
    text-align: center;
    height: 1rem;
    width: 1rem;
    line-height: 1rem;
    display: block;
    top: 50%;
    margin-top: -0.5rem;
    transition: 0.3s;
}

.sidebar-link:not(.collapsed)[data-bs-toggle="collapse"]::after{
    transform:rotate(-90deg);
}

#sidebar:not(.expand) .sidebar-link[data-bs-toggle="collapse"]::after{
    content: '';
}

#toggle-sidebar {
    outline: none;
    border: none;
    background: #FFF;
    height: 25px;
    width: 25px;
    border-radius: 2px;
}

#sidebar #toggle-sidebar .fa {
    transition: 0.3s;
}
#sidebar.expand #toggle-sidebar .fa {
    transform: rotate(-180deg);
}
/*Sidebar END*/

.content-header{
    height:65px;
}


a.link-fx{
    position: relative;
    text-decoration: none;
}
a.link-fx:hover::before{
    visibility: visible;
    transform: scaleX(1);
}

    a.link-fx::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: var(--bs-link-hover-color);
        transform: scaleX(0);
        transition: transform .12s ease-out, -webkit-transform .12s ease-out;
    }


/*Bootstrap Overrides START*/
.btn{
    --bs-btn-font-weight: 600;
}

.btn-primary {
    --bs-btn-bg: #2356d7;
}

.btn.btn-add{
    line-height:1;
    width:25px;
    height:25px;
    padding:0;
    align-content: center;
    font-size:0.9em;
}

.accordion-button::after {
    font-family: 'Font Awesome 7 Free';
    content: "\f104";
    position: absolute;
    right: 5px;
    background: none;
    text-align: center;
    height:1rem;
    width:1rem;
    line-height: 1rem;
    display: block;
    top:50%;
    margin-top:-0.5rem;
}

.accordion-button:not(.collapsed)::after{
    background: none;
    transform:rotate(-90deg);
}


/*form-switch overrides*/
.form-switch .form-check-input:checked {
    --bs-form-switch-bg: none;
    --bs-form-check-bg-image: none;
}

.form-switch .form-check-input {
    appearance: none;
    -webkit-appearance: none;
    --bs-form-switch-bg: none;
    --bs-form-check-bg-image: none;
    width: 2.5rem;
    height: 1.5rem;
    background-color: #dee2e6;
    border: none;
    border-radius: 1.5rem;
    position: relative;
    cursor: pointer;
    transition: background-color 0.3s;
}

    .form-switch .form-check-input:focus {
        box-shadow: none;
    }

    .form-switch .form-check-input::before {
        content: "";
        position: absolute;
        top: 0.15rem;
        left: 0.15rem;
        width: 1.2rem;
        height: 1.2rem;
        background-color: #fff;
        border-radius: 50%;
        transition: transform 0.3s;
    }

    .form-switch .form-check-input:checked {
        background-color: #0d6efd;
    }

        .form-switch .form-check-input:checked::before {
            transform: translateX(1rem);
        }

.form-check.form-switch {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
/*form-switch overrides END*/


/*Bootstrap Overrides END*/

/*Datatable Overrides START*/
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order::before,
table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order::before,
table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order::before,
table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order::before {
    font-family: 'Font Awesome 7 Free';
    content: '\f106';
}

table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order::after,
table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order::after,
table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order::after,
table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order::after {
    font-family: 'Font Awesome 7 Free';
    content: '\f107';
}

table.dataTable th.dt-type-numeric, 
table.dataTable th.dt-type-date, 
table.dataTable td.dt-type-numeric, 
table.dataTable td.dt-type-date{
    text-align: left;
}

table.dataTable th.dt-type-numeric div.dt-column-header,
table.dataTable th.dt-type-numeric div.dt-column-footer, 
table.dataTable th.dt-type-date div.dt-column-header, 
table.dataTable th.dt-type-date div.dt-column-footer, 
table.dataTable td.dt-type-numeric div.dt-column-header, 
table.dataTable td.dt-type-numeric div.dt-column-footer, 
table.dataTable td.dt-type-date div.dt-column-header, 
table.dataTable td.dt-type-date div.dt-column-footer{
    flex-direction: row;
}
    /*Datatable Overrides END*/
    .hover-actions-trigger.btn-reveal-trigger .hover-actions {
        right: 3rem;
    }

[dir=rtl] .hover-actions-trigger.btn-reveal-trigger .hover-actions {
    right: 3rem;
}

.btn-reveal-trigger:hover .btn-reveal, .btn-reveal-trigger:focus .btn-reveal {
    background: #f5f7fa;
    border: 1px solid rgba(203, 208, 221, 0.54);
    color: #31374a;
}

    .btn-reveal-trigger:hover .btn-reveal:hover, .btn-reveal-trigger:hover .btn-reveal:focus, .btn-reveal-trigger:hover .btn-reveal:active, .btn-reveal-trigger:focus .btn-reveal:hover, .btn-reveal-trigger:focus .btn-reveal:focus, .btn-reveal-trigger:focus .btn-reveal:active {
        background: #e3e6ed;
        color: #222834 !important;
    }

.btn-reveal-trigger .dropdown-toggle:after, .btn-reveal-trigger .dropdown-toggle:before {
    display: none;
}

@media (min-width: 576px) {
    .btn-reveal-trigger-sm:hover .btn-reveal, .btn-reveal-trigger-sm:focus .btn-reveal {
        background: #f5f7fa;
        border: 1px solid #e3e6ed;
    }

        .btn-reveal-trigger-sm:hover .btn-reveal:hover, .btn-reveal-trigger-sm:hover .btn-reveal:focus, .btn-reveal-trigger-sm:hover .btn-reveal:active, .btn-reveal-trigger-sm:focus .btn-reveal:hover, .btn-reveal-trigger-sm:focus .btn-reveal:focus, .btn-reveal-trigger-sm:focus .btn-reveal:active {
            color: var(--phoenix-btn-reveal-color) !important;
        }

    .btn-reveal-trigger-sm .dropdown-toggle:after, .btn-reveal-trigger-sm .dropdown-toggle:before {
        display: none;
    }
}

textarea {
    resize: none;
}

/*
.select2-container {
    width: 100% !important
}
*/

.select2-container--default .select2-selection--multiple{
    border-color: #dee2e6 !important;
}

.budget-summary{
    max-height: 75px;
}

.card-header[data-bs-toggle="collapse"]{
    text-decoration: none;
    color: initial;
    position: relative;
    text-decoration: none;
    display:block;
    cursor: pointer;
}

.card-header[data-bs-toggle="collapse"]:after{
    content: '\f077';
    font-family: 'Font Awesome 7 Free';
    font-weight: 900;
    right: 10px;
    position: absolute;
    transition: 0.3s;
}

.card-header[data-bs-toggle="collapse"].collapsed:after{
    transform:rotate(180deg);
}

.message-rte + .ck-editor .ck-editor__editable {
    min-height: 200px;
}

/*
.show-credential{
    text-decoration:none;
    font-weight:bold;
    color:var(--bs-body-font-family);
}
*/