/* TODO: Get Clarity on inclusion of OTF */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;500&display=swap');

:root {
    --default-background-color: #ffffff;
    --default-body-background: #ffffff;
    --tinted-background-color: #fafafa;
    --tinted-error: #ffecec;
    --warning: #fff9f2;
    --link-color: #222;
    --full-width: 100%;
    --max-width: 960px;
    --font-family: "Roboto", Arial, sans-serif;
    --ams-color: #0057B8;
    --border-radius: 2px;
    --box-shadow-inner: inset -1px 1px 2px rgba(0,0,0,0.10);
    --box-shadow: 1px 1px 3px rgba(0,0,0,0.16);
    --input-border: 1px solid #e9e9e9;
    --card-width: 420px;
    --card-padding: 30px 40px;
    --focus-color: #f0f8ff;
    --muted: #48545A;
    --dominate-color: #000000;
    --passive-color: #000;
    --green:#48AC33;
    --red:#AF182E;
    --blue: #233986;
    --yellow:#F9E23A;
    --purple:#542671;
    --zebra-stripe: #E5E5E5;
    --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='logosandtypes_com' data-name='logosandtypes com' viewBox='0 0 150 150'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:url(%23linear-gradient);%7D%3C/style%3E%3ClinearGradient id='linear-gradient' x1='13.51' y1='123.24' x2='112.93' y2='44.14' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='0.5' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23ffffff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Layer_3' data-name='Layer 3'%3E%3Cpath id='Layer_3-2' data-name='Layer 3' class='cls-1' d='M0,.2H150v150H0Z' transform='translate(0 -0.2)'/%3E%3C/g%3E%3Cpath class='cls-2' d='M.5,89.33a89.55,89.55,0,0,0,9.1,39.81l18.28-13a67.11,67.11,0,0,1-6.2-29c0-31.28,23-55,52.42-55,28.76,0,46.39,20.27,46.39,46.43,0,23.44-15.59,38.64-35.82,38.64-19.37,0-33-13.25-33-32.09,0-16.59,10.53-27.73,23.17-27.73,9.53,0,14.73,4.33,14.73,11.27,0,7.79-8.06,12.12-16.33,9.83L64.57,84.7a119.08,119.08,0,0,0,25,23.56l9.27-6.45A163.26,163.26,0,0,1,84,89a20.4,20.4,0,0,0,18.41-20.36c0-14-10-23.91-27.33-23.91-20.66,0-38,17-38,41.24,0,26.9,19.67,46.78,48,46.78,31.15.17,53.24-23.3,53.24-54.49,0-37-25.69-64.11-65-64.11C33.16,14.18.5,45.41.5,89.33' transform='translate(0 -0.2)'/%3E%3C/svg%3E");
}
.outfit-ams {
    font-family: "Outfit", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
*, *::before, *::after {
    box-sizing: border-box;
}
section h1,
h3,
form.panel h1,
button,
body > header > nav > ul,
section.breadcrumbs > nav > ol,
.tab-container > ul,
.card-title-bar,
#search-result-filter,
#search-head > div.flex > b,
.search-collapse-trigger,
[type="button"],
[type="reset"],
[type="submit"],
.tab-container > ul > li > a,
section h1,
header a.product,
.modal-header,
form > header h1,
h3.table-header,
.card-content > div > h3
{
    font-family: "Outfit", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
#search-head > div.flex > b,
button,
[type="button"],
[type="reset"],
[type="submit"]{
    text-transform: uppercase;
}

body > header > nav > ul,
section.breadcrumbs > nav > ol,
.tab-container > ul{
    text-transform: uppercase;
    font-size: 12px;
}
section.breadcrumbs > nav > ol{
    opacity: 0.7;
}
#search-result-filter{
    padding: 20px 30px !important;
    background-color: #000 !important;
    color:#fff;
    text-transform: uppercase;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.be-aside-header-filters .be-aside-header-filters-right{
    display: inline-flex;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
    flex-direction: row;
}
#filter-form .form-group{
    margin-bottom: 25px !important;
}
.select2-container{
    border: 1px solid #222 !important;
    border-radius: 0 !important;
}
#freeform-search-input{
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    border-bottom: 2px solid #000;
    background-color: transparent;
    font-style: italic;
}
.search-collapse-trigger {
    font-size: 13px;
    color: #ffffff;
    background-color: var(--passive-color);
    cursor: pointer;
    padding: 15px;
    text-transform: uppercase;
}
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field{
    border: none !important;
}
.input-search.input-group-sm .input-group-btn button{
    background-color: transparent;
}
.ams-description-modal-trigger{
    cursor: pointer;
}
html, body{
    background-color: var(--default-body-background);
    height: 100%;
    padding: 0;
    margin: 0;
}
body.entity-page.modal-open{
    overflow: unset !important;
}
body.entity-page section.breadcrumbs{
    padding-left: 0;
    padding-top: 15px;
}
.relative{
    position: relative;
}
body.entity-page section.breadcrumbs + div.button-container{
    position: absolute;
    right: 0;
    top: 15px;
}
li.parent .controller{
    height: 0;
    width: 0;
}
li.parent .controller:focus-within + .controller-label:after,
li.parent .controller:focus + .controller-label:after,
li.parent .controller:active + .controller-label:after{
    background-color:var(--dominate-color);
}
input[type=checkbox]:checked + .controller-label + .sub-menu-container{
    display: block;
}
.controller-label:after{
    content: ' ';
    background-size: 100% 100%;
    position: absolute;
    top: -4px;
    right: -13px;
    height: 23px;
    width: 27px;
}
input[type=checkbox]:not(:checked) + .controller-label:after{
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDI0OS4zNCAyMDUuNDkgMjA1LjUtMjcuOTAyIDI3LjkwMi0xNzcuNTktMTc3LjU5LTE3Ny41OSAxNzcuNTktMjcuOTAyLTI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K");
}
input[type=checkbox]:checked + .controller-label:after{
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDUwMi42Ni0yMDUuNDktMjA1LjUgMjcuOTAyLTI3LjkwMiAxNzcuNTkgMTc3LjU5IDE3Ny41OS0xNzcuNTkgMjcuOTAyIDI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K");
}
.sub-menu-container{
    display:none;
}
label.controller-label > span{
    display: block;
    color: #ffffffab;
}
label.controller-label{
    color: #fff;
    position: relative;
    margin-bottom: 0;
}
body, .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{
    font-family: Arial, sans-serif !important;
    line-height: 1.6em !important;
    font-size: 14px !important;
}
form[data-purpose] label{
    color: var(--muted);
}
label{
    margin-bottom: 10px;
    display: block;
    font-size: 1em;
    cursor: pointer;
}
a, a:hover{
    color: var(--link-color);
    text-decoration: none;
}
a:hover{
    text-decoration: underline;
}
button[type=submit]:disabled{
    border: 1px solid var(--focus-color);
    background-color: var(--focus-color);
    color: var(--link-color);
}
textarea.form-control{
    line-height: 1em;
    padding: 10px !important;
    text-indent: 0;
    box-sizing: border-box;
}
.hide, div.DTE div.DTE_Field.hide{
    display: none;
}
form[data-purpose] button[type=submit],
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    padding: 13px 15px;
    width: 100% !important;
    border: var(--input-border);
    border-radius: var(--border-radius);
    border: var(--input-border);
    height: 50px;
}
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    box-shadow: var(--box-shadow-inner);
}
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    box-shadow: var(--box-shadow-inner);
}

