/* BODY */
body {
    background-color: #fff;
    height: 100vh;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
/* HEADER */
header {
    padding: 0;
    margin: 0;
    height: 55px !important;
    min-height: 55px !important;
    max-height: 55px !important;
    overflow: hidden;
    background-color: #ffeeea;
    display: flex !important;
    align-items: center;
    width: 100vw;
}
    header div.logo {
        padding-left: 20px;
        width: 300px;
    }
    header div.logo img {
        width:300px;
    }

    header div.top-bar {
        flex: 1;
        width: auto;
        padding-right: 20px;
    }

    header div.greeting {
        width: 200px;
        padding-right: 20px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    header div.action-item {
        font-size: 20px;
        width: 30px;
        height: 30px;
        text-align: center;
        border-radius: 100%;
        border: 1px solid transparent;
        color: #2e2e2d;
        margin-right: 20px;
        cursor: pointer;
    }

        header div.action-item:hover {
            border: 1px solid #2e2e2d;
            background-color: #2e2e2d;
            color: #fff;
        }
/* SECTION.MAIN */
section.main {
    flex: 1;
    /*overflow: hidden;*/
    display: flex;
    height: calc(100vh - 110px);
    width: calc(100vw - 76px);
    flex-direction: row;
    align-items: stretch;
}
/* SIDE NAV */
nav.side-nav {
    display:none;
    background-color: #2e2e2d;
    width: 76px;
    min-width:76px;
    max-width:76px;
}
button.side-nav,
button.side-nav:focus,
button.side-nav:active {
    cursor: pointer;
    position: absolute;
    top: 44px !important;
    width: 40px;
    height: 40px;
    margin: 0px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center center;
    border: none !important;
    border-radius: 100px;
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.102);
}
    nav.side-nav button.side-nav {
        left: 55px;
        background-image: url("images/sidenav-open.svg");
    }
nav.side-nav-open {
    background-color: #2e2e2d;
    width: 242px;
    min-width:242px;
    max-width:242px;
}
    nav.side-nav-open button.side-nav {
        left: 221px;
        background-image: url("images/sidenav-close.svg");
    }
ul.sidenav-menu {
    margin: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-top: 50px !important;
    padding-inline-start: 0 !important;
}
    ul.sidenav-menu li.sidenav-menu-item:hover {
        background-color: rgba(100, 100, 100, .5);
    }
    ul.sidenav-menu li.sidenav-menu-item a,
    ul.sidenav-menu li.sidenav-menu-item a:hover,
    ul.sidenav-menu li.sidenav-menu-item a:focus,
    ul.sidenav-menu li.sidenav-menu-item a:active {
        display: flex;
        align-items: center;
        font-size: 17px;
        font-weight: 600;
        color: #fff;
        text-decoration: none;
    }
    ul.sidenav-menu li.sidenav-menu-item i {
        font-size: 22px;
        background-color: rgba(100, 100, 100, .5);
        width: 40px;
        height: 40px;
        border-radius: 50%;
        text-align: center;
        line-height: 40px;
        vertical-align: middle;
        margin: 8px 8px 8px 16px;
    }
    ul.sidenav-menu li.sidenav-menu-item span {
        display:none;
    }
    ul.sidenav-menu li.sidenav-menu-item-on a,
    ul.sidenav-menu li.sidenav-menu-item-on a:hover,
    ul.sidenav-menu li.sidenav-menu-item-on a:focus,
    ul.sidenav-menu li.sidenav-menu-item-on a:active {
        color: #ff555e !important;
    }
    nav.side-nav-open ul.sidenav-menu li.sidenav-menu-item span {
        display:inline;
    }
    nav.side-nav-open ul.sidenav-menu li.sidenav-menu-item i {
        margin-left:8px;
    }

/* MAIN CONTENT */
article.main-content {
    flex: 1;
}
nav.breadcrumb-view {
    padding: 20px 32px 16px 32px;
}
    nav.breadcrumb-view ol.breadcrumb {
        background-color: transparent !important;
        display: flex;
        align-items: center;
        padding: 0;
        margin: 0;
    }
    nav.breadcrumb-view li.breadcrumb-item {
        list-style-type: none;
        list-style-image: none;
    }
    nav.breadcrumb-view li.breadcrumb-spacer {
        list-style-type: none;
        list-style-image: none;
        padding-left: 8px;
        padding-right: 8px;
    }
    nav.breadcrumb-view li.breadcrumb-item a {
        cursor: pointer;
        color: #2e2e2d;
        font-size: 14px;
        font-weight: 400;
        text-decoration: none;
    }
    nav.breadcrumb-view li.breadcrumb-active a {
        cursor: default;
        font-weight: 600;
        color: #ff555e;
    }
/*main-open*/
div.page-content {
    padding: 16px 32px 100px 32px;
    height: calc(100vh - 170px);
    /*width: calc(100vw - 76px);*/
    width: calc(100vw);
    overflow-x: auto !important;
    overflow-y: auto !important;
}
section.main-open div.page-content {
    width: calc(100vw - 242px);
}
/* TABLE */
table.table-summary {
/*    border-collapse: collapse !important;
    border: 1px solid #c0c0c0;*/
}
    table.table-summary,
    table.table-summary td,
    table.table-summary th {
        font-size:14px;
    }
    table.table-summary tr.parent th,
    table.table-summary tr th {
        background-color: rgb(230, 230, 230);
        color: rgb(65, 65, 65);
        text-align: center;
        border-top: 1px solid rgb(221, 221, 221) !important;
        border-bottom-width: 0 !important;
    }
    table.table-summary tr.parent th {
        background-color: rgb(180, 180, 180);
    }
    table.table-summary tr.last-row td {
        height: 1px !important;
        max-height: 1px !important;
        font-size: 0px !important;
        background-color: rgb(221, 221, 221) !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .table-striped > tbody > tr:nth-of-type(2n+1) {
        background-color: rgb(250,250,250) !important;
    }

table.dataTable thead th, table.dataTable thead td {
    border-bottom: 1px solid rgb(100,100,100) !important;
}
table.table-summary tr.error,
table.table-summary tr.error,
table.table-summary tr.error {
    background-color: rgba(166, 17, 25, .1) !important;
    cursor: help;
}
div.settled,
table.table-child tr.settled td {
    background-color: #ebfef3 !important;
    font-weight: 600 !important;
}
.dataTables_wrapper {
    margin-left: 4px;
    border-radius: 8px;
    background-color: rgb(240, 240, 240);
}

    .dataTables_wrapper div.row:first-child,
    .dataTables_wrapper div.row:last-child {
        max-width: 1200px !important;
        display: flex;
        align-items: flex-end;
        font-size: 12px !important;
        padding: 8px 16px 8px 16px !important;
    }

        .dataTables_wrapper div.row:first-child label span {
            text-align: left !important;
            display: block !important;
            margin-bottom: -2px !important;
            margin-left: 2px !important;
            font-size: 13px !important;
        }

        .dataTables_wrapper div.row:first-child input {
            border-radius: 8px !important;
            border: 1px solid #c0c0c0 !important;
            width: 225px !important;
            font-size: 13px !important;
            font-weight: 400 !important;
            height: 35px !important;
            padding: 2px !important;
            padding-left: 5px !important;
            margin-left: 0 !important;
        }

            .dataTables_wrapper div.row:first-child input:focus {
                background-color: #eaeefa !important;
                cursor: pointer !important;
                box-shadow: none !important;
                border: 1px solid #3257c9 !important;
                outline: none !important;
            }

            .dataTables_wrapper div.row:first-child input:hover {
                background-color: #eaeefa !important;
                box-shadow: none !important;
                box-shadow: none !important;
            }

            .dataTables_wrapper div.row:first-child input:disabled {
                background-color: rgb(242, 242, 242);
                color: rgb(153, 153, 153);
                border-color: rgb(230, 230, 230);
            }

.dataTables_info {
    border-radius: 8px;
    margin-left: 15px !important;
    width: 100% !important;
    margin-bottom: 4px;
    font-weight: 700 !important;
    padding: 4px !important;
}

.dataTables_paginate {
    float: none !important;
    text-align: left !important;
}

div.dataTables_length,
div.dataTables_length label,
div.dataTables_length input,
div.dataTables_length select,
div.dataTables_info,
div.dataTables_info label,
div.dataTables_info input,
div.dataTables_filter,
div.dataTables_filter label,
div.dataTables_filter input,
div.dataTables_paginate {
    font-weight: 600 !important;
    font-size: 13px !important;
}
th.hide-overflow,
td.hide-overflow {
    white-space:nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
th.break-word,
td.break-word {
    white-space:normal;
    word-break: break-word;
}
table.table-child {
    font-size:11px !important;
    border-width: 0 !important;
}
    table.table-child th {
        font-weight: 600 !important;
        background-color: #eaeefa !important;
        padding: 2px 2px 2px 2px !important;
        border: 1px solid #d6ddf4 !important;
    }
    table.table-child tr {
        border-width: 0 !important;
        border-top-width: 0 !important;
        background-color: #fff !important;
        padding: 4px 4px 4px 4px !important;
    }
    table.table-child td {
        padding: 2px 4px 2px 4px !important;
        border: 1px solid #d6ddf4 !important;
    }

/* FOOTER */
footer {
    overflow: hidden;
    height: 55px;
    min-height: 55px;
    max-height: 55px;
    background-color: #eaeaea;
    display: flex !important;
    align-items: center;
    font-size: 14px;
    z-index: 500;
}

    footer a,
    footer a:visited {
        color: #2e2e2d;
        text-decoration: none;
    }

        footer a:hover,
        footer a:active,
        footer a:visited:hover {
            text-decoration: underline;
        }

    footer div.copyright {
        padding-left: 32px;
        flex: 1;
    }

    footer div.environment {
        justify-content: flex-end;
        width: 250px;
    }

    footer div.terms {
        justify-content: flex-end;
        width: 250px;
    }
/* MODAL */
div.modal-dialog {
    margin-top:75px;
}
div.modal-header {
    background-color: #212944;
    padding: 12px 16px 12px 16px;
}
    div.modal-header button.close,
    div.modal-header button.close:hover {
        opacity: 1;
        text-shadow:none;
        color: #fff;
        font-weight:bold;
        cursor:pointer;
        background-color: transparent !important;
    }
h4.modal-title,
h5.modal-title {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
}
div.modal-body {
    color: #2e2e2d;
}
/* ALERTIFY */
/* -- alertify overrides -- */
.ajs-dialog {
    background-color: transparent !important;
}
.ajs-close {
    display: none !important;
}
.ajs-body {
    margin-left:-24px !important;
    width: 500px !important;
    background-color: #fff !important;
    min-height:100px !important;
}
.ajs-content {
    background-color: #fff !important;
    padding: 15px !important;
}
.ajs-content-form {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}
.ajs-header {
    background-color: rgb(33, 41, 68) !important;
    border-color: rgb(33, 41, 68) !important;
    color: #fff !important;
    font-size: 18px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
}
.ajs-footer {
    /*background-color: #eaeefa !important;*/
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}
.ajs-ok {
    margin-top: 0px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    background-color: transparent !important;
    border: 0px !important;
    display: inline-block;
    border-radius: 5px !important;
    color: rgb(120,120,120) !important;
    padding-top: 4px;
    padding-bottom: 4px;
    cursor: pointer !important;
    text-shadow: none !important;
}
.ajs-ok-hide {
    display:none !important;
}
.alertify-notifier .ajs-message {
    background: rgba(255, 255, 255, 0.95);
    color: #000;
    text-align: center;
    border: solid 1px #ddd;
    border-radius: 2px;
}

    .alertify-notifier .ajs-message.ajs-success {
        color: #fff;
        background: rgba(91, 189, 114, 0.95);
        text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
    }

    .alertify-notifier .ajs-message.ajs-error {
        color: #fff;
        background: rgba(217, 92, 92, 0.95);
        text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
    }

    .alertify-notifier .ajs-message.ajs-warning {
        background: rgba(252, 248, 215, 0.95);
        border-color: #999;
    }

/* MOBILE */
@media (max-width: 768px) {
    header div.logo {
        padding-left: 20px;
        width: 200px;
    }
        header div.logo img {
            width: 200px;
        }
    header div.action-item {
        margin-right:8px;
    }
    nav.side-nav {
        display:none; 
    }
    nav.side-nav button.side-nav {
        left: 40px;
        display: none;
    }
    nav.breadcrumb-view {
        padding: 20px 16px 0px 16px;
    }
    div.page-content {
        padding: 16px 16px 100px 16px;
        width: calc(100vw);
    }
    table.table-summary,
    table.table-summary td,
    table.table-summary th {
        font-size: 12px !important;
    }
    footer {
        font-size: 12px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
        footer div.copyright {
            padding-left: 0px;
        }
        footer div.environment {
            width: auto;
        }

        footer div.terms {
            width: auto;
        }
}