button[type=submit] {
    color: #FFFFFF;
    background-color: var(--link-color);
    border: 1px solid var(--link-color);
    line-height: inherit;
    border-radius: var(--border-radius);
    outline: none;
    font-size: 1em;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=search]:focus,
textarea:focus{
    background-color: var(--focus-color);
    border: 1px solid var(--link-color);
}
main .col-4 > button{
    margin-top: 32px;
}

#login button{
    line-height: unset !important;
}
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
input[type=search],
textarea,
select{
    outline: none;
    line-height: inherit;
    font-size: 1em;
    text-indent: 10px;
    border-width: 1px;
}
input[type=text] + label,
input[type=password] + label,
input[type=date] + label,
input[type=number] + label,
input[type=email] + label,
input:not[type=hidden] + div:not(.input-group-append),
div + label{
    margin-top: 15px;
}
div.input-group > input[type=checkbox]{
    font-size: 15px;
    height: 18px;
    width: 18px;
    position: relative;
}
.table-search > div:not(:last-child){
    padding-right: 30px;
    border-right: 1px dotted #999;
}
.table-search .dataTables_filter{
    padding-left: 30px;
}
div.dataTables_wrapper div.dataTables_filter + .custom-filter-container,
.table-search > .custom-filter-container{
    padding-left: 30px;
    padding-top: 0 !important;
}
.custom-control-input:focus ~ .custom-control-label::before,
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{
    border: none;
    box-shadow: inset 0 1px 2px #c7c7c7;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after{
    background-color: var(--dominate-color);
}
.custom-switch .custom-control-input:checked ~ .custom-control-label > span::after{
    content: 'ed';
}
.custom-control-input ~ .custom-control-label::before,
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--default-body-background);
    border-color: transparent;
    box-shadow: inset 0 1px 2px #c7c7c7;
}
.table-search .custom-control-label{
    position: relative;
    font-weight: bold;
    color: #000;
}
.table-search .custom-switch .custom-control-label::after{
    top: 2px;
}
.dataTables_wrapper .table-search{
    display: table;
}
.table-search > div{
    display: table-cell;
    vertical-align: middle;
}
input[type=email] + button[type=submit],
input[type=text] + button[type=submit],
input[type=password] + button[type=submit],
input[type=date] + button[type=submit],
input[type=number] + button[type=submit],
input + div + button[type=submit],
#login button[type=submit]{
    margin-top: 40px;
}
.panel-container{
    width: 100%;
    margin: 50px auto;
    max-width: var(--card-width);
    position: relative;
    z-index: 1;
}
.panel-body:empty, .form-text:empty{
    display: none;
}
.panel-body.alert{
    background-color: var(--focus-color);
    color: var(--link-color);
    margin: 0;
}
.panel-body.instructions{
    background-color: var(--warning);
    margin: 0;
}
.alert.error{
    background-color: var(--tinted-error);
}
.alert > b{
    display: block;
    font-size: 1.2em;
}
.panel{
    box-shadow: var(--box-shadow);
    background-color: var(--default-background-color);
    border-radius: var(--border-radius);
    overflow: hidden;
}
.panel-container > .panel-container-footer{
    margin-top: 30px;
    text-align: center;
    color:#898989;
}
.panel-footer > a{
    display: inline-block;
}
.panel-footer > a + a{
    display: inline-block;
    margin-left: 10px;
}
.panel > .panel-footer:not(:empty){
    background-color: #f9f9f9;
}
.panel > .panel-header,
.panel > .panel-body,
.panel > .panel-footer{
    padding: var(--card-padding);
}
.panel > .panel-footer{
    color: #6f6f6f;
}
.panel > .panel-header{
    padding-top: 60px;
}
p {
    margin: 0;
}
* + p:not(.error){
    margin-top: 10px;
}
hr {
    margin: 6px 0 !important;
}
tr.selected a, td.selected a, th.selected a {
    color:#504e4e !important;
}
.vertical-center{
    height: 100%;
    text-align: center;
}
.vertical-center:before{
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}
.vertical-center > div{
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-left: -0.25em;
}
.logo{
    background-size: contain;
    max-width: 200px;
    width: 100%;
    height: 92px;
    margin: 0 auto;
    background-position: 0;
    background-repeat: no-repeat;
    overflow: hidden;
}
.logo > h1{
    text-indent: -10000px;
    margin: 0;
    padding: 0;
}
/* LOGIN SPECIFIC */
form[data-purpose="validateUsername"] .manual-login,
form[data-purpose="requestPasswordReset"] .password-fields{
    display: none;
}
div.password > input[type=password] + .show-password:before{
    content: 'Show';
}
div.password > input[type=text] + .show-password:before{
    content: 'Hide';
}
div.password{
    position: relative;
}
div.password > input:focus + button{
    background-color: var(--link-color);
    color: #fff;
}
div.password > button{
    position: absolute;
    right: 10px;
    top: 13px;
    border: none;
    border-radius: 15px;
    padding: 2px 10px;
    outline: none;
    background-color: var(--focus-color);
    height: unset !important;
}
.product-logo{
    background-image: url('../images/DART_White_Horizontal.png');
    display: inline-block;
    background-size: 150px;
    margin-top:-80px;
    margin-bottom:-50px;
    height: 120px;
    width: 177px;
    background-repeat: no-repeat;
}
.custom-checkbox .custom-control-label:before{
    border: 1px solid #ababab !important;
    border-radius: 2px;
}
/* END LOGIN SPECIFIC */

/* MOBILE */
@media screen and (max-width: 500px) {
    .panel{
        width: calc(100% - 40px);
        margin: 20px;
    }
}

/* END MOBILE */

/*COMMENT out this section if you want to change the default primary coloring*/

.card-header-featured {
background-color: var(--dominate-color);
color: #FFFFFF;
}
.btn-info {
    background-color: var(--passive-color);
    border-color: var(--passive-color);
    color: #fff;
}


option:checked {
box-shadow: 0 0 10px 100px #881222 inset;
}

.nav-tabs > li.nav-item a.nav-link.active .icon
{
color: #fff;
}
.form-control.in-error,
input[type=text].in-error,
input[type=password].in-error,
input[type=date].in-error,
input[type=number].in-error,
input[type=email].in-error,
select.in-error,
:not(.btn-group) > button.in-error,
.dt-buttons.btn-group > button.in-error,
.select2-container--default .select2-selection--multiple.in-error,
button[type=submit].in-error,
a.btn.in-error{
    border-color: #eaaeae;
}

.custom-segments:empty {
    display: none !important;
}
.margin-top-30{
    margin-top: 30px;
}
.padding-30{
    padding: 30px;
}
.padding-30 > .row + .row{
    margin-top: 20px;
}
#sow-search_wrapper #sow-search_filter input[type=search]{
    min-width: 400px;
}
#filter-form{
    display: none;
}
#filter-form.active{
    display: block;
}
.custom-segments:not(:empty):last-child:after{
    border: none !important;
}
.custom-segments:not(:empty):after {
    content: '';
    display: flex;
    border-bottom: 1px dashed #dadada;
    width: 100%;
    font-weight: bold;
    margin: 25px 15px 15px;
}
div.DTE div.DTE_Field.row{
    margin-left:0 !important;
    margin-right:0 !important;
}
button[data-label]:before {
    content: attr(data-label);
}
.custom-segments[data-label]:before {
    content: attr(data-label);
    display: flex;
    width: 100%;
    font-weight: bold;
    margin: 20px 15px 10px;
}
.custom-segments{
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    padding: 0;
    justify-content: flex-start;
    margin: 0;
}
.DTE_Field.col-4 {
    flex: 0 0 33.33%;
    max-width: 33.33%;
}
.DTE_Field.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}
.DTE_Field.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}
.dataTables_wrapper .toolbar.no-padding {
    padding: 30px 0;
}
main > p.notice{
    background-color: #fff7e5;
    padding: 30px;
    box-shadow: 0 2px 3px #c7c7c7;
}
main > p + div.dataTables_wrapper{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
table[data-child-reference]{
    background-color:#fff !important;
}
table[data-child-reference].dataTable thead th{
    background-color:#fff !important;
}
.status-icon{
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    line-height: 20px;
    font-size: 15px;
    font-weight: bold;
    color: #35699d;
    background-color: #ecf3ff;
    text-align: center;
    font-style: normal;
}
.status-icon:before{
    content: '+'
}
.shown .status-icon{
    color: #ed003c;
    background-color: #f2bfcc;
}
.shown .status-icon:before{
    content: '-'
}
div.table-wrap table.dataTable td.child-row{
    padding: 30px !important;
    background-color: #eeeeee;
}
.accordion .card-header > a, a.list-group-item{
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    display: block;
    padding: 15px 30px;
    font-size: 14px !important;
}
.accordion > .card{
    border-radius: var(--border-radius);
}
.accordion > .card .card-body{
    padding: unset !important;
}
.accordion a[data-toggle="collapse"]:not(.collapsed){
    background-color: var(--zebra-stripe);
}
.list-group-item.active {
    z-index: 2;
    color:#fff !important;
    background-color: var(--dominate-color) !important;
    border-color:unset !important;
}
a.list-group-item{
    text-decoration: none !important;
    color:#000;
}
.list-group{
    padding: 0;
    margin-bottom: 0;
    border-radius: 3px;
    background: #FFFFFF;
    z-index: 2;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
    overflow: hidden;
}
.list-group-item {
    border: unset;
}
.list-group-item + .list-group-item{
    border-top: 1px solid #e3e3e3;
}
.list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: unset;
    text-decoration: none;
    background-color: var(--zebra-stripe);
}
section.entity-introduction{
    background-color: #fff;
    padding: 0 !important;
    margin-bottom: 30px;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
    overflow: hidden;
}
:not(main) > section:not(.breadcrumbs, .introduction, .no-padding, .no-margin), header {
    padding: 30px;
}
section.breadcrumbs ol{
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
body.modal-open{
    padding: 0 !important;
    overflow: auto !important;
}
main{
    padding: 0 30px;
}
body > header{
    z-index: 10;
    height: 8px;
    position: fixed;
    top: 0;
    width: 100%;
}
section > header, form > header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
body > header, .modal-header, div.DTE .modal-header{
    background-color: var(--dominate-color);
    /*background-image: linear-gradient(to right, var(--dominate-color), var(--passive-color));*/
    align-items: center;
}
body > header a, .modal-header, body > header a:hover, div.DTE .modal-header{
    color: #fff;
}
body > header a.product{
    font-size: 1.4rem;
    text-decoration: none;
}
body > header > nav{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
body > header > nav > ul,
section.breadcrumbs > nav > ol,
.tab-container > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
section.information-panel + section.information-panel{
    margin-top: 30px;
}
section.information-panel{
    margin: 0 30px 0 0;
    min-height: 400px;
}
section.introduction, section.panel, form.panel, section#sow-totals{
    background-color: #FFFFFF;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
}
section.introduction, section.panel, form.panel{
    margin: 0 0 30px 0;
    overflow: hidden;
}
section.panel, form.panel{
    max-width: 600px;
    width: 100%;
    margin: 30px auto !important;
}
.alert:empty{
    display:none;
}
form .alert{
    padding: 30px;
    color: #292929;
}
.alert.success{
    background-color: #edfaf2;
}
section.introduction > h1, form.panel .body, section.panel .body, section.error{
    padding: 30px;
}
form.panel .body{
    border-top: 1px solid #dbdbdb;
}

.left-frame{
    position: fixed;
    width: 360px;
    left: 0;
    top: calc(var(--alert-banner-height) + var(--head-navigation-height));
    bottom: 0;
    margin: 0 30px 0 0;
}
.left-frame.hide{
    display:none;
}
.left-frame.hide + .right-frame{
    width: 100% !important;
    left: 0;
}
.right-frame{
    margin-top: 30px;
    left: 360px;
    width: calc(100% - 360px) !important;
    position: relative;
}
button.hide-left:before{
    content: 'Expand Table';
}
.left-frame.hide + .right-frame button.hide-left:before{
    content: 'Show SOW Metadata';
}
button.hide-left{
    background-color: #222;
    color: #fff;
    font-weight: bolder;
    line-height: 30px;
    border-radius: 40px !important;
    padding: 0 20px;
    border: none;
}
#left-information-panel{
    top: 0;
    bottom: 0;
    max-height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
}
h3.modal-title > span{
    display:block;
    font-size: 14px;
    font-weight: normal;
    color:rgba(255,255,255,0.6);
    text-align: left;
}
.modal-body.no-padding{
    padding: 0 !important;
}
#splashscreen{
    top: 120px;
    margin-left: -180px;
    left: 50%;
    box-sizing: border-box;
    position: fixed;
    border-radius: 3px;
    box-shadow: 1px 1px 3px #0000003d;
    background-color: #fff;
    z-index: 99999999999;
    padding: 30px;
    width: 360px;
}
#splashscreen h2{
    margin: 0;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
}
#splashscreen .progress{
    margin-top: 20px;
}
#splashscreen .progress-bar{
    width: 100%;
    background-color:var(--dominate-color);
}
.backsplash{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99999;
}
.entity-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 35px;
    height: 35px;
}

.entity-page .select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #cecece;
    border-radius: 1px;
    height: 35px;
}
.entity-page .select2-container--default .select2-selection--single .select2-selection__arrow b:after{
    font-size: 18px;
    font-weight: normal;
    color: #404040;
    position: absolute;
    top: 2px;
    line-height: 35px;
    right: 1px;
}
.entity-page .select2-container--default .select2-selection--single .select2-selection__arrow b {
    position: absolute;
    border: none !important;
    left: 20px;
    top: 0;
    bottom: 0;
    display: block;
}
.entity-page .select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 34px;
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
}
.information-body .table{
    margin-bottom: 0 !important;
}
.information-body > div.scrollable,
.totals-body > div.scrollable,
.spocs-body > div.scrollable{
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: auto;
    width: 100%;
}
.oop-button{
    white-space: nowrap;
}
div.heading{
    padding: 20px;
    font-weight: 600;
    background-color: var(--zebra-stripe);
    color: #000;
    border-bottom: 1px dashed #cbcbcb;
    position: relative;
}
.information-body, .totals-body, .spocs-body{
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
}
.information-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}
.totals-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    top: calc(50% + 20px);
    height: 25%;
    width: 100%;
}
.spocs-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    bottom: 0;
    height: calc(25% - 40px);
    width: 100%;
}
div.dt-button-collection > .dropdown-menu{
    display: unset !important;
}
label[for='expand-timeline']{
    color: #6c5725;
}
section.introduction > h1 + p{
    border-top: 1px dashed #d9d9d9;
    padding: 20px 30px;
    margin: 0 !important;
}
section div.timeline-container{
    margin-top: 0;
    border-top: 1px solid #e3e3e3;
}
section > footer, form > footer{
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    display: table;
    background-color: #f7f7f7;
    border-top: 1px solid #e5e5e5;
    width: 100%;
}
form > footer{
    padding: 20px 30px;
    text-align: right;
}
section > footer > ul{
    margin: 0;
    padding: 0;
    position: relative;
    list-style: none;
}
section > footer li + li{
    border-left: 1px solid #e1e1e1;
}
section > footer li{
    display: table-cell;
    padding: 15px 30px;
}
section > footer li > p{
    margin: 5px 0 0 0 !important;
}
section .user-timeline{
    margin: 0 !important;
}

div.timeline-container{
    padding: 30px;
    overflow-y: auto;
    max-height: 100px;
}
div.timeline-container + label, input#expand-timeline:checked + label{
    padding: 15px 30px;
    background-color: #fff5e5;
    margin: 0;
}
input#expand-timeline:not(:checked) + div.timeline-container + label:before{
    content: 'Expand ';
}
input#expand-timeline:checked + div.timeline-container + label:before{
    content: 'Minimize ';
}
input#expand-timeline + label{
    display: none;
}
input#expand-timeline:checked + div.timeline-container{
    max-height: unset !important;
}
input#expand-timeline:checked + div.timeline-container .collapse:not(.show){
    display: block;
}
.collapse.not-current-event .user-timeline-title,
.collapse.not-current-event .user-timeline-description{
    color:#a7a7a7;
}
div.timeline-container .current-event ~ *{
    display: block;
}
.user-timeline-compact .user-timeline-title{
    font-size: 1.2rem;
    font-weight: bold;
}
ul.nav[role=tablist] > li:not([role=tab]){
    /*position: absolute;*/
    right:0;
    top: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
}
ul.nav[role=tablist] > li:not([role=tab]) > button + button{
    margin-left: 10px;
}
body > header > nav > ul > li, section.breadcrumbs > nav > ol > li{
    display: inline-block;
    vertical-align: top;
}
body > header a.logout{
    margin-left: 10px;
    display: block;
    text-decoration: none;

}
body > header a.logout:hover{
    text-decoration: underline;

}
body > header a.logout:after, a.logout:before{
    color: #999;
}
h3.table-header:before{
    content: 'Manage ';
}
.notice.error:not(:empty){
    padding: 30px;
    background-color: #ffe5e5;
}
.notice.error:empty{
    display:none;
}
tr.remove > td{
    text-decoration:line-through;
}
.card-content h3 + p.notice{
    background-color: #fff7e5;
    padding-bottom: 30px;
    margin-top: 30px !important;
}
h3.table-header, .card-content > div > h3, .card-content h3 + p{
    margin-top: 0 !important;
    padding: 30px 30px 0;
}
.page-link{
    text-decoration: none;
}

.page-item.active .page-link{
    background-color: var(--dominate-color);
    border-color: var(--dominate-color);
}
.btn-primary:focus, .btn-primary.focus, .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .btn-primary:not([disabled]):not(.disabled):active:hover, .btn-primary:not([disabled]):not(.disabled):active:focus, .btn-primary:not([disabled]):not(.disabled):active.focus, .btn-primary:not([disabled]):not(.disabled).active:hover, .btn-primary:not([disabled]):not(.disabled).active:focus, .btn-primary:not([disabled]):not(.disabled).active.focus, .show > .btn-primary.dropdown-toggle:hover, .show > .btn-primary.dropdown-toggle:focus, .show > .btn-primary.dropdown-toggle.focus{
    background-color: var(--passive-color);
    border-color: var(--passive-color) !important;
}
.btn-primary:hover, .btn-primary.hover{
    box-shadow: 0 1px 0 rgb(0 0 0 / 5%) !important;
}
.btn-group > .btn.btn-primary, .input-group-btn > .btn.btn-primary, .input-group-prepend > .btn.btn-primary, .input-group-append > .btn.btn-primary{
    border-right: unset !important;
}
.btn-group > .btn.btn-primary:hover, .btn-group > .btn.btn-primary:active, .btn-group > .btn.btn-primary.active, .input-group-btn > .btn.btn-primary:hover, .input-group-btn > .btn.btn-primary:active, .input-group-btn > .btn.btn-primary.active, .input-group-prepend > .btn.btn-primary:hover, .input-group-prepend > .btn.btn-primary:active, .input-group-prepend > .btn.btn-primary.active, .input-group-append > .btn.btn-primary:hover, .input-group-append > .btn.btn-primary:active, .input-group-append > .btn.btn-primary.active{
    border-bottom-color: transparent !important;
}
table.dataTable thead th.sorting:after, table.dataTable thead th.sorting_desc:after{
    content: unset !important;
}
table.dataTable thead .sorting_desc:before{
    content: '\2193' !important;
}
table.dataTable thead th.sorting_asc:after {
    content: '\2191' !important;
}
section h1, h3, form.panel h1{
    margin: 0;
    padding: 0;
    font-size: 2rem;
    font-weight: 500;
    font-style: normal;
}
#comment-detail-modal .modal-body + .modal-body{
    border-top: 1px dashed #c3c3c3;
}
#comment-detail-contents{
    width: 100%;
    border: none;
}
td.tagged-users{
    vertical-align: top;
}
div.phase-filter{
    white-space: normal;
}
.phase-filter > span {
    white-space: nowrap;
    font-size: 12px;
    display: inline-block;
    border: 1px solid #999;
    padding: 2px 10px;
    border-radius: 30px;
    margin-right: 5px;
    margin-top: 5px;
}
.phase-filter > span.selected {
    color: #fff;
    background-color: var(--muted);
    border-color: var(--muted);
}
div.DTE_Field_Name_Description.col-12{
    margin-top: -10px;
}
div.DTE_Field_Name_Description.col-12 > div[data-dte-e='input']{
    margin-bottom: 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable .dataTables_paginate{
    display:none;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table.dataTable tbody tr td{
    padding: 2px !important;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table thead tr th{
    padding-top: 15px !important;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table thead tr{
    position: sticky;
    top: 0;
    background-color: #f8f8f8;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable label[for='DET_Field_TacticTaxID']{
    margin-bottom: 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable div[data-dte-e='msg-error']:not(:empty){
    position: absolute;
    bottom: 0;
    background-color: #f8f8f8;
    left: 0;
    right: 0;
    padding: 10px 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable div[data-dte-e='input-control']{
    max-height: 270px;
    overflow-y: scroll;
    width: calc(100% + 60px);
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: -30px;
    padding: 0 30px 30px;
    border-top: 1px solid #dadada;
}
h3.modal-title{
    font-weight:bold;
    font-size: 1.3rem;
    text-align: left;
}
section.breadcrumbs{
    padding: 62px 30px;
    position: relative;
}
h3 + p, input + input{
    margin-top: 20px;
}
select[name='projectVP']{
    margin-bottom: 30px;
}
input#deliverables-affirm-status,
input#cost-affirm-status{
    height: 20px;
    width: 20px;
}
section h1 + *, form.panel h1 + *{
    margin-top: 10px;
}
section.breadcrumbs > nav li + li:before{
    content: '/';
    padding-right: 10px;
    display: inline-block;
    margin-left: 10px;
    color: #999;
}
.m-30-0{
    margin: 30px 0 !important;
}
.tab-container > ul > li{
    display: inline-block;
    vertical-align: bottom;
}
.tab-container > ul > li > a{
    padding: 15px 30px;
    margin-right: 0;
    min-width: 60px;
    text-align: center;
    color: #fff;
    border-width: 0;
    display: block;
    text-decoration: none;
    background-color: var(--passive-color);
    border-radius: 3px 3px 0 0;
}
.tab-container > ul > li > a.active{
    background-color: #FFFFFF;
    color:#222;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
}
.tab-container > ul > li + li{
    margin-left: 10px;
}
.tab-content.flex-content{
    padding: 0 !important;
    background-color: transparent;
}
.tab-content.flex-content .tab-container{
    padding: 0 !important;
}
.tab-content.flex-content > .tab-pane:not(.tab-group){
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
}
.tab-content:not(.flex-content),
main > div.dataTables_wrapper,
#Agency_dt_wrapper,
#SOW_dt_wrapper,
#SOW_dt_wrapper,
#Project_dt_wrapper,
#StaffingDetail_dt_wrapper,
#Tactic_dt_wrapper,
#Staffing_dt_wrapper,
#OOP_dt_wrapper,
#SOWStaffing_dt_wrapper{
    padding: 0;
    margin-bottom: 0;
    border-radius: 0 0 3px 3px;
    background: #FFFFFF;
    z-index: 2;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
}
#Agency_dt_wrapper,
#SOW_dt_wrapper,
#Project_dt_wrapper,
#StaffingDetail_dt_wrapper,
#Tactic_dt_wrapper,
#Staffing_dt_wrapper,
#OOP_dt_wrapper,
#SOWStaffing_dt_wrapper{
    border-radius: 3px !important;
}
#exploratory-report #StartingMessage{
    background-color: #222;
    padding: 30px;
    border-radius: 3px;
    color: #fff;
    font-family: monospace;
    font-size: 13px;
}
#exploratory-report .filter-form-container{
    padding: 25px;
    border-radius: 3px;
    background: #FFFFFF;
    z-index: 4;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
    margin-bottom: 30px;
}
#exploratory-report .filter-option-inner-inner{
    font-weight: normal;
}
#exploratory-report #filter-form label{
    font-weight: bold;
    color:#222;
}
#exploratory-report #filter-form button.btn.dropdown-toggle{
    width: 100% !important;
    border: 1px solid #d9d9d9;
    box-shadow: none;
}
main > div.dataTables_wrapper{
    border-radius: 3px;
}
.tab-content > div > div:not(.table-container):not(.dataTables_wrapper){
    padding: 30px;
}
.tab-content > .active {
    display: block;
}
.tab-content > * {
    display: none;
}
table.dataTable{
    margin: 0 !important;
}
table.dataTable thead th{
    border: none !important;
    font-size: 1rem;
    background-color: unset !important;
}
div.collapsing, div.collapse{
    background-color: #f5f5f5;
}
table.dataTable thead th{
    padding: 20px 10px !important;
    white-space: nowrap;
}
table.dataTable tbody tr td{
    padding: 10px !important;
}
table.dataTable thead th:first-child, table.dataTable tbody tr td:first-child{
    padding-left: 30px !important;
}
table.dataTable thead th:last-child, table.dataTable tbody tr td:last-child{
    padding-right: 30px !important;
}
.ml-2, .mx-2{
    margin-left: 0 !important;
}
.card-content > div{
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
}
.card-content.flex-content {
    padding: 0 !important;
    background-color: transparent;
}
.card-content {
    background: #FFFFFF;
    padding: 20px;
    margin-bottom: 40px;
    border-radius: 0 0 3px 3px;
}

table.dataTable tbody tr:nth-child(odd) {
    background-color: var(--zebra-stripe);
}
table.dataTable tbody>tr.selected, table.dataTable tbody>tr>.selected{
    background-color: var(--muted);
    color:#fff;
}
.differ-badge{
    font-weight: normal;
    display: inline-block;
    font-size: 11px;
    background-color: #fff3e2;
    border-radius: 30px;
    padding: 0 10px;
    position: absolute;
    right: 20px;
}
.button-container{
    white-space: nowrap;
    margin-left: 30px;
}
.user-label{
    background-color:#ecf3f9;
}
.user-switch > div{
    padding: 20px;
}
.user-switch p{
    color:#767676;
    margin-top: 0;
    margin-bottom: 15px;
}
.user-switch{
    background-color: #FFFFFF;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
    margin-bottom: 30px;
}
td a{
    cursor: pointer;
}
span[data-ams-action]{
    cursor: pointer;
    text-decoration: underline;
}
tr.selected a:not(.dropdown-item), td.selected a:not(.dropdown-item), th.selected a:not(.dropdown-item){
    color:#fff !important;
}
.dataTables_wrapper .toolbar, .dataTables_wrapper .pagination-wrap, .toolbar{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 30px;
}
div.child-wrap > .dataTables_wrapper .toolbar{

    padding: 30px 0;
}
tr.child-row > td.child-row{
    padding: 30px !important;
    background-color: var(--default-body-background);
}
.btn-group-table > button:last-child{
    width: calc(100% - 38px) !important;
}
td.comment{
    position: relative;
}
td.comment > .badge{
    border-radius: 40px;
    border: none;
    margin-left: 10px;
}
.btn.no-wrap{
    white-space: nowrap;
}
#new-comments[data-comments='0']{
    display:none !important;
}
#new-comments{
    border-radius: 50px;
    margin-left: 10px;
    background-color:#fff;
    color: var(--dominate-color);
    border: none;
    display: inline;
}
a.active > #new-comments{
    background-color: var(--dominate-color);
    color: #fff;
}
#new-comments:before{
    content: attr(data-comments) " New";
}
#workflow-table_filter,
#comments-table_filter{
    width: 100%;
    margin-left: 30px;
}
#workflow-table_filter input[type=search],
#comments-table_filter input[type=search]{
    width: calc(100% - 55px) !important;
}
#comments-table_wrapper .dt-buttons.flex-wrap{
    flex-wrap: unset !important;
}
td > span.read-more{
    display: inline-block;
    text-decoration: underline;
    margin-left: 10px;
    cursor: pointer;
}
.custom-width .modal-dialog{
    width: unset !important;
}
.dataTables_wrapper .toolbar, .card-content > div > .toolbar{
    border-bottom: 1px solid #e3e3e3;
}
.toolbar > .dataTables_filter{
    white-space: nowrap;
}
.filters{
    overflow: hidden;
    position: relative;
    background-color: var(--muted);
}
.filters select{
    border: none;
}
.filters label{
    color:#fff;
}
.filter-form .row + .row{
    margin-top: 10px;
}
.filters:after, .filters:before{
    content: '';
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    position: absolute;
    height: 1px;
    left: -1px;
    right: -1px;
}
.filters:after{
    bottom: -1px;
}
.filters:before{
    top: -1px;
}
.filter-form > div{
    padding: 30px;
}
.filter-form,  div.collapsing, div.collapse{
    background-color: unset;
    color:unset;
}
.filter-form .row{
    margin-right: -15px !important;
}
.filter-form > div > .row:last-child{
    margin-top: 20px !important;
}
.filter-container{
    padding: unset;
}
.collapsing{
    transition: unset !important;
}
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
textarea{
    width: 100%;
}
button[type=submit]:not(.dt-datetime-button), button:not(.dt-datetime-button, .btn-block){
    width: unset !important;
}
.form-control,
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
.select2-container--default .select2-selection--multiple{
    padding: unset !important;
    font-weight: unset !important;
}
.form-control,
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
:not(.btn-group) > button,
.dt-buttons.btn-group > button,
.select2-container--default .select2-selection--multiple,
button[type=submit],
a.btn{
    height: 37px;
    transition: unset !important;
    border-radius: var(--border-radius) !important;
    line-height: 37px;
    text-decoration: none;
}

input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select{
    text-indent: 5px !important;
}
.select2-container--default .select2-selection--multiple{
    padding: 0;
}
.select2-selection__choice{
    line-height: 22px !important;
    font-size: 0.9rem !important;
    border-radius: 20px !important;
    margin: 6px 0 6px 6px !important;
    padding: 0 10px !important;
    background-color: #f0f6ff !important;
    border: unset !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered{
    padding: 0;
}
.user-timeline-container{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
}
.btn-primary, .btn-primary:hover, .btn-primary {
    color: var(--default-background-color);
    background-color: var(--dominate-color);
    border-color: var(--dominate-color);
}
input[type=search]{
    background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgeD0iMHB4IiB5PSIwcHgiPjxwYXRoIGQ9Ik0xOSAxNy41OWwtNS40LTUuNGE3IDcgMCAxIDAtMS40MSAxLjQxbDUuNCA1LjR6TTggMTNhNSA1IDAgMSAxIDUtNSA1IDUgMCAwIDEtNSA1eiI+PC9wYXRoPjwvc3ZnPg==");
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center right 10px;
}
.page-item.disabled .page-link{
    color:#767676;
}
aside{
    overflow: hidden;
    background-color:#333;
    z-index:9;
    display: table;
    height: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 300px;
}
aside > footer + label[for=main-menu]{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    font-size: 0;
    background-color: #00000047;
    border-radius: 0;
}
input.controller, input.controller:not(:checked) + aside{
    display: none;
}
label[for=main-menu]{
    color:#fff !important;
    font-size: 2rem;
    cursor: pointer;
    height: 80px;
    line-height: 50px;
    width: 50px;
    border-radius: 50%;
    position: absolute;
    margin: 0;
    text-align: center;
    left: 15px;
}
label[for=main-menu] + a.product{
    margin-left: 60px;
}
aside > nav p{
    color: #a1acbf;
}
aside > nav > div > ul > li > a{
    font-weight: bold;
}
aside > footer > div, aside > nav > div{
    display: table-cell;
}
aside > footer, aside > nav{
    display: table-row;
}
aside > nav{
    height: 100%;
    overflow: hidden;
    position: relative;
}
aside a:hover, aside > nav, aside a{
    color:#fff;
}
aside a{
    text-decoration: none;
}
aside > nav > div > ul{
    background-color: #222;
}
aside > nav ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
aside > nav > div > ul > li{
    display: block;
    padding: 20px 30px;
}
aside > nav > div > ul > li + li{
    border-top: 1px solid #444;
}
aside ul.sub-menu {
    padding: 20px 0 20px 20px;
    position: relative;
}
aside li:last-child > ul.sub-menu{
    padding-bottom: 0;
}
aside ul.sub-menu:before {
    content: '';
    border-left: 1px dotted #ffffff2b;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
}
.block{
    display: block;
}
table.striped tr:nth-child(even) > td{
    background-color:#f7f7f7;
}
table.table td{
    padding: 10px 0 10px 20px;
    vertical-align: top !important;
    border-top: none;
}
table.table:not(.no-label) tr > td:first-child {
    font-weight: bold !important;
    line-height: 1.3em;
}
aside > nav > div{
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #f0f6ff #1e2736;
    background-color: #111;
}
.timeline-container, .scrollable{
    scrollbar-width: thin;
    scrollbar-color: #737373 #f7f7f7;
}
.timeline-container::-webkit-scrollbar, .scrollable::-webkit-scrollbar{
    width: 12px;
}
.timeline-container::-webkit-scrollbar-track, .scrollable::-webkit-scrollbar-track {
    background: #f7f7f7;
}
.timeline-container::-webkit-scrollbar-thumb, .scrollable::-webkit-scrollbar-thumb {
    background-color: #737373;
    border-radius: 20px;
    border: 3px solid #f7f7f7;
}
aside > footer{
    height: 250px;
    color: #fff;
}
aside > footer ul{
    margin: 15px 0 0 0;
    list-style: none;
    padding: 0;
    line-height: 30px;
}
aside > footer > div{
    padding: 30px;
}
/* Works on Chrome, Edge, and Safari */
aside > nav > div::-webkit-scrollbar {
    width: 12px;
}
aside > nav > div::-webkit-scrollbar-track {
    background: #3a4e70;
}
aside > nav > div::-webkit-scrollbar-thumb {
    background-color: #f0f6ff;
    border-radius: 20px;
    border: 3px solid #3a4e70;
}
main + footer{
    padding: 10px 30px;
    color: #676767;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.table-wrap > table{
    width: 100%;
}
.table-wrap{
    overflow-y: hidden;
    overflow-x: auto;
}
.btn-group > button{
    white-space: nowrap;
}
fieldset{
    border-radius: 4px;
    overflow: hidden;
}
fieldset > div > input[type=checkbox]{
    display: none;
}
fieldset > div > input[type=checkbox]:checked + label{
    background-color: #f0f6ff;
}
fieldset > div + div{
    /*border-top: 1px solid #999;*/
}
fieldset > div > label {
    margin: 0;
    color: #333 !important;
    display: block;
    width: 100%;
    padding: 5px 10px;
    cursor: pointer;
}
fieldset > div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    background-color:#fff;
}
.text-right.input-price{
    padding-right: 10px !important;
}
table.dataTable {
    font-size: .95rem;
}
/* Modal Style */
.modal.fade:before {
    content: '';
    position: relative;
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 1px;
}
.modal.show .modal-dialog{
    display: inline-block;
    margin: 0;
    vertical-align: top;
    max-width: 960px !important;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-open .modal{
    padding: unset !important;
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
    text-align: center;
}
div.DTE_Field.row.DTE_Field.embeddedTable table{
    font-size: 11px;
}
.DTE_Form_Content > div.DTE_Field.row.DTE_Field.embeddedTable{
    margin: -30px 0 20px;
    position: relative;
    right: -15px;
    left: -15px;
    width: calc(100% + 30px);
    margin-right: -30px !important;
    display: block;
    padding: 15px 30px 30px;
    border: none;
    background-color: #f8f8f8;
    border-bottom: 1px solid #99999940;
}
div.banner.warning{
    padding: 20px 25px;
    background-color: #fff5e5;
}
div[data-state]{
    padding: 20px 25px;
    background-color: var(--zebra-stripe);
}
div[data-state]:before{
    content: 'SOW currently in ' attr(data-state)  ' status';
}
.modal-body{
    padding: 30px !important;
    text-align: left;
}
.DTE .modal-body{
    padding: 0 !important;
    max-height: calc(100vh - 270px);
}
.modal-footer{
    background-color:#EEEEEE;
    padding: 20px 30px;
}

.modal-header, h5.modal-title{
    font-size: 1.3rem;
}
.modal-header{
    padding: 30px;
}
.modal-header .close,
.colored-header .modal-content .modal-header .close {
    padding-top: 0; /* adjust to be more like super-script than sub-script */
    color:#fff;
    line-height: unset !important;
}
.DTE_Form_Info:not(:empty){
    margin: -30px -30px 40px;
    background-color: #ffeeee;
    padding: 30px;
}
div.DTE div.DTE_Field {
    position: relative;
    flex-direction: column; /* stack label on top of input */
    flex-wrap: nowrap;
    align-content: flex-start;
    padding-left: 15px;
    padding-right: 15px;
    /*display: inline-flex;*/
}
div.DTE .DTE_Field.DTE_Field_Type_checkbox{
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-top: 15px;
}
div.DTE .DTE_Field.DTE_Field_Type_checkbox .DTE_Field_InputControl{
    text-align: right;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{
    content: 'x';
}
div.DTE .DTE_Field.DTE_Field_Type_checkbox .custom-checkbox{
    margin: 0 !important;
    display: inline-block;
    padding: 0 !important;
}
div.DTE .DTE_Body_Content{
    padding: 30px;
}
div.DTE label.col-form-label{
    text-align: left !important;
}
.text-error, div.DTE div.DTE_Field.required > label:before{
    color:#cc0000;
}
label[data-dte-e="label"] > span{
    display:block;
    margin-top: 10px;
    font-size: 12px;
}
div.DTE div.DTE_Field > label, div.DTE div.DTE_Field > label + div{
    display: block;
    width: 100%;
    flex: unset !important;
    max-width: unset !important;
    padding: 0;
    margin-bottom: 10px;
}
div.DTE div.DTE_Field.required > label:before{
    content: '*';
    position: absolute;
    right: 0;
    top: 0;
}
div.DTE div.DTE_Form_Content {
    /* display: flex; causes narrow display */
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: -10px -15px 0;
}
.filter-form > div.filter-values{
    display: none;
    padding: 30px 30px 25px;
    background-color: #f5f5f5;
}
.collapse:not(.show) + div.filter-values:not(:empty){
    display:block !important;
}
.filter-values > span:before{
    content: attr(data-label);
}
.filter-values > span {
    display: inline-block;
    padding: 3px 20px;
    background-color: #3a4e70;
    border-radius: 20px;
    color: #fff;
    margin: 0 5px 5px 0;
}
.filter-values:not(:empty):before {
    content: 'Applied Filters: ';
    display: inline-block;
    margin-right: 10px;
    color:#878787;
}
.dataTables_wrapper .pagination-wrap:empty{
    display: none;
}
div.frame {
    display: table;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}
div.frame > *{
    display: table-cell;
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    bottom: unset;
    vertical-align: top;
}
.ask-reason{
    border-top: 1px dotted #999;
    margin-top: 30px;
    padding-top: 30px;
}
.ams-editor-lg .modal-content {
    min-width : 800px !important;
}

/* embedded datatable */
.embeddedTable {
    width: 100%;
    border: 1px solid var(--dominate-color);
    background-color:#fff5e5;
}
.embeddedTable > label,
.embeddedTable .DTE_Field label {
    padding-bottom: 0;
}
.embeddedTable > label .ams-filter-label {
    margin: 0 0 7px 0;
    font-size: 12px;
}
.embeddedTable .dataTables_filter input[type="search"] {
    width: 100% !important;
    margin-left: 0;
}
/*.embeddedTable table.dataTable thead tr th:first-child,*/
.embeddedTable table.dataTable tbody tr td:first-child {
    padding-left: 10px !important;
    font-weight: normal !important;
    vertical-align: middle !important;
}
.embeddedTable table.dataTable thead th:last-child,
.embeddedTable table.dataTable tbody tr td:last-child{
    padding-right: 10px !important;
}
.embeddedTable table.dataTable thead tr th {
    font-weight: bold;
    padding: 0 0 10px !important;
}
.embeddedTable table.dataTable tbody tr td {
    padding-left: 0 !important;
}
.embeddedTable .dataTables_paginate{
    margin-top: 15px;
}
/* ----- end embedded datatable */

/* ---- start Home customizations ----*/
body.home a > span.badge{
    text-align: center;
    border: none;
    font-size: 20px;
    display:block;
}
body.home a.green:not(.active){
    background-color:var(--green);
}
body.home a.purple:not(.active){
    background-color:var(--purple);
}
body.home a.yellow:not(.active){
    background-color:var(--yellow);
}
body.home a.orange:not(.active){
    background-color:var(--orange);
}
body.home .dataTables_filter{
    width:  unset !important;
}
body.home .tag-role{
    display: inline-block;
}
body.home .tag-role + .tag-role:before{
    content: ', ';
}
body.home div.table-wrap{
    max-height: 400px;
    overflow-y: auto;
    position: relative;
}
body.home div.toolbar{
    z-index: 3;
    position: sticky;
    top: 67px;
    background-color: #fff;
}
body.home a.list-group-item{
    position: relative;
}
body.home a.list-group-item > span.badge{
    position: absolute;
    right: 30px;
}
body.home table.dataTable > thead > tr{
    position: sticky;
    top: 0;
    background-color: #fff;
}
body.home table.dataTable > thead{
    position: relative;
    z-index: 2;
}
body.home table.dataTable > tbody{
    position: relative;
    z-index: 1;
}
div.dt-buttons > h3.table-header:before{
    content: '';
}
div.dt-buttons > h3.table-header{
    margin: 0;
    padding: 0;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
}
/* ----- end customizations */

/* ----- User Type specific styles ------*/
#budgets--{
    display: none;
}
body.user-client #budgets--{
    display:block;
}

/* ---- start Combo Boxes for Filters ----*/
.input-group.combo-box {
    background-color: #fff;
    border-radius: 3px;
    height: 130px;
    overflow: auto;
    display: block;
}
.combo-box > input[type=checkbox],
.combo-box > input[type=radio]{
    display:none;
}
.combo-box > label + input + label{
    border-top: 1px solid rgba(0,0,0,0.2);
}
.combo-box > label{
    display: block;
    color:#000;
    margin: 0;
    padding: 10px;
}
.combo-box > input[type=checkbox]:checked + label,
.combo-box > input[type=radio]:checked + label{
    background-color:var(--zebra-stripe);
}
.btn-secondary > .badge{
    margin-left: 10px;
}
/* ---- end Combo Boxes for Filters ----*/
/* ---- list group --- */
.list-group + .list-group{
    margin-top: 30px;
}
.list-group-header{
    background-color: var(--zebra-stripe);
    color: #000;
    padding: 20px;
    font-weight: bold;
}
/* ---- end list group --- */
/* ---- SOW Totals ---- */

.left-frame.hide + .right-frame section#sow-totals{
    display:block;
}
section#sow-totals{
    margin-bottom: 30px;
    display:none;
}
section#sow-totals > header{
    padding: 15px 30px;
    font-weight: bold;
}
div.sow-totals{
    display: flex;
    border-top: 1px solid #d5d5d5;
}
div.sow-totals > div.col-3{
    padding: 30px;
}
span.stat{
    font-size: 1.5rem;
    font-weight: bold;
    color:#000 !important;
}
div.sow-totals > div.col-3 > span{
    display:block;
    color:#737373;
}
div.sow-totals > div.col-3 + div {
    border-left: 1px solid #d5d5d5;
}
/* ---- end SOW Totals --- */
/* ---- badge classes --- */
.badge-status{
    color:#fff;
    border:none !important;
}
.badge-private, .badge-rejected, .badge-danger{
    background-color:var(--red);
}
.badge-draft, .badge-warning{
    background-color:var(--yellow);
}
.badge-pending{
    background-color:#0057B8;
}
.badge-approved, .badge-success{
    background-color:var(--green);
}
.badge-other{
    background-color:var(--purple);
}
.font-green, .dropdown-menu > .dropdown-item .icon.font-green{
    color:var(--green) !important;
}
.font-red, .dropdown-menu > .dropdown-item .icon.font-red{
    color:var(--red) !important;
}
/* ---- end badge classes --- */

/* --- custom auto-complete --- */
#vendor-lookup{
    display: inline-block;
    position: absolute;
    right: 15px;
    cursor: pointer;
    top: 0;
    text-decoration: underline;
    margin-top: 0;
}
.right{
    text-align: right;
}
#vendor-lookup-form{
    width: 500px;
}
#vendor-results{
    border: 1px solid #eee;
    margin-top: 30px !important;
}
table#vendor-results thead th,
table#vendor-results tbody td {
    padding: 10px 20px !important;
}
#md-vendor-lookup{
    z-index: 1052;
}
.modal-backdrop + .modal-backdrop {
    z-index: 1051;
}
.DTE_Field_Type_select.disabled{
    visibility: hidden !important;
}
/* --- end custom auto-complete --- */

@media screen and (max-width: 767px){
    .modal.fade:before{
        all:unset;
    }
    div.DTE div.DTE_Field{
        all: unset;
    }
    div.DTE div.DTE_Field + div.DTE_Field{
        margin-top: 10px;
    }
    div.DTE div.DTE_Form_Content, .user-timeline-container, section > header, form > header{
        flex-direction: column;
        margin: 0;
    }
    .user-timeline-container button{
        width: 100% !important;
    }
    .dataTables_wrapper .toolbar, .dataTables_wrapper .pagination-wrap{
        display: block;
    }
    .toolbar > .btn-group{
        flex-direction: column;
        width: 100%;
    }
    .toolbar > .btn-group button + button, .user-timeline-container button{
        margin-top: 10px;
    }
    .toolbar > .dataTables_filter,
    .user-timeline-content + .user-timeline-date,
    form > header button,
    section > header button,
    section > header a.btn,
    form > header button,
    form > header a.btn{
        margin-top: 20px;
    }
    .toolbar > .dataTables_filter input{
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    div.dataTables_wrapper div.dataTables_paginate ul.pagination{
        margin-top: 10px;
        justify-content: center;
    }
    header > nav > ul{
        display: none;
    }
    header > nav a.product{
        display: block;
        text-align: right;
        width: 100%;
    }
    .filters .row > div {
        display: block;
        flex: unset !important;
        max-width: unset !important;
    }
    .filters .row > div + div {
        margin-top: 10px;
    }
    .dataTables_info{
        text-align: center;
    }
    .modal-content{
        margin: 0 !important;
    }
    .modal.show .modal-dialog{
        padding: 20px !important;
        width: 100% !important;
    }
    ul[role=tablist]{
        overflow: scroll;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    .filter-values:not(:empty):before{
        display: block;
        margin-bottom: 15px;
    }
    section > footer li{
        display: block;
    }
    section > footer li + li{
        border-left: none;
        border-top: 1px solid #e1e1e1;
    }
    ul.nav[role=tablist] > li:not([role=tab]){
        position: unset;
    }
    div.timeline-container{
        max-height: 260px;
    }
}
@media screen and (min-width: 960px) {
    .large-textArea{
        min-width: 500px;
    }
    .btn-group > .btn.btn-primary:not(:last-child){
        border-top-right-radius: 2px !important;
        border-bottom-right-radius: 2px !important;
    }
    .btn-group > .btn.btn-primary:hover + .btn{
        border-left: 1px solid  #878787;
    }
    .btn-group > .btn.btn-primary:not(.d-none) + .btn, .btn-group > .btn.btn-primary:last-child {
        margin-left: 20px;
        border-top-left-radius: 2px;
        border-bottom-left-radius: 2px;
    }
    .dataTables_filter input[type=search]{
        display: inline-block;
        width: auto !important;
        margin-left: 10px;
    }
}


.btn-group + .btn.spacer,
.btn-group > .btn-group .btn.spacer,
.btn-group .btn + .btn.spacer {
    margin-left: 1em;
}

/* --- collapse --- */
.search-collapse {
}

.search-collapse-trigger.collapsed::before {
    content: '\203A';
    font-size: 15px;
    float: right;
}
.search-collapse-trigger:not(.collapsed)::before {
    content: '\005E';
    font-size: 15px;
    float: right;
}
div.search-collapse-trigger[aria-expanded='true'] + div {
    padding: 20px 0 0;

}
/* --- end collapse specific --- */


/* Radio Switch Customization in Editor */
.form-horizontal div.DTE_Field_Type_checkbox{
    --switchWidth: 40px;
}
.form-horizontal div.DTE_Field_Type_checkbox > label.col-form-label {
    display: inline-block;
    width: calc(100% - var(--switchWidth));
    padding-right: 30px;
}
.form-horizontal div.DTE_Field_Type_checkbox > div[data-dte-e="input"]{
    margin-bottom: 0;
    width: var(--switchWidth);
    display: inline-block;
    vertical-align: top;
}
div.DTE_Field_Type_checkbox > div[data-dte-e="input"] > div.DTE_Field_InputControl label.switch{
    margin-top: 0;
}


/* alert banner */

.alert-carousel {
    background: #fff5d1;
    padding: 5px;
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
}

.alert-banner {
    margin: 0;
}

form .alert-banner {
    padding: 0;
}

.alert-banner-message {
    display: table-cell;
    color: #404040;
}

.alert-banner-message > p {
    line-height: unset;
}

.banner-critical {
    color: #ea4335;
}

.banner-warning {
    color: #fbbc05;
}

.banner-info {
    color: #6ba4ff;
}

.carousel-control {
    width: 5%;
}

.alert-container {

}
/* Refinements */
:root{
    --alert-banner-height: 40px;
    --head-navigation-height: 80px;
    --global-padding: 30px;
}
div#alerts{
    height: var(--alert-banner-height);
}
div#alerts + header{
    margin-top: var(--alert-banner-height);
}
body > header,
label[for=main-menu]{
    height: unset !important;
}
.product-logo{
    display: inline-block;
    background-size: 150px;
    height: 54px;
    width: 150px;
    background-repeat: no-repeat;
    background-position: center;
    margin: -30px 0 -25px 60px !important;
}
main{
    position: relative;
}
body.alert-banner-on section.left{
    height: calc(100vh - (var(--alert-banner-height) + var(--head-navigation-height)));
}
body:not(.alert-banner-on) > main,
body:not(.alert-banner-on) > aside{
    top: var(--head-navigation-height);
}

body.alert-banner-on > main,
body.alert-banner-on > aside,
body.alert-banner-on > section.breadcrumbs{
    top: calc(var(--alert-banner-height) + var(--head-navigation-height));
}
body > .be-wrapper{
    padding-top: var(--head-navigation-height);
}
body.alert-banner-on > .be-wrapper,
body.alert-banner-on > .error-wrapper{
    padding-top: calc(var(--alert-banner-height) + var(--head-navigation-height));
}
body.entity-page section.breadcrumbs,
body.entity-page section.breadcrumbs + div.button-container{
    padding-left: 0;
    padding-top: 15px;
    padding-bottom: 40px;
}
section.left button[type="submit"]{
    background-color: var(--dominate-color) !important;
